:root{--ink:#111315;--ink2:#474E55;--ink3:#7B838B;--paper:#F5F4EF;--card:#fff;--line:#E0DED6;--accent:#35E6C9;--accent-ink:#03211C;--cyan:#35E6C9;--cyan-ink:#03211C;--dark:#0E1011;--dark2:#191C1F;--dline:#2B3035;--dink:#B9BEC3;--good:#12805A;--good-bg:#E3F4EC;--mid:#9A6A00;--mid-bg:#FBF0D3;--bad:#C2372F;--bad-bg:#FBE6E3}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 "Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-feature-settings:"palt"}
h1,h2,h3,p,ol,ul{margin:0;padding:0}
h1,h2,h3,summary,.role,.t,.todo b{word-break:auto-phrase;line-break:strict;text-wrap:balance}
p,li{word-break:auto-phrase;line-break:strict;text-wrap:pretty}
.nb{display:inline-block}
ol,ul{list-style:none}
a{color:inherit}
.in{max-width:1120px;margin:0 auto;padding:0 24px}
.in.narrow{max-width:760px}
.in.center{text-align:center}

.nav{position:sticky;top:0;z-index:10;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:1px solid var(--dline)}
.logo{display:flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;font-size:17px;white-space:nowrap}
.mark{width:22px;height:22px;border-radius:6px;background:var(--accent);position:relative;flex:none}
.mark::after{content:"";position:absolute;left:5px;bottom:5px;width:4px;height:6px;background:var(--dark);box-shadow:6px -4px 0 var(--dark)}
.nav-links{display:flex;gap:24px;font-size:14px}
.nav-links a{text-decoration:none;color:var(--dink)}
.nav-links a:hover{color:#fff}
.nav-cta{display:flex;align-items:center;gap:16px}
.nav-cta .link{font-size:14px;text-decoration:none;color:var(--dink);white-space:nowrap}

.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:8px 16px;font-weight:700;text-decoration:none;font-size:14px;min-height:40px;border:1px solid transparent;white-space:nowrap;transition:transform .15s}
.btn:active{transform:translateY(1px)}
.btn.accent{background:var(--accent);color:var(--accent-ink)}
.btn.accent:hover{background:#6FF2DC}
.btn.line{border-color:#4A5158;color:#fff}
.btn.line:hover{border-color:#fff}
.btn.lg{padding:12px 24px;font-size:16px;min-height:52px}
.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}

.hero{background:var(--dark);color:#fff;padding:72px 0 88px;overflow:hidden}
.hero-in{max-width:1120px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.eyebrow{color:var(--cyan);font-size:14px;font-weight:700;margin-bottom:16px}
.hero h1{font-size:clamp(34px,5vw,60px);line-height:1.25;font-weight:800;letter-spacing:-.01em}
.hl{color:var(--accent)}
.hero-sub{margin-top:24px;color:var(--dink);font-size:17px;max-width:520px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.cta-row.center{justify-content:center}
.hero-note{margin-top:16px;font-size:13px;color:#8D949B}

.shot{background:var(--paper);color:var(--ink);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px;box-shadow:0 0 0 1px var(--dline),10px 10px 0 var(--accent)}
.shot-top{display:flex;justify-content:space-between;font-weight:700;font-size:15px}
.shot-date{font-weight:400;color:var(--ink3);font-size:12px}
.shot-score{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;display:grid;grid-template-columns:108px minmax(0,1fr);gap:16px;align-items:center}
.shot-num{text-align:center}
.shot-num b{display:block;font-size:52px;line-height:1.1;font-variant-numeric:tabular-nums}
.shot-num span{font-size:12px;color:var(--ink3)}
.shot-bars{display:flex;flex-direction:column;gap:6px;font-size:12px}
.shot-bars div{display:grid;grid-template-columns:84px minmax(0,1fr) 24px;gap:8px;align-items:center}
.shot-bars i{height:6px;background:#ECEBE5;border-radius:3px;overflow:hidden;display:block}
.shot-bars em{display:block;height:100%;border-radius:3px;transform-origin:left;animation:grow .9s .2s both cubic-bezier(.2,.7,.2,1)}
.shot-bars em.g{background:var(--good)} .shot-bars em.m{background:#D9A21B}
.shot-bars b{text-align:right;font-variant-numeric:tabular-nums}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.shot-todo{display:flex;flex-direction:column;gap:8px}
.shot-h{font-weight:700;font-size:13px}
.todo{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.todo b{display:block;font-size:13px;line-height:1.5}
.tag{display:inline-block;background:#ECEBE5;color:var(--ink2);border-radius:999px;padding:0 8px;font-size:11px;font-weight:700;line-height:20px}
.yen{font-weight:800;font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
.shot-cap{font-size:11px;color:var(--ink3)}

.sec{padding:96px 0}
.sec.alt{background:#ECEBE5}
.sec.dark{background:var(--dark);color:#fff}
.sec h2{font-size:clamp(26px,3.6vw,40px);line-height:1.4;font-weight:800;margin-bottom:24px}
.kicker{font-size:13px;font-weight:700;color:var(--ink3);margin-bottom:12px}
.dark .kicker{color:var(--cyan)}
.lead{color:var(--ink2);max-width:720px;margin-bottom:32px}
.dark .lead{color:var(--dink)}
.center .lead{margin-left:auto;margin-right:auto}
.small{font-size:12px;color:var(--ink3);margin-top:16px}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:8px}
.pcard>b{font-size:13px;color:var(--ink3);font-variant-numeric:tabular-nums}
.pcard h3{font-size:18px;line-height:1.5}
.pcard p{font-size:14px;color:var(--ink2)}

.how{padding-top:0}
.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;counter-reset:s}
.steps3 li{border-top:3px solid var(--ink);padding-top:16px;display:flex;flex-direction:column;gap:8px}
.steps3 span{font-size:40px;font-weight:800;line-height:1}
.steps3 h3{font-size:18px}
.steps3 p{font-size:14px;color:var(--ink2)}

.feat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.fcard{background:var(--dark2);border:1px solid var(--dline);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:12px}
.fcard.wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:center}
.fcard h3{font-size:19px;line-height:1.5;margin-bottom:8px}
.fcard p{font-size:14px;color:var(--dink)}
.mini{background:var(--paper);color:var(--ink);border-radius:10px;padding:16px;font-size:13px;margin-top:auto}
.mini.adv b{display:block;font-size:15px;margin:6px 0 4px}
.mini.adv p{color:var(--ink2);font-size:13px}
.mini.adv ol{list-style:decimal;padding-left:20px;margin-top:8px;color:var(--ink)}
.mini.dec,.mini.guard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mini.dec div,.mini.guard div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:2px}
.mini span{color:var(--ink2);font-size:12px}
.mini b{font-variant-numeric:tabular-nums}
.mini .up{color:var(--good)} .mini .dn{color:var(--bad)}
.mini.tags{display:flex;gap:8px;flex-wrap:wrap}
.mini.pl{display:flex;flex-direction:column;gap:4px}
.mini.pl div{display:flex;justify-content:space-between;gap:8px}
.mini.pl .t{border-top:1px solid var(--line);padding-top:6px;margin-top:2px;font-size:15px}
.c{display:inline-block;border-radius:999px;padding:0 10px;font-size:12px;font-weight:700;line-height:22px;font-style:normal;white-space:nowrap}
.c.good{background:var(--good-bg);color:var(--good)} .c.mid{background:var(--mid-bg);color:var(--mid)} .c.bad{background:var(--bad-bg);color:var(--bad)}
.c.dk{background:var(--ink);color:#fff} .c.tag{background:#ECEBE5;color:var(--ink2)}
.mini.guard em{align-self:flex-start}

.btable{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;max-width:760px}
.btable>div{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr) minmax(0,.8fr);gap:8px;padding:12px 20px;border-top:1px solid var(--line);font-size:15px;align-items:center}
.btable>div:first-child{border-top:0}
.btable .bh{font-size:12px;color:var(--ink3);font-weight:700;background:#FAF9F5}
.btable span:nth-child(2){font-weight:700;font-variant-numeric:tabular-nums}

.ccard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:8px}
.ccard h3{font-size:17px}
.ccard .role{font-weight:800;font-size:20px;line-height:1.5}
.ccard p{font-size:14px;color:var(--ink2)}
.ccard .role{color:var(--ink)}
.ccard.me{background:var(--dark);border-color:var(--dark);color:#fff;box-shadow:6px 6px 0 var(--accent)}
.ccard.me .role{color:var(--cyan)}
.ccard.me p{color:var(--dink)}
.ccard.me .role{color:var(--cyan)}

.plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.plan{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:12px}
.plan.now{background:var(--dark);color:#fff;border-color:var(--dark);box-shadow:6px 6px 0 var(--accent)}
.pl-tag{font-size:12px;font-weight:700;color:var(--ink3)}
.plan.now .pl-tag{color:var(--cyan)}
.plan h3{font-size:18px}
.pl-price{font-size:15px;font-weight:700}
.pl-price b{font-size:36px;line-height:1.2;font-variant-numeric:tabular-nums;margin-right:2px}
.pl-price small{font-size:12px;font-weight:400;color:var(--ink3);display:block}
.plan ul{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink2);margin-bottom:auto}
.plan.now ul{color:var(--dink)}
.plan li{padding-left:16px;position:relative}
.plan li::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:2px;background:currentColor}
.plan .btn{margin-top:8px}

.faq{display:flex;flex-direction:column;gap:8px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:0 20px}
.faq summary{cursor:pointer;font-weight:700;padding:16px 28px 16px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:4px;top:50%;width:10px;height:10px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq p{padding:0 0 16px;color:var(--ink2);font-size:15px}

.last{padding:112px 0}
.footer{background:var(--dark);color:var(--dink);padding:32px 0 96px;font-size:13px;border-top:1px solid var(--dline)}
.footer .in{display:flex;flex-direction:column;gap:8px}
.footer b{color:#fff}
.fl{display:flex;gap:8px 20px;flex-wrap:wrap}
.footer .small{margin-top:8px;color:#7B838B}
.sticky-cta{display:none}

.rv{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1)}
.rv.in-view,.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.shot-bars em{animation:none}html{scroll-behavior:auto}}

@media (max-width:960px){
  .hero-in{grid-template-columns:minmax(0,1fr);gap:40px}
  .plans{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav-links{display:none}
}
@media (max-width:720px){
  body{font-size:15px}
  .in,.hero-in{padding:0 16px}
  .nav{padding:8px 16px}
  .nav-cta .link{display:none}
  .hero{padding:40px 0 64px}
  .hero-sub{font-size:15px}
  .cta-row .btn{flex:1 1 100%}
  .sec{padding:64px 0}
  .how{padding-top:0}
  .cols3,.steps3,.feat,.plans{grid-template-columns:minmax(0,1fr)}
  .fcard.wide{grid-template-columns:minmax(0,1fr);gap:16px}
  .shot{padding:16px;box-shadow:0 0 0 1px var(--dline),5px 5px 0 var(--accent)}
  .shot-score{grid-template-columns:minmax(0,1fr)}
  .todo{flex-direction:column;align-items:flex-start;gap:4px}
  .btable>div{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) auto;padding:12px;font-size:13px}
  .mini.dec,.mini.guard{grid-template-columns:minmax(0,1fr)}
  .last{padding:72px 0}
  .sticky-cta{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--dark);border-top:1px solid var(--dline);z-index:9;transform:translateY(110%);transition:transform .25s}
  .sticky-cta.show{transform:none}
  .sticky-cta .btn{flex:1}
  .ccard.me,.plan.now{box-shadow:4px 4px 0 var(--accent)}
}

/* 流れる帯 */
.ticker{background:var(--cyan);color:var(--cyan-ink);overflow:hidden;border-top:1px solid var(--dark);border-bottom:1px solid var(--dark)}
.ticker-in{display:flex;gap:40px;white-space:nowrap;width:max-content;padding:10px 0;animation:tick 40s linear infinite;font-size:14px}
.ticker-in span{display:inline-flex;gap:6px;align-items:baseline}
.ticker-in b{font-size:16px}
@keyframes tick{to{transform:translateX(-50%)}}

/* 動く画面 */
.live{padding-bottom:64px}
.stage{background:var(--dark);border-radius:18px;box-shadow:10px 10px 0 var(--accent);overflow:hidden;border:1px solid var(--dark)}
.stage-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--dline);color:var(--dink);font-size:12px}
.dots{display:flex;gap:6px}
.dots i{width:10px;height:10px;border-radius:50%;background:#3A4046;display:block}
.stage-bar .url{flex:1;background:#191C1F;border:1px solid var(--dline);border-radius:999px;padding:2px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.stage-bar a{color:var(--cyan);text-decoration:none;font-weight:700;white-space:nowrap}
.stage-body{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:520px}
.stage-tabs{display:flex;flex-direction:column;padding:12px;gap:4px;border-right:1px solid var(--dline)}
.stage-tabs button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:10px;color:var(--dink);position:relative;overflow:hidden}
.stage-tabs button b{font-size:15px;color:#fff}
.stage-tabs button span{font-size:12px}
.stage-tabs button:hover{background:#191C1F}
.stage-tabs button[aria-selected=true]{background:#22262A}
.stage-tabs button[aria-selected=true] b{color:var(--cyan)}
.stage-tabs button i{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--accent)}
.stage-tabs button[aria-selected=true].auto i{animation:prog 6s linear forwards}
@keyframes prog{to{width:100%}}
.stage-tabs button:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.stage-view{background:var(--paper);padding:24px;display:flex;flex-direction:column;gap:16px;min-width:0}
.stage-load{color:var(--ink3)}
.sv-in{display:flex;flex-direction:column;gap:16px;animation:svin .45s cubic-bezier(.2,.7,.2,1)}
@keyframes svin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sv-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.sv-h b{font-size:20px}
.sv-h span{font-size:12px;color:var(--ink3)}
.sv-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.sv-score{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center}
.ring{position:relative;width:150px;height:150px}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:12}
.ring .bg{stroke:#ECEBE5}
.ring .fg{stroke:var(--ink);stroke-linecap:round;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.7,.2,1)}
.ring div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring b{font-size:44px;line-height:1;font-variant-numeric:tabular-nums}
.ring span{font-size:11px;color:var(--ink3)}
.sv-bars{display:flex;flex-direction:column;gap:8px;font-size:13px}
.sv-bars div{display:grid;grid-template-columns:96px minmax(0,1fr) 28px;gap:8px;align-items:center}
.sv-bars i{height:8px;border-radius:4px;background:#ECEBE5;overflow:hidden;display:block}
.sv-bars em{display:block;height:100%;border-radius:4px;width:0;transition:width .9s cubic-bezier(.2,.7,.2,1)}
.sv-bars em.good{background:var(--good)} .sv-bars em.mid{background:#D9A21B} .sv-bars em.bad{background:var(--bad)}
.sv-bars b{text-align:right;font-variant-numeric:tabular-nums}
.sv-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sv-kpis .sv-card{padding:12px 16px}
.sv-kpis span{font-size:12px;color:var(--ink2);display:block}
.sv-kpis b{font-size:22px;font-variant-numeric:tabular-nums}
.sv-adv{display:flex;flex-direction:column;gap:6px}
.sv-adv .top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.sv-adv .t{font-weight:700;font-size:15px;line-height:1.5}
.sv-adv .y{font-weight:800;font-size:18px;white-space:nowrap;font-variant-numeric:tabular-nums}
.sv-adv p{font-size:13px;color:var(--ink2)}
.sv-adv ol{list-style:decimal;padding-left:20px;font-size:13px}
.sv-win{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.sv-win:first-child{border-top:0}
.sv-win b{font-size:14px}
.sv-win i{height:8px;border-radius:4px;background:#ECEBE5;overflow:hidden;display:block}
.sv-win em{display:block;height:100%;border-radius:4px;background:var(--ink);width:0;transition:width .9s cubic-bezier(.2,.7,.2,1)}
.sv-win em.good{background:var(--good)}
.sv-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sv-why .sv-card{display:flex;flex-direction:column;gap:4px}
.sv-why span{font-size:12px;color:var(--ink2)}
.sv-why b{font-size:22px;font-variant-numeric:tabular-nums}
.sv-why small{font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums}
.sv-why .col{height:72px;display:flex;align-items:flex-end;margin-top:4px;border-bottom:1px solid var(--line)}
.sv-why .col.neg{align-items:flex-start;border-bottom:0;border-top:1px solid var(--line)}
.sv-why .col i{display:block;width:100%;border-radius:4px;height:0;transition:height .9s cubic-bezier(.2,.7,.2,1)}
.up{color:var(--good)} .dn{color:var(--bad)}
.bg-up{background:var(--good)} .bg-dn{background:var(--bad)}
.sv-item{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(0,.8fr) minmax(0,.6fr);gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.sv-item:first-child{border-top:0}
.sv-item .n{font-variant-numeric:tabular-nums;text-align:right}
.sv-item small{display:block;color:var(--ink3);font-size:11px}
.sv-foot{font-size:12px;color:var(--ink3)}
.sv-foot a{color:var(--ink);font-weight:700}

/* かんたん計算 */
.calc{background:var(--dark);color:#fff}
.calc .kicker{color:var(--cyan)}
.calc .lead{color:var(--dink);margin-bottom:0}
.calc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.calc-box{background:var(--dark2);border:1px solid var(--dline);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:20px}
.calc-box label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;font-size:14px;color:var(--dink);align-items:baseline}
.calc-box output{font-weight:800;font-size:18px;color:#fff;font-variant-numeric:tabular-nums}
.calc-box input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--cyan);height:28px;margin:0}
.calc-out{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.calc-out div{border:1px solid var(--dline);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:2px}
.calc-out span{font-size:12px;color:var(--dink)}
.calc-out b{font-size:24px;font-variant-numeric:tabular-nums}
.calc-out .hi{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.calc-out .hi span{color:var(--accent-ink)}
.calc-note{font-size:12px;color:#8D949B}

@media (prefers-reduced-motion:reduce){.ticker-in{animation:none}.sv-in{animation:none}.stage-tabs button[aria-selected=true].auto i{animation:none}.ring .fg,.sv-bars em,.sv-win em,.sv-why .col i{transition:none}}
@media (max-width:960px){
  .stage-body{grid-template-columns:minmax(0,1fr);min-height:0}
  .stage-tabs{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--dline);padding:8px;scrollbar-width:none}
  .stage-tabs::-webkit-scrollbar{display:none}
  .stage-tabs button{flex:none;padding:8px 12px}
  .stage-tabs button span{display:none}
  .calc-grid{grid-template-columns:minmax(0,1fr);gap:32px}
}
@media (max-width:720px){
  .stage{box-shadow:4px 4px 0 var(--accent);border-radius:14px}
  .stage-view{padding:16px}
  .stage-bar a{display:none}
  .sv-score{grid-template-columns:minmax(0,1fr);justify-items:center;gap:16px}
  .sv-bars{width:100%}
  .sv-kpis,.sv-why{grid-template-columns:minmax(0,1fr)}
  .sv-why .col{display:none}
  .sv-win{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
  .sv-win i{grid-column:1/-1;order:3}
  .sv-item{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
  .sv-item .n{text-align:left}
  .sv-adv .top{flex-direction:column;gap:2px}
  .calc-out{grid-template-columns:minmax(0,1fr)}
  .ticker-in{font-size:13px;gap:28px}
}

/* 入ったときの幕と、文字の立ち上がり */
.intro{position:fixed;inset:0;z-index:100;pointer-events:none;display:block}
.intro i{position:absolute;inset:0;display:block;transform-origin:top;animation:curtain .7s cubic-bezier(.7,0,.2,1) forwards}
.intro .c1{background:var(--dark);animation-delay:.55s;z-index:3}
.intro .c2{background:#fff;animation-delay:.67s;z-index:2}
.intro .c3{background:var(--cyan);animation-delay:.79s;z-index:1}
.intro b{position:absolute;left:50%;top:50%;z-index:4;transform:translate(-50%,-50%);color:#fff;font-size:22px;font-weight:800;display:flex;align-items:center;gap:10px;white-space:nowrap;animation:introLogo 1.1s cubic-bezier(.2,.7,.2,1) forwards}
.intro b .mark{width:30px;height:30px;border-radius:8px}
.intro b .mark::after{left:7px;bottom:7px;width:5px;height:8px;box-shadow:8px -5px 0 var(--dark)}
@keyframes curtain{to{transform:scaleY(0)}}
@keyframes introLogo{0%{opacity:0;transform:translate(-50%,-30%)}30%{opacity:1;transform:translate(-50%,-50%)}60%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-70%)}}
.hero .eyebrow,.hero h1 .ln,.hero-sub,.hero .cta-row,.hero-note,.hero-shot{opacity:0;animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards}
.hero h1 .ln{display:block}
.hero .eyebrow{animation-delay:1.05s}
.hero h1 .ln:nth-child(1){animation-delay:1.15s}
.hero h1 .ln:nth-child(2){animation-delay:1.27s}
.hero h1 .ln:nth-child(3){animation-delay:1.39s}
.hero-sub{animation-delay:1.55s}
.hero .cta-row{animation-delay:1.67s}
.hero-note{animation-delay:1.77s}
.hero-shot{animation:shotin 1s 1.3s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes shotin{from{opacity:0;transform:translateY(40px) rotate(2deg)}to{opacity:1;transform:none}}
.shot-bars em{animation-delay:2s}
@media (prefers-reduced-motion:reduce){.intro{display:none}.hero .eyebrow,.hero h1 .ln,.hero-sub,.hero .cta-row,.hero-note,.hero-shot{opacity:1;animation:none}}

.pl-price.soon{font-size:15px;color:var(--ink3);padding:12px 0}
