
:root{--paper:#f5f3ee;--paper2:#ece8df;--ink:#132039;--navy:#10264b;--blue:#1175d8;--cyan:#3aacc7;--muted:#667080;--line:#cbc6bb;--white:#fff;--sans:"Avenir Next","Helvetica Neue","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Arial,sans-serif;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",Georgia,serif;--max:1240px;--ease:cubic-bezier(.2,.65,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-weight:400;line-height:1.95;letter-spacing:.015em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(calc(100% - 72px),var(--max));margin:0 auto}
.header{position:fixed;z-index:1000;top:0;left:0;right:0;background:rgba(245,243,238,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(140,134,124,.28)}.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:34px}.brand img{height:36px;width:auto}.nav{display:flex;align-items:center;gap:25px;font-family:var(--sans);font-size:10px;letter-spacing:.08em}.nav a{position:relative;padding:4px 0}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--navy);transition:right .3s var(--ease)}.nav a:hover:after{right:0}.nav .cta{padding:9px 16px;border:1px solid var(--navy)}.menu{display:none;border:0;background:none;font:10px var(--sans);letter-spacing:.12em}
.hero{min-height:100svh;padding:72px 0 0;position:relative;overflow:hidden}.hero-grid{min-height:calc(100svh - 72px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:96px;align-items:center;padding:100px 0 80px}.hero-copy{padding-left:2vw}.eyebrow{font:9px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#74756f;margin-bottom:28px}.hero h1{font-size:clamp(36px,4.1vw,58px);font-weight:400;line-height:1.55;letter-spacing:.015em;margin:0 0 30px;max-width:12em;color:var(--navy);text-wrap:balance}.hero-lead{font-size:15px;line-height:2.2;color:#455064;max-width:650px;margin:0 0 36px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}.btn{display:inline-flex;align-items:center;gap:14px;padding:10px 0 8px;border:0;border-bottom:1px solid var(--navy);font:10px var(--sans);letter-spacing:.1em;transition:.25s}.btn.primary{background:transparent;color:var(--navy);border-bottom-color:var(--blue)}.btn:hover{transform:translateY(-1px)}.btn .arr{color:var(--blue)}
.hero-architecture{position:relative;min-height:520px;padding:34px 0 22px;border-top:1px solid rgba(112,108,100,.42);border-bottom:1px solid rgba(112,108,100,.42);display:flex;flex-direction:column;justify-content:space-between}
.hero-index-head{display:flex;justify-content:space-between;gap:24px;font:8px var(--sans);letter-spacing:.18em;color:#7b7b75;text-transform:uppercase;padding:0 2px 28px}
.hero-index{border-top:1px solid rgba(152,147,137,.45)}
.hero-index-item{display:grid;grid-template-columns:66px 1fr;gap:24px;align-items:center;min-height:96px;border-bottom:1px solid rgba(152,147,137,.38);padding:18px 8px 18px 2px}
.hero-index-item .idx{font:10px var(--sans);letter-spacing:.15em;color:var(--blue)}
.hero-index-item small{display:block;font:8px var(--sans);letter-spacing:.16em;color:#777b78;margin-bottom:7px}
.hero-index-item strong{display:block;font-size:16px;line-height:1.75;font-weight:400;color:var(--navy)}
.hero-index-foot{font:8px var(--sans);letter-spacing:.16em;color:#87857e;padding-top:24px;text-align:right}
.section{padding:148px 0;border-top:1px solid var(--line)}.section-grid{display:grid;grid-template-columns:170px minmax(0,1fr);gap:76px}.side{position:sticky;top:110px;align-self:start}.side .no{font:9px var(--sans);letter-spacing:.18em;color:#7f817c;margin-bottom:8px}.side .jp{font-size:12px;color:#777a77}.section-title{font-size:clamp(28px,3vw,44px);font-weight:400;line-height:1.65;color:var(--navy);margin:0;max-width:18em;text-wrap:balance}.section-copy{font-size:15px;line-height:2.25;color:#465162;max-width:710px;margin:30px 0 0}
.flagship{background:#ece8df}.flagship-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:84px;align-items:center}.flagship-logo{width:min(520px,90%);margin:0 0 34px;mix-blend-mode:multiply}.flagship-copy p{font-size:14px;line-height:2.25;color:#465160;max-width:620px}.flagship-visual{padding:8px 0 8px 38px;border:0;border-left:1px solid rgba(125,118,106,.50);background:transparent}.decision-chain{display:grid;gap:0}.decision-chain div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid #d0cabd}.decision-chain div:first-child{border-top:1px solid #9e978a}.decision-chain span{font:9px var(--sans);letter-spacing:.14em;color:#74766f}.decision-chain strong{font-size:18px;font-weight:400;color:var(--navy)}
.capability-intro{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:84px;align-items:start}.cap-grid{margin-top:70px;border-top:1px solid #a59e91;display:grid;grid-template-columns:repeat(5,1fr)}.cap{padding:30px 22px 35px;border-bottom:1px solid var(--line);min-height:260px}.cap:not(:last-child){border-right:1px solid var(--line)}.cap .tag{font:8px var(--sans);letter-spacing:.16em;color:#7d7f7b;margin-bottom:28px}.cap h3{font-size:18px;font-weight:400;line-height:1.65;color:var(--navy);margin:0 0 12px}.cap p{font-size:12px;line-height:2;color:#586271;margin:0}.cap a{border-bottom:1px solid rgba(16,38,75,.35)}
.services{background:#fff}.service-list{margin-top:72px;border-top:1px solid #9f988a}.service-row{display:grid;grid-template-columns:160px minmax(260px,.6fr) 1fr auto;gap:40px;align-items:center;padding:32px 0;border-bottom:1px solid #d6d0c6}.service-row .num{font:9px var(--sans);letter-spacing:.15em;color:#85847d}.service-row h3{font-size:21px;font-weight:400;color:var(--navy);margin:0}.service-row p{font-size:13px;line-height:2;color:#56606d;margin:0}.service-row .arrow{font-family:var(--sans);color:var(--blue)}
.msi{background:var(--navy);color:#fff}.msi .side .no,.msi .side .jp{color:#9ba8c5}.msi .section-title{color:#fff}.msi .section-copy{color:#c8d1e0}.msi-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.85fr);gap:90px;align-items:start}.msi-definition{padding:36px 0 0;border-top:1px solid rgba(255,255,255,.23)}.msi-definition p{font-size:13px;line-height:2.2;color:#c6d0e0}.msi-tags{margin-top:34px;display:flex;flex-wrap:wrap;gap:9px}.msi-tags span{padding:9px 12px;border:1px solid rgba(255,255,255,.2);font:9px var(--sans);letter-spacing:.08em;color:#b8c8e6}.msi-note{padding:32px 0 0;border:0;border-top:1px solid rgba(255,255,255,.25);background:transparent}.msi-note .big{font-size:24px;line-height:1.8;color:#fff;margin-bottom:24px}.msi-note p{font-size:12px;line-height:2.1;color:#b8c5d8}.msi .btn{border-color:#d6deee;color:#fff;margin-top:22px}
.why-grid{margin-top:72px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #a49d90}.why-card{padding:34px 28px 38px 0;border-bottom:1px solid var(--line)}.why-card:not(:last-child){border-right:1px solid var(--line);padding-left:28px}.why-card:first-child{padding-left:0}.why-card .year{font:9px var(--sans);letter-spacing:.16em;color:#777a76;margin-bottom:25px}.why-card h3{font-size:20px;font-weight:400;color:var(--navy);margin:0 0 13px}.why-card p{font-size:13px;line-height:2;color:#535e6c;margin:0}.bridge{margin-top:38px;font-size:20px;line-height:1.9;color:var(--navy);max-width:34em}
.philosophy{background:#eae5dc}.philosophy-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.quote{font-size:clamp(30px,3.3vw,48px);line-height:1.7;color:var(--navy)}.mission{font-size:14px;line-height:2.25;color:#4f5865;padding-top:10px}.mission b{font-weight:500;color:var(--navy)}
.profile-grid{display:grid;grid-template-columns:280px 1fr;gap:76px}.profile-name{font-size:27px;color:var(--navy);margin:0 0 8px}.profile-role{font:10px var(--sans);letter-spacing:.1em;color:#777b78}.timeline{border-top:1px solid #a49d90;margin-top:38px}.timeline-row{display:grid;grid-template-columns:120px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid var(--line)}.timeline-row .year{font:9px var(--sans);letter-spacing:.12em;color:#7c7d78}.timeline-row p{margin:0;font-size:13px;line-height:2;color:#515b69}
.company-table{width:100%;border-collapse:collapse;margin-top:62px}.company-table th,.company-table td{border-bottom:1px solid var(--line);padding:20px 0;text-align:left;vertical-align:top}.company-table th{width:180px;font:10px var(--sans);letter-spacing:.09em;color:#777a77;font-weight:400}.company-table td{font-size:13px;color:#46505e}
.contact{background:#e7e1d6;padding:136px 0}.contact-lead{font-size:clamp(27px,3vw,42px);line-height:1.7;color:var(--navy);margin:0 0 18px}.contact-sub{font-size:14px;color:#52606f;margin-bottom:46px}.form{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;max-width:920px}.field.full{grid-column:1/-1}.field label{display:block;font:10px var(--sans);letter-spacing:.08em;margin-bottom:8px;color:#62696f}.req{color:var(--blue);margin-left:6px}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid #a8a196;background:rgba(255,255,255,.25);padding:12px 4px;font:14px var(--sans);color:var(--ink);outline:none}.field textarea{min-height:130px;resize:vertical}.privacy{margin-top:24px;font:11px var(--sans);color:#62696f}.submit{margin-top:28px;background:var(--navy);color:#fff;border:0;padding:14px 25px;font:10px var(--sans);letter-spacing:.11em;cursor:pointer}.status{font:10px var(--sans);color:#74756f;margin-top:12px}.footer{background:#e7e1d6;border-top:1px solid #c9c2b6;padding:26px 0}.footer-row{display:flex;justify-content:space-between;gap:30px;font:9px var(--sans);letter-spacing:.08em;color:#727470}
.fade{opacity:0;transform:translateY(10px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.fade.visible{opacity:1;transform:none}
@media(max-width:980px){.nav{display:none}.menu{display:block}.nav.open{display:flex;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:22px 36px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.hero-grid,.flagship-grid,.capability-intro,.msi-grid,.philosophy-grid,.profile-grid{grid-template-columns:1fr;gap:52px}.hero-copy{padding-left:0}.hero-architecture{min-height:420px}.section-grid{grid-template-columns:1fr;gap:42px}.side{position:static}.cap-grid{grid-template-columns:repeat(2,1fr)}.cap:nth-child(2n){border-right:0}.cap:last-child{grid-column:1/-1}.service-row{grid-template-columns:80px 1fr auto}.service-row p{grid-column:2/-1}.why-grid{grid-template-columns:1fr}.why-card,.why-card:not(:last-child),.why-card:first-child{padding:28px 0;border-right:0}.form{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:680px){.wrap{width:min(calc(100% - 36px),var(--max))}.header-inner{height:62px}.brand img{height:30px}.hero{padding-top:62px}.hero-grid{min-height:auto;padding:82px 0 68px}.hero h1{font-size:38px}.hero-architecture{min-height:360px}.hero-index-head{display:block}.hero-index-head span:last-child{display:block;margin-top:5px}.hero-index-item{grid-template-columns:46px 1fr;gap:12px;min-height:78px}.hero-index-item strong{font-size:14px}.section{padding:104px 0}.cap-grid{grid-template-columns:1fr}.cap{border-right:0!important;min-height:0}.cap:last-child{grid-column:auto}.flagship-visual{padding:28px}.decision-chain div{grid-template-columns:1fr;gap:8px}.service-row{grid-template-columns:1fr;gap:8px}.service-row p{grid-column:auto}.service-row .num{margin-bottom:4px}.msi-note{padding:28px}.company-table th{width:110px}.footer-row{display:block}.footer-row div+div{margin-top:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade{opacity:1;transform:none;transition:none}}

.company-note{margin-top:7px;font-family:var(--sans);font-size:10px;line-height:1.75;letter-spacing:.015em;color:#777b80}
