:root{--ink:#101725;--navy:#071a31;--navy-2:#0d2948;--blue:#1c5d93;--steel:#657386;--line:#d9e0e8;--soft:#f3f6f9;--paper:#fff;--gold:#b69b62}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;line-height:1.85}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.corporate-home{color:#0b0f18;background:#fff}.home-header{z-index:40;background:#fffffffa;grid-template-columns:minmax(240px,1fr) auto auto;align-items:center;gap:24px;height:88px;padding:0 clamp(24px,4.5vw,58px);display:grid;position:sticky;top:0;box-shadow:0 1px #0b0f1814}.home-logo{letter-spacing:0;font-size:clamp(22px,2.2vw,32px);font-weight:900;line-height:1}.home-nav{justify-content:flex-end;align-items:center;gap:clamp(18px,2.3vw,34px);display:flex}.home-nav a{color:#111827;padding:31px 0 27px;font-size:14px;font-weight:900;position:relative}.home-nav a:after{background:var(--navy);content:"";transform-origin:0;width:100%;height:3px;transition:transform .16s;position:absolute;bottom:20px;left:0;transform:scaleX(0)}.home-nav a:hover:after,.home-nav a.is-active:after{transform:scaleX(1)}.home-contact{background:var(--navy);color:#fff;border-radius:4px;justify-content:center;align-items:center;min-width:134px;height:48px;padding:0 18px;font-size:14px;font-weight:900;display:inline-flex}.home-hero{min-height:650px;position:relative;overflow:hidden}.home-hero img{object-fit:cover;object-position:center center;z-index:0;width:100%;height:100%;position:absolute;inset:0}.home-hero:after{content:"";z-index:1;background:linear-gradient(90deg,#ffffffe6 0%,#ffffffb8 28%,#ffffff14 58%);position:absolute;inset:0}.home-hero-copy{z-index:2;flex-direction:column;justify-content:center;min-height:650px;padding:64px clamp(28px,9.6vw,126px) 74px;display:flex;position:relative}.home-hero-copy h1{letter-spacing:0;margin:0 0 28px;font-size:clamp(42px,5vw,68px);font-weight:900;line-height:1.36}.home-hero-copy p{color:#111827;margin:0;font-size:clamp(16px,1.4vw,19px);font-weight:800;line-height:2.05}.signature{gap:5px;margin-top:42px;display:grid}.signature span{color:#182235;font-size:13px;font-weight:900}.signature strong{font-size:16px;font-weight:900}.signature em{color:#0b0f18;font-family:Brush Script MT,Segoe Script,cursive;font-size:48px;font-style:italic;line-height:1}.home-mission{text-align:center;padding:34px 24px 44px}.home-kicker{color:var(--navy);letter-spacing:0;margin:0 0 4px;font-size:15px;font-weight:900}.home-mission h2,.home-section-title h2,.home-company-card h2,.home-news h2{margin:0;font-size:clamp(28px,3vw,40px);font-weight:900;line-height:1.35}.home-mission p:not(.home-kicker){max-width:760px;margin:12px auto 0;font-size:16px;line-height:1.9}.home-section{background:#f8fafc;padding:54px clamp(24px,5.4vw,72px) 66px}.home-section-title{text-align:center;margin-bottom:26px}.home-business-grid{grid-template-columns:repeat(3,1fr);gap:38px;max-width:1140px;margin:0 auto;display:grid}.home-business-card{color:#111827;display:block}.home-business-card img{aspect-ratio:16/7.2;object-fit:cover;border-radius:4px;width:100%}.home-business-card h3{margin:18px 0 8px;font-size:20px;font-weight:900}.home-business-card p{color:#283244;margin:0;font-size:14px;line-height:1.85}.home-company-section{grid-template-columns:minmax(320px,.92fr) 1fr;gap:42px;max-width:1140px;margin:0 auto;padding:70px clamp(24px,5.4vw,72px) 28px;display:grid}.home-company-image{aspect-ratio:1.55;object-fit:cover;border-radius:4px;width:100%;height:100%}.home-company-card{background:#f8fafc;border-radius:8px;align-self:stretch;padding:clamp(32px,4vw,52px);box-shadow:0 18px 48px #0f172a0f}.home-company-card dl{gap:13px;margin:26px 0 28px;display:grid}.home-company-card dl div{grid-template-columns:92px 1fr;gap:18px;display:grid}.home-company-card dt{color:#101827;font-size:14px;font-weight:900}.home-company-card dd{color:#172033;margin:0;font-size:14px}.home-company-card>a{border:1px solid var(--navy);color:var(--navy);border-radius:4px;justify-content:center;align-items:center;min-width:210px;height:42px;padding:0 18px;font-size:14px;font-weight:900;display:inline-flex}.home-news{max-width:920px;margin:0 auto;padding:18px 24px 64px}.home-news-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.home-news-head a{color:#111827;font-size:14px;font-weight:900}.home-news ul{margin:0;padding:0;list-style:none}.home-news li{grid-template-columns:112px 112px 1fr;align-items:center;gap:18px;padding:8px 0;display:grid}.home-news time{color:#111827;margin:0;font-size:14px;font-weight:500}.home-news li span{background:var(--navy);color:#fff;border-radius:3px;justify-content:center;align-items:center;height:24px;font-size:12px;font-weight:900;display:inline-flex}.home-news li p{color:#111827;margin:0;font-size:14px}.home-disclaimer{border-top:1px solid #eef2f6;max-width:920px;margin:0 auto;padding:18px 24px 28px}.home-disclaimer p{color:#7a8493;margin:0;font-size:11px;line-height:1.8}.home-footer{background:var(--navy);color:#fff;grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:32px clamp(24px,5vw,64px);display:grid}.home-footer strong{font-size:18px}.home-footer nav{gap:12px;display:flex}.home-footer nav a{color:#fff;font-size:13px;font-weight:500}.home-footer nav a:after{display:none}.home-footer small{font-size:13px}.top-page{background:var(--navy);color:#fff;height:100svh;min-height:680px;position:relative;overflow:hidden}.top-visual,.top-overlay{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.top-visual{z-index:0}.top-overlay{z-index:1;background:linear-gradient(90deg,#040d18eb 0%,#071a31b8 37%,#071a310f 72%),linear-gradient(#040d1800 58%,#040d18c7 100%)}.top-header{z-index:4;justify-content:space-between;align-items:center;height:82px;padding:0 48px;display:flex;position:absolute;top:0;left:0;right:0}.top-brand{color:#fff}.top-brand .brand-mark{color:var(--navy);background:#fff}.top-contact{color:#fff;border:1px solid #ffffff94;justify-content:center;align-items:center;width:112px;height:42px;font-size:12px;font-weight:900;display:inline-flex}.top-content{z-index:2;flex-direction:column;justify-content:center;min-height:calc(100svh - 180px);padding:92px 7vw 160px;display:flex;position:relative}.top-content h1{margin:0 0 24px;font-size:clamp(48px,7vw,92px);line-height:1.08}.top-content p:not(.eyebrow){color:#e6edf5;max-width:620px;font-size:clamp(16px,1.8vw,20px)}.top-menu{z-index:3;grid-template-columns:repeat(7,1fr);display:grid;position:absolute;bottom:0;left:0;right:0}.top-menu a{background:#071a31eb;border-top:1px solid #fff3;border-right:1px solid #ffffff29;gap:7px;min-height:112px;padding:22px 24px;transition:background .18s,transform .18s;display:grid}.top-menu a:hover{background:#0f3156f5;transform:translateY(-6px)}.top-menu span{color:#d8c28a;font-size:12px;font-weight:900}.top-menu strong{font-size:15px;line-height:1.35}.site-header{z-index:30;background:#fffffff5;border-bottom:1px solid #d9e0e8e6;grid-template-columns:220px 1fr 120px;align-items:center;height:82px;padding:0 42px;display:grid;position:fixed;top:0;left:0;right:0}.brand{align-items:center;gap:12px;font-weight:800;display:inline-flex}.brand-mark{background:var(--navy);color:#fff;justify-content:center;align-items:center;width:40px;height:40px;font-size:12px;display:inline-flex}.brand-text{font-size:17px}nav{justify-content:center;gap:28px;display:flex}nav a{color:#2f3a4a;font-size:13px;font-weight:800;position:relative}nav a:after{background:var(--blue);content:"";transform-origin:0;width:100%;height:2px;transition:transform .18s;position:absolute;bottom:-9px;left:0;transform:scaleX(0)}nav a:hover:after{transform:scaleX(1)}.header-contact{background:var(--navy);color:#fff;justify-content:center;justify-self:end;align-items:center;width:108px;height:42px;font-size:12px;font-weight:800;display:inline-flex}.sub-page{padding-top:82px}.page-hero{color:#fff;background:linear-gradient(90deg,#071a31f0,#071a31b8),url(/images/nojob-president-top.png) 50% 36%/cover;padding:112px 7vw 86px}.page-hero>div{max-width:920px}.page-hero h1{margin:0 0 22px;font-size:clamp(38px,5.4vw,68px);line-height:1.18}.page-hero p:not(.eyebrow){color:#dce6f0;max-width:760px;font-size:18px}.content-block{padding:88px 7vw}.mission-detail>p{color:#334154;max-width:900px;font-size:18px}.principle-grid{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px;display:grid}.principle-grid article{border:1px solid var(--line);background:#fff;padding:34px}.principle-grid h2,.service-body h2,.voice-content h2{margin:0 0 12px;font-size:26px;line-height:1.35}.hero{color:#fff;min-height:100vh;padding-top:82px;position:relative;overflow:hidden}.hero-image,.hero-shade{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-image{z-index:0}.hero-shade{z-index:1;background:linear-gradient(90deg,#04101ff0 0%,#071a31c7 42%,#071a312e 78%),linear-gradient(#04101f0f 48%,#04101fb8)}.hero-inner{z-index:2;flex-direction:column;justify-content:center;align-items:flex-start;min-height:calc(100vh - 82px);padding:80px 7vw 120px;display:flex;position:relative}.eyebrow{color:var(--blue);letter-spacing:0;text-transform:uppercase;margin:0 0 14px;font-size:12px;font-weight:900}.hero .eyebrow,.recruit .eyebrow,.contact .eyebrow{color:#d8c28a}.hero h1{letter-spacing:0;margin:0 0 26px;font-size:clamp(46px,7vw,92px);line-height:1.08}.hero p{color:#e4ebf2;max-width:680px;font-size:clamp(16px,2vw,20px)}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:38px;display:flex}.button{border:1px solid;justify-content:center;align-items:center;min-width:172px;min-height:52px;padding:0 26px;font-size:14px;font-weight:800;display:inline-flex}.button.primary{color:var(--navy);background:#fff;border-color:#fff}.button.ghost{color:#fff}.hero-president{border-left:4px solid var(--gold);z-index:3;background:#071a31eb;gap:6px;width:min(430px,42vw);padding:26px 34px;display:grid;position:absolute;bottom:0;right:7vw}.hero-president span{color:#b8c7d8;text-transform:uppercase;font-size:11px;font-weight:900}.hero-president strong{font-size:32px;line-height:1.1}.hero-president p{color:#e7edf4;margin:0;font-size:14px}.statement{background:var(--navy);color:#fff;grid-template-columns:220px 1fr;gap:56px;padding:92px 7vw;display:grid}.statement-label{color:#d8c28a;border-top:1px solid #ffffff47;padding-top:18px;font-size:12px;font-weight:900}.statement h2,.section-title h2,.contact h2,.recruit h2{margin:0;font-size:clamp(32px,4.5vw,56px);line-height:1.22}.statement p{color:#d8e1eb;max-width:920px;font-size:18px}.section{padding:104px 7vw}.section-title{max-width:880px;margin-bottom:42px}.section-title span{color:var(--steel);margin-top:12px;font-size:16px;display:block}.service-list{gap:34px;display:grid}.service{border:1px solid var(--line);background:#fff;grid-template-columns:minmax(330px,.9fr) 1fr;min-height:360px;display:grid}.service:nth-child(2n){grid-template-columns:1fr minmax(330px,.9fr)}.service:nth-child(2n) img{grid-column:2}.service:nth-child(2n) .service-body{grid-area:1/1}.service img{object-fit:cover;width:100%;height:100%}.service-body{align-self:center;padding:44px 52px}h3{margin:10px 0 12px;font-size:25px;line-height:1.35}.service-lead,.voice-headline{color:var(--navy);font-size:20px;font-weight:900;line-height:1.65}.tag-list{flex-wrap:wrap;gap:8px;margin-top:26px;display:flex}.tag-list span{background:var(--soft);border:1px solid var(--line);color:#354254;padding:5px 11px;font-size:12px;font-weight:800}.split-section{background:var(--soft);grid-template-columns:.78fr 1.22fr;gap:70px;display:grid}.sticky-title{align-self:start;position:sticky;top:112px}.benefit-list{gap:0;display:grid}.benefit-list article{border-top:1px solid var(--line);background:#fff;grid-template-columns:minmax(220px,.48fr) 1fr;gap:36px;padding:36px 0;display:grid}.benefit-list article:last-child{border-bottom:1px solid var(--line)}.benefit-list h3,.benefit-list p{margin:0}.numbers{background:var(--navy);color:#fff;padding:104px 7vw}.numbers .section-title h2{color:#fff}.stats-grid{border-top:1px solid #ffffff2e;border-left:1px solid #ffffff2e;grid-template-columns:repeat(3,1fr);display:grid}.stat{border-bottom:1px solid #ffffff2e;border-right:1px solid #ffffff2e;min-height:210px;padding:34px}.stat strong{color:#fff;font-size:clamp(44px,6vw,78px);line-height:1;display:block}.stat small{color:#d8c28a;margin-left:4px;font-size:30px}.stat span{color:#d7e1ec;margin-top:18px;font-weight:800;display:block}.note{color:#afbdcb;margin:24px 0 0;font-size:13px}.works-section{background:#f8fafc;padding:82px 7vw 96px}.works-intro{gap:8px;max-width:920px;margin:0 auto 34px;display:grid}.works-intro h2{margin:0;font-size:clamp(28px,3vw,40px);line-height:1.35}.works-intro p:not(.eyebrow){color:#334154;max-width:760px;margin:0;font-size:15px;line-height:1.9}.works-list{gap:16px;max-width:920px;margin:0 auto;display:grid}.work-item{border:1px solid var(--line);background:#fff;grid-template-columns:1fr;gap:14px;padding:32px 36px;display:grid}.work-category{color:var(--blue);margin:0 0 4px;font-size:13px;font-weight:900}.work-item h3{margin:0 0 8px;font-size:21px;line-height:1.45}.work-client{color:#5f6f83;margin:0 0 12px;font-size:13px;font-weight:800}.work-item p:last-child{color:#334154;margin:0;font-size:14px;line-height:1.85}.interview{background:#fbfcfd}.voice-grid{gap:24px;display:grid}.voice-card{border:1px solid var(--line);background:#fff;grid-template-columns:minmax(180px,.34fr) 1fr;display:grid}.portrait{color:#fff;background:linear-gradient(145deg,#071a31e0,#1c5d93bd),url(/images/hero-office.png) 50%/cover;align-items:flex-end;min-height:280px;display:flex}.voice-content{padding:36px 44px}.voice-role{color:var(--blue);margin:0;font-size:13px;font-weight:900}.voice-content h3{margin-top:2px;font-size:32px}.company-area{background:var(--soft);grid-template-columns:1.15fr .85fr;gap:32px;padding:104px 7vw;display:grid}.company-card,.news-card{border:1px solid var(--line);background:#fff;padding:42px}.company-table{border-top:1px solid var(--line);margin:0}.company-table div{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;gap:24px;padding:18px 0;display:grid}dt{color:var(--steel);font-weight:900}dd{margin:0}.news-card ul{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.news-card li{border-bottom:1px solid var(--line);padding:22px 0}time{color:var(--steel);margin-bottom:5px;font-size:13px;font-weight:900;display:block}.recruit{grid-template-columns:1fr 1fr;min-height:620px;display:grid}.recruit img{object-fit:cover;width:100%;height:100%}.recruit-panel{background:var(--navy);color:#fff;align-content:center;padding:72px 7vw 72px 64px;display:grid}.recruit-panel p{color:#d7e1ec}.recruit-panel ul{border-top:1px solid #ffffff2e;margin:32px 0 0;padding:0;list-style:none}.recruit-panel li{border-bottom:1px solid #ffffff2e;padding:14px 0}.contact{color:#fff;text-align:center;background:#07111f;padding:88px 7vw}.contact p{color:#d7e1ec;max-width:720px;margin:18px auto 32px}footer{color:#b9c5d2;background:#030a13;grid-template-columns:1fr auto auto;gap:16px;padding:28px 7vw;font-size:13px;display:grid}@media (width<=1100px){.home-header{grid-template-columns:1fr auto;height:auto;min-height:78px;padding:16px 24px}.home-nav{display:none}.home-hero,.home-hero-copy{min-height:620px}.home-hero:after{background:linear-gradient(90deg,#fffffff0 0%,#ffffffc2 42%,#ffffff1a 82%)}.home-business-grid,.home-company-section{grid-template-columns:1fr}.home-company-image{aspect-ratio:16/8}.home-footer{grid-template-columns:1fr}.home-footer nav{flex-wrap:wrap}.site-header{grid-template-columns:1fr auto;padding:0 26px}nav{display:none}.header-contact{width:96px}.statement,.split-section,.company-area,.recruit{grid-template-columns:1fr}.sticky-title{position:static}.service,.service:nth-child(2n){grid-template-columns:1fr}.service:nth-child(2n) img,.service:nth-child(2n) .service-body{grid-area:auto}.service img{aspect-ratio:16/9}.hero-president{width:min(520px,86vw);left:7vw;right:auto}}@media (width<=720px){body{overflow-x:hidden}.home-header{grid-template-columns:1fr;gap:12px;min-height:auto;padding:14px 18px 10px}.home-logo{font-size:20px;line-height:1.35}.home-nav{scrollbar-width:none;white-space:nowrap;justify-content:flex-start;gap:18px;width:100%;padding:0 0 7px;display:flex;overflow-x:auto}.home-nav::-webkit-scrollbar{display:none}.home-nav a{flex:none;padding:4px 0 8px;font-size:12px}.home-nav a:after{height:2px;bottom:0}.home-contact{display:none}.home-hero,.home-hero-copy{min-height:560px}.home-hero img{object-position:66% center}.home-hero:after{background:linear-gradient(#ffffffdb 0%,#ffffff94 24%,#ffffff14 38%,#fff0 48%)}.home-hero-copy{justify-content:flex-start;padding:34px 20px 280px}.home-hero-copy h1{margin-bottom:18px;font-size:30px;line-height:1.35}.home-hero-copy p{font-size:13px;line-height:1.75}.home-hero-copy h1,.home-hero-copy p,.signature{text-shadow:0 1px #fff9}.signature{margin-top:22px}.signature em{font-size:32px}.home-mission,.home-section,.home-company-section,.home-news,.home-disclaimer,.content-block,.section,.company-area,.contact,.works-section{padding-left:20px;padding-right:20px}.home-mission{padding-top:30px;padding-bottom:36px}.home-mission h2,.home-section-title h2,.home-company-card h2,.home-news h2,.works-intro h2,.section-title h2,.contact h2,.recruit h2{font-size:26px;line-height:1.32}.home-mission p:not(.home-kicker){font-size:14px;line-height:1.85}.home-section{padding-top:42px;padding-bottom:44px}.home-business-grid{gap:22px}.home-business-card img{aspect-ratio:16/9}.home-business-card h3{margin-top:16px;font-size:18px}.home-business-card p{font-size:13px;line-height:1.75}.home-company-section{gap:18px;padding-top:40px;padding-bottom:28px}.home-company-image{aspect-ratio:16/10}.home-company-card{border-radius:0;padding:26px 22px}.home-company-card dl div,.work-item{grid-template-columns:1fr;gap:4px}.home-company-card>a{width:100%}.home-news{padding-top:22px;padding-bottom:42px}.home-news li{grid-template-columns:auto 1fr;align-items:start;gap:6px 12px;padding:13px 0}.home-news li p{grid-column:1/-1;line-height:1.6}.work-item{padding:24px 22px}.home-news-head{flex-direction:column;align-items:flex-start;gap:4px}.site-header{grid-template-columns:1fr;gap:10px;height:auto;min-height:104px;padding:12px 18px 10px}.brand-mark{width:36px;height:36px}.brand-text{font-size:16px}.site-header nav{scrollbar-width:none;white-space:nowrap;justify-content:flex-start;gap:18px;width:100%;padding:0 0 8px;display:flex;overflow-x:auto}.site-header nav::-webkit-scrollbar{display:none}.site-header nav a{flex:none;font-size:12px}.site-header nav a:after{bottom:-7px}.header-contact{display:none}.sub-page,.hero{padding-top:104px}.page-hero{background-position:58%;padding:54px 20px 48px}.page-hero h1{margin-bottom:16px;font-size:30px;line-height:1.25}.page-hero p:not(.eyebrow){font-size:14px;line-height:1.8}.hero-inner{min-height:620px;padding:54px 20px 220px}.hero h1{font-size:36px}.hero-actions{flex-direction:column;align-items:stretch;width:100%}.button{width:100%}.hero-president{width:calc(100% - 44px);padding:22px;bottom:0;left:22px}.statement,.numbers{padding:56px 20px}.statement{gap:28px}.content-block,.section,.works-section,.company-area,.contact{padding-top:56px;padding-bottom:56px}.mission-detail>p,.statement p,.contact p{font-size:14px;line-height:1.9}.principle-grid{grid-template-columns:1fr;gap:14px;margin-top:30px}.principle-grid article{padding:24px 22px}.principle-grid h2,.service-body h2,.voice-content h2{font-size:22px}.service-list{gap:20px}.service{min-height:auto}.service img{aspect-ratio:16/10}.service-body,.company-card,.news-card,.voice-content{padding:24px 22px}.service-lead,.voice-headline{font-size:16px;line-height:1.65}.tag-list{margin-top:18px}.split-section{gap:28px}.section-title{margin-bottom:26px}.benefit-list article,.voice-card,.company-table div{grid-template-columns:1fr}.benefit-list article{gap:8px;padding:24px 0}.stats-grid{grid-template-columns:1fr}.works-list{gap:12px}.work-item h3{font-size:18px}.voice-card{display:block}.portrait{min-height:124px}.voice-content h3,.voice-content h2{font-size:26px}.company-card,.news-card{padding:26px 22px}.company-table div{gap:2px;padding:14px 0}dt,dd{font-size:13px}.recruit img{object-position:62% center;height:260px}.recruit-panel{padding:42px 22px}.contact h2{overflow-wrap:anywhere;font-size:22px}footer{grid-template-columns:1fr;padding:24px 20px}}
