:root{--ink:#0e1626;--ink-deep:#0a101d;--paper:#f6f3ec;--paper-2:#ede8dc;--rule:#ddd5c3;--muted:#4a5163;--gold:#d9b866;--gold-ink:#8a6a22;--on-dark:#e9e4d8;--on-dark-muted:#c9c6bc;--placeholder:#9a3b2e;--font-display:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-label:"Jost", "Futura", system-ui, sans-serif;--font-body:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;--max:1240px;--gutter:clamp(16px, 3vw, 32px);--section:clamp(72px, 9vw, 112px)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.7}:lang(ja) body,body:lang(ja){line-height:1.9}img{max-width:100%;height:auto;display:block}a{color:var(--ink)}a:hover{color:var(--gold-ink)}:focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px}.dark :focus-visible{outline-color:var(--gold)}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin:0 auto}.section{padding-block:var(--section)}.band{background:var(--paper-2)}.dark{background:var(--ink);color:var(--on-dark)}.dark a{color:var(--on-dark)}.dark a:hover{color:var(--gold)}.skip-link{z-index:100;background:var(--gold);color:var(--ink);font-family:var(--font-label);padding:10px 16px;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.eyebrow{font-family:var(--font-label);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink);margin:0;font-size:13px}.dark .eyebrow{color:var(--gold)}:lang(ja) .eyebrow{letter-spacing:.3em}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:600}.h1{font-size:clamp(2.4rem,4.8vw,4.2rem);line-height:1.12}.h2{margin-top:16px;font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.22}.h3{font-size:1.5rem;line-height:1.35}.dark .h1,.dark .h2,.dark .h3{color:var(--paper)}.lede{color:var(--muted);max-width:640px;font-size:18px}.dark .lede{color:var(--on-dark-muted)}.muted{color:var(--muted)}.dark .muted{color:var(--on-dark-muted)}.small{font-size:15px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;display:flex}.section-head>div{max-width:680px}.section-head>p{max-width:440px;margin:0}.btn{min-height:48px;font-family:var(--font-label);letter-spacing:.06em;cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;padding:0 28px;font-size:16px;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.btn-gold{background:var(--gold);color:var(--ink)}.btn-gold:hover{color:var(--ink);background:#e6c97f}.btn-ink{background:var(--ink);color:var(--paper)}.btn-ink:hover{color:var(--paper);background:#1c2740}.btn-ghost{border-color:var(--gold);color:var(--paper)}.dark .btn-ghost:hover{color:var(--paper);background:#d9b8661f}.btn-row{flex-wrap:wrap;gap:14px;margin-top:40px;display:flex}.text-link{font-family:var(--font-label);border-bottom:1px solid #c9b98f;padding-bottom:1px;font-weight:500;text-decoration:none}.text-link:hover{border-bottom-color:var(--gold-ink)}.dark .text-link{border-bottom-color:#d9b86680}.site-header{background:var(--ink);color:var(--on-dark);z-index:20;position:relative}.site-header .bar{justify-content:space-between;align-items:center;gap:20px;padding-block:20px;display:flex}.brand{color:var(--on-dark);align-items:center;gap:14px;text-decoration:none;display:flex}.brand:hover{color:var(--on-dark)}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-name{font-family:var(--font-label);letter-spacing:.22em;font-size:19px;font-weight:500}.brand-tag{font-family:var(--font-label);letter-spacing:.32em;color:var(--gold);font-size:10px}.nav{font-family:var(--font-label);letter-spacing:.04em;align-items:center;gap:8px 24px;font-size:15px;display:flex}:lang(ja) .nav{font-family:var(--font-body);letter-spacing:.02em}.nav a{color:var(--on-dark);padding-block:6px;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--gold)}.lang-switch{font-family:var(--font-label);border-left:1px solid #3a4560;gap:6px;padding-left:16px;display:flex}.lang-switch [aria-current=true]{color:var(--gold)}.menu-btn{color:var(--on-dark);min-width:44px;min-height:44px;font-family:var(--font-label);cursor:pointer;background:0 0;border:1px solid #3a4560;padding:0 14px;font-size:15px;display:none}@media (width<=1080px){.menu-btn{align-items:center;gap:8px;display:inline-flex}.nav{background:var(--ink);padding:8px var(--gutter) 24px;border-top:1px solid #222b3e;flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:100%;left:0;right:0}.nav.open{display:flex}.nav a{border-bottom:1px solid #1c2538;padding-block:12px}.lang-switch{border-left:0;padding:16px 0 0}.lang-switch a{border-bottom:0}}.hero{flex-wrap:wrap;align-items:center;gap:56px;padding-block:64px 96px;display:flex}.hero>*{flex:400px;min-width:0}.hero>:first-child{flex:1.4 520px}.hero-motto{font-family:var(--font-display);letter-spacing:.3em;color:var(--gold);margin:0 0 22px;font-size:18px}.hero p.lede{margin-top:28px}.hero-img{aspect-ratio:4/3;object-fit:cover;width:100%}@media (width>=900px){.h1-line{display:block}}.page-hero{padding-block:56px 72px}.page-hero .lede{margin-top:20px}.figures{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:32px 24px;padding-block:56px;display:grid}.figure-num{font-family:var(--font-display);font-size:clamp(2.2rem,3.4vw,2.75rem);font-weight:600;line-height:1}.figure-label{color:var(--muted);margin-top:10px;font-size:15px}.dark .figure-label{color:var(--on-dark-muted)}.rule-bottom{border-bottom:1px solid var(--rule)}.split{flex-wrap:wrap;gap:64px;display:flex}.split>:first-child{flex:300px;min-width:0}.split>:last-child{flex:2 560px;min-width:0}.quote{font-family:var(--font-display);margin:0;font-size:clamp(1.3rem,2.2vw,1.6rem);line-height:1.6}.prose p{margin:0 0 1.1em}.prose p:last-child{margin-bottom:0}.companies{background:var(--paper-2);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px;display:grid}.company{background:var(--paper);flex-direction:column;gap:12px;padding:32px 28px;display:flex}.company .step{font-family:var(--font-label);letter-spacing:.2em;color:var(--gold-ink);font-size:13px}.company h3{font-size:1.5rem}.company p{color:var(--muted);flex-grow:1;margin:0;font-size:15px}.company .text-link{align-self:flex-start;font-size:14px}.wide-img{object-fit:cover;width:100%;height:clamp(220px,30vw,380px)}.company-row{border-top:1px solid var(--rule);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:56px;padding-block:56px;display:grid}.company-row:first-child{border-top:0;padding-top:0}.company-row img{aspect-ratio:4/3;object-fit:contain;background:#fff;width:100%}.company-row .spec-list{gap:8px;margin:20px 0 0;padding:0;list-style:none;display:grid}.company-row .spec-list li{padding-left:18px;font-size:15px;position:relative}.company-row .spec-list li:before{content:"";background:var(--gold-ink);width:8px;height:1px;position:absolute;top:.75em;left:0}@media (width<=860px){.company-row{grid-template-columns:1fr;gap:28px}}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:560px;font-size:16px}.data-table th[scope=col]{text-align:left;font-family:var(--font-label);letter-spacing:.16em;color:var(--muted);border-bottom:1px solid var(--ink);padding:0 16px 14px 0;font-size:13px;font-weight:500}.data-table td{border-bottom:1px solid var(--rule);vertical-align:top;padding:18px 16px 18px 0}.data-table td:first-child{font-weight:500}.data-table .num{text-align:right;font-family:var(--font-display);white-space:nowrap;padding-right:0;font-size:20px}.data-table th.num{font-family:var(--font-label);font-size:13px}.tag{border:1px solid var(--rule);color:var(--muted);white-space:nowrap;padding:2px 10px;font-size:13px;display:inline-block}.kv-table{border-collapse:collapse;width:100%;min-width:520px}.kv-table th{text-align:left;vertical-align:top;width:210px;color:var(--gold-ink);border-top:1px solid var(--rule);padding:24px 24px 24px 0;font-weight:500}.kv-table td{border-top:1px solid var(--rule);padding:24px 0}.kv-table tr:first-child th,.kv-table tr:first-child td{border-top-color:var(--ink)}.kv-table tr:last-child th,.kv-table tr:last-child td{border-bottom:1px solid var(--ink)}.placeholder{color:var(--placeholder)}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:48px;display:grid}.grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px 32px;display:grid}.ruled-item{border-top:1px solid var(--ink);padding-top:24px}.dark .ruled-item{border-top-color:var(--gold)}.ruled-item p{margin:14px 0 0}.dark .ruled-item p{color:var(--on-dark-muted)}.pillars{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;margin:0;padding:0;list-style:none;display:grid}.pillars li{flex-direction:column;gap:8px;display:flex}.pillars .kanji{font-family:var(--font-display);color:var(--gold-ink);font-size:32px;line-height:1.2}.pillars strong{font-weight:700}.pillars span:last-child{color:var(--muted);font-size:15px}.office h3{font-family:var(--font-label);letter-spacing:.2em;color:var(--gold-ink);font-size:13px;font-weight:500}:lang(ja) .office h3{font-family:var(--font-body);letter-spacing:.1em;font-size:14px}.office address{margin-top:10px;font-size:15px;font-style:normal}.timeline{border-left:1px solid var(--rule);margin:0;padding:0;list-style:none}.timeline li{padding:0 0 36px 32px;position:relative}.timeline li:before{content:"";background:var(--gold-ink);width:9px;height:9px;position:absolute;top:.6em;left:-5px}.timeline .when{font-family:var(--font-label);letter-spacing:.12em;color:var(--gold-ink);font-size:14px}.timeline p{margin:4px 0 0}.leaders{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px 32px;display:grid}.leader img{aspect-ratio:1;object-fit:cover;object-position:top;background:var(--paper-2);filter:saturate(.9);width:100%}.leader h3{margin-top:18px;font-size:1.3rem}.leader p{color:var(--muted);margin:4px 0 0;font-size:15px}.photo figure,figure.photo{margin:0}figure.photo img{object-fit:cover;width:100%}figure.photo figcaption{color:var(--muted);margin-top:12px;font-size:14px}.photo-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;display:grid}.photo-grid img{aspect-ratio:3/2}.news-item .meta{color:var(--muted);margin:0;font-size:14px}.news-item h3{margin-top:10px;font-size:1.3rem;line-height:1.45}.cta-band .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding-block:88px;display:flex}.cta-band h2{max-width:680px;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.25}.cta-band p{margin:16px 0 0}.contact-form{gap:20px;display:grid}.field-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.contact-form label{gap:6px;font-size:14px;font-weight:500;display:grid}.contact-form input,.contact-form select,.contact-form textarea{font:inherit;color:var(--ink);background:#fffdf8;border:1px solid #c8bfa9;border-radius:0;width:100%;min-height:48px;padding:12px 14px;font-size:16px}.contact-form textarea{resize:vertical;min-height:160px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--gold-ink);outline-offset:0;border-color:var(--gold-ink)}.contact-form .btn{justify-self:start}.contact-form .btn[disabled]{opacity:.6;cursor:progress}.hp-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-status{margin:0;padding:14px 16px;font-size:15px}.form-status.is-ok{color:#234318;background:#e7efe2}.form-status.is-error{color:#7a2216;background:#f6e3df}.form-note{color:var(--muted);margin:0;font-size:13px}.site-footer{background:var(--ink-deep);color:#a9a69c;font-size:14px}.site-footer a{color:#cfcabe;text-decoration:none}.site-footer a:hover{color:var(--gold)}.footer-grid{flex-wrap:wrap;justify-content:space-between;gap:48px;padding-block:64px 40px;display:flex}.footer-grid>div,.footer-grid>nav{flex-direction:column;flex:200px;gap:8px;display:flex}.footer-grid>div:first-child{flex-basis:300px}.footer-head{font-family:var(--font-label);letter-spacing:.18em;color:var(--gold);margin-bottom:4px;font-size:12px}.footer-base{border-top:1px solid #222b3e;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-block:20px 32px;display:flex}.notice{background:var(--paper-2);border-left:0;padding:16px 20px;font-size:15px}.stack-lg>*+*{margin-top:48px}.mt-0{margin-top:0}.center{text-align:center}
