/* かんたんWi-Fi LP（最終モック準拠）スマホ最優先 */
:root{
  --navy:#0d3a8c;
  --blue:#1565d8;
  --blue2:#1e88ff;
  --sky:#e6f2ff;
  --sky2:#f3f9ff;
  --red:#e6162d;
  --red2:#ff3b30;
  --green:#14a24a;
  --yellow:#ffe14a;
  --text:#14213d;
  --muted:#5a6b80;
  --line:#d5e3f3;
  --white:#fff;
  --maxw:480px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;color:var(--text);background:#dcecfb;font-size:15px;line-height:1.65;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue)}
button{font-family:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;background:linear-gradient(180deg,#f4f9ff 0%,#e9f4ff 100%);min-height:100vh;position:relative;overflow:hidden}
@media (min-width:481px){.wrap{box-shadow:0 0 40px rgba(13,58,140,.15)}}
fieldset{border:0;min-width:0}
legend{padding:0}

/* header */
.hd{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;box-shadow:0 2px 8px rgba(13,58,140,.08)}
.logo{display:flex;align-items:center;gap:4px;text-decoration:none;color:var(--navy);font-weight:900;font-size:19px;letter-spacing:-.01em;line-height:1;flex:1;min-width:0;white-space:nowrap}
.logo svg{flex:0 0 auto}
.hd-cta{display:inline-flex;align-items:center;gap:4px;background:var(--red);color:#fff;font-weight:800;font-size:13px;text-decoration:none;border-radius:999px;padding:0 14px;min-height:36px;white-space:nowrap;box-shadow:0 2px 0 #a90d1f}
.menu-btn{width:44px;height:44px;border:0;background:none;display:grid;place-items:center;cursor:pointer;color:var(--navy);flex:0 0 44px}
.menu{position:absolute;top:100%;right:8px;background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:6px;display:none;min-width:200px}
.menu.open{display:block}
.menu a{display:block;padding:12px 14px;color:var(--text);text-decoration:none;font-weight:700;border-radius:8px}
.menu a:active{background:var(--sky)}

/* hero */
.hero{position:relative}
.hero img{width:100%;aspect-ratio:439/810}

/* features */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:10px 8px 4px;margin-top:-18px;position:relative;z-index:2}
.feat{background:#fff;border-radius:14px;padding:12px 4px 10px;text-align:center;box-shadow:0 3px 10px rgba(13,58,140,.10)}
.feat svg{width:42px;height:42px;margin:0 auto 4px;display:block}
.feat h3{color:var(--blue);font-size:14.5px;font-weight:900;line-height:1.3}
.feat p{font-size:11.5px;color:#333;line-height:1.45;margin-top:3px;font-weight:500}

/* carriers */
.carriers{margin:8px 8px 0;background:#fff;border-radius:14px;padding:10px 8px 10px;text-align:center;box-shadow:0 3px 10px rgba(13,58,140,.10)}
.carrier-row{display:flex;justify-content:space-around;align-items:center;gap:4px;flex-wrap:nowrap}
.cr{font-weight:900;font-size:17px;letter-spacing:-.02em;white-space:nowrap}
.cr.docomo{color:#cc0033;font-family:Arial,sans-serif}
.cr.au{color:#eb5505;font-style:italic;font-family:Arial,sans-serif;font-size:20px}
.cr.sb{color:#555;font-family:Arial,sans-serif;font-weight:600}
.cr.rk{color:#bf0000;font-family:Arial,sans-serif;font-size:15px}
.carriers p{color:var(--blue);font-weight:900;font-size:15px;margin-top:4px}
.carriers small{display:block;color:var(--muted);font-size:11px;margin-top:2px}

/* scenes */
.scenes{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 8px}
.scene{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 3px 10px rgba(13,58,140,.10)}
.scene img{width:100%;aspect-ratio:2.5/1;object-fit:cover}
.scene p{font-size:12.5px;font-weight:700;text-align:center;padding:7px 4px 9px;line-height:1.5}

/* CTA */
.cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;border:0;border-radius:999px;background:linear-gradient(180deg,#ff3045,#e0102a);color:#fff;font-weight:900;font-size:19px;text-decoration:none;box-shadow:0 5px 0 #a50a1e,0 10px 20px rgba(230,22,45,.3);cursor:pointer;padding:10px 18px;line-height:1.3;letter-spacing:.02em;transition:transform .08s}
.cta:active{transform:translateY(3px);box-shadow:0 2px 0 #a50a1e}
.cta .ar{font-size:22px;font-weight:400}
.cta[disabled]{opacity:.55;cursor:not-allowed}
.cta-box{padding:10px 16px 6px}
.note{font-size:11.5px;color:var(--muted);text-align:center;padding:6px 12px 14px;line-height:1.6}

/* footer */
.ft{background:transparent;text-align:center;padding:8px 12px 100px;font-size:12px;color:var(--muted)}
.ft nav{display:flex;justify-content:center;flex-wrap:wrap;align-items:center}
.ft nav button,.ft nav a{background:none;border:0;color:var(--text);text-decoration:underline;font-size:12.5px;padding:10px 8px;min-height:44px;cursor:pointer}
.ft nav span{color:#aab}
.ft .copy{margin-top:4px;font-size:11px}

/* sticky */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;pointer-events:none;transition:transform .25s,opacity .25s}
.sticky .in{max-width:var(--maxw);margin:0 auto;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.95);box-shadow:0 -4px 14px rgba(0,0,0,.12);pointer-events:auto}
.sticky .cta{min-height:52px;font-size:17px}
.sticky.hide{transform:translateY(120%);opacity:0}

/* modal */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:12px}
.modal.open{display:flex}
.modal .bg{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.modal .box{position:relative;background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden}
.modal .mh{display:flex;align-items:center;justify-content:space-between;padding:10px 6px 10px 16px;border-bottom:1px solid var(--line)}
.modal .mh h2{font-size:16px;font-weight:800}
.modal .x{width:44px;height:44px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:var(--muted)}
.modal .mb{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px;font-size:14px;line-height:1.8;white-space:pre-wrap;word-break:break-word}
body.modal-open{overflow:hidden}

/* ===== apply ===== */
.ap-hero img{width:100%;aspect-ratio:406/195}
.sec-ttl{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--navy);font-weight:900;font-size:18px;padding:14px 8px 8px;white-space:nowrap}
.sec-ttl small{font-size:12px;font-weight:700}
.sec-ttl::before,.sec-ttl::after{content:"";width:14px;height:3px;background:var(--navy);transform:rotate(60deg);border-radius:2px}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 8px}
.pc{background:#fff;border-radius:10px;overflow:hidden;text-align:center;box-shadow:0 3px 10px rgba(13,58,140,.10)}
.pc .h{color:#fff;font-weight:800;font-size:12.5px;padding:5px 2px;white-space:nowrap}
.pc .h b{font-size:15px}
.pc.r .h{background:var(--red)}.pc.b .h{background:var(--blue)}.pc.g .h{background:var(--green)}
.pc .v{padding:6px 2px 8px;font-weight:900;white-space:nowrap}
.pc .v small{font-size:11px}
.pc .v b{font-size:24px;letter-spacing:-.02em}
.pc.r .v{color:var(--red)}.pc.b .v{color:var(--blue)}.pc.g .v{color:var(--green)}

.blk{padding:12px 8px 0}
.blk-ttl{color:var(--navy);font-weight:900;font-size:16.5px;padding:0 6px 6px}
.opt{position:relative;display:block;cursor:pointer;margin-bottom:8px}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt .c{display:block;position:relative;background:#fff;border:2px solid var(--line);border-radius:12px;padding:12px 12px 12px 46px;min-height:60px;box-shadow:0 2px 8px rgba(13,58,140,.06)}
.opt .c::before{content:"";position:absolute;left:14px;top:16px;width:22px;height:22px;border-radius:50%;border:2px solid #9fb3c8;background:#fff}
.opt input:checked + .c::before{border-color:var(--blue);background:radial-gradient(circle,var(--blue) 0 42%,#fff 47%)}
.opt input:focus-visible + .c{outline:3px solid #ffb300;outline-offset:2px}
.opt.reco .c{border-color:var(--red);background:#fff5f6;padding-top:30px}
.opt.reco .c::before{top:34px}
.opt.reco input:checked + .c::before{border-color:var(--red);background:radial-gradient(circle,var(--red) 0 42%,#fff 47%)}
.reco-tag{position:absolute;top:-2px;left:-2px;background:var(--red);color:#fff;font-size:12px;font-weight:800;padding:2px 10px;border-radius:12px 0 12px 0}
.opt .t{display:block;font-weight:800;font-size:14.5px;color:var(--red);padding-right:70px}
.opt .t.k{color:var(--text)}
.opt .pr{display:block;font-weight:900;font-size:15px;padding-right:70px;margin-top:2px}
.opt .pr b{font-size:24px}
.opt .pr small{font-size:11px;font-weight:600}
.opt .zero{display:inline-block;background:var(--red);color:#fff;font-weight:900;font-size:20px;padding:2px 22px;border-radius:6px;transform:skewX(-8deg);margin:6px 0 4px;box-shadow:0 2px 0 #a50a1e}
.opt .zero b{font-size:28px}
.opt .d{display:block;font-size:12px;color:#333;line-height:1.55;padding-right:76px}
.opt .pimg{position:absolute;right:8px;bottom:8px;width:64px}
.chk{display:flex;align-items:flex-start;gap:10px;background:#fff;border:2px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;min-height:56px}
.chk input{width:24px;height:24px;flex:0 0 24px;accent-color:var(--blue);margin-top:1px}
.chk b{font-size:15px}
.chk .rp{color:var(--red);font-weight:900;margin-left:8px}
.chk small{display:block;font-size:12px;color:#444;margin-top:2px}

/* form panel */
.fpanel{margin:16px 6px 0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(13,58,140,.12)}
.fpanel>h2{background:linear-gradient(180deg,#ff3045,#d80f27);color:#fff;text-align:center;font-weight:900;font-size:18px;padding:10px;letter-spacing:.03em}
.form{padding:12px 12px 18px;display:flex;flex-direction:column;gap:18px}
.step-h{display:flex;align-items:center;gap:8px;font-weight:900;font-size:15px;color:var(--navy);margin-bottom:8px}
.step-h .n{flex:0 0 26px;height:26px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:14px}
.row{position:relative;display:block;cursor:pointer;margin-bottom:6px}
.row input{position:absolute;opacity:0;pointer-events:none}
.row .c{display:flex;flex-direction:column;gap:2px;border:1.5px solid var(--line);border-radius:8px;padding:10px 10px 10px 40px;min-height:48px;position:relative;background:#fff;font-size:14px;font-weight:700}
.row .c::before{content:"";position:absolute;left:12px;top:13px;width:18px;height:18px;border-radius:50%;border:2px solid #9fb3c8;background:#fff}
.row input:checked + .c{border-color:var(--blue);background:var(--sky2)}
.row input:checked + .c::before{border-color:var(--blue);background:radial-gradient(circle,var(--blue) 0 42%,#fff 47%)}
.row input:focus-visible + .c{outline:3px solid #ffb300}
.row .c .p{color:var(--red);font-weight:800;font-size:13px}
.row .c .p small{color:var(--muted);font-weight:600;font-size:11px}
.row.hl .c{border-color:#ffb3bb}
.row.hl .c .lbl{color:var(--red)}
.row.hl input:checked + .c{border-color:var(--red);background:#fff5f6}
.row.hl input:checked + .c::before{border-color:var(--red);background:radial-gradient(circle,var(--red) 0 42%,#fff 47%)}
.chkrow{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:8px;padding:10px 12px;min-height:48px;cursor:pointer;font-weight:700;font-size:14px}
.chkrow input{width:22px;height:22px;accent-color:var(--blue);flex:0 0 22px}
.chkrow .p{color:var(--red);font-weight:800;margin-left:auto;font-size:13px}

.field{display:flex;flex-direction:column;gap:4px;width:100%;margin-bottom:10px}
.field label{font-weight:700;font-size:13.5px;color:#333}
.field input,.field select{width:100%;font-size:16px;min-height:48px;padding:10px 12px;border:1.5px solid #c9d6e6;border-radius:8px;background:#fff;color:var(--text);font-family:inherit;-webkit-appearance:none;appearance:none}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235a6b80' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
.field input:focus,.field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,101,216,.18)}
.field .err{display:none;font-size:12.5px;color:var(--red);font-weight:700}
.field.has-err .err{display:block}
.field.has-err input,.field.has-err select{border-color:var(--red);background:#fff6f7}
.zip-btn{margin-top:6px;width:100%;min-height:44px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-weight:800;font-size:14px;cursor:pointer}
.zip-status{font-size:12px;color:var(--blue);min-height:1em}
.exp{display:flex;align-items:center;gap:8px}
.exp select{flex:1}
.exp span{color:var(--muted)}
.cvc-wrap{position:relative}
.cvc-help{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--muted);color:var(--muted);font-size:13px;font-weight:800;margin-left:6px;vertical-align:middle;cursor:help}
.brands{display:flex;gap:6px;margin:2px 0 4px;flex-wrap:wrap}
.brand{font-family:Arial,sans-serif;font-weight:900;font-size:11px;border:1px solid #d5dde8;border-radius:4px;padding:3px 6px;line-height:1;background:#fff}
.brand.v{color:#1a1f71;font-style:italic}.brand.m{color:#eb001b}.brand.j{color:#0b6b3a}.brand.a{color:#2e77bc}.brand.d{color:#0079be}
.secure{font-size:11.5px;color:var(--muted);line-height:1.6}

.summary{border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--sky2)}
.summary h3{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:4px}
.summary dl{display:grid;grid-template-columns:1fr auto;gap:2px 8px;font-size:13px}
.summary dd{text-align:right;font-weight:700}
.summary .total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px dashed #b9cbe0;margin-top:6px;padding-top:6px;font-weight:800}
.summary .total b{font-size:22px;color:var(--red)}
.summary .after{font-size:11.5px;color:var(--muted);margin-top:4px}

.agree{display:flex;justify-content:center;align-items:center;gap:8px;font-size:13.5px;font-weight:700;cursor:pointer;min-height:44px;text-align:left}
.agree input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--blue)}
.agree button{background:none;border:0;color:var(--blue);text-decoration:underline;font:inherit;font-weight:700;padding:0;cursor:pointer}
.agree.has-err{color:var(--red)}
.form-error{display:none;background:#fff0f1;border:2px solid var(--red);color:#b4071c;border-radius:10px;padding:10px 12px;font-weight:700;font-size:14px}
.form-error.show{display:block}
.cta-note{text-align:center;font-size:11.5px;color:var(--muted);margin-top:-8px}

/* faq */
.faq{padding:14px 8px 4px}
.faq h2{color:var(--navy);font-weight:900;font-size:17px;padding:0 6px 8px}
.faq details{background:#fff;border-radius:10px;margin-bottom:6px;box-shadow:0 2px 8px rgba(13,58,140,.08)}
.faq summary{list-style:none;display:flex;align-items:center;gap:8px;padding:12px 40px 12px 12px;font-weight:700;font-size:13.5px;cursor:pointer;position:relative;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{flex:0 0 22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900}
.faq summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--blue);font-size:22px;font-weight:400}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 14px 12px 42px;font-size:13px;color:#333}

.loading{position:fixed;inset:0;z-index:200;background:rgba(255,255,255,.9);display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px;font-weight:700;text-align:center;padding:16px}
.loading.show{display:flex}
.spinner{width:46px;height:46px;border-radius:50%;border:5px solid var(--sky);border-top-color:var(--blue);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.done{padding:36px 16px;text-align:center}
.done .ok{width:72px;height:72px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:36px;margin:0 auto 14px}
.done h1{font-size:21px;font-weight:900;margin-bottom:10px;color:var(--navy)}
.done p{font-size:14.5px;text-align:left}
.done .oid{background:#fff;border-radius:12px;padding:12px;margin:16px 0;font-weight:700;text-align:center}

@media (max-width:400px){
  .logo{font-size:17px}
  .logo svg:first-child{width:28px;height:20px}
  .logo svg:last-child{width:20px;height:17px}
}
@media (max-width:370px){
  .logo{font-size:16px}
  .hd-cta{font-size:12px;padding:0 10px}
  .feat h3{font-size:13px}
  .pc .v b{font-size:20px}
  .cta{font-size:17px}
  .cr{font-size:14px}.cr.au{font-size:17px}.cr.rk{font-size:13px}
}

/* ===== FV（実写＋テキスト） ===== */
.hero{display:none}
.fv{position:relative;background:linear-gradient(180deg,#4aa3f0 0%,#2f86e0 45%,#1d6fd1 100%);overflow:hidden}
.fv-photo{position:relative}
.fv-photo img{width:100%;aspect-ratio:825/369;object-fit:cover;display:block}
.fv-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(180deg,rgba(47,134,224,0),#3a92e6)}
.fv-lead{position:absolute;left:10px;top:12px;color:#fff;font-weight:800;font-size:13.5px;line-height:1.45;transform:rotate(-6deg);text-shadow:0 1px 3px rgba(0,40,110,.8),0 0 8px rgba(0,40,110,.5)}
.fv-copy{position:relative;margin-top:-34px;padding:0 10px 4px;z-index:2}
.ol{text-shadow:2px 0 0 #0b2d6b,-2px 0 0 #0b2d6b,0 2px 0 #0b2d6b,0 -2px 0 #0b2d6b,1.5px 1.5px 0 #0b2d6b,-1.5px -1.5px 0 #0b2d6b,1.5px -1.5px 0 #0b2d6b,-1.5px 1.5px 0 #0b2d6b,0 4px 6px rgba(0,0,0,.35)}
.fv-h1{font-weight:900;line-height:1.15;transform:rotate(-3deg);transform-origin:left center}
.fv-h1 span{display:block}
.fv-h1 .l1{color:#fff;font-size:31px}
.fv-h1 .l2{color:#fff;font-size:26px;margin-top:2px}
.fv-h1 em{font-style:normal;color:#ffe14a;background:linear-gradient(transparent 82%,#ffcf00 82%)}
.fv-h1 .l1,.fv-h1 .l2,.fv-h2 .a,.fv-h2 .b,.fv-sub{text-shadow:2px 0 0 #0b2d6b,-2px 0 0 #0b2d6b,0 2px 0 #0b2d6b,0 -2px 0 #0b2d6b,1.5px 1.5px 0 #0b2d6b,-1.5px -1.5px 0 #0b2d6b,1.5px -1.5px 0 #0b2d6b,-1.5px 1.5px 0 #0b2d6b,0 4px 6px rgba(0,0,0,.35)}
.fv-price{display:flex;align-items:flex-end;margin:8px 0 2px;line-height:1;color:var(--red);font-weight:900;position:relative}
.fv-price .star{flex:0 0 auto;display:grid;place-items:center;width:64px;height:64px;color:#fff;font-size:21px;background:var(--red);clip-path:polygon(50% 0,61% 13%,77% 6%,80% 23%,96% 26%,90% 42%,100% 55%,87% 65%,91% 82%,74% 83%,66% 98%,52% 88%,37% 99%,30% 83%,12% 84%,15% 67%,0 57%,10% 43%,4% 27%,21% 23%,24% 6%,40% 13%);margin-right:2px;align-self:center}
.fv-price b{font-size:84px;letter-spacing:-.04em;text-shadow:3px 0 0 #fff,-3px 0 0 #fff,0 3px 0 #fff,0 -3px 0 #fff,2px 2px 0 #fff,-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,0 6px 10px rgba(0,0,0,.35);font-style:italic}
.fv-price .yen{font-size:42px;margin-bottom:6px;text-shadow:2px 0 0 #fff,-2px 0 0 #fff,0 2px 0 #fff,0 -2px 0 #fff,0 4px 6px rgba(0,0,0,.3)}
.fv-price small{position:absolute;right:6px;bottom:-12px;font-size:14px;color:#c4001c;background:#fff;border-radius:4px;padding:1px 4px}
.fv-h2{margin-top:16px;font-weight:900;line-height:1.1}
.fv-h2 span{display:block}
.fv-h2 .a{color:#fff;font-size:32px}
.fv-h2 .b{color:#fff;font-size:44px;letter-spacing:-.02em;margin-top:2px}
.fv-h2 em{font-style:italic;color:#ffe14a;font-size:54px;margin-left:4px}
.fv-sub{color:#fff;font-weight:800;font-size:15px;margin-top:6px;line-height:1.45}
.fv-road{position:relative;height:250px;margin-top:-30px}
.fv-road .road{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 70%}
.fv-road::before{content:"";position:absolute;left:0;right:0;top:0;height:45%;background:linear-gradient(180deg,#1d6fd1,rgba(29,111,209,0));z-index:1}
.fv-road .prod{position:absolute;z-index:2;width:62%;right:14%;bottom:-6px;transform:rotate(-14deg);filter:drop-shadow(0 14px 16px rgba(0,0,0,.45))}
.bubble{position:absolute;z-index:3;left:8px;bottom:56px;background:#fff;color:var(--blue);font-weight:900;font-size:15px;line-height:1.3;padding:12px 16px;border-radius:50%/45%;transform:rotate(-8deg);box-shadow:0 4px 10px rgba(0,0,0,.2);text-align:center}
.cb{position:absolute;z-index:3;right:6px;bottom:14px;width:118px;height:118px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff4a5c,#d8001f);border:3px solid #fff;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;line-height:1.1;box-shadow:0 6px 14px rgba(0,0,0,.3);text-align:center}
.cb small{font-size:13px}
.cb b{font-size:25px;color:#ffe14a;letter-spacing:-.03em}
.cb b span{font-size:15px}
.cb i{font-style:normal;font-size:11.5px}
.features{margin-top:-6px}

/* scenes ribbons */
.scene .ph{position:relative}
.scene .ph img{aspect-ratio:16/9;object-fit:cover}
.rb{position:absolute;left:0;top:8px;color:#fff;font-weight:900;font-size:13px;padding:3px 12px 3px 8px;border-radius:0 6px 6px 0;box-shadow:0 2px 6px rgba(0,0,0,.25);transform:rotate(-3deg);transform-origin:left}
.rb.red{background:var(--red)}.rb.blue{background:var(--blue)}.rb.green{background:var(--green)}

/* apply hero */
.ap-hero{position:relative;overflow:hidden;min-height:200px;background:#cfe6ff}
.ap-hero img{aspect-ratio:auto}
.ap-hero .road{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 75%}
.ap-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 75%);z-index:1}
.ap-hero .in{position:relative;z-index:2;padding:14px 12px 14px}
.ap-hero h1{color:var(--navy);font-weight:900;font-size:16px;line-height:1.35;text-shadow:0 0 6px #fff,0 0 2px #fff}
.ap-hero h1 b{font-size:24px;display:inline-block;margin-top:2px}
.ports{list-style:none;display:flex;gap:6px;margin-top:10px}
.ports li{width:64px;height:64px;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(13,58,140,.25);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;overflow:hidden;font-size:10.5px;font-weight:800;color:var(--navy);position:relative;padding-bottom:3px}
.ports li img{position:absolute;inset:0 0 16px 0;width:100%;height:calc(100% - 16px);object-fit:cover}
.ports li .ic{font-size:26px;line-height:1;margin-bottom:4px;color:var(--navy)}
.ap-hero .prod{position:absolute;z-index:2;right:-6px;bottom:-10px;width:46%;transform:rotate(-14deg);filter:drop-shadow(0 10px 12px rgba(0,0,0,.4))}
.opt .pimg{width:70px}
@media (max-width:370px){
  .fv-h1 .l1{font-size:27px}.fv-h1 .l2{font-size:23px}
  .fv-price b{font-size:72px}.fv-price .yen{font-size:36px}
  .fv-h2 .a{font-size:28px}.fv-h2 .b{font-size:38px}.fv-h2 em{font-size:46px}
  .cb{width:104px;height:104px}.cb b{font-size:22px}
}
/* 文字フチを強く（paint-order対応ブラウザ） */
.fv-h1 .l1,.fv-h1 .l2,.fv-h2 .a,.fv-h2 .b{-webkit-text-stroke:7px #0b2d6b;paint-order:stroke fill;text-shadow:0 4px 6px rgba(0,0,0,.35)}
.fv-sub{-webkit-text-stroke:4px #0b2d6b;paint-order:stroke fill;text-shadow:0 2px 4px rgba(0,0,0,.3)}
.fv-lead{-webkit-text-stroke:4px #0b4fa8;paint-order:stroke fill}
.fv-price b,.fv-price .yen{-webkit-text-stroke:8px #fff;paint-order:stroke fill;text-shadow:0 6px 10px rgba(0,0,0,.35)}
.fv-price .yen{color:var(--red)}
.fv-price small{position:static;align-self:flex-end;margin:0 0 10px 4px;font-size:13px}
.ports li{width:70px}
.ports li .ic{margin-bottom:2px}
.ports li .ic svg{width:30px;height:30px;display:block}
.ports li span:last-child{font-size:10px;white-space:nowrap}
.fv-road::before{background:linear-gradient(180deg,#2479d8 0%,rgba(36,121,216,0) 100%);height:55%}.fv-road{margin-top:-40px}
/* v4: フォーム内の強調 */
.row .c .first{display:flex;align-items:baseline;gap:2px;color:var(--red);font-weight:900;line-height:1.1;margin-top:2px}
.row .c .first em{font-style:normal;font-size:16px}
.row .c .first b{font-size:34px;letter-spacing:-.5px}
.row .c .first small{font-size:11px;color:var(--muted);font-weight:600;margin-left:4px}
.row .c .after{font-size:11.5px;color:var(--muted);font-weight:600;line-height:1.4}
.row .c .lease{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}
.row .c .lbl.big{font-size:18px;font-weight:900}
.row .c .zero2{display:inline-flex;align-items:baseline;background:var(--red);color:#fff;font-weight:900;font-size:16px;padding:2px 12px 4px;border-radius:6px;transform:skew(-6deg);box-shadow:0 2px 0 #a50d1d;line-height:1.1}
.row .c .zero2 b{font-size:30px;margin:0 2px}
.chkrow .sp-t{display:flex;flex-direction:column;line-height:1.3}
.chkrow .sp-t small{font-size:11px;color:var(--muted);font-weight:600}
