@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--navy:#0b1725;--ink:#172632;--gold:#bfa273;--ivory:#f7f5f0;--line:#d9d7cf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:2}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin:0}h1,h2{font-family:'Noto Serif JP',serif;font-weight:500;letter-spacing:.07em}h2{font-size:clamp(28px,3.2vw,45px);line-height:1.65}p{letter-spacing:.04em}header{height:94px;padding:0 5%;position:absolute;z-index:10;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid #ffffff23}.brand{font-family:Georgia,serif;font-size:29px;line-height:1.2;position:relative;padding-left:40px}.brand-mark{position:absolute;left:0;top:-5px;color:var(--gold);font-size:40px;font-weight:400}.brand-small{display:block;font:8px sans-serif;letter-spacing:.22em;margin-top:6px}nav{display:flex;gap:30px;align-items:center;font-size:12px}.nav-contact{border:1px solid #a68d65;padding:9px 18px}.menu{display:none}.hero{min-height:760px;height:100svh;max-height:1100px;position:relative;background:var(--navy) url('assets/hero.png') center/cover;color:#fff;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07131de6 0%,#07131d55 52%,transparent 80%)}.hero-copy{position:relative;z-index:2;padding:clamp(210px,24vh,310px) 8% 100px}.eyebrow{font:10px sans-serif;font-weight:500;letter-spacing:.23em;color:#cfb889;margin-bottom:32px}.dark{color:#8e714a}h1{font-size:clamp(34px,4.6vw,66px);line-height:1.65}.hero-sub{margin:32px 0 44px;font-size:15px}.line-link{display:inline-flex;gap:60px;border-bottom:1px solid #c2a677;padding-bottom:10px;font-size:12px}.line-link span{color:var(--gold)}.hero-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;z-index:2;font-size:10px;letter-spacing:.15em}.hero-bottom a{font:9px sans-serif}.hero-bottom a span{margin-left:20px}.energy{position:absolute;inset:0;width:100%;height:100%;opacity:.45;pointer-events:none}.energy path{fill:none;stroke:var(--gold);stroke-width:1;stroke-dasharray:6 24;animation:flow 22s linear infinite}@keyframes flow{to{stroke-dashoffset:-600}}.section{padding:120px max(7%,calc((100vw - 1200px)/2))}.intro{display:grid;grid-template-columns:1fr 2fr;gap:50px}.section-label{font:10px sans-serif;color:#897659;letter-spacing:.15em;padding-top:7px}.intro .lead{font-size:17px;margin:32px 0 20px;line-height:2.2}.intro p:last-child{max-width:720px;color:#626b70}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:60px}.section-heading>p{color:#657079;font-size:13px}.services{padding-top:40px}.service-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.service-list summary{display:flex;align-items:center;gap:30px;padding:28px 0}.num{font:12px Georgia,serif;color:#9e8054}.service-list h3{font-size:22px;font-weight:500}.english{font:9px sans-serif;letter-spacing:.12em;margin-left:auto;color:#8a8f90}.plus{color:#9e8054;font-size:24px;font-weight:400;margin-left:20px}details[open] .plus{transform:rotate(45deg)}.service-body{padding:0 50px 34px;display:flex;justify-content:space-between;align-items:center;gap:40px;color:#616b73;max-width:850px}.service-symbol{font-size:54px;color:#b69d74;line-height:1}.network{min-height:600px;background:#f5f1e8 url('assets/network.png') center bottom/cover;padding:90px 8%;position:relative}.network-copy{max-width:620px}.network h2{font-size:36px}.network p:not(.eyebrow){margin-top:26px;font-size:14px}.network-note{display:block;color:#9b7e51;font:10px sans-serif;letter-spacing:.24em;margin-top:45px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps article{border-top:1px solid #b9a17a;padding-top:24px}.steps span{font:10px sans-serif;letter-spacing:.15em;color:#94784d}.steps h3{font-size:19px;font-weight:500;margin:20px 0}.steps p{color:#677079;font-size:13px}.philosophy{min-height:750px;background:#151b20 url('assets/philosophy.png') center/cover;color:#f1ece1;padding:100px 8%}.philosophy-copy{max-width:600px}.philosophy h2{font-size:clamp(35px,4vw,56px)}.philosophy p:not(.eyebrow){font-size:13px;line-height:2.4;margin-top:25px;color:#c3c3bc}.philosophy .philo-lead{font-size:17px!important;color:#eee7d9!important}.company{display:grid;grid-template-columns:1fr 1.6fr;gap:60px}.company h2{font-size:32px}.company-reading{font-size:11px;color:#7c827f;margin-top:8px}dl{margin:0}dl div{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:21px 0;border-bottom:1px solid var(--line)}dl div:first-child{border-top:1px solid var(--line)}dt{font-size:12px;color:#7c827f}dd{margin:0;font-size:13px}.legacy{grid-column:2;font-size:12px}.legacy summary{display:flex;justify-content:space-between;padding-bottom:18px}.legacy p{padding-bottom:20px;color:#707876}.contact{background:var(--navy);color:#f9f5ec;text-align:center}.contact h2{font-size:44px}.contact>p:not(.eyebrow){margin:25px 0;color:#bec3c6}.contact-link{display:flex;justify-content:space-between;align-items:center;text-align:left;margin:45px auto 0;padding:15px 0;border-bottom:1px solid #87734e;max-width:570px;font-family:Georgia,serif;font-size:clamp(22px,3vw,34px)}.contact-link span{font:30px sans-serif;color:#c7aa78}.contact .mail-note{font-size:10px;color:#89959e!important}footer{background:#07111c;color:#b3b7ba;padding:45px 6%;display:flex;align-items:center;gap:40px;font-size:10px}.footer-brand{font:28px Georgia,serif;color:#dac69e}footer>a:not(.footer-brand){margin-left:auto}footer small{font-size:9px}.skip{position:absolute;top:-100px;z-index:99;background:white;padding:10px}.skip:focus{top:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #bfa273;outline-offset:6px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){header{height:80px}.brand{font-size:25px}nav{gap:16px;font-size:10px}.section{padding:80px 6%}.intro{grid-template-columns:1fr;gap:25px}.section-heading{gap:20px}.english{display:none}.steps{gap:20px}.company{grid-template-columns:1fr;gap:30px}.legacy{grid-column:1}.network{background-position:60% bottom}.network-copy{max-width:500px;background:#f8f5edc9;padding:24px}.philosophy{background-position:58% center}.philosophy-copy{max-width:500px;background:linear-gradient(90deg,#151b20dc,#151b2066);padding:25px}footer{flex-wrap:wrap;gap:20px}footer>a:not(.footer-brand){margin-left:0}}
@media(max-width:650px){header{padding:0 6%}.menu{display:block;background:none;border:0;color:white;font:10px sans-serif;letter-spacing:.1em;padding:15px}.menu span{margin-left:10px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#0b1725f5;padding:30px 8%;flex-direction:column;align-items:flex-start;gap:24px;font-size:14px}nav.open{display:flex}.hero{height:92svh;min-height:650px;background-position:65% center}.hero-shade{background:linear-gradient(90deg,#07131de6,#07131d55),linear-gradient(0deg,#07131d99,transparent)}.hero-copy{padding:210px 7% 90px}h1{font-size:33px;letter-spacing:.02em}.hero .eyebrow{font-size:8px;letter-spacing:.15em}.hero-sub{font-size:12px;margin-top:25px}.hero-bottom{left:7%;right:7%;font-size:8px}.hero-bottom a{font-size:7px}.hero-bottom a span{margin-left:6px}.section{padding:70px 7%}.intro .lead{font-size:15px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:25px}.service-list summary{gap:16px;padding:24px 0}.service-list h3{font-size:18px}.plus{margin-left:auto}.service-body{padding:0 0 25px 30px;gap:15px;font-size:13px}.service-symbol{font-size:34px}.network{padding:55px 5%;min-height:610px;background-position:65% bottom}.network h2{font-size:28px}.network-copy{padding:20px;background:#f8f5ede3}.steps{grid-template-columns:1fr;gap:35px}.steps h3{margin:12px 0;font-size:20px}.philosophy{padding:65px 5%;min-height:850px;background-position:64% center}.philosophy-copy{padding:25px 4%;background:#151b20b8}.philosophy h2{font-size:38px}.philosophy p:not(.eyebrow){font-size:12px}.philosophy .philo-lead{font-size:15px!important}.company h2{font-size:27px}dl div{grid-template-columns:85px 1fr;gap:12px}.contact h2{font-size:35px}.contact>p:not(.eyebrow){font-size:12px}.contact-link{font-size:24px}.contact .mail-note{font-size:9px}footer{padding:35px 7%}footer p{width:calc(100% - 155px);font-size:9px}footer small{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.energy path{animation:none}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:650px){.hero h1{font-size:30px;letter-spacing:.01em}}
@media(max-width:650px){.philosophy h2{font-size:32px;letter-spacing:.03em}}
