:root{--bg:#f3f2ee;--fg:#111311;--muted:#5f615c;--line:#d9d8d2;--accent:#3fd98a;--ease:cubic-bezier(.2, .9, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-jp), sans-serif;letter-spacing:.04em;-webkit-font-smoothing:antialiased;line-height:2;overflow-x:hidden}a{color:inherit;text-decoration:none}.en{font-family:var(--font-en), sans-serif;letter-spacing:-.02em}.wrap{max-width:1160px;margin:0 auto;padding:0 32px}#flow{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}header,main,footer{z-index:1;position:relative}@keyframes rise{to{transform:none}}header{z-index:10;position:sticky;top:0}header .wrap{justify-content:space-between;align-items:center;max-width:none;height:88px;display:flex}.logo{font-family:var(--font-en), sans-serif;letter-spacing:-.06em;font-size:30px;font-weight:800}.logo i{color:#12a150;font-style:normal}nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:var(--font-en), sans-serif;background:#fff9;border-radius:999px;align-items:center;gap:4px;padding:6px;font-size:13px;font-weight:700;display:flex}nav a{border-radius:999px;padding:8px 18px;transition:background .3s,color .3s}nav a:hover{background:var(--fg);color:var(--bg)}nav a.on{background:var(--accent)}.hero{flex-direction:column;justify-content:center;min-height:calc(100svh - 88px);padding:40px 0 120px;display:flex}.kicker{font-family:var(--font-en), sans-serif;letter-spacing:.14em;align-items:center;gap:12px;margin-bottom:32px;font-size:13px;font-weight:700;animation:1s .6s both fade;display:flex}.kicker:before{content:"";background:var(--fg);width:40px;height:1px}h1{letter-spacing:0;font-size:clamp(40px,8.4vw,124px);font-weight:900;line-height:1.22}.ln{display:block;overflow:hidden}.ln>span{animation:rise 1.1s var(--ease) forwards;animation-delay:calc(.2s + var(--n) * .14s);display:inline-block;transform:translateY(105%)}h1 em{z-index:0;font-style:normal;position:relative}h1 em:after{content:"";background:var(--accent);z-index:-1;transform-origin:0;height:.34em;animation:.9s cubic-bezier(.76,0,.24,1) 1.1s forwards grow;position:absolute;bottom:.1em;left:-.06em;right:-.06em;transform:scaleX(0)}@keyframes grow{to{transform:scaleX(1)}}.lead{max-width:520px;margin-top:48px;font-size:15px;font-weight:500;animation:1s .9s both fade}.hero .pill{margin-top:40px;animation:1s 1.1s both fade}@keyframes fade{0%{opacity:0;transform:translateY(24px)}}.scroll{font-family:var(--font-en), sans-serif;letter-spacing:.2em;align-items:center;gap:12px;font-size:11px;font-weight:700;animation:1s 1.5s both fade;display:flex;position:absolute;bottom:32px;left:32px}.scroll:after{content:"";background:var(--fg);transform-origin:0;width:64px;height:1px;animation:2s cubic-bezier(.76,0,.24,1) infinite sweep}@keyframes sweep{0%{transform:scaleX(0)}50%{transform-origin:0;transform:scaleX(1)}51%{transform-origin:100%}to{transform-origin:100%;transform:scaleX(0)}}.hero{position:relative}.pill{font-family:var(--font-en), var(--font-jp), sans-serif;z-index:0;background:#fff;border-radius:999px;align-items:center;gap:20px;padding:10px 10px 10px 32px;font-size:15px;font-weight:700;transition:color .4s;display:inline-flex;position:relative;overflow:hidden}.pill:before{content:"";background:var(--fg);z-index:-1;border-radius:999px;transition:transform .5s cubic-bezier(.76,0,.24,1);position:absolute;inset:0;transform:translate(-101%)}.pill:hover{color:var(--bg)}.pill:hover:before{transform:none}.pill i{background:var(--fg);width:44px;height:44px;color:var(--bg);transition:background .4s, color .4s, transform .4s var(--ease);border-radius:50%;place-items:center;font-style:normal;display:grid}.pill:hover i{background:var(--accent);color:var(--fg);transform:rotate(-45deg)}.pill.dark{background:var(--accent)}section{padding:120px 0}.sec{grid-template-columns:auto 1fr;align-items:end;column-gap:24px;margin-bottom:72px;display:grid}.sec .num{font-family:var(--font-en), sans-serif;padding-bottom:6px;font-size:18px;font-weight:500}.sec .rule{background:var(--fg);transform-origin:0;height:2px;margin-bottom:14px;transition:transform 1.2s cubic-bezier(.76,0,.24,1)}.sec h2{font-family:var(--font-en), sans-serif;letter-spacing:-.04em;grid-column:2;font-size:clamp(44px,7vw,96px);font-weight:700;line-height:1.15;overflow:hidden}.sec h2 span{transition:transform 1s .15s var(--ease);display:inline-block}.sec small{color:var(--muted);grid-column:2;font-size:13px;font-weight:700;transition:opacity .8s .5s}.js .sec:not(.in) .rule{transform:scaleX(0)}.js .sec:not(.in) h2 span{transform:translateY(105%)}.js .sec:not(.in) small{opacity:0}.svc{border-top:1px solid var(--fg);z-index:0;transition:color .4s, padding .5s var(--ease);grid-template-columns:80px 1.1fr 1fr 64px;align-items:center;gap:32px;padding:48px 24px;display:grid;position:relative}.svc:last-child{border-bottom:1px solid var(--fg)}.svc:before{content:"";background:var(--fg);transform-origin:50% 100%;z-index:-1;transition:transform .5s cubic-bezier(.76,0,.24,1);position:absolute;inset:0;transform:scaleY(0)}.svc:hover{color:var(--bg);padding-left:48px}.svc:hover:before{transform:none}.svc .n{font-family:var(--font-en), sans-serif;font-size:14px}.svc h3{font-size:clamp(24px,2.9vw,38px);font-weight:900;line-height:1.4}.svc h3 span{font-family:var(--font-en), sans-serif;letter-spacing:.14em;color:var(--muted);font-size:12px;font-weight:700;display:block}.svc p{font-size:15px;font-weight:500}.svc .tags{flex-wrap:wrap;gap:8px;margin-top:12px;font-size:12px;font-weight:700;display:flex}.svc .tags span{border:1px solid;border-radius:999px;padding:2px 14px}.svc .go{width:64px;height:64px;transition:transform .5s var(--ease), background .4s, color .4s;border:1px solid;border-radius:50%;place-items:center;font-size:20px;display:grid}.svc:hover .go{background:var(--accent);color:var(--fg);border-color:var(--accent);transform:rotate(-45deg)scale(1.1)}.steps{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.step{min-height:280px;transition:transform .5s var(--ease), background .4s;background:#fff;border-radius:24px;flex-direction:column;padding:32px 28px;display:flex}.step:hover{background:var(--accent);transform:translateY(-10px)rotate(-1.5deg)}.step .en{letter-spacing:-.05em;font-size:64px;font-weight:800;line-height:1}.step h3{margin-top:auto;font-size:20px;font-weight:900}.step p{font-size:14px;font-weight:500;line-height:1.8}dl{grid-template-columns:220px 1fr;font-weight:500;display:grid}dt,dd{border-top:1px solid var(--line);padding:28px 0}dt{color:var(--muted);font-size:13px;font-weight:700}.cta{background:var(--fg);color:var(--bg);border-radius:48px;padding:96px 64px;position:relative;overflow:hidden}.cta h2{font-family:var(--font-en), sans-serif;letter-spacing:-.05em;font-size:clamp(44px,9vw,132px);font-weight:800;line-height:1.05}.cta h2 i{color:var(--accent);font-style:normal}.cta p{opacity:.7;margin:24px 0 48px;font-weight:500}.cta .orb{background:radial-gradient(circle, var(--accent), transparent 65%);opacity:.35;width:420px;height:420px;left:var(--ox,80%);top:var(--oy,20%);pointer-events:none;transition:left .6s var(--ease), top .6s var(--ease);border-radius:50%;margin:-210px 0 0 -210px;position:absolute}.cta>:not(.orb){position:relative}footer{padding:48px 0}footer .meta{color:var(--muted);justify-content:space-between;font-size:12px;font-weight:700;display:flex}footer a:hover{color:var(--fg)}.doc-page{padding:64px 0 120px}body:has(.doc-page) #flow{opacity:.3}.doc-page h1{margin-bottom:16px;font-size:clamp(32px,5vw,56px);font-weight:900;line-height:1.4}.doc{max-width:760px;font-size:15px;font-weight:500}.doc h2{border-top:1px solid var(--line);margin:56px 0 12px;padding-top:24px;font-size:20px;font-weight:900}.doc ul{padding-left:1.4em}.doc a{text-decoration:underline}.doc .date{color:var(--muted);margin-top:56px;font-size:13px}html[lang=en] body{font-family:var(--font-en), var(--font-jp), sans-serif;letter-spacing:0;line-height:1.8}html[lang=en] .hero h1{letter-spacing:-.04em;font-size:clamp(30px,7.4vw,104px);font-weight:800;line-height:1.12}html[lang=en] .svc h3,html[lang=en] .step h3,html[lang=en] .doc-page h1,html[lang=en] .doc h2{letter-spacing:-.02em;font-weight:800}.lang-row{justify-content:center;margin-top:40px;display:flex}.lang-button{color:var(--fg);font:inherit;cursor:pointer;background:#fff;border:0;border-radius:999px;align-items:center;gap:10px;padding:12px 24px;font-size:15px;font-weight:700;transition:background .3s,color .3s;display:inline-flex}.lang-button:hover{background:var(--fg);color:var(--bg)}.lang-dialog{width:min(440px,100vw - 32px);color:var(--fg);background:#fff;border:0;border-radius:24px;margin:auto;padding:0;overflow:hidden}.lang-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11131180}.lang-dialog[open]{animation:lang-in .18s var(--ease)}.lang-dialog[open]::backdrop{animation:.18s ease-out lang-backdrop-in}.lang-dialog.closing{animation:.1s ease-in forwards lang-out}.lang-dialog.closing::backdrop{animation:.1s ease-in forwards lang-backdrop-out}@keyframes lang-in{0%{opacity:0;transform:scale(.94)}}@keyframes lang-out{to{opacity:0;transform:scale(.97)}}@keyframes lang-backdrop-in{0%{opacity:0}}@keyframes lang-backdrop-out{to{opacity:0}}.lang-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 20px 20px 28px;font-weight:700;display:flex}.lang-head button{background:var(--bg);width:40px;height:40px;color:var(--fg);cursor:pointer;border:0;border-radius:50%;font-size:22px;line-height:1}.lang-dialog ul{padding:8px;list-style:none}.lang-dialog a{border-radius:16px;justify-content:space-between;align-items:center;padding:14px 20px;transition:background .2s;display:flex}.lang-dialog a:hover{background:var(--bg)}.lang-dialog b{font-size:18px;line-height:1.5;display:block}.lang-dialog small{color:var(--muted);font-size:13px;line-height:1.5;display:block}.lang-dialog i{background:var(--fg);width:36px;height:36px;color:var(--bg);border-radius:50%;place-items:center;font-size:16px;font-style:normal;display:grid}.js .rv{opacity:0;transition:opacity .9s, transform 1s var(--ease);transition-delay:calc(var(--d,0) * .11s);transform:translateY(56px)}.js .rv.in{opacity:1;transform:none}.dot{mix-blend-mode:difference;pointer-events:none;z-index:90;opacity:0;width:12px;height:12px;transition:width .3s var(--ease), height .3s var(--ease), margin .3s var(--ease), opacity .3s;background:#fff;border-radius:50%;margin:-6px 0 0 -6px;position:fixed;top:0;left:0}.dot.on{opacity:1}.dot.big{width:72px;height:72px;margin:-36px 0 0 -36px}@media (max-width:1080px){.steps{grid-template-columns:repeat(2,1fr)}}@media (max-width:820px){.wrap{padding:0 20px}header .wrap{height:72px}nav a:not(.on){display:none}.hero{min-height:calc(100svh - 72px);padding-bottom:96px}.scroll{left:20px}section{padding:80px 0}.sec{margin-bottom:40px}.svc{grid-template-columns:1fr;gap:12px;padding:32px 8px}.svc:hover{padding-left:20px}.svc .go{display:none}.steps{grid-template-columns:1fr}.step{gap:16px;min-height:0}dl{grid-template-columns:110px 1fr}dt,dd{padding:20px 0}.cta{border-radius:32px;padding:56px 24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.dot,#flow{display:none}html{scroll-behavior:auto}.ln>span,h1 em:after,.js .rv,.js .sec:not(.in) .rule,.js .sec:not(.in) h2 span{opacity:1;transform:none}.js .sec:not(.in) small{opacity:1}}
