:root{--ink:#080d13;--paper:#f5f8fb;--orange:#0063b8;--lime:#c8f044;--blue:#2353d8;--line:rgba(8,13,19,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Inter","Noto Sans JP",sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--orange);color:#fff}
.loader{position:fixed;inset:0;z-index:1000;background:var(--ink);display:grid;place-items:center;color:#fff;transition:transform .42s cubic-bezier(.77,0,.18,1);transform-origin:top;will-change:transform}.loader img{width:min(38vw,260px);height:150px;object-fit:contain}.loaded .loader{transform:scaleY(0);pointer-events:none}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:#fff;transition:.35s}.site-header.scrolled{height:72px;background:rgba(8,10,13,.94);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:900;letter-spacing:.06em}.brand img{display:block;width:31px;height:31px;object-fit:contain}.global-nav{display:flex;align-items:center;gap:38px;font-size:.77rem;font-weight:800;letter-spacing:.1em}.global-nav a{display:flex;gap:8px;align-items:center}.global-nav span{font-size:.6rem;color:var(--orange)}.menu-button{display:none;color:#fff;background:none;border:0;cursor:pointer}
.hero{position:relative;height:100svh;min-height:720px;background:#05080b;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('./assets/hero-live-v2.webp') center/cover no-repeat;transform:scale(1.04);animation:heroZoom 14s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,11,.98) 0%,rgba(5,8,11,.72) 35%,rgba(5,8,11,.1) 76%),linear-gradient(0deg,rgba(5,8,11,.7),transparent 45%)}.hero-kicker{position:absolute;top:17%;left:12.5%;margin:0;font-size:.72rem;font-weight:800;letter-spacing:.22em;color:var(--lime)}.hero-title{position:absolute;inset:0;margin:0;pointer-events:none}.vertical{position:absolute;z-index:2;left:4vw;top:20%;writing-mode:vertical-rl;font-family:"Noto Sans JP",sans-serif;font-size:clamp(1.4rem,2.5vw,2.8rem);font-weight:900;letter-spacing:.2em;line-height:1.8}.outline{position:absolute;left:12%;bottom:4%;font-size:clamp(6rem,14vw,14rem);font-weight:900;line-height:.68;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.83)}.hero-copy{position:absolute;right:5vw;bottom:8%;margin:0;text-align:right;font-size:clamp(1rem,1.7vw,1.5rem);font-weight:700;line-height:1.7}.scroll{position:absolute;left:4vw;bottom:4%;display:flex;align-items:center;gap:14px;font-size:.65rem;letter-spacing:.2em}.scroll i{width:70px;height:1px;background:#fff;position:relative}.scroll i:after{content:"";position:absolute;right:0;top:-3px;width:8px;height:1px;background:#fff;transform:rotate(35deg)}.hero-slash{position:absolute;right:-6vw;top:7%;width:13vw;height:42vh;background:var(--orange);transform:skew(-21deg);mix-blend-mode:screen;opacity:.85}.reveal{opacity:0;transform:translateY(42px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}@keyframes heroZoom{to{transform:scale(1)}}
.section{position:relative;padding:150px 6vw}.section-index{position:absolute;top:54px;left:4vw;font-size:.68rem;font-weight:800;letter-spacing:.2em;border-top:1px solid currentColor;padding-top:10px}.vision{min-height:820px;background:var(--paper);overflow:hidden}.vision:before{content:"";position:absolute;top:-60px;right:-90px;width:370px;height:180px;background:var(--lime);transform:rotate(-24deg)}.vision-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10vw;align-items:end;max-width:1320px;margin:0 auto}.eyebrow{display:block;margin-bottom:28px;font-size:.72rem;font-weight:800;letter-spacing:.2em;color:var(--orange)}.vision h2,.company h2{font-family:"Noto Sans JP",sans-serif;font-size:clamp(3.2rem,7vw,7.2rem);line-height:1.1;letter-spacing:-.06em;margin:0;font-weight:900}.vision h2 em,.company h2 em{font-style:normal;color:var(--orange)}.vision h2 span{margin-right:.12em}.vision-body{font-size:1.08rem;line-height:2.05}.vision-body p{margin:0 0 1.5em}.ticker{position:absolute;left:0;right:0;bottom:38px;overflow:hidden;white-space:nowrap;transform:rotate(-3deg);transform-origin:left}.ticker div{display:inline-block;font-size:clamp(3rem,8vw,8rem);font-weight:900;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(8,10,13,.18);animation:ticker 22s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}
.proof{display:grid;grid-template-columns:.72fr 1.28fr;background:var(--orange);color:#fff}.proof-lead{padding:72px 6vw;border-right:1px solid rgba(255,255,255,.35)}.proof-lead span{display:block;font-size:.7rem;font-weight:800;letter-spacing:.2em;margin-bottom:22px}.proof-lead strong{font-family:"Noto Sans JP",sans-serif;font-size:clamp(2rem,3.8vw,4.5rem);line-height:1.2}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:0}.proof-grid div{padding:72px 3vw;border-right:1px solid rgba(255,255,255,.35)}.proof-grid div:last-child{border:0}.proof-grid dt{min-height:42px;font-size:.78rem;font-weight:700}.proof-grid dd{margin:18px 0 0;white-space:nowrap}.proof-grid b{font-size:clamp(2.3rem,4.5vw,5rem);letter-spacing:-.07em}.proof-grid span{font-size:.78rem;margin-left:8px}
.business{padding:150px 0 0;background:var(--ink);color:#fff}.business-intro{padding:0 6vw 70px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:3vw}.business .section-index{position:static;align-self:start;width:max-content}.business-intro h2{margin:0;font-size:clamp(4rem,9vw,9rem);line-height:.86;letter-spacing:-.07em}.business-intro p{margin:0;max-width:540px;line-height:2;color:#b8bbc1}.business-pillars{display:grid;grid-template-columns:repeat(3,1fr);margin:0 6vw 90px;border:1px solid rgba(255,255,255,.18)}.business-pillars div{padding:30px;border-right:1px solid rgba(255,255,255,.18)}.business-pillars div:last-child{border:0}.business-pillars span{color:var(--orange);font-size:.68rem}.business-pillars strong{display:block;margin:14px 0 10px;font-size:1rem;letter-spacing:.08em}.business-pillars p{margin:0;color:#9fa3aa;line-height:1.7;font-size:.9rem}.service-list{border-top:1px solid rgba(255,255,255,.17)}.service-card{position:relative;display:grid;grid-template-columns:70px 1fr 1fr 50px;gap:3vw;align-items:center;padding:42px 6vw;border-bottom:1px solid rgba(255,255,255,.17);overflow:hidden;transition:color .35s}.service-card:before{content:"";position:absolute;inset:0;background:var(--tone);transform:translateX(-101%);transition:transform .5s cubic-bezier(.65,0,.35,1)}.service-card:hover:before{transform:none}.service-card>*{position:relative;z-index:1}.service-no{font-size:.72rem;color:#8b8d92}.service-name small{display:block;margin-bottom:9px;color:var(--tone);font-size:.65rem;font-weight:800;letter-spacing:.15em}.service-card:hover .service-name small{color:#fff}.service-card h3{margin:0;font-size:clamp(1.45rem,2.7vw,3rem);letter-spacing:-.04em}.service-card p{margin:0;color:#a9abb0;line-height:1.8}.service-card:hover p,.service-card:hover .service-no{color:inherit}.service-arrow{font-size:2rem;transition:transform .35s}.service-card:hover .service-arrow{transform:translate(5px,-5px)}.future-band{display:flex;align-items:center;gap:4vw;padding:52px 6vw;background:var(--orange);color:#fff}.future-band span{font-size:.7rem;letter-spacing:.2em}.future-band strong{font-size:clamp(1.35rem,2.4vw,2.5rem)}.future-band i{margin-left:auto;font-size:3rem;font-style:normal;font-weight:300}
.statement{min-height:820px;display:grid;place-items:center;background:var(--blue);color:#fff;overflow:hidden;text-align:center}.statement-en{position:relative;z-index:2;margin:0;font-size:clamp(4rem,11vw,11rem);font-weight:900;line-height:.8;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1.5px #fff}.statement-ja{position:absolute;z-index:3;margin:0;font-family:"Noto Sans JP",sans-serif;font-size:clamp(1.5rem,3vw,3rem);font-weight:900;line-height:1.7}.orbit{position:absolute;border:1px solid rgba(255,255,255,.35);border-radius:50%;animation:spin 18s linear infinite}.orbit-one{width:720px;height:260px;transform:rotate(20deg)}.orbit-two{width:540px;height:540px;transform:rotate(-50deg)}@keyframes spin{to{rotate:360deg}}
.company{background:var(--paper);padding-bottom:180px}.company:after{content:"";position:absolute;left:-80px;bottom:-90px;width:340px;height:180px;background:var(--lime);transform:rotate(27deg)}.company-head{display:flex;justify-content:space-between;align-items:flex-start;gap:5vw;max-width:1320px;margin:0 auto 90px}.company-head .eyebrow{margin-top:20px}.company-table{max-width:920px;margin-left:auto;margin-right:4vw;border-top:1px solid var(--ink)}.company-table div{display:grid;grid-template-columns:170px 1fr;padding:27px 0;border-bottom:1px solid var(--line)}.company-table dt{font-size:.78rem;font-weight:800;letter-spacing:.08em}.company-table dd{margin:0;line-height:1.7}
.site-footer{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:90px 4vw 28px}.footer-word{font-size:clamp(5rem,18vw,19rem);font-weight:900;letter-spacing:-.08em;line-height:.72;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35);white-space:nowrap}.footer-row{position:relative;display:flex;align-items:center;justify-content:space-between;margin-top:80px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2);font-size:.72rem}.footer-row p{color:#8e9197}.footer-row>a:last-child{letter-spacing:.12em}.footer-brand{font-size:.85rem}.footer-brand img{width:28px;height:28px}
@media(max-width:800px){.site-header{height:70px;padding:0 20px}.brand img{width:112px;height:48px}.global-nav{position:fixed;inset:0;z-index:-1;background:var(--ink);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:12vw;gap:32px;font-size:1.5rem;transform:translateX(100%);transition:.45s}.nav-open .global-nav{transform:none}.menu-button{display:grid;gap:4px;position:relative;z-index:1}.menu-button span{font-size:.62rem;letter-spacing:.14em}.menu-button i{display:block;width:34px;height:1px;background:#fff}.hero{min-height:660px}.hero-kicker{left:74px;top:16%;font-size:.58rem}.vertical{left:18px;top:19%;font-size:1.3rem}.outline{left:12%;bottom:10%;font-size:22vw;line-height:.75}.hero-copy{right:20px;bottom:5%;font-size:.92rem}.scroll{display:none}.hero-slash{right:-20vw;width:30vw;height:34vh}.section{padding:110px 22px}.section-index{top:34px;left:22px}.vision{min-height:780px}.vision-grid{grid-template-columns:1fr;gap:48px}.vision:before{width:240px;height:120px}.vision-body{font-size:1rem}.ticker{bottom:30px}.proof{grid-template-columns:1fr}.proof-lead{padding:48px 22px;border-right:0;border-bottom:1px solid rgba(255,255,255,.35)}.proof-grid{grid-template-columns:1fr}.proof-grid div{padding:28px 22px;border-right:0;border-bottom:1px solid rgba(255,255,255,.35)}.proof-grid div:last-child{border-bottom:0}.proof-grid dt{min-height:0}.business{padding-top:110px}.business-intro{padding:0 22px 55px;grid-template-columns:1fr;gap:40px}.business-intro h2{font-size:18vw}.business-pillars{grid-template-columns:1fr;margin:0 22px 60px}.business-pillars div{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.business-pillars div:last-child{border-bottom:0}.service-card{grid-template-columns:34px 1fr 28px;padding:30px 22px;gap:14px}.service-card p{grid-column:2/4;font-size:.9rem}.future-band{padding:36px 22px;flex-wrap:wrap}.future-band strong{width:70%}.statement{min-height:620px}.orbit-one{width:480px;height:180px}.orbit-two{width:340px;height:340px}.company-head{display:block;margin-bottom:60px}.company-head .eyebrow{margin:0 0 24px}.company-table{margin:0}.company-table div{grid-template-columns:1fr;gap:12px}.site-footer{padding:70px 22px 24px}.footer-row{margin-top:50px;flex-wrap:wrap;gap:16px}.footer-row p{order:3;width:100%}}
.hero-shade{background:linear-gradient(90deg,rgba(5,10,17,.98) 0%,rgba(5,18,31,.76) 35%,rgba(0,99,184,.16) 76%),linear-gradient(0deg,rgba(0,64,120,.66),transparent 48%)}
@media(max-width:800px){.brand img{width:27px;height:27px}.footer-brand img{width:26px;height:26px}}
/* Final layout tuning */
.section{scroll-margin-top:72px}.business{scroll-margin-top:0}
.vision:before{top:-52px;right:-155px;width:300px;height:118px;z-index:0}.vision .section-index{position:absolute;z-index:1}.vision-grid{position:relative;z-index:1}
.business-intro{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);grid-template-areas:"index index" "title copy";align-items:end;column-gap:7vw;row-gap:60px;max-width:1440px;margin:0 auto;padding-bottom:90px}.business-intro .section-index{grid-area:index}.business-intro h2{grid-area:title}.business-intro>p{grid-area:copy;padding-bottom:1rem}
@media(max-width:800px){.vision:before{top:-34px;right:-126px;width:220px;height:88px}.outline{bottom:17%;font-size:20vw}.hero-copy{bottom:4%;max-width:290px}.business-intro{grid-template-columns:1fr;grid-template-areas:"index" "title" "copy";row-gap:34px;padding-bottom:58px}.business-intro>p{padding-bottom:0}.business-intro h2{font-size:17vw}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
/* Subpages (privacy policy, contact, 404) */
.subpage .site-header,.subpage .site-header.scrolled{height:72px;background:var(--ink);backdrop-filter:none}
.doc{max-width:820px;margin:0 auto;padding:150px 22px 120px;line-height:1.95}.doc h1{margin:0 0 40px;font-family:"Noto Sans JP",sans-serif;font-size:clamp(2rem,4.5vw,3.4rem);font-weight:900;letter-spacing:-.03em;line-height:1.3}.doc h2{margin:56px 0 12px;padding-top:18px;border-top:1px solid var(--line);font-size:1.12rem;font-weight:900}.doc ul{padding-left:1.3em}.doc a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}.doc-table{margin:0;border-top:1px solid var(--ink)}.doc-table div{display:grid;grid-template-columns:130px 1fr;padding:16px 0;border-bottom:1px solid var(--line)}.doc-table dt{font-size:.82rem;font-weight:800}.doc-table dd{margin:0}.doc-date{margin-top:48px;color:#5b6168;font-size:.9rem}.doc-cta{display:inline-flex;align-items:center;gap:14px;margin:12px 0;padding:18px 34px;background:var(--orange);color:#fff!important;text-decoration:none!important;font-weight:800;letter-spacing:.06em}.doc-cta:hover{background:var(--blue)}
.footer-links{display:flex;gap:28px;letter-spacing:.12em}.subpage .footer-row{margin-top:0}
@media(max-width:800px){.doc{padding:110px 22px 90px}.doc-table div{grid-template-columns:1fr;gap:6px}.footer-links{gap:20px}}
/* Contact form */
.form{margin:36px 0 0}.field{margin-bottom:26px}.field label{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:.92rem;font-weight:800}.field .req,.field .opt{padding:3px 9px;font-size:.62rem;font-weight:800;letter-spacing:.08em;border-radius:2px}.field .req{background:var(--orange);color:#fff}.field .opt{background:rgba(8,13,19,.08);color:#5b6168}.field input,.field textarea{width:100%;padding:15px 16px;background:#fff;border:1px solid var(--line);border-radius:2px;font:inherit;line-height:1.7;color:inherit}.field input:focus,.field textarea:focus{outline:2px solid var(--orange);outline-offset:-2px;border-color:var(--orange)}.field textarea{resize:vertical}.form .note{margin:10px 0 0;color:#5b6168;font-size:.84rem;line-height:1.7}.form button{margin-top:20px;border:0;cursor:pointer}.form button:disabled{opacity:.55;cursor:progress}.form-status{margin:18px 0 0;font-size:.92rem;line-height:1.7}.form-status.ok{padding:16px 18px;background:rgba(0,99,184,.09);border-left:3px solid var(--orange);font-weight:700}.form-status.ng{padding:16px 18px;background:rgba(197,34,31,.08);border-left:3px solid #c5221f;color:#8f1d1a;font-weight:700}.form-status.ng a{color:inherit}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#c5221f;background:rgba(197,34,31,.04)}
