/* Ported from design/landing.html by tool/port_landing.py. Edit the design and re-port, not this file. */
*{box-sizing:border-box;margin:0;padding:0}
:root{--paper:#FBFCF7;--ink:#0B1F4D;--body:#3C4A66;--sub:#677496;--line:#E3E8F0;--ok:#34C24B;--red:#E5484D;--cobalt:#3A5BD9;--nav:#1C2E78;--grad:linear-gradient(135deg,#C9EA7A,#4FBE9C 50%,#3E63D8);--jp:'Shippori Mincho B1','Hiragino Mincho ProN','Yu Mincho',serif;--jpg:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans JP',sans-serif;--serif:'Marcellus',serif;--ui:'Plus Jakarta Sans',-apple-system,system-ui,sans-serif}
html{background:var(--paper);-webkit-tap-highlight-color:transparent}
body{font-family:var(--ui);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--cobalt);text-decoration:none}a:hover{color:var(--ink)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{max-width:1312px;margin:0 auto;padding:0 64px}
@keyframes flow{0%{background-position:0% 0%}50%{background-position:100% 100%}100%{background-position:0% 0%}}
@keyframes drift{0%,100%{background-position:0 0}50%{background-position:0 100%}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 30px;border-radius:99px;background:var(--grad);background-size:200% 200%;animation:flow 5s ease-in-out infinite;color:#fff;font-weight:800;font-size:16px;letter-spacing:-.2px;box-shadow:0 12px 28px rgba(58,91,217,.32);transition:transform .15s;white-space:nowrap}
.btn:hover{color:#fff;transform:translateY(-1px)}.btn:active{transform:scale(.97)}
.btn.sm{height:42px;padding:0 20px;font-size:14px;box-shadow:0 8px 20px rgba(58,91,217,.28)}
.micro{font-size:13px;font-weight:600;color:var(--sub)}
.over{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--sub)}
.top{display:flex;align-items:center;justify-content:space-between;height:84px}
.logo{font-family:var(--serif);font-size:30px;color:var(--ink);letter-spacing:.5px}
.logo:hover{color:var(--ink)}
.top nav{display:flex;align-items:center;gap:32px}
.top nav a:not(.btn){font-size:14px;font-weight:600;color:var(--body)}
.top nav a:not(.btn):hover{color:var(--ink)}
.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:64px;align-items:center;padding-top:24px;padding-bottom:40px}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(56px,6.4vw,92px);line-height:1;letter-spacing:-.5px;margin:22px 0 26px;text-wrap:balance}
.lead{font-size:20px;line-height:1.55;color:var(--body);max-width:30em;text-wrap:pretty}
.cta-row{display:flex;align-items:center;gap:18px;margin-top:36px;flex-wrap:wrap}
.stage{display:flex;gap:56px;align-items:flex-start}
.stage .sv-device{zoom:1.06}
.hero-jp{display:flex;flex-direction:column;justify-content:space-between;gap:18px;height:678px;padding:6px 0 4px}
.vert{writing-mode:vertical-rl;font-family:var(--jp);font-weight:800;line-height:1;letter-spacing:.02em}
.hero-jp .vert{font-size:88px;white-space:nowrap}
.gtext{background:linear-gradient(175deg,#4FBE9C 0%,#3E63D8 50%,#1C2E78 100%);background-size:100% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:drift 7s ease-in-out infinite}
.cap{max-width:150px;display:flex;flex-direction:column;gap:4px}
.romaji{font-family:var(--serif);font-size:24px;color:var(--sub);line-height:1.1}
.mean{font-size:16px;font-weight:600;color:var(--body);line-height:1.4}
.note{font-size:14px;color:var(--sub);line-height:1.45}
.phrase{max-width:none;margin:0;padding:120px max(64px,calc((100% - 1184px) / 2)) 128px;background:var(--paper);border-top:1px solid var(--line)}
.phrase:nth-of-type(odd){background:#fff}
.ba + .phrase{margin-top:140px}
.phrase + .close{border-top:1px solid var(--line)}
.ph-head{display:flex;flex-wrap:wrap;align-items:flex-end;column-gap:56px;row-gap:14px;margin-bottom:64px}
.ph-copy .kicker{font-size:17px;line-height:1.3;font-weight:700;color:var(--cobalt);margin-bottom:12px}
.jp-xl{font-family:var(--jp);font-weight:800;font-size:min(160px,calc((min(100vw,1312px) - 128px) / var(--n,4)));line-height:1.06;letter-spacing:0;color:var(--ink)}
.jp-xl.red{color:var(--red)}
.mbr{display:none}
.gloss{display:flex;flex-direction:column;gap:6px;padding-bottom:20px}
.ph-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:88px;align-items:center}
.ph-body.rev{grid-template-columns:auto minmax(0,1fr)}.ph-body.rev .ph-copy{order:2}
.ph-copy h3{font-family:var(--serif);font-weight:400;font-size:50px;line-height:1.06;letter-spacing:-.3px;margin-bottom:20px;text-wrap:balance}
.ph-copy p{font-size:18px;line-height:1.6;color:var(--body);max-width:32em;text-wrap:pretty}
.facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.fact{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 16px;border-radius:14px;background:#fff;border:1px solid #E7ECFA;box-shadow:0 4px 14px rgba(11,31,79,.05);font-size:14px;font-weight:600;color:var(--body)}
.fact b{color:var(--ink);font-weight:800}
.dot{width:8px;height:8px;border-radius:50%;background:#FF3B30}
.hc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:72px;align-items:start}
.chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:32px}
.chips button{display:flex;align-items:center;gap:10px;min-height:50px;padding:10px 14px;border-radius:14px;border:1.5px solid #E7ECFA;background:#fff;font-size:15px;font-weight:600;color:var(--ink);text-align:left;transition:background .16s,border-color .16s,color .16s,transform .12s}
.chips button:active{transform:scale(.97)}
.chips .bx{flex:0 0 auto;width:20px;height:20px;border-radius:6px;border:1.5px solid #CBD3E0;display:flex;align-items:center;justify-content:center}
.chips button:not(.on) .bx svg{opacity:0}
.chips button.on{background:#218437;border-color:transparent;color:#fff;box-shadow:0 6px 16px rgba(33,132,55,.28)}
.chips button.on .bx{background:#fff;border-color:#fff}
.ph-copy .disc{margin-top:20px;font-size:12px;font-weight:600;line-height:1.5;color:#D9342B;max-width:44em}
.hc-card{margin:0 auto;zoom:1.08}
.hc-scr{position:absolute;inset:0;background:#fff;display:flex;flex-direction:column;padding:56px 22px 0}
.hc-cols{position:relative;flex:1;min-height:0}
.hc-tr{margin-top:18px;font-size:15px;line-height:1.5;color:var(--body);text-align:center}
.hc-tr b{color:var(--ink)}
.steps{list-style:none;display:flex;flex-direction:column;gap:22px;margin-top:34px}
.steps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start}
.steps .n{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:15px}
.steps .n.g{background:var(--grad);background-size:200% 200%;animation:flow 5s ease-in-out infinite}
.steps b{display:block;font-size:18px;font-weight:800;margin-bottom:3px}
.steps .t{font-size:16px;line-height:1.55;color:var(--body)}
.ledger{margin-top:44px;border-top:1px solid var(--line)}
.ledger div{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:20px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.ledger .ja{font-family:var(--jp);font-weight:800;font-size:30px;line-height:1.15;white-space:nowrap}
.ledger .en{font-size:16px;font-weight:600;color:var(--body)}
.ledger .p{font-size:16px;font-weight:800;color:var(--cobalt)}
.duo{display:flex;gap:24px;align-items:flex-start}
.duo > :last-child{margin-top:84px}
.colls{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.colls span{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 15px;border-radius:13px;background:var(--nav);color:#fff;font-weight:700;font-size:14px}
.colls span.on{background:var(--ok);box-shadow:0 6px 16px rgba(52,194,75,.36)}
.colls i{font-style:normal;font-size:12px;font-weight:800;opacity:.8}
.prem{padding-top:170px}
.prem-card{position:relative;overflow:hidden;background:var(--ink);color:#fff;border-radius:36px;padding:64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.prem-card::before{content:'';position:absolute;right:-10%;bottom:-70%;width:80%;height:140%;background:radial-gradient(closest-side,rgba(79,190,156,.30),transparent);pointer-events:none}
.prem-card .over{color:#C9EA7A}
.prem-card h3{font-family:var(--serif);font-weight:400;font-size:48px;line-height:1.1;margin:16px 0 18px;text-wrap:balance}
.prem-card p{font-size:17px;line-height:1.6;color:rgba(255,255,255,.78);max-width:28em}
.prem-card ul{list-style:none;display:grid;gap:12px;position:relative}
.prem-card li{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.pi{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:var(--grad);background-size:200% 200%;animation:flow 5s ease-in-out infinite;display:flex;align-items:center;justify-content:center}
.prem-card li b{display:block;font-size:17px;font-weight:700}
.prem-card li span.s{font-size:14px;color:rgba(255,255,255,.72)}
.close{padding-top:180px;padding-bottom:110px}
.close .jp-xl{line-height:1.1}
.close .gloss{margin-top:22px;flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:22px}
.close-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-top:64px;padding-top:44px}
.close-cta h3{font-family:var(--serif);font-weight:400;font-size:56px;line-height:1}
.close-cta .cta-row{margin-top:0}
.foot{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:28px;padding-bottom:44px;background:linear-gradient(var(--line),var(--line)) 64px 0/calc(100% - 128px) 1px no-repeat;font-size:13px;color:var(--sub)}
.foot nav{display:flex;gap:24px}.foot a{color:var(--sub)}.foot a:hover{color:var(--ink)}
.foot .logo{font-size:22px}
.sticky{display:none}
@media (max-width:1180px){
.hero{grid-template-columns:minmax(0,1fr);gap:48px}
.stage{justify-content:center}
.hc-grid{grid-template-columns:minmax(0,1fr);gap:48px}
.hc-grid > div:last-child{max-width:500px;width:100%;margin:0 auto}
.ph-body:has(.duo-wrap){grid-template-columns:minmax(0,1fr);gap:48px}
.ph-body:has(.duo-wrap) .ph-copy{order:0}
.ph-body:has(.duo-wrap) .ph-phone{display:flex;justify-content:center}
}
@media (max-width:900px){
.ph-body,.ph-body.rev{grid-template-columns:minmax(0,1fr)}
.wrap{padding:0 24px}
.top{height:64px}.logo{font-size:26px}
.top nav a:not(.hd-cta):not(.btn){display:none}
.hero{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:18px;padding-bottom:30px}
.hero h1{font-size:52px;margin:14px 0 18px}
.lead{font-size:17px}
.cta-row{margin-top:26px;gap:14px}
.stage{gap:14px;justify-content:center}
.stage{display:grid;grid-template-columns:auto auto;gap:14px 18px;justify-content:center}
.stage .sv-device{zoom:.8}
.hero-jp{display:contents}
.hero-jp .vert{font-size:60px}
.cap{grid-column:1/-1;max-width:none;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:center;column-gap:10px}.romaji{font-size:18px}.mean{font-size:14px}.note{font-size:13px;width:100%;text-align:center}
.foot{background-position:20px 0;background-size:calc(100% - 40px) 1px}
.fact{height:40px;padding:0 13px;font-size:13px}
.ph-head{column-gap:20px;margin-bottom:36px}
.mbr{display:inline}
.gloss{padding-bottom:0}
.ph-body,.hc-grid{grid-template-columns:minmax(0,1fr);gap:44px}
.ph-body.rev .ph-copy{order:0}
.ph-phone{display:flex;justify-content:center}
.ph-copy h3{font-size:36px}
.ph-copy p{font-size:16px}
.chips{grid-template-columns:repeat(2,minmax(0,1fr))}
.chips button{font-size:14px}
.duo > :first-child{display:none}.duo > :last-child{margin-top:0}
.ledger .ja{font-size:26px}
.ledger div{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}
.ledger .en{grid-column:1;grid-row:2;font-size:14px}
.ledger .p{grid-row:1/3;grid-column:2;align-self:center}
.prem{padding-top:110px}
.prem-card{grid-template-columns:minmax(0,1fr);padding:36px 22px;gap:30px;border-radius:28px}
.prem-card h3{font-size:34px}
.close{padding-top:110px;padding-bottom:64px}
.close-cta{flex-direction:column;align-items:flex-start;gap:24px}
.close-cta h3{font-size:40px}
.foot{flex-direction:column;align-items:flex-start;gap:12px}
body{padding-bottom:92px}
.sticky{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:50;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border-radius:22px;background:rgba(11,31,77,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;box-shadow:0 16px 40px rgba(11,31,77,.35);transform:translateY(150%);transition:transform .35s cubic-bezier(.5,0,.1,1)}
.sticky.show{transform:none}
.sticky .l{display:flex;flex-direction:column;line-height:1.2}
.sticky .l b{font-family:var(--serif);font-weight:400;font-size:20px}
.sticky .l small{font-size:12px;color:rgba(255,255,255,.72)}
}
@media (prefers-reduced-motion:reduce){.btn,.gtext,.pi,.steps .n.g{animation:none}}
:root{--card:#fff}
.bhero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:72px;align-items:center;padding-top:48px;padding-bottom:40px}
.bhero h1{font-family:var(--serif);font-weight:400;font-size:clamp(48px,5.2vw,76px);line-height:1.02;letter-spacing:-.5px;max-width:12em;margin:18px 0 22px;text-wrap:balance}
.bhero .lead{font-size:19px;line-height:1.55;color:var(--body);max-width:30em;text-wrap:pretty}
.bhero .cta-row{display:flex;align-items:center;gap:16px;margin-top:30px;flex-wrap:wrap}
.bh-copy .tabs{margin-top:44px;max-width:480px}
.moments{margin-top:80px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:56px;align-items:center;text-align:left}
.tabs{display:flex;flex-direction:column;gap:6px;counter-reset:t}
.tab{counter-increment:t;position:relative;display:flex;flex-direction:column;gap:6px;text-align:left;padding:18px 22px 18px 58px;border-radius:20px;border:1px solid transparent;transition:background .2s,border-color .2s}
.tab::before{content:counter(t,decimal-leading-zero);position:absolute;left:22px;top:21px;font-size:12px;font-weight:800;letter-spacing:1px;color:var(--sub)}
.tab.on::before{color:var(--cobalt)}
.tab b{font-size:17px;font-weight:700;color:var(--sub);transition:color .2s}
.tab span{font-size:14px;line-height:1.5;color:var(--sub);display:none}
.tab:hover b{color:var(--ink)}
.tab.on{background:var(--card);border-color:var(--line);box-shadow:0 10px 30px -14px rgba(11,31,77,.18)}
.tab.on b{color:var(--ink)}.tab.on span{display:none}
.phone-slot{position:relative;width:300px;height:640px;zoom:.9}
.phone-slot > div{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;pointer-events:none}
.phone-slot > div.on{opacity:1}
.phone-slot > div.on [data-go]{pointer-events:auto}
.quote{font-family:var(--serif);font-size:21px;line-height:1.22;color:var(--ink);text-wrap:balance}
.quote-sub{margin-top:8px;font-size:14px;line-height:1.5;color:var(--body);text-wrap:pretty}
.phone-wrap{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;padding:24px 0}
.phone-wrap::before{content:'';position:absolute;z-index:-1;inset:-40px -60px;pointer-events:none;background:radial-gradient(30% 24% at 60% 26%,rgba(201,234,122,.5),transparent),radial-gradient(34% 28% at 38% 50%,rgba(79,190,156,.34),transparent),radial-gradient(36% 30% at 60% 74%,rgba(62,99,216,.26),transparent)}
.phone-wrap::after{content:none;background:radial-gradient(70% 60% at 50% 45%,rgba(79,190,156,.16),rgba(58,91,217,.08) 60%,transparent 80%);pointer-events:none}
.quote-col{position:relative;z-index:5;width:440px;margin-top:22px;padding:20px 24px 22px;border-radius:24px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.9);box-shadow:0 24px 50px -18px rgba(11,31,77,.32),0 2px 8px rgba(11,31,77,.06)}
.quote-col{display:grid}.qi{grid-area:1/1;opacity:0;transition:opacity .5s ease}.qi.on{opacity:1}
.ba{padding-top:150px}
.ba-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px 40px;margin-bottom:32px}
.ba-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.6vw,50px);line-height:1.08;max-width:16em;text-wrap:balance}
.seg{display:inline-flex;padding:5px;border-radius:99px;background:#ECEBE4;gap:4px}
.seg button{height:42px;padding:0 20px;border-radius:99px;font-size:14px;font-weight:700;color:var(--body);transition:background .2s,color .2s}
.seg{position:relative}.seg button{position:relative;z-index:1}.seg button.on{color:#fff}
.seg-ind{position:absolute;top:5px;bottom:5px;left:0;width:0;border-radius:99px;background:var(--ink);box-shadow:0 6px 16px rgba(11,31,77,.22);transition:transform .5s cubic-bezier(.6,0,.2,1),width .5s cubic-bezier(.6,0,.2,1),box-shadow .5s}
.seg-ind::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,#3A9E83,#3E63D8 65%,#2F4FC0);opacity:0;transition:opacity .5s}
.seg-ind.g{box-shadow:0 6px 16px rgba(58,91,217,.3)}.seg-ind.g::after{opacity:1}
.ba-frame{position:relative;border-radius:32px;overflow:hidden;aspect-ratio:2/1;background:#EBE8E1;box-shadow:0 30px 60px -30px rgba(11,31,77,.35)}
.ba-map{position:absolute;inset:0}
#bamap{background:#F2F0EB}
#bamap .mbase{transition:filter 1.1s ease}
#bamap.v0 .mbase{filter:grayscale(1) contrast(1.05)}
#bamap.v0 .mk-d{filter:grayscale(1)}
#bamap .mbase,#bamap .mk{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.mk-d,.mk-g{transition:opacity 1s ease}
.osm{position:absolute;right:10px;bottom:8px;font-size:10px;color:#6E7B9C;background:rgba(255,255,255,.75);padding:2px 6px;border-radius:4px}

.v1 .mk-d,.v0 .mk-g{opacity:0}
.ba-frame .layer{position:absolute;inset:0;transition:opacity .7s ease}
.ba-note{position:absolute;left:24px;bottom:24px;max-width:380px;background:#fff;border-radius:20px;padding:18px 20px;box-shadow:0 10px 30px rgba(11,31,77,.16)}
.ba-note b{display:block;font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1;margin-bottom:6px}
.ba-note span{font-size:14px;line-height:1.5;color:var(--body)}
.ba-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.ba-tags i{font-style:normal;font-size:12px;font-weight:700;padding:5px 11px;border-radius:99px;background:var(--nav);color:#fff}
.ba-tags i.g{background:var(--ok)}
@media (max-width:1100px){.bhero{gap:40px}.quote-col{width:380px}}
@media (max-width:900px){.bhero{grid-template-columns:minmax(0,1fr);gap:12px;padding-top:20px}.bhero h1{font-size:44px}.bhero .lead{font-size:17px}
.moments{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:44px}
.phone-wrap{padding:16px 0 8px}.phone-slot{zoom:var(--pz,.6)}.quote-col{width:100%;max-width:360px;margin-top:12px;padding:16px 18px 18px;border-radius:20px}.quote{font-size:19px}.quote-sub{font-size:13px}
.m-cap{display:none!important}
.ba-head h2{font-size:30px}.ba-frame{aspect-ratio:auto;border-radius:24px;background:#fff}
.ba-map{position:relative;aspect-ratio:880/540}.ba-map text{font-size:30px}
.ba-note{position:static;max-width:none;padding:16px 18px 18px;border-radius:0;box-shadow:none;background:#fff}.ba-note b{font-size:22px}}
.m-cap{display:none}
.quote-jp{font-family:var(--jp);font-weight:800;font-size:15px;letter-spacing:2px;color:var(--sub);margin-bottom:14px}
.ph-head{flex-direction:column;align-items:center;text-align:center;row-gap:10px}.ph-head .gloss,.close .gloss{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 10px;padding-bottom:0}.ph-head .gloss .romaji+.mean::before-off,.close .gloss .romaji+.mean::before-off{content:"-";margin-right:10px;color:var(--sub)}
.close{text-align:center}.close .jp-xl{text-align:center}
.ph-head .gloss .mean,.close .gloss .mean{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.1;color:var(--ink)}
@media (max-width:900px){.ph-head .gloss .mean,.close .gloss .mean,.ph-head .gloss .romaji,.close .gloss .romaji{font-size:20px}}
.near{margin-top:36px;max-width:620px;width:100%;background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px 20px 10px;box-shadow:0 18px 40px -24px rgba(11,31,77,.25)}
.near-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid #EDF1F8}
.near-seg{display:flex;gap:6px}
.near-seg button{display:inline-flex;align-items:center;gap:5px;height:38px;padding:0 13px;border-radius:12px;background:var(--nav);color:#fff;font-weight:700;font-size:13px;transition:background .25s,box-shadow .25s}
.near-seg button.on{background:var(--ok);box-shadow:0 6px 14px rgba(52,194,75,.35)}
.near-count{font-size:14px;font-weight:600;color:var(--sub)}.near-count b{font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-.5px;margin-right:4px;font-variant-numeric:tabular-nums}
.near-list{list-style:none}
.near-list li{display:grid;grid-template-columns:minmax(0,1fr) auto 52px;gap:14px;align-items:center;height:62px;border-bottom:1px solid #EDF1F8;transition:opacity .4s ease}
.near-list li:last-child{border-bottom:0}
.near-list li.off{opacity:0}
.near-list .nm b{display:block;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.near-list .nm span{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--sub);margin-top:2px}
.near-list .nm strong{font-weight:700;color:var(--body)}.near-list .nm i{width:7px;height:7px;border-radius:50%;background:var(--ok);flex:0 0 auto}.near-list .nm i.c{background:#FF3B30}
.near-diet{font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:99px;background:#EEF2FC;color:#24388A;white-space:nowrap}.near-diet.g{background:var(--ok);color:#fff}
.near-list .mn{text-align:right;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
@media (max-width:900px){.near{padding:16px 16px 6px;border-radius:20px}.near-list li{grid-template-columns:minmax(0,1fr) auto 44px;gap:10px}.near-diet{font-size:11px;padding:4px 9px}.near-seg button{padding:0 10px}}
.lk{margin-top:36px;max-width:620px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 18px 40px -24px rgba(11,31,77,.25)}
.lk-tabs{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:16px}
.lk-tabs button{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:12px;background:#fff;color:var(--nav);border:1.5px solid var(--nav);font-weight:700;font-size:13px;transition:background .25s,color .25s,box-shadow .25s}
.lk-tabs button i{font-style:normal;font-size:11px;font-weight:800;opacity:.75;font-variant-numeric:tabular-nums}
.lk-tabs button.on{background:var(--nav);color:#fff;box-shadow:0 6px 14px rgba(28,46,120,.32)}
.lk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lk-t{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/10;background:#ddd;transition:opacity .45s ease,filter .45s ease,transform .45s ease}
.lk-t img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lk-t::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(7,14,40,.72),transparent 58%)}
.lk-t .tx{position:absolute;left:12px;right:52px;bottom:10px;z-index:1;color:#fff}
.lk-t .tx b{display:block;font-size:15px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lk-t .tx span{font-size:12px;opacity:.9}.lk-t .tx strong{font-weight:700}
.lk-t button{position:absolute;right:10px;bottom:10px;z-index:2;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.25);transition:transform .2s}
.lk-t button:active{transform:scale(.88)}
.lk-t button svg{transition:fill .2s}
.lk-t.dim{opacity:.28;filter:grayscale(1);transform:scale(.97)}
.lk-t.pop button{animation:lkpop .4s ease}
@keyframes lkpop{50%{transform:scale(1.25)}}
@media (max-width:900px){.lk{padding:14px;border-radius:20px}.lk-grid{gap:8px}.lk-t{aspect-ratio:4/3}.lk-t .tx{left:10px;right:44px}.lk-t .tx b{font-size:13px}.lk-t .tx span{font-size:11px}.lk-t button{width:30px;height:30px;right:8px;bottom:8px}.lk-tabs button{height:34px;padding:0 11px;font-size:12px}}
@media (max-width:900px){.ba-head{grid-template-columns:minmax(0,1fr)}}
.ba-tags i.w{display:inline-flex;align-items:center;gap:5px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.ba-note{width:380px}@media (max-width:900px){.ba-note{width:auto}}
.ba-note{display:grid}.ba-note .nt{grid-area:1/1;opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease}.ba-note .nt.on{opacity:1;transform:none;transition-duration:.55s;transition-delay:.15s}
.ba-note{overflow:hidden;isolation:isolate;transition:box-shadow .6s}
.ba-note::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(170deg,#2F4FC0,#3E63D8 55%,#3A9E83);opacity:0;transition:opacity .6s ease}
.ba-note.gr::before{opacity:1}
.ba-note.gr{box-shadow:0 18px 40px -12px rgba(43,63,168,.45)}
.ba-note .nt:nth-child(2) b,.ba-note .nt:nth-child(2) span{color:#fff}
.ba-note .nt:nth-child(2) span{font-weight:600}.ba-note .nt:nth-child(2) b,.ba-note .nt:nth-child(2) > span{text-shadow:0 1px 3px rgba(11,31,77,.35)}
.ba-note .nt:nth-child(2) .ba-tags i{background:rgba(255,255,255,.18);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.ba-note .nt:nth-child(2) .ba-tags i.g{background:#fff;color:#1E8E34;box-shadow:none}
.ba-note .nt:nth-child(2) .ba-tags i.w{background:#fff;color:var(--ink);box-shadow:none}
@media (max-width:900px){.ba-note::before{border-radius:0}}
.quote-col .quote{min-height:2.44em}
.dt{margin-top:36px;max-width:620px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 18px 40px -24px rgba(11,31,77,.25)}
.dt-tabs{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:16px}
.dt-tabs button{height:38px;padding:0 14px;border-radius:12px;background:var(--nav);color:#fff;font-weight:700;font-size:13px;transition:background .25s,box-shadow .25s}
.dt-tabs button.on{background:var(--ok);box-shadow:0 6px 14px rgba(52,194,75,.35)}
.dt-panes{display:grid}
.dt-p{grid-area:1/1;opacity:0;transform:translateY(6px);transition:opacity .45s ease,transform .45s ease;pointer-events:none}
.dt-p.on{opacity:1;transform:none;pointer-events:auto}
.dt-h{display:flex;align-items:center;gap:14px}
.dt-h img{width:56px;height:56px;border-radius:14px;object-fit:cover;flex:0 0 auto}
.dt-h b{display:block;font-size:18px;font-weight:800;letter-spacing:-.3px}
.dt-h span{font-size:13px;color:var(--sub)}.dt-h strong{font-weight:700;color:var(--body)}
.dt-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px;border:1px solid #E7ECFA;border-radius:14px;overflow:hidden}
.dt-stats div{padding:11px 12px;text-align:center}
.dt-stats div+div{border-left:1px solid #EDF1F8}
.dt-stats b{display:flex;align-items:center;justify-content:center;gap:6px;font-size:15px;font-weight:800;letter-spacing:-.2px}
.dt-stats small{display:block;font-size:11.5px;color:var(--sub);margin-top:3px}
.dt-stats .dot{width:7px;height:7px;border-radius:50%;background:var(--ok)}
.dt-stats .dot.c{background:#FF3B30}
.ph-copy .dt-lbl{max-width:none;line-height:1.3;font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--sub);margin:18px 0 6px}
.dt-ord{list-style:none}
.dt-ord li{display:flex;align-items:center;gap:12px;padding:9px 0;font-size:14.5px;font-weight:600}
.dt-ord li+li{border-top:1px solid #EDF1F8}
.dt-ord i{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:#EEF2FC;color:var(--cobalt);font-style:normal;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
@media (max-width:900px){.dt{padding:14px;border-radius:20px}.dt-stats b{font-size:13.5px}.dt-stats small{font-size:10.5px}.dt-stats div{padding:10px 6px}.dt-tabs button{height:34px;padding:0 11px;font-size:12px}}
.dt-ord li:first-child{font-size:17px;font-weight:800;padding:12px 0}
.dt-ord li:first-child i{width:28px;height:28px;font-size:13px;background:var(--grad);color:#fff}
.dt-ord em{margin-left:auto;font-style:normal;font-size:11px;font-weight:800;padding:5px 10px;border-radius:99px;background:var(--grad);color:#fff;white-space:nowrap}
.ins{list-style:none;margin-top:44px;max-width:560px;display:flex;flex-direction:column}
.ins li{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:4px 18px;padding:14px 0 26px;cursor:pointer;transition:opacity .4s}
.ins li:not(.on) h4,.ins li:not(.on) p{color:var(--sub)}
.ins li::after{content:"";position:absolute;left:18px;top:60px;bottom:-8px;width:2px;border-radius:2px;background:var(--line);transition:background .5s}
.ins li.done::after{background:#3A5BD9}
.ins li:last-child::after{content:none}
@property --p{syntax:'<percentage>';inherits:false;initial-value:0%}
.ins .n{grid-row:1/3;position:relative;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--cobalt);background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);font-variant-numeric:tabular-nums;transition:background .4s,color .4s,box-shadow .4s}
.ins li.done .n{background:#EEF2FC;box-shadow:none}
.ins li.on .n{background:var(--ink);color:#fff;box-shadow:none}
.ins li.on .n::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:conic-gradient(#3A5BD9 var(--p),#E3E8F0 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));animation:insring var(--dur,4.5s) linear forwards}
.ins:not(.run) li.on .n::before{animation-play-state:paused}
.ins.stop li.on .n::before{animation:none;--p:100%}
@keyframes insring{to{--p:100%}}
.ins h4{padding-top:8px}
.ins h4{font-size:19px;font-weight:800;letter-spacing:-.3px;line-height:1.25}
.ph-copy .ins p{font-size:15.5px;line-height:1.55;color:var(--body);max-width:none}
.dtw{position:absolute;inset:0;transition:transform .7s cubic-bezier(.6,0,.2,1)}
.dtring{position:absolute;z-index:20;left:10px;right:10px;border-radius:16px;box-shadow:0 0 0 2.5px #3A5BD9,0 0 0 999px rgba(11,31,77,.38);pointer-events:none;transition:top .7s cubic-bezier(.6,0,.2,1),height .7s cubic-bezier(.6,0,.2,1)}
@media (max-width:900px){.ins h4{font-size:17px}.ph-copy .ins p{font-size:14.5px}}
.fin{position:relative;overflow:hidden;isolation:isolate;background:var(--paper);color:var(--ink);text-align:center;padding:96px 24px 0;border-top:1px solid var(--line)}
.fin-glow{position:absolute;inset:0;z-index:-1;pointer-events:none}
.fin-glow{background:radial-gradient(40% 50% at 32% 0%,rgba(79,190,156,.16),transparent 70%),radial-gradient(40% 50% at 68% 6%,rgba(62,99,216,.12),transparent 70%)}.fin-glow i{display:none}
.fin-glow i:nth-child(3){display:none}
.fin-in{max-width:1100px;margin:0 auto;position:relative}
.fin .fin-jp{line-height:1.1;white-space:nowrap;font-size:min(128px,calc((min(100vw,1312px) - 128px) / 9))}.fin-in{max-width:1312px}
.fin .fin-gloss{margin-top:18px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 10px}
.fin .fin-gloss .romaji,.fin .fin-gloss .mean{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.1;color:var(--ink)}.fin .fin-gloss .romaji{color:var(--sub)}
.fin .fin-gloss .romaji+.mean::before-off{content:"-";margin-right:10px;color:var(--sub)}
.fin-h{font-family:var(--serif);font-weight:400;font-size:clamp(36px,3.8vw,54px);line-height:1.1;margin:56px auto 20px;max-width:16em;text-wrap:balance}
.fin-p{font-size:18px;line-height:1.9;color:var(--body);max-width:31em;margin:0 auto;text-wrap:pretty}
.fin-cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:36px}
.fin-btn{height:60px;padding:0 40px;font-size:17px}
.fin-micro{font-size:13px;font-weight:600;color:var(--sub)}
.fin-reel{margin:100px -24px 0;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.fin-track{display:flex;gap:16px;width:max-content;animation:finreel 60s linear infinite}
.fin-track figure{position:relative;width:240px;height:160px;border-radius:18px;overflow:hidden;flex:0 0 auto;background:#E7ECFA}
.fin-track img{width:100%;height:100%;object-fit:cover;display:block}
.fin-track figure::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,31,77,.55),transparent 55%)}
.fin-track figcaption{position:absolute;z-index:1;left:12px;bottom:10px;font-size:13px;font-weight:700;color:#fff;text-align:left}
@keyframes finreel{to{transform:translateX(-50%)}}
.fin-foot{margin-top:120px;max-width:1312px;margin-left:auto;margin-right:auto;padding:28px 40px 44px;background:none!important;border-top:1px solid var(--line);text-align:left}
@media (max-width:900px){.fin .fin-gloss .romaji,.fin .fin-gloss .mean{font-size:20px}.fin-h{font-size:32px;margin-top:64px}.fin-p{font-size:16px}.fin-reel{margin:72px -20px 0}.fin-track figure{width:170px;height:120px;border-radius:14px}.fin-foot{padding:24px 0 40px;margin-top:56px}}
@media (prefers-reduced-motion:reduce){.fin-glow i,.fin-track,.fin-btn{animation:none}.fin-btn::before{animation:none!important;opacity:.5!important;transform:none!important}}
.fin-p strong{font-weight:700;color:var(--ink)}
.fin .fin-jp.gtext{background:linear-gradient(135deg,#4FBE9C 0%,#3E9FB8 22%,#3E63D8 45%,#2A43A0 62%,#3E63D8 80%,#4FBE9C 100%);background-size:250% 250%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:finflow 11s cubic-bezier(.45,0,.55,1) infinite alternate}
@keyframes finflow{from{background-position:0% 0%}to{background-position:100% 100%}}
@media (prefers-reduced-motion:reduce){.fin .fin-jp.gtext{animation:none}}
.paused :not(.ins,.ins *),.paused :not(.ins *)::before,.paused :not(.ins *)::after{animation-play-state:paused!important}
.phone-slot > div:not(.on) *,.phone-slot > div:not(.on) *::before{animation:none!important}
.fin-p2{display:inline-block;line-height:1.5;margin-top:4px}
.duo-wrap{display:flex;flex-direction:column;align-items:center}.duo-wrap .duo{width:100%}.soon{margin-top:34px;font-size:13px;font-weight:600;color:var(--sub);text-align:center}
.top{position:sticky;top:0;z-index:60;background:var(--paper);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax -1px);transition:border-color .3s;border-bottom:1px solid transparent}
.top.scrolled{border-bottom-color:var(--line)}
section[id]{scroll-margin-top:84px}
@media (max-width:900px){section[id]{scroll-margin-top:64px}}
.ba-gw{position:relative;isolation:isolate}
.ba-gw::before{content:'';position:absolute;z-index:-1;inset:-48px -72px;pointer-events:none;background:linear-gradient(120deg,rgba(201,234,122,.7),rgba(79,190,156,.55) 45%,rgba(62,99,216,.5));filter:blur(40px);-webkit-mask:radial-gradient(closest-side,#000 55%,transparent);mask:radial-gradient(closest-side,#000 55%,transparent);opacity:0;transition:opacity 1.3s ease}
.ba-gw.on::before{opacity:1}
@media (max-width:900px){.ba-gw::before{inset:-28px -16px;filter:blur(24px)}}
.fl-count{margin-top:28px;font-size:15px!important;font-weight:600;color:var(--sub)!important}
.fl-count b{display:inline-block;min-width:1.4em;font-size:30px;font-weight:800;letter-spacing:-.8px;color:var(--ink);font-variant-numeric:tabular-nums;margin-right:4px;transition:transform .3s}
.fl-count b.bump{animation:flbump .45s ease}
@keyframes flbump{40%{transform:translateY(-4px) scale(1.12);color:#34C24B}}
#fl{margin-top:18px}
.fx{position:absolute;inset:0;font-family:'Plus Jakarta Sans',-apple-system,'SF Pro Text','Helvetica Neue',sans-serif;color:#0B1F4D}
.fx-map{position:absolute;left:0;right:0;top:0;height:194px;overflow:hidden}
.fx-map::after{content:"";position:absolute;inset:0;background:rgba(15,23,42,.3)}
.fx-sheet{position:absolute;left:0;right:0;top:146px;bottom:0;display:flex;flex-direction:column;background:#fff;border-radius:22px 22px 0 0;padding:16px 16px 72px;box-shadow:0 -6px 20px rgba(11,31,77,.08)}
.fx-hd{display:flex;justify-content:space-between;align-items:baseline;line-height:24px}.fx-hd b{font-size:19px;font-weight:800}.fx-hd span{font-size:13px;color:#6E7B9C}
.fx-seg{position:relative;display:grid;grid-template-columns:1fr 1fr;margin-top:14px;height:30px;border-radius:9px;background:#E8EDF6;padding:2px;font-size:12px;font-weight:600}
.fx-seg i{position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:7px;background:#fff;box-shadow:0 1px 4px rgba(11,31,77,.15);transition:transform .45s cubic-bezier(.6,0,.2,1)}
.fx-seg.open i{transform:translateX(100%)}
.fx-seg span{position:relative;display:flex;align-items:center;justify-content:center;gap:5px}
.fx-seg em{width:7px;height:7px;border-radius:50%;background:#6E7B9C;transition:background .4s}.fx-seg.open em{background:#34C24B}
.fx-l{margin:10px 0 6px;font-size:9.5px;line-height:12px;font-weight:600;letter-spacing:.4px;color:#6E7B9C}
.fx-walk{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.fx-walk span,.fx-chips span{display:flex;align-items:center;justify-content:center;gap:4px;height:26px;border-radius:8px;background:#1C2E78;color:#fff;font-size:11.5px;font-weight:600;transition:background .35s}
.fx-walk span.on,.fx-chips span.on{background:#34C24B}
.fx-diet{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fx-card{height:78px;border-radius:12px;background:#EEF2FC;border:1.5px solid #E3E9F5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:border-color .35s}
.fx-card i{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:2px;transition:background .35s}
.fx-card b{font-size:11px;font-weight:700;transform:scale(.85)}.fx-card small{font-size:8px;color:#6E7B9C;transition:color .35s}
.fx-req i{background:#DDF1E1}.fx-req.on{border-color:#34C24B}.fx-req.on i{background:#34C24B}.fx-req.on small{color:#34C24B}
.fx-pref i{background:#DEE5F8}
.fx-chips{display:flex;gap:7px;overflow:hidden;white-space:nowrap;margin-right:-16px}
.fx-chips span{flex:0 0 auto;padding:0 13px;border-radius:99px}
.fx-chips::after{content:"";flex:0 0 120px}
.fx-btn{flex:0 0 auto;margin-top:auto;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;border:1.5px solid #1C2E78;color:#1C2E78;transition:background .4s,color .4s,border-color .4s}
.fx-btn.save{background:#34C24B;border-color:#34C24B;color:#fff}
.fx-nav{position:absolute;left:0;right:0;bottom:0;height:62px;pointer-events:none}
.fx-nav [data-go]{pointer-events:auto;cursor:pointer}
.fx-nav::before{content:"";position:absolute;left:-10%;right:-10%;top:22px;bottom:-40px;border-radius:50% 50% 0 0;background:linear-gradient(90deg,#C9EA7A,#4FBE9C 50%,#3E63D8)}
.fx-nav span{position:absolute;top:14px;width:36px;height:36px;border-radius:50%;background:rgba(15,31,77,.42);display:flex;align-items:center;justify-content:center}
.fx-nav span:nth-child(1){left:52px}.fx-nav span:nth-child(3){right:52px}.fx-nav span:nth-child(2){left:50%;top:4px;margin-left:-19px;width:38px;height:38px;background:#fff;box-shadow:0 4px 12px rgba(11,31,77,.18)}
.fx-dim{position:absolute;inset:0;background:rgba(28,46,120,.38);opacity:0;transition:opacity .45s;pointer-events:none}
.fx-dr{position:absolute;left:0;right:0;bottom:0;height:400px;display:flex;flex-direction:column;background:#fff;border-radius:22px 22px 0 0;padding:10px 16px 28px;transform:translateY(102%);transition:transform .55s cubic-bezier(.3,.8,.2,1)}
.fx.dr .fx-dim{opacity:1}.fx.dr .fx-dr{transform:none}
.fx-dr::before{content:"";display:block;width:26px;height:3px;border-radius:2px;background:#C9D1E1;margin:0 auto 12px}
.fx-dr b{display:block;font-size:14px;font-weight:700;margin-bottom:11px}
.fx-opts{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.fx-opts span{height:34px;border-radius:10px;border:1.5px solid #E3E9F5;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:600;transition:background .35s,color .35s,border-color .35s}
.fx-opts span.on{background:#34C24B;border-color:#34C24B;color:#fff}
.fx-done{flex:0 0 auto;margin-top:auto;height:36px;border-radius:11px;background:#3A5BD9;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}
.mad{margin-top:30px;max-width:600px}
.ph-copy .mad-s{max-width:none;margin:0 0 22px;font-family:var(--serif);font-size:30px;line-height:1.75;color:var(--ink);text-wrap:pretty}
.mad-s .tk{white-space:nowrap}
.mad-s button{display:inline-flex;align-items:center;gap:6px;vertical-align:baseline;font-family:var(--ui);font-size:.62em;font-weight:700;line-height:1;color:#fff;background:var(--nav,#1C2E78);padding:.55em .8em .55em .9em;margin:0 .12em;border-radius:99px;box-shadow:0 4px 12px rgba(28,46,120,.25);cursor:pointer;transition:transform .15s,background .25s,box-shadow .25s;position:relative;top:-.12em}
.mad-s button svg{opacity:.8;transition:transform .25s}
.mad-s button:hover{background:#34C24B;box-shadow:0 6px 16px rgba(52,194,75,.35);transform:translateY(-1px)}
.mad-s button:hover svg{transform:translateY(1px)}
.mad-s button:active{transform:scale(.96)}
.mad-s button.flip{animation:madflip .45s ease}
@keyframes madflip{0%{opacity:.3;transform:translateY(5px) scale(.95)}100%{opacity:1;transform:none}}
.mad-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid var(--line)}
.mad-n{font-size:15px;font-weight:600;color:var(--sub)}
.mad-n b{display:inline-block;font-size:30px;font-weight:800;letter-spacing:-.8px;color:var(--ink);margin-right:5px;font-variant-numeric:tabular-nums}
.mad-n b.bump{animation:flbump .45s ease}
.ph-copy .mad-hint{margin:0;font-size:13px;color:var(--sub);text-align:right}
@media (max-width:900px){.ph-copy .mad-s{font-size:23px}.mad-n b{font-size:24px}}
.num{font-family:"Cinzel",serif;font-weight:500;font-size:.94em;font-variant-numeric:lining-nums tabular-nums;letter-spacing:.01em;line-height:1}
.ph-head .gloss .romaji::after,.close .gloss .romaji::after,.fin .fin-gloss .romaji::after{content:"–";margin-left:10px;color:var(--sub)}
@media (max-width:900px){
body{padding-bottom:0!important}
.top .btn{height:40px;padding:0 16px;font-size:14px}
.bhero{padding-bottom:8px}
.ba-head{gap:16px;margin-bottom:20px}
.seg{display:flex;width:100%}.seg button{flex:1;padding:0 10px}
.ba-map text{font-size:14px}.mk-g rect,.mk-g text{display:none}
.mk-g circle{r:20px;stroke-width:6px}.mk-d circle{r:11px;stroke-width:4px}
.osm{font-size:9px;right:6px;bottom:6px}
.ph-head .gloss .romaji,.ph-head .gloss .mean,.close .gloss .romaji,.close .gloss .mean,.fin .fin-gloss .romaji,.fin .fin-gloss .mean{font-size:18px}
.ph-head .gloss,.close .gloss{row-gap:6px}
.lk-tabs button{height:40px}.lk-t button{width:38px;height:38px}.lk-t .tx{right:52px}.lk-t .tx span,.lk-t .tx strong{font-size:12px}
.foot a,.fin-foot a{display:inline-flex;align-items:center;min-height:40px}
.fin-h{margin-top:56px}.fin-foot{margin-top:72px}
.mad-foot{flex-wrap:wrap}
}
.top{height:76px;background:rgba(251,252,247,.88);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.top nav a:not(.btn){position:relative}
.top nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.top nav a:not(.btn):hover::after{transform:none}
.ft{max-width:1312px;margin:96px auto 0;padding:40px 64px;border-top:1px solid var(--line);text-align:left}
.ft-top{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ft .logo{font-size:26px}
.ft nav{display:flex;flex-wrap:wrap;gap:8px 28px}
.ft nav a{font-size:14px;font-weight:600;color:var(--body)}.ft nav a:hover{color:var(--cobalt)}
.ft-bot{display:flex;justify-content:space-between;gap:16px;margin-top:28px;font-size:13px;color:var(--sub)}
.ft-bot [lang=ja]{font-family:var(--jp);font-weight:700;letter-spacing:2px}
@media (max-width:900px){
.top{height:60px}.top .logo{font-size:24px}
.top .btn{height:38px;padding:0 15px;font-size:13.5px;box-shadow:0 4px 12px rgba(58,91,217,.25)}
.ft{margin-top:64px;padding:28px 0 32px}
.ft-top{flex-direction:column;align-items:flex-start;gap:14px}
.ft nav{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;width:100%}
.ft nav a{display:flex;align-items:center;min-height:44px;font-size:15px;border-bottom:1px solid var(--line)}
.ft-bot{margin-top:22px}
.ba-note{position:relative;overflow:hidden}


.duo-wrap .duo{display:flex!important;justify-content:center;gap:10px}
.duo-wrap .duo > div{display:block!important;zoom:.55;margin-top:0!important}
.duo-wrap .duo > :last-child{margin-top:70px!important}
.ledger div:nth-child(n+4){display:none}
.soon{margin-top:22px;margin-bottom:0}
}
.ft{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ft-brand{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.ft-tag{font-size:14px;color:var(--sub)}
.ft-links{display:flex;gap:28px}
.ft-note{flex-basis:100%;margin:0;font-size:12px;line-height:1.5;color:var(--sub)}.ft-links a{font-size:14px;font-weight:600;color:var(--sub)}.ft-links a:hover{color:var(--ink)}
@media (max-width:900px){
.ba-note{left:auto;right:auto;top:auto;bottom:auto}
.ft{flex-direction:column;align-items:flex-start;gap:18px}
.ft-brand{flex-direction:column;gap:4px}
.ft-links{width:100%;gap:0 22px;flex-wrap:wrap}.ft-links a{display:inline-flex;align-items:center;min-height:44px}
}
@media (max-width:900px){.ft .ft-links{display:flex;width:100%;gap:0 24px}.ft .ft-links a{border-bottom:0;font-size:14px;color:var(--sub)}.ft .ft-links a:last-child{margin-left:auto}}
html,body{overflow-x:clip}
@media (max-width:900px){.phone-wrap::before{inset:-30px -20px}}
/* Lumen-style chrome: one radius (pill) everywhere */
.top{height:72px;background:rgba(251,252,247,.86);-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px);border-bottom:1px solid transparent}
.top.scrolled{border-bottom-color:var(--line)}
.top .logo{font-size:26px;letter-spacing:.5px}
.top nav{gap:28px}
.top nav a:not(.hd-cta){font-size:14px;font-weight:600;color:var(--body)}
.top nav a:not(.hd-cta)::after{display:none}
.top nav a:not(.hd-cta):hover{color:var(--ink)}
.hd-cta{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:999px;background:linear-gradient(135deg,#3A9E83,#3E63D8 65%,#2F4FC0);color:#fff!important;font-size:14px;font-weight:700;white-space:nowrap;box-shadow:0 4px 12px rgba(58,91,217,.25);transition:box-shadow .2s}
.hd-cta:hover{box-shadow:0 6px 16px rgba(58,91,217,.34)}
.ft{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:1184px;margin:64px auto 0;padding:24px 24px 44px;border-top:1px solid var(--line);text-align:center}
.ft-sign{font-family:var(--serif);font-size:28px;color:var(--ink)}
.ft .ft-links{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 28px;width:auto}
.ft .ft-links a{display:inline-flex;align-items:center;min-height:32px;font-size:13px;font-weight:600;color:var(--sub);border:0}
.ft .ft-links a:hover{color:var(--ink)}
.ft .ft-links a:last-child{margin-left:0}
@media (max-width:900px){
.top{height:60px}
.top .logo{font-size:23px}
.top nav a:not(.hd-cta){display:none}
.hd-cta{height:38px;padding:0 16px;font-size:13.5px}
.ft{margin-top:72px;padding:40px 20px calc(32px + env(safe-area-inset-bottom));gap:14px}
.ft-sign{font-size:24px}
.ft .ft-links{gap:0 22px}.ft .ft-links a{min-height:44px}
}
@media (max-width:900px){.top nav .hd-cta{display:none}}
.top{transition:background-color .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s}
@media (min-width:901px){.top:not(.bg){background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;border-bottom-color:transparent!important}.top.bg{border-bottom-color:var(--line)}}
@media (max-width:900px){.top:not(.scrolled){background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;border-bottom-color:transparent!important}}
.bh-copy .tabs{margin-top:36px}
.top{position:fixed!important;left:0;right:0;top:0;max-width:none;padding-left:max(64px,calc((100% - 1312px)/2 + 64px));padding-right:max(64px,calc((100% - 1312px)/2 + 64px))}
.bhero{padding-top:104px!important}
@media (max-width:900px){.bhero{padding-top:80px!important}.bhero .phone-wrap{padding-top:4px}}
.over-g{background:linear-gradient(90deg,#4FBE9C,#3E63D8,#1C2E78,#3E63D8,#4FBE9C);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:overflow 6s linear infinite}
@keyframes overflow{to{background-position:300% 0}}
@media (prefers-reduced-motion:reduce){.over-g{animation:none}}
.ft-logo{font-size:30px}
@media (min-width:901px){.ft-logo{display:none}}
.dl{display:none}
@media (max-width:900px){
.dl{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:70;height:64px;padding:0 7px 0 22px;border-radius:999px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);border:1px solid rgba(79,190,156,.5);box-shadow:0 0 0 4px rgba(79,190,156,.1),0 10px 30px rgba(79,190,156,.3),0 2px 8px rgba(11,31,77,.08);color:var(--ink);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transform:translateY(calc(100% + 40px));transition:transform .45s cubic-bezier(.3,.7,.2,1)}
.dl.show{transform:none}
html.gm-on .dl{transform:translateY(calc(100% + 40px))}
.dl:active .dl-btn{transform:scale(.96)}
.dl-t{display:flex;flex-direction:column;line-height:1.2}.dl-t b{font-size:15px;font-weight:800;color:var(--ink)}.dl-t small{font-size:12px;font-weight:600;color:var(--body)}
.dl-btn{position:relative;display:inline-flex;align-items:center;height:50px;padding:0 22px;border-radius:999px;background:linear-gradient(135deg,#3A9E83,#3E63D8 65%,#2F4FC0);color:#fff;font-size:14px;font-weight:800;box-shadow:0 8px 20px rgba(62,99,216,.35);transition:transform .15s}
.dl-btn::after{content:"";position:absolute;inset:0;border-radius:inherit;animation:dlpulse 2.4s ease-out infinite;pointer-events:none}
.dl.idle .dl-btn::after{animation-play-state:paused}
@keyframes dlpulse{0%{box-shadow:0 0 0 0 rgba(79,190,156,.55)}70%,100%{box-shadow:0 0 0 12px rgba(79,190,156,0)}}
}
@media (prefers-reduced-motion:reduce){.dl-btn::after{animation:none}}
@media (max-width:900px){
.phone-slot > div,.qi{transition:none}
.phone-slot > div.on,.qi.on{transition:opacity .18s ease}
}
.gm{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;visibility:hidden;pointer-events:none;transition:visibility 0s .4s}
.gm.open{visibility:visible;pointer-events:auto;transition:none}
.gm-bg{position:absolute;inset:0;background:rgba(11,31,77,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .3s}
.gm.open .gm-bg{opacity:1}
.gm-card{position:relative;width:100%;max-width:420px;max-height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fff;border-radius:28px;padding:30px 28px 22px;box-shadow:0 30px 80px rgba(11,31,77,.3);opacity:0;transform:translateY(12px) scale(.98);transition:opacity .3s,transform .4s cubic-bezier(.3,.7,.2,1)}
.gm.open .gm-card{opacity:1;transform:none}
.gm-x{position:absolute;top:14px;right:14px;z-index:2;width:44px;height:44px;border:0;border-radius:99px;background:#F1F4F8;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer}
.gm-x:hover{background:#E6EBF2}
.gm h2{font-family:var(--serif);font-weight:400;font-size:38px;line-height:1.1;letter-spacing:-.3px;margin:2px 52px 8px 0;color:var(--ink)}
.gm p{font-size:15px;line-height:1.5;color:var(--body)}
.gm-tiles{display:flex;flex-direction:column;gap:10px;margin-top:24px}
.gm-tile{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:0 20px;border-radius:20px;background:#fff;border:1px solid var(--line);color:var(--ink);transition:transform .15s,border-color .2s,box-shadow .2s}
.gm-tile:hover{color:var(--ink);border-color:#C9D2E0}
.gm-tile:active{transform:scale(.98)}
.gm-tile span{display:flex;flex-direction:column;line-height:1.25}
.gm-tile small{font-size:12.5px;font-weight:600;color:var(--sub)}
.gm-tile b{font-size:17px;font-weight:800}
.gm-tile:first-child{min-height:84px;padding:0 22px;border:0;background:linear-gradient(135deg,#3A9E83,#3E63D8 65%,#2F4FC0);color:#fff;box-shadow:0 14px 30px -8px rgba(58,91,217,.5)}
.gm-tile:first-child:hover{color:#fff;box-shadow:0 18px 36px -8px rgba(58,91,217,.6);transform:translateY(-1px)}
.gm-tile:first-child:active{transform:scale(.98)}
.gm-tile:first-child small{color:#fff;opacity:.88;font-size:13px}
.gm-tile:first-child b{font-size:21px}
.gm-tile:first-child svg{width:22px;height:22px}
.gm-tile:first-child::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.26) 50%,transparent 62%);background-size:250% 100%;background-position:120% 0;animation:gmSheen 3.6s ease-in-out 1s infinite;pointer-events:none}
.gm.idle .gm-tile:first-child::after{animation-play-state:paused}
@keyframes gmSheen{0%{background-position:120% 0}45%,100%{background-position:-120% 0}}
.gm-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;margin-top:10px;font-size:14px;font-weight:600;color:var(--body)}
.gm-more:hover{color:var(--ink)}
.gm-more svg{transition:transform .3s}
.gm-more[aria-expanded="true"] svg{transform:rotate(180deg)}
.gm-panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .35s cubic-bezier(.3,.7,.2,1),visibility 0s .35s}
.gm-panel.open{grid-template-rows:1fr;visibility:inherit;transition:grid-template-rows .35s cubic-bezier(.3,.7,.2,1)}
.gm-pin{min-height:0;overflow:hidden}
.gm-form,.gm-done{display:flex;flex-direction:column;gap:21px;padding:14px 2px 8px}
.gm-form[hidden],.gm-done[hidden]{display:none}
.gm .gm-note{font-size:14px}
.gm-field{display:flex;flex-direction:column;gap:9px}
.gm-field label{font-size:13px;font-weight:700;color:var(--ink)}
.gm-in{width:100%;height:48px;padding:0 14px;border:1px solid #D5DCE7;border-radius:14px;background:#fff;font:500 16px var(--ui);color:var(--ink);outline:none;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
.gm-in::placeholder{color:var(--sub);opacity:1}
.gm-in:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px rgba(58,91,217,.18)}
.gm-in[aria-invalid="true"]{border-color:#C4282D}
.gm-list{position:relative;list-style:none;max-height:216px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:14px;padding:4px;background:#fff}
.gm-list[hidden]{display:none}
.gm-list li{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;font-size:15px;color:var(--ink);cursor:pointer}
.gm-list li.on{background:#EEF2FA}
.gm-list li.gm-none{color:var(--sub);cursor:default}
.gm .gm-err,.gm .gm-fail{font-size:13px;font-weight:600;color:#C4282D;outline:none}
.gm .gm-err:empty,.gm .gm-fail:empty{display:none}
.gm-notify{height:50px;border-radius:999px;background:var(--ink);color:#fff;font-size:16px;font-weight:700;transition:background .2s}
.gm-notify:hover{background:#1C2E78}
.gm-notify:disabled{opacity:.7;cursor:progress}
.gm .gm-fine{font-size:12.5px;line-height:1.45;color:var(--sub)}
.gm .gm-fine a{color:var(--body);text-decoration:underline;text-underline-offset:2px}
.gm .gm-fine a:hover{color:var(--ink)}
.gm-done{gap:9px;padding:14px 2px 8px;outline:none}
.gm-done b{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.2;color:var(--ink)}
@media (prefers-reduced-motion:reduce){.gm-tile:first-child::after{animation:none;display:none}.gm-panel,.gm-panel.open,.gm-more svg{transition:none}}
@media (max-width:600px){
.gm{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.gm-card{border-radius:24px;padding:26px 20px 18px}
}
@media (max-width:900px){
#likesPhone{display:none}
.lk-tabs{flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:0 -14px;padding:0 14px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.lk-tabs::-webkit-scrollbar{display:none}
.lk-tabs button{flex:0 0 auto;white-space:nowrap;height:40px;padding:0 16px;border-radius:999px}
.lk-t::after{background:linear-gradient(to top,rgba(7,14,40,.88) 0%,rgba(7,14,40,.6) 38%,rgba(7,14,40,0) 72%)}
.lk-t .tx{left:10px;right:54px;bottom:9px;min-width:0;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.lk-t .tx b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lk-t .tx span{display:block;font-size:11.5px;opacity:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lk-t .tx strong{font-size:inherit}
.lk-t button{right:8px;bottom:auto;top:8px;width:32px;height:32px}
.lk-t .tx{right:10px}
.lk-t .tx strong{font-weight:600}
}
.jp-xl{word-break:keep-all;line-break:strict}
@media (max-width:900px){
.jp-xl,.fin .fin-jp{font-size:min(88px,calc((100vw - 52px) / 7))!important;white-space:normal}
.ph-head{row-gap:12px!important}
.ph-head .gloss,.close .gloss,.fin .fin-gloss{flex-direction:column!important;align-items:center;gap:4px!important;margin-top:0}
.fin .fin-gloss{margin-top:12px!important}
.ph-head .gloss .mean,.close .gloss .mean,.fin .fin-gloss .mean{color:var(--ink);font-weight:400}
.ph-head .gloss .romaji::after,.close .gloss .romaji::after,.fin .fin-gloss .romaji::after{content:none}
}
@media (max-width:900px){
.phrase{padding:56px 24px;border-top:0}
.ba{padding-top:56px;padding-bottom:56px}
.ba + .phrase{margin-top:0}
.phrase + .close,.fin{border-top:0}
.fin{padding:56px 24px 0}
.phrase .ph-body > :last-child,.phrase .hc-grid > :last-child,.hc-tr,#how .ph-phone + .ins,.duo-wrap{margin-bottom:0;padding-bottom:0}
}
h1,h2,h3,h4{text-wrap:balance}

p{text-wrap:pretty}
@media (max-width:900px){
.bhero h1{font-size:min(52px,calc(100cqw / 9.1))!important}
.ba-head h2,.ph-copy h3,.fin-h{font-size:32px!important}
}
.steps .n{background:var(--ink)}
@media (max-width:900px){
.duo-wrap .duo{gap:0!important}
.duo-wrap .duo > div{zoom:.7!important}
.duo-wrap .duo > :last-child{position:relative;z-index:1;margin-top:90px!important;margin-left:-100px}
}
@media (max-width:413px){.duo-wrap .duo > div{zoom:.66!important}}
@media (max-width:379px){.duo-wrap .duo > div{zoom:.6!important}}
@media (max-width:339px){.duo-wrap .duo > div{zoom:.54!important}}
.lk-t .tx em{font-style:normal}.lk-t .tx .d1{display:none}
@media (max-width:900px){.lk-t .tx .d1{display:inline;font-weight:700}.lk-t .tx .d2{display:none}}
.dl{z-index:1000!important}.gm{z-index:1100}
.duo-wrap{position:relative;isolation:isolate}
@media (max-width:900px){
.phone-slot span[style*="backdrop-filter"]{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:rgba(7,14,40,.55)!important}
.top{height:64px;transform:none;opacity:1;pointer-events:auto;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid transparent;box-shadow:none;clip-path:none;transition:background-color .3s,border-color .3s}
.top.bg{background:rgba(251,252,247,.9);-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px);border-bottom-color:var(--line)}
.top.scrolled:not(.bg){border-bottom-color:transparent}
}
.fin-btn{background:linear-gradient(135deg,#3A9E83,#3E63D8 65%,#2F4FC0)!important;background-size:100% 100%!important;animation:none!important;color:#fff}
.ft-sign{font-family:var(--ui)!important;font-size:14px!important;font-weight:600;color:var(--sub)!important;margin-top:-8px}
.fin-h{text-wrap:balance}
.hd-links{display:contents}
@media (max-width:900px){
.top nav{display:grid;justify-items:end;align-items:center}
.top nav > *{grid-area:1/1;transition:opacity .2s,visibility 0s}
.top nav .hd-cta{display:inline-flex!important;height:36px;padding:0 15px;font-size:13px}
.top nav .hd-links{display:flex;gap:14px;opacity:0;visibility:hidden;pointer-events:none}
.top nav .hd-links a{display:inline-flex!important;align-items:center;min-height:44px;font-size:13px;font-weight:600;white-space:nowrap}
.top.nav-on nav .hd-links{opacity:1;visibility:visible;pointer-events:auto}
.top.nav-on nav .hd-cta{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility 0s .2s}
.top nav .hd-links{transition:opacity .2s,visibility 0s .2s}
.top.nav-on nav .hd-links{transition:opacity .2s,visibility 0s}
.top{transition:background-color .3s,border-color .3s,transform .35s cubic-bezier(.3,.7,.2,1)!important}
.top.ft-on{transform:translateY(-110%)!important}
}
@media (max-width:374px){.top nav .hd-links{gap:11px}.top nav .hd-links a{font-size:12.5px}}
.dl-t{gap:4px}
@media (max-width:900px){
.ft{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px 16px!important;margin-top:48px!important;text-align:left}
.ft .ft-logo{grid-column:1}
.ft .ft-sign{grid-column:2;justify-self:end;margin:0!important;text-align:right}
.ft .ft-links{grid-column:1/-1;display:flex;justify-content:flex-start;width:100%;gap:0 22px;margin:0}
.ft .ft-links a:last-child{margin-left:auto}
.ft{padding:32px 0 calc(6px + env(safe-area-inset-bottom))!important;row-gap:4px!important}
.ft .ft-links a{min-height:44px;display:inline-flex;align-items:center}
.fin-cta{gap:19px!important}
.fin .fin-micro{margin-top:0}
.fin-cta{position:relative;isolation:isolate;overflow:visible}
.fin-btn{position:relative;overflow:visible}
.fin-btn::before{content:"";position:absolute;inset:-6px;z-index:-1;border-radius:999px;background:linear-gradient(135deg,#3A9E83,#3E63D8 65%,#2F4FC0);filter:blur(12px);opacity:.25;pointer-events:none;animation:finHalo 2.4s ease-in-out infinite alternate}
@keyframes finHalo{from{opacity:.25;transform:scale(.97)}to{opacity:.55;transform:scale(1.06)}}
.steps li{grid-template-columns:30px minmax(0,1fr)!important;gap:14px!important}
.steps .n{width:30px!important;height:30px!important;border-radius:9px!important;font-size:14px!important;margin-top:-2px}
}
.steps .sn{display:none;font-style:normal}
@media (max-width:900px){
.steps{gap:16px!important}
.steps li{display:block!important}
.steps .n{display:none!important}
.steps .sn{display:inline;color:var(--sub);margin-right:.6em}
.steps li .t{display:block;margin-left:0!important;padding-left:0!important}
.top{padding-left:24px!important;padding-right:24px!important}
.fin{min-height:100svh;display:flex;flex-direction:column;justify-content:space-evenly;padding-top:56px}
.fin-in{display:flex;flex-direction:column;justify-content:space-evenly;flex:1 1 auto;gap:37px}
.fin-in > .fin-jp,.fin-in > .fin-gloss,.fin-in > .fin-h,.fin-in > .fin-p,.fin-in > .fin-cta{margin-top:0!important;margin-bottom:0!important}
.fin-in > .fin-gloss{margin-top:-21px!important}
.fin-in > .fin-p{margin-top:-18px!important}
.fin .ft{margin-top:56px!important;padding-top:16px!important;align-self:stretch;width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important;grid-template-columns:minmax(0,1fr)!important}
.fin .ft .ft-logo{justify-self:start}
.steps .sn{background:linear-gradient(135deg,#3A9E83,#3E63D8 65%,#2F4FC0);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;font-weight:800}
}
.bh-copy{container-type:inline-size}
.bhero h1{font-size:min(clamp(48px,5.2vw,76px),calc(100cqw / 9.1))}
.ba-head h2 .nw{white-space:nowrap}
@media (max-width:1180px){.ba-head h2 .bl{display:block}}
@media (max-width:900px){.ba-head h2 .nw{white-space:normal}}
.fin-in{container-type:inline-size;width:100%}
@media (max-width:900px){.fin-in{align-self:stretch}.fin-h{font-size:min(32px,calc(100cqw / 10.6))!important}}
@media (min-width:901px) and (max-width:1180px){
.ph-body:not(:has(.duo-wrap)){gap:48px}
.ph-body:not(:has(.duo-wrap)) .ph-phone{zoom:.85}
.duo-wrap .duo{justify-content:center}
}
@media (min-width:1181px) and (max-width:1300px){.duo-wrap .duo > div{zoom:.8}}
@media (min-width:601px) and (max-width:900px){
.dl{left:max(16px,calc(50% - 220px));right:max(16px,calc(50% - 220px))}
.chips{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.hc-more{display:none}
@media (max-width:900px){
.bh-copy .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:24px 0 0;max-width:none;width:100%}
.bh-copy .tab{display:flex;align-items:center;justify-content:center;min-width:0;height:44px;padding:0 9px;border-radius:999px;border:1px solid var(--line);background:#fff;box-shadow:none;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s}
.bh-copy .tab::before,.bh-copy .tab span{display:none}
.bh-copy .tab b{font-size:min(13px,calc(((100cqw - 8px) / 2 - 20px) / 11.9));font-weight:600;line-height:1;white-space:nowrap;color:var(--ink)}
.bh-copy .tab.on{background:var(--ink);border-color:var(--ink);box-shadow:0 8px 20px -10px rgba(11,31,77,.45)}
.bh-copy .tab.on b{color:#fff}
.bh-copy .tab:active{transform:scale(.98)}
.top.tap-hide{transform:translateY(-110%)!important}
.dl.tap-hide{transform:translateY(calc(100% + 40px))!important}
#how .ph-body{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,200px) minmax(0,1fr);column-gap:0;grid-template-rows:auto auto auto auto;row-gap:0}
#how .ph-body::after{content:"";grid-column:3;grid-row:2;justify-self:center;align-self:center;width:2px;height:136px;border-radius:2px;background:var(--line)}
#how .ph-copy{grid-column:1/-1;grid-row:1;margin-bottom:28px}
#how .ph-phone{grid-column:2;grid-row:2;justify-content:flex-start;zoom:.72}
#how .ins,#how .ins li{display:contents}
#how .ins::after,#how .ins li::after{content:none}
#how .ins .n{grid-column:3;grid-row:2;justify-self:center;align-self:center;z-index:1;width:40px;height:40px;font-size:13px;cursor:pointer}
#how .ins li:nth-child(1) .n{transform:translateY(-68px)}#how .ins li:nth-child(3) .n{transform:translateY(68px)}
#how .ins h4,#how .ins p{grid-column:1/-1;opacity:0;visibility:hidden;transition:opacity .2s}
#how .ins h4{grid-row:3;padding-top:0;margin-top:28px}
#how .ins p{grid-row:4;margin-top:6px}
#how .ins li.on h4,#how .ins li.on p{opacity:1;visibility:visible}
.chips button[data-en]:nth-child(n+7){display:none}
.hc-more{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-height:58px;margin-top:16px;padding:10px 16px;border-radius:14px;background:linear-gradient(135deg,#3A9E83,#3E63D8 65%,#2F4FC0);color:#fff;text-align:center;box-shadow:0 8px 20px rgba(62,99,216,.3);transition:transform .12s}
.hc-more:active{transform:scale(.97)}
.hc-more b{font-size:15px;font-weight:800;line-height:1.2}
.hc-more small{font-size:12.5px;font-weight:600;line-height:1.3;opacity:.92;text-wrap:balance}
.hc-grid{row-gap:24px}
.hc-grid > div:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,200px) minmax(0,1fr);align-items:center;max-width:none}
.hc-card.sv-device{grid-column:2;margin:0;zoom:.72}
.hc-grid .hc-tr{grid-column:3;margin:0 0 0 20px;text-align:left;font-size:15px}
.hc-grid .hc-tr b{display:block;margin-bottom:4px}
.hc-more{grid-column:1/-1}
}
@media (max-width:359px){.hc-card.sv-device{zoom:.6}}
@media (max-width:900px){
#filters .ph-body{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,200px) minmax(0,1fr);column-gap:0;row-gap:0;align-items:center}
#filters .ph-copy,#filters .mad{display:contents}
#filters .ph-copy > *,#filters .mad-s{grid-column:1/-1}
#filters .ph-copy .mad-s{margin:30px 0 12px}
#filters .ph-phone{grid-column:2;grid-row:5;display:flex;justify-content:flex-start;zoom:.72}
#filters .mad-foot{grid-column:3;grid-row:5;justify-self:center;margin-left:20px;min-width:0;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;justify-content:center;gap:14px;padding-top:0;border-top:0}
#filters .mad-n{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.25}
#filters .mad-n b{font-size:44px;line-height:1;margin:0}
#filters .ph-copy .mad-hint{text-align:left;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
}
@media (max-width:359px){#filters .ph-phone{zoom:.6}#filters .mad-n b{font-size:36px}}
html.gm-on{overflow:hidden}

/* Phone-mockup styles: the design's script injects these at runtime; served here instead. */
.sv-device{width:300px;height:640px;border-radius:42px;overflow:hidden;position:relative;border:7px solid #08090C;background:#FBFCF7;box-shadow:0 40px 80px -30px rgba(11,31,77,.45),0 16px 36px -12px rgba(11,31,77,.22);flex:0 0 auto;isolation:isolate}
.sv-scr{position:absolute;inset:0;overflow:hidden;font-family:'Plus Jakarta Sans',-apple-system,system-ui,sans-serif;color:#0B1F4D;text-align:left;line-height:normal;letter-spacing:normal;font-size:13px}
.sv-scr *{box-sizing:border-box}
.sv-island{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:92px;height:26px;border-radius:18px;background:#000;z-index:60}
.sv-sbar{position:absolute;top:0;left:0;right:0;height:42px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 24px 6px;font-size:13px;font-weight:700;z-index:30;font-family:'Plus Jakarta Sans',-apple-system,system-ui,sans-serif}
@keyframes svGrad{0%{background-position:0% 0%}50%{background-position:100% 100%}100%{background-position:0% 0%}}
.sv-flow{background-size:200% 200%!important;animation:svGrad 5s ease-in-out infinite}
@keyframes svSheen{0%{transform:rotate(var(--ang,30deg)) translateX(-170%)}100%{transform:rotate(var(--ang,30deg)) translateX(170%)}}
.sv-feat{position:relative;overflow:hidden;display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(255,255,255,.14)}
.sv-feat::before{content:'';position:absolute;top:-200%;left:-70%;width:120%;height:500%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18) 50%,transparent);animation:svSheen 5s linear infinite;animation-delay:var(--del,0s)}
.hcv{position:absolute;inset:0;writing-mode:vertical-rl;display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--s,46px)*.22);overflow:hidden;font-family:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans JP',-apple-system,sans-serif;line-break:strict;--s:46px}
.hcv p{margin:0;letter-spacing:.08em;line-height:1.18}
.hcv .h{font-size:var(--hs,23px);font-weight:900;color:#111;white-space:nowrap}
.hcv .i{font-size:var(--s);font-weight:800;color:#FF453A}
.hcv .i b{display:inline-block;white-space:nowrap;font-weight:800}
.hcv .i small{font-size:max(13px,calc(var(--s)*.6))}
.hcv .n,.hcv .c{font-size:var(--ns,23px);font-weight:800;color:#111;white-space:nowrap}
.hcv .n{margin-block-start:auto}
.hcv .c{color:#9AA0AB}
.hcv.nb small,.hcv.nc .c{display:none}
.hcf{flex:0 0 auto}
.hcf i{display:block;height:3px;border-radius:2px;background:linear-gradient(90deg,#C9EA7A,#4FBE9C 50%,#3E63D8);background-size:200% 100%;animation:svGrad 6s ease-in-out infinite}
.hcf div{height:58px;display:flex;align-items:center;justify-content:space-between}
.hcf span:first-child{font-family:'Marcellus',serif;font-size:19px;letter-spacing:.5px;color:#3A3F4A}
.hcf span:last-child{font-family:'Plus Jakarta Sans',-apple-system,system-ui,sans-serif;font-size:13px;font-weight:600;color:#9AA0AB}
@media (prefers-reduced-motion:reduce){.sv-flow,.sv-feat::before,.hcf i{animation:none}}
