:root{--ink:#172a27;--paper:#f4f1e9;--lime:#65b4d4;--blue:#287fa8;--orange:#f08a4b;--line:rgba(23,42,39,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.8;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;position:fixed;inset:0 0 auto;z-index:20;background:rgba(244,241,233,.82);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{height:70px;border-color:var(--line)}.logo{display:flex;align-items:center;gap:10px;font-family:"DM Sans";font-size:20px;font-weight:600;line-height:1}.logo svg{width:38px;fill:var(--ink)}.logo small{display:block;font:500 9px "Noto Sans JP";letter-spacing:.24em;margin-top:5px}.site-header nav{display:flex;gap:2.4vw;font-size:13px;font-weight:600}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--ink);transition:.25s}.site-header nav a:hover:after{width:100%}.menu-button{display:none;background:none;border:0}.hero{min-height:100vh;padding:150px 8vw 80px;display:flex;align-items:center;position:relative}.hero-copy{position:relative;z-index:2}.eyebrow,.section-index,.card-label{font:600 11px "DM Sans";letter-spacing:.2em}.hero h1{font-size:clamp(54px,7.7vw,116px);line-height:1.12;letter-spacing:-.07em;margin:20px 0 35px;font-weight:600}.hero h1 em{font-style:normal;position:relative}.hero h1 em:after{content:"";height:13px;background:var(--lime);position:absolute;left:0;right:-10px;bottom:8px;z-index:-1;transform:rotate(-2deg)}.lead{font-size:16px;line-height:2}.round-link{display:inline-flex;align-items:center;gap:35px;border-bottom:1px solid var(--ink);padding:10px 0;margin-top:25px;font-size:13px;font-weight:600}.round-link span{font-size:22px}.hero-visual{position:absolute;width:min(55vw,750px);height:min(55vw,750px);right:-5vw;top:50%;transform:translateY(-48%);border-radius:50%;background:var(--lime);overflow:hidden}.hero-visual p{position:absolute;right:16%;bottom:16%;font:600 13px/1.2 "DM Sans";letter-spacing:.2em}.orbit{position:absolute;border:1px solid rgba(23,42,39,.26);border-radius:50%}.orbit-a{inset:10%}.orbit-b{inset:26% -15% -10% 30%}.wing{position:absolute;background:var(--paper);border-radius:100% 0 100% 0;transform:rotate(25deg)}.wing-a{width:47%;height:17%;left:15%;top:35%}.wing-b{width:35%;height:13%;left:39%;top:47%;transform:rotate(-22deg)}.point{position:absolute;width:11px;height:11px;background:var(--ink);border-radius:50%}.point-a{left:18%;top:24%}.point-b{right:20%;top:38%}.point-c{left:33%;bottom:19%}.scroll{position:absolute;bottom:25px;left:4vw;writing-mode:vertical-rl;font:600 9px "DM Sans";letter-spacing:.2em}.scroll span{display:inline-block;height:45px;border-left:1px solid;margin-top:10px}.section-pad{padding:130px 8vw}.statement{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line)}.statement-body{max-width:760px}.statement h2,.section-heading h2,.values h2,.message h2,.contact h2{font-size:clamp(40px,5vw,72px);line-height:1.35;letter-spacing:-.05em;margin:15px 0 35px}.statement-body>p:last-child{max-width:580px;margin-left:auto}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:65px}.section-heading .section-index{grid-column:1/-1}.section-heading h2{margin-bottom:0}.section-heading>p:last-child{justify-self:end}.business{background:var(--ink);color:var(--paper)}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.18)}.business-card{min-height:580px;padding:34px;background:var(--ink);position:relative;display:flex;flex-direction:column}.card-number{font:500 12px "DM Sans";position:absolute;right:30px}.card-label{opacity:.6}.business-card h3{font-size:34px;line-height:1.35;margin:20px 0}.business-card>p:not(.card-label){font-size:14px;opacity:.72}.business-card a{margin-top:auto;border-top:1px solid rgba(255,255,255,.25);padding-top:20px;display:flex;justify-content:space-between;font-size:13px}.card-graphic{height:190px;margin:35px 0 15px;position:relative}.people i{position:absolute;border-radius:50% 50% 8px 8px;background:var(--lime)}.people i:nth-child(1){width:70px;height:120px;left:16%;top:25px}.people i:nth-child(2){width:85px;height:145px;left:38%;background:var(--blue)}.people i:nth-child(3){width:55px;height:100px;right:15%;top:48px;background:var(--orange)}.loop i{position:absolute;width:120px;height:120px;border:22px solid var(--blue);border-radius:50%;left:23%;top:30px}.loop i:nth-child(2){left:46%;border-color:var(--lime)}.horizon i{position:absolute;left:12%;right:12%;height:1px;background:rgba(255,255,255,.4);top:50%}.horizon i:nth-child(2){width:110px;height:110px;border-radius:50%;background:var(--orange);left:35%;top:22%}.horizon i:nth-child(3){width:10px;height:10px;border-radius:50%;background:var(--lime);left:20%;top:26%}.values{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw}.values-list{list-style:none;margin:0;padding:0}.values-list li{display:grid;grid-template-columns:70px 1fr;align-items:center;border-top:1px solid var(--line);padding:15px 0}.values-list li:last-child{border-bottom:1px solid var(--line)}.values-list b{font:500 48px "DM Sans";color:var(--blue)}.values-list strong{font:600 16px "DM Sans";display:block}.values-list span{font-size:12px}.history{background:#e8e5dd}.timeline{max-width:1000px;margin:20px auto 0}.timeline article{display:grid;grid-template-columns:100px 30px 1fr;gap:25px;min-height:170px}.timeline time{font:600 20px "DM Sans"}.timeline article>span{width:12px;height:12px;border:3px solid #e8e5dd;background:var(--ink);border-radius:50%;position:relative}.timeline article>span:after{content:"";position:absolute;width:1px;background:#91a09d;height:165px;left:3px;top:10px}.timeline article:last-child>span:after{display:none}.timeline article>div{padding-bottom:45px}.timeline article>div>p:first-child{font:600 10px "DM Sans";letter-spacing:.16em;color:var(--blue);margin:0}.timeline h3{font-size:21px;margin:5px 0}.timeline article>div>p:last-child{font-size:13px;margin:0;opacity:.7}.timeline .now span{background:var(--lime);box-shadow:0 0 0 8px rgba(101,180,212,.35)}.message{display:grid;grid-template-columns:1fr 1.25fr;gap:10vw;position:relative}.message-mark{position:absolute;font:400 380px/1 serif;color:rgba(70,121,232,.08);top:20px;left:4vw}.portrait{align-self:center;position:relative}.portrait-placeholder{height:550px;background:linear-gradient(145deg,#bcc6c2,#6e7f79);position:relative;overflow:hidden}.portrait-placeholder:before{content:"";position:absolute;width:260px;height:430px;background:#243a35;border-radius:48% 48% 15% 15%;left:50%;bottom:-70px;transform:translateX(-50%)}.portrait-placeholder:after{content:"";position:absolute;width:120px;height:150px;background:#c79b7e;border-radius:46%;left:50%;top:80px;transform:translateX(-50%)}.portrait-placeholder span{position:absolute;z-index:2;color:white;left:24px;bottom:20px;font:600 11px "DM Sans";letter-spacing:.2em}.portrait>p{font-size:12px}.portrait strong{font-size:20px}.message-copy>p:not(.section-index){font-size:14px;margin:25px 0}.contact{background:var(--lime);display:grid;grid-template-columns:1fr 1fr;gap:9vw}.contact-intro{position:sticky;top:120px;align-self:start}.contact-form label{display:block;font-size:12px;font-weight:600;margin-bottom:27px}.contact-form em{font-style:normal;color:#a34821;font-size:10px;margin-left:10px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;display:block;background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:12px 2px;outline:0}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-bottom-width:2px}.contact-form .check{display:flex;align-items:center;gap:10px}.check input{width:18px;height:18px;margin:0}.contact-form button{width:100%;padding:22px 28px;background:var(--ink);color:white;border:0;display:flex;justify-content:space-between;cursor:pointer}.form-status{font-size:12px}footer{padding:70px 8vw 30px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:2fr 1fr;gap:50px;align-items:start}.footer-logo svg{fill:var(--lime)}footer>div{font-size:12px}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:22px;font:400 10px "DM Sans"}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}.cursor-glow{position:fixed;width:300px;height:300px;border-radius:50%;background:rgba(101,180,212,.11);filter:blur(35px);pointer-events:none;z-index:30;transform:translate(-50%,-50%)}
@media(max-width:800px){.site-header{height:70px;padding:0 20px}.site-header nav{position:fixed;inset:70px 0 auto;background:var(--paper);display:flex;flex-direction:column;padding:30px;gap:20px;transform:translateY(-140%);transition:.35s;z-index:-1}.site-header nav.open{transform:none}.menu-button{display:block;width:38px;height:30px}.menu-button span{display:block;border-top:2px solid;margin:8px}.hero{padding:120px 22px 80px;align-items:flex-start}.hero h1{font-size:55px}.hero-visual{width:78vw;height:78vw;right:-26vw;top:67%;opacity:.72}.lead{font-size:14px}.scroll{display:none}.section-pad{padding:90px 22px}.statement,.values,.message,.contact{grid-template-columns:1fr}.statement{gap:35px}.statement-body>p:last-child{margin:0}.section-heading{grid-template-columns:1fr}.section-heading>p:last-child{justify-self:start}.business-grid{grid-template-columns:1fr}.business-card{min-height:520px}.values{gap:30px}.values-list b{font-size:38px}.portrait-placeholder{height:430px}.message-copy{grid-row:1}.contact-intro{position:static}.cursor-glow{display:none}footer{grid-template-columns:1fr}.copyright{grid-column:auto}.timeline article{grid-template-columns:62px 18px 1fr;gap:12px}.timeline article>div>p:last-child{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.wing-mark{display:inline-block;width:52px;height:52px;position:relative;flex:none}.wing-mark i{position:absolute;display:block;background:var(--ink);border-radius:100% 0 100% 0}.wing-mark i:first-child{width:47%;height:17%;left:15%;top:35%;transform:rotate(25deg)}.wing-mark i:last-child{width:35%;height:13%;left:39%;top:47%;transform:rotate(-22deg)}.hero-sign{display:flex;align-items:center;gap:14px}.hero-sign .eyebrow{margin:0}.hero-wing-mark{position:absolute;inset:0;width:100%;height:100%}.hero-wing-mark i{background:var(--paper)}.footer-logo .wing-mark i{background:var(--lime)}
/* Hero orbital system: diameters 76.4% and 47.2% (each × 1/φ), with offset centers. */
.hero-visual .orbit-a{inset:auto;width:76.4%;height:76.4%;left:-8%;top:11.8%}.hero-visual .orbit-b{inset:auto;width:47.2%;height:47.2%;left:61.8%;top:38.2%}.hero-visual .point{inset:auto;width:1.46%;height:1.46%;min-width:8px;min-height:8px;transform:translate(-50%,-50%)}
/* Two markers sit directly on the smaller offset orbit. */
.hero-visual .point-a{left:65%;top:73.6%}.hero-visual .point-c{left:73.6%;top:41.4%}
.hero-visual .point-b{left:49.3%;top:16.9%}
.portrait-photo{height:550px;position:relative;overflow:hidden;background:#dce3e5}.portrait-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 34%}.portrait-photo span{position:absolute;left:24px;bottom:20px;color:#fff;font:600 11px "DM Sans";letter-spacing:.2em;text-shadow:0 1px 8px rgba(0,0,0,.28)}
@media(max-width:800px){.portrait-photo{height:430px}}
.business-logo{display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden}.business-logo img{display:block;width:82%;height:82%;object-fit:contain}.reuse .business-logo img{width:72%;height:72%}
.logo .company-logo{display:block;width:92px;height:68px;object-fit:contain}.footer-logo .company-logo{width:180px;height:auto}
@media(max-width:800px){.logo .company-logo{width:76px;height:58px}.footer-logo .company-logo{width:150px;height:auto}}
.header-logo-mark{display:block;width:60px;height:38px;overflow:hidden;position:relative;flex:none}.header-logo-mark img{display:block;position:absolute;width:68px;height:auto;left:50%;top:-4px;transform:translateX(-50%)}
@media(max-width:800px){.header-logo-mark{width:48px;height:32px}.header-logo-mark img{width:56px;top:-3px}.site-header>.logo{font-size:17px}}
.values-list b{display:grid;place-items:center;width:70px;text-align:center;font-variant-numeric:tabular-nums}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(18,72,98,.68);opacity:1}
html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}body{position:relative}main,section,footer{max-width:100%}@supports(overflow:clip){html,body{overflow-x:clip}}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-form button:disabled{cursor:wait;opacity:.65}
.contact-form .form-status{display:none;margin:16px 0 0;padding:16px 18px;border:2px solid transparent;font-size:14px;font-weight:600;line-height:1.7}.contact-form .form-status.is-visible{display:block}.contact-form .form-status.is-sending{border-color:rgba(23,42,39,.38);background:rgba(255,255,255,.25)}.contact-form .form-status.is-success{border-color:#123e53;background:#123e53;color:#fff}.contact-form .form-status.is-error{border-color:#8f261e;background:#fff1ed;color:#7b1d17}
