:root{--bg:#050607;--bg-2:#0a0d10;--bg-3:#10181d;--ink:#edf3f5;--ink-dim:#adbac1;--ink-faint:#93a3ad;--accent:#4fd8e8;--accent-dim:rgba(79,216,232,.4);--accent-faint:rgba(79,216,232,.07);--line:#293940;--font-en:'Space Grotesk',sans-serif;--font-jp:'Noto Sans JP',sans-serif;--ease:cubic-bezier(.19,1,.22,1);color-scheme:dark}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:6.5rem}body{background:var(--bg);color:var(--ink);font-family:var(--font-jp);font-size:1rem;line-height:1.9;letter-spacing:.03em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}a,button,summary,input,textarea,select{touch-action:manipulation}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}::selection{color:#031014;background:var(--accent)}img{max-width:100%;display:block}.wrap{max-width:1240px;margin:auto;padding:0 clamp(20px,4.8vw,64px)}.mobile-break{display:none}.muted{color:var(--ink-dim);font-size:.875rem}.text-link,.faq-items p a,.privacy-note a,.consult-alt a,.company-details a,.law-note a{color:var(--accent);text-decoration:underline;text-underline-offset:.25em}.skip-link{position:fixed;top:-100px;left:1rem;padding:.75rem 1rem;z-index:200;background:var(--accent);color:#031014}.skip-link:focus{top:1rem}.eyebrow{font-family:var(--font-en);font-size:.75rem;font-weight:500;letter-spacing:.23em;line-height:1.7;color:var(--accent);margin-bottom:1.25rem}
header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:1.6rem;padding:1.1rem clamp(20px,4vw,48px);background:rgba(5,6,7,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.logo{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-en);font-weight:700;font-size:.95rem;letter-spacing:.18em;white-space:nowrap}.logo::before{content:'';width:11px;height:11px;background:var(--accent);clip-path:polygon(50% 0,100% 100%,0 100%)}.site-menu{margin-left:auto}.site-menu summary{display:none}.site-menu:not([open])>nav,.site-menu>nav{display:flex;align-items:center;gap:clamp(16px,2.1vw,30px)}.site-menu nav a{font-size:.875rem;color:var(--ink-dim);padding:.6rem 0}.site-menu nav a:hover{color:var(--accent)}.nav-cta{flex-shrink:0;padding:.55rem 1.05rem;background:var(--accent);color:#031014;font-size:.875rem;font-weight:700}.nav-cta:hover{color:#031014;background:#8aecf5}
.hero{position:relative;min-height:760px;min-height:min(900px,100svh);display:flex;align-items:center;isolation:isolate;overflow:hidden}.hero-inner{position:relative;z-index:2;width:100%;padding-top:128px;padding-bottom:80px}#terrain{position:absolute;inset:0;width:100%;height:100%;display:block}.hero-fallback{position:absolute;inset:0;background:radial-gradient(ellipse at 75% 65%,rgba(79,216,232,.13),transparent 60%),linear-gradient(rgba(79,216,232,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(79,216,232,.065) 1px,transparent 1px);background-size:100% 100%,56px 56px,56px 56px;mask-image:linear-gradient(120deg,transparent 5%,#000 100%);transition:opacity 1s}.hero-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,6,7,.96),rgba(5,6,7,.8) 40%,rgba(5,6,7,.08) 80%),linear-gradient(0deg,var(--bg),transparent 40%)}h1{font-family:var(--font-en);font-size:clamp(68px,8.8vw,120px);font-weight:700;line-height:.94;letter-spacing:-.02em}h1 span{display:block}h1 .outline{color:transparent;-webkit-text-stroke:1px var(--accent)}.hero-copy{margin-top:2rem;max-width:590px}.hero-copy .lead{font-size:clamp(1.25rem,2.3vw,1.8rem);font-weight:500;line-height:1.8;letter-spacing:.06em;color:var(--ink)}.hero-copy>p+p{margin-top:1rem;color:var(--ink-dim);line-height:1.95}.hero-note{color:var(--ink-dim);font-size:.875rem;margin-top:1.1rem;max-width:650px}.terrain-label{position:absolute;right:2rem;bottom:2rem;font-family:var(--font-en);font-size:.75rem;letter-spacing:.12em;color:var(--ink-faint);z-index:2}.cta-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.8rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;border:1px solid var(--accent-dim);padding:.85rem 1.3rem;min-height:48px;font-size:.9375rem;font-weight:500;letter-spacing:.04em;text-align:center;line-height:1.7;transition:background .2s,border-color .2s,transform .2s}.btn>span{margin-left:auto}.btn-solid{background:var(--accent);border-color:var(--accent);color:#031014}.btn-solid:hover{background:#83e8f2;color:#031014;transform:translateY(-2px)}.btn-ghost{background:rgba(5,6,7,.55);color:var(--ink)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}button:disabled{cursor:wait;opacity:.65}
.stats{background:var(--bg-2);border-block:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid p{padding:1.8rem 1.3rem;border-right:1px solid var(--line)}.stats-grid p:first-child{padding-left:0}.stats-grid p:last-child{border:0}.stats strong{display:block;font-size:1.1rem;color:var(--accent);font-weight:500}.stats span{display:block;font-size:.875rem;color:var(--ink-dim);margin-top:.4rem}.sec-pad{padding:clamp(64px,8vw,110px) 0}.sec-head{margin-bottom:2.8rem}h2{font-size:clamp(1.75rem,3.8vw,2.9rem);line-height:1.5;letter-spacing:.035em;text-wrap:balance}h3{font-size:1.15rem;line-height:1.7;letter-spacing:.025em}.section-intro{margin-top:1.2rem;color:var(--ink-dim);max-width:840px}.main-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}.main-body .section-lead{font-size:1.25rem;font-weight:500;line-height:1.9;color:var(--ink);margin-bottom:1rem}.main-body p{color:var(--ink-dim)}.scope{padding:1.8rem 2rem;border:1px solid var(--line);border-top:2px solid var(--accent);background:var(--bg-2)}.scope ul{list-style:none}.scope li{padding:.85rem 0;border-bottom:1px solid var(--line)}.scope li:last-child{border:0}.scope>ul li::before{content:'↗';color:var(--accent);margin-right:.7rem}.law-note{font-size:.875rem;margin-top:1rem}.law-note summary{color:var(--ink-dim);padding:.5rem 0}.law-note a{line-height:1.9}.consult-examples{margin-top:3.8rem;padding-top:2rem;border-top:1px solid var(--line)}.consult-examples>.muted{margin-top:.5rem}.consult-examples ul{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:1.6rem}.consult-examples li b,.consult-examples li span{display:block}.consult-examples li b{font-size:1rem;margin-bottom:.5rem;font-weight:500}.consult-examples li span{font-size:.9375rem;color:var(--ink-dim)}
.sec-digital,.sec-about,.sec-faq{background:var(--bg-2)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.card{display:flex;flex-direction:column;position:relative;border:1px solid var(--line);padding:2rem 1.6rem;background:linear-gradient(150deg,var(--bg-3),var(--bg-2));min-width:0}.card:first-child{border-top:2px solid var(--accent)}.card .tag{font-size:.875rem;color:var(--accent);margin-bottom:1rem}.card h3{font-size:1.15rem;min-height:3.7rem}.card>p:not(.tag):not(.price){font-size:1rem;color:var(--ink-dim)}.price{font-family:var(--font-en);font-size:1.8rem;font-weight:700;line-height:1.5;margin:.5rem 0 1.2rem;color:var(--ink)}.price span{display:block;font-family:var(--font-jp);font-size:.875rem;font-weight:400;color:var(--ink-dim);margin-top:.3rem}.price-label{font-size:1.6rem}.card .scope-note{font-size:.875rem!important;margin:1.1rem 0 1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.card .btn{margin-top:auto;font-size:.875rem;padding:.8rem .9rem}.service-note{font-size:.875rem;color:var(--ink-dim);margin-top:1.4rem}.sample-panel{margin-top:3.5rem;padding:2.5rem;display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;border:1px solid var(--line);background:var(--bg)}.sample-copy h3{font-size:1.5rem;margin-bottom:1rem}.sample-copy>p:not(.eyebrow){margin-top:1rem;color:var(--ink-dim)}.sample-links{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.sample-links a{min-width:0}.sample-links img{width:100%;height:auto;box-shadow:0 8px 24px #0008;transition:transform .2s}.sample-links a:hover img{transform:translateY(-4px)}.sample-links a>span{display:block;position:relative;margin-top:.85rem;font-size:.9375rem}.sample-links small{display:block;font-size:.75rem;color:var(--ink-dim)}.sample-links b{position:absolute;right:0;top:0;color:var(--accent)}
.str-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}.str{border-top:1px solid var(--accent-dim);padding-top:1.5rem}.no{font-family:var(--font-en);color:var(--accent);display:block;margin-bottom:1rem;font-size:.875rem}.str p{color:var(--ink-dim);margin-top:.75rem}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem}.profile h3{font-size:2rem;margin:.5rem 0 1.6rem}.profile>p+p{margin-top:1rem}.profile>p:not(.muted){color:var(--ink-dim)}.profile .text-link{display:inline-block;margin-top:1.5rem}.company-details>div{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1.2rem;border-top:1px solid var(--line);padding:1.1rem 0;font-size:.9375rem}.company-details dt{color:var(--ink-dim)}.company-details dd{overflow-wrap:anywhere}.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.8rem}.steps li{border-top:1px solid var(--accent-dim);padding-top:1.3rem}.steps h3{font-size:1rem;margin-bottom:.6rem}.steps p{color:var(--ink-dim);font-size:.9375rem}.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:3rem}.faq-items details{border-top:1px solid var(--line)}.faq-items details:last-child{border-bottom:1px solid var(--line)}.faq-items summary{padding:1.3rem 1.5rem 1.3rem 0;font-weight:500;font-size:1rem}.faq-items details p{color:var(--ink-dim);padding:0 0 1.5rem;font-size:1rem}.faq-items a{display:inline-block}
.sec-contact{border-top:1px solid var(--line);background:radial-gradient(ellipse at 90% 90%,var(--accent-faint),transparent 50%),var(--bg)}.sec-contact .sec-head{text-align:center}.sec-contact .section-intro{margin-inline:auto}.consult,.consult-done{max-width:720px;margin:auto}.consult label{display:block;font-size:.9375rem;font-weight:500;margin:1.5rem 0 .6rem}.consult label span,fieldset legend span{display:inline-block;font-size:.75rem;color:var(--ink-dim);font-weight:400;border:1px solid var(--line);padding:0 .35rem;margin-left:.4rem;vertical-align:middle}.consult label .required{color:var(--accent);border-color:var(--accent-dim)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.row2>div{min-width:0}.consult input,.consult select,.consult textarea{display:block;width:100%;min-width:0;min-height:48px;background:var(--bg-3);border:1px solid #53646c;border-radius:0;color:var(--ink);padding:.8rem .9rem;font-family:var(--font-jp);font-size:1rem;line-height:1.7}.consult textarea{resize:vertical;min-height:150px}.consult input:focus,.consult select:focus,.consult textarea:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.consult ::placeholder{color:#98a7ae;opacity:1}.consult select option{background:var(--bg-2);color:var(--ink)}.field-help{font-size:.875rem;color:var(--ink-dim);margin-top:.45rem;line-height:1.7}.field-error{display:block;color:#ffb0a3;font-size:.875rem;margin-top:.5rem}.consult [aria-invalid=true]{border:2px solid #ffb0a3}fieldset{margin-top:2rem;padding:.25rem 1.5rem 1.5rem;border:1px solid var(--line)}fieldset legend{padding:0 .5rem;font-size:1rem;font-weight:500}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.privacy-note{font-size:.875rem;margin-top:1.6rem;color:var(--ink-dim)}.consult .send{width:100%;margin-top:1.5rem}.msg{font-size:.9375rem;min-height:1.9em;margin-top:1rem;text-align:center;overflow-wrap:anywhere}.msg.err{color:#ffb0a3}.consult-done{padding:2.5rem;border:1px solid var(--accent);background:var(--accent-faint);text-align:center}.consult-done h3{margin-bottom:.75rem}.consult-alt{text-align:center;margin-top:1.3rem;font-size:.9375rem;color:var(--ink-dim)}.consult-alt a{overflow-wrap:anywhere}footer{border-top:1px solid var(--line);padding:2.3rem 0;background:var(--bg-2)}.foot-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}.foot-inner nav{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.875rem;color:var(--ink-dim)}.foot-inner small{font-family:var(--font-en);font-size:.75rem;color:var(--ink-faint)}
/* Content is visible by default, including when JavaScript never starts. */
.site-menu{flex-shrink:0}.site-menu summary{white-space:nowrap}
.rv{opacity:1;transform:none}.rv.is-revealed{animation:arrive .55s var(--ease) both}@keyframes arrive{from{transform:translateY(12px)}to{transform:none}}
@media(min-width:941px){.site-menu::details-content{display:contents}.site-menu{display:block}.site-menu nav{display:flex!important}}
@media(max-width:940px){header{gap:1rem}.site-menu summary{display:flex;gap:.7rem;align-items:center;min-height:44px;padding:.3rem;font-size:.875rem;color:var(--ink)}.site-menu summary::-webkit-details-marker{display:none}.site-menu:not([open])>nav{display:none}.site-menu[open]>nav{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:100%;left:0;right:0;background:var(--bg-2);padding:1rem 1.5rem;border-bottom:1px solid var(--line);gap:0}.site-menu nav a{padding:.8rem;border-bottom:1px solid var(--line);font-size:1rem}.site-menu nav a:last-child{border:0}.site-menu[open] summary span{transform:rotate(45deg)}.cards{gap:1rem}.card{padding:1.5rem 1.1rem}.about-grid{gap:2rem}.sample-panel{padding:2rem;gap:2rem}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.faq-layout{grid-template-columns:1fr;gap:0}.hero{min-height:780px}}
@media(max-width:760px){.main-grid,.about-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.card{padding:1.8rem}.card h3{min-height:0}.card .btn{margin-top:0;align-self:stretch}.sample-panel{grid-template-columns:1fr;padding:1.6rem;gap:1.8rem}.str-grid{grid-template-columns:1fr;gap:2rem}.consult-examples ul{grid-template-columns:1fr;gap:1.5rem}.stats-grid p{padding:1.2rem .8rem}.stats strong{font-size:.9375rem}.stats span{font-size:.75rem}.company-details>div{grid-template-columns:5rem 1fr}.hero-copy{max-width:510px}.terrain-label{display:none}.desktop-break{display:none}}
@media(max-width:540px){html{scroll-padding-top:5.5rem}header{padding:.8rem 1rem;gap:.6rem}.logo{font-size:.75rem;letter-spacing:.13em;gap:.4rem}.logo::before{width:9px;height:9px}.site-menu summary{font-size:.75rem;gap:.3rem}.nav-cta{font-size:.8125rem;padding:.5rem .7rem;min-height:44px;display:flex;align-items:center}.hero{min-height:auto}.hero-inner{padding-top:122px;padding-bottom:52px}.hero-veil{background:linear-gradient(90deg,rgba(5,6,7,.94),rgba(5,6,7,.5)),linear-gradient(0deg,var(--bg),transparent 65%)}h1{font-size:clamp(64px,19vw,88px)}.hero .eyebrow{letter-spacing:.13em}.hero-copy{margin-top:1.8rem}.hero-copy .lead{font-size:1.25rem}.hero-copy>p+p{font-size:1rem}.hero .cta-row{display:grid;gap:.8rem}.hero-note{font-size:.8125rem}.hero .btn{justify-content:space-between}.stats-grid{grid-template-columns:1fr}.stats-grid p{padding:.95rem 0;display:flex;align-items:center;gap:1rem;border:0;border-bottom:1px solid var(--line)}.stats-grid strong{font-size:.9rem;min-width:8rem}.stats-grid span{font-size:.75rem;margin:0;line-height:1.7}.eyebrow{letter-spacing:.12em;font-size:.75rem}.sec-head{margin-bottom:2rem}h2{font-size:1.7rem;letter-spacing:.01em}.mobile-break{display:block}.section-lead{font-size:1.1rem!important}.scope{padding:1.4rem}.scope li{font-size:.9375rem}.sample-panel{padding:1.2rem}.sample-copy h3{font-size:1.3rem}.sample-links{gap:.9rem}.sample-links a>span{font-size:.8125rem}.sample-links small{font-size:.75rem}.company-details>div{gap:.7rem;grid-template-columns:4.3rem 1fr;font-size:.875rem}.steps{grid-template-columns:1fr;gap:1.5rem}.steps li{display:grid;grid-template-columns:2rem 1fr;column-gap:.7rem}.steps .no{grid-row:1/3}.steps h3,.steps p{grid-column:2}.row2{grid-template-columns:1fr;gap:0}fieldset{padding:.25rem 1rem 1.2rem}.consult-alt{font-size:.875rem}.foot-inner{align-items:flex-start;flex-direction:column}.foot-inner nav{gap:.9rem 1.5rem}.consult-done{padding:1.8rem 1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}#terrain{display:none}.hero-fallback{opacity:1!important}}
