/* ATO社保 LP — v11（みらい社保の構成を参考に再構成。強みブロックは維持） */
:root{
  --navy:#013385;--blue:#1d6fd6;--blue2:#3f8be6;--blue3:#7fb3ef;
  --page:#a9cff7;--sky:#e3f1fd;--orange:#fb6202;--otext:#c24a00;
  --yellow:#ffd93b;--cream:#fffbdc;--ink:#333;--line:#d6e0ec;--green:#06c755;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--page);color:var(--ink);font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;font-weight:700;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

/* ===== レイアウト ===== */
.stage{display:grid;grid-template-columns:1fr minmax(0,560px) 1fr;gap:48px;padding:0 40px;min-height:100vh;overflow-x:clip}
.left,.right{position:sticky;top:0;height:100vh;align-self:start;display:flex;flex-direction:column;justify-content:center}
.left{align-items:center;gap:18px}
.left .logo{width:min(320px,100%)}
.left-il{width:170px}
.qr{width:190px;height:190px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:36px}
.right{gap:16px;max-width:300px}
.feat{background:#fff;border-radius:20px;padding:16px 20px}
.feat.row{display:flex;align-items:center;gap:10px}
.feat.row img{width:84px}
.fbig{font-size:26px;font-weight:900;color:var(--orange);line-height:1.1}.fbig b{font-size:50px;margin:0 2px}
.fbig.n{color:var(--navy)}
.fs{font-size:14px;color:#555}
.fs2{font-size:16px;color:var(--navy);font-weight:900;line-height:1.45}
.col{background:#fff;display:flex;flex-direction:column;overflow:hidden}

/* ボタン（LINE） */
.btn-line{display:block;background:var(--green);color:#fff;text-align:center;text-decoration:none;font-size:20px;font-weight:900;border-radius:999px;padding:14px 30px;box-shadow:0 4px 0 #04913e;white-space:nowrap;letter-spacing:.04em}
.btn-line::before{content:"・ ";}.btn-line::after{content:" ・"}
.btn-line.big{font-size:21px;margin-top:16px}
.spcta{display:none}

/* ===== 共通 ===== */
.sec{position:relative;padding:44px 24px 40px}
.sheet{border-radius:30px 30px 0 0;margin-top:-26px}
.sky{background:var(--sky)}
.kick{text-align:center;font-family:"Klee One",cursive;font-weight:600;color:#555;font-size:16px;letter-spacing:.06em}
.h2{text-align:center;font-size:27px;font-weight:900;line-height:1.4;color:var(--ink);margin:4px 0 18px}
.h2 .bl{color:var(--blue)}
.note{font-size:12px;color:#666;font-weight:500;line-height:1.6;margin-top:12px}
br.sp{display:none}
mark{background:linear-gradient(transparent 58%,var(--yellow) 58%);color:inherit;padding:0 2px}
.em{-webkit-text-emphasis:filled dot var(--yellow);text-emphasis:filled dot var(--yellow);-webkit-text-emphasis-position:over right;text-emphasis-position:over right}

/* ===== FV ===== */
.fv{position:relative;padding:28px 20px 46px;text-align:center;background:radial-gradient(#cfe4fa 1.6px,transparent 1.8px) 0 0/11px 11px,linear-gradient(#f5faff,#fff 60%)}
.tags{display:flex;justify-content:center;align-items:center;gap:6px;font-size:17px;color:var(--blue);font-weight:900}
.tags span{background:var(--blue);color:#fff;border-radius:4px;padding:3px 12px;font-size:18px}
.hero{display:flex;flex-direction:column;align-items:center;width:fit-content;max-width:100%;margin:10px auto 0}
.hero-sub{display:flex;align-items:center;justify-content:center;gap:4px;color:var(--navy);font-weight:900;font-size:26px;white-space:nowrap;margin-top:18px}
.hero-sub .hbox{position:relative;background:var(--orange);color:#fff;border-radius:10px;padding:0 10px 2px;margin:0 4px;font-size:1.2em;line-height:1.3}
.spark{position:absolute;top:-28px;left:50%;width:60px;height:22px;transform:translateX(-50%)}
.spark i{position:absolute;bottom:0;width:5px;height:16px;border-radius:3px;background:#f5b800}
.spark i:nth-child(1){left:8px;transform:rotate(-35deg)}.spark i:nth-child(2){left:27px;height:20px}.spark i:nth-child(3){right:8px;transform:rotate(35deg)}
.hero-sub .sl{display:inline-block;width:5px;height:38px;border-radius:3px;background:var(--orange)}
.hero-sub .sl.l{transform:rotate(-28deg);margin-right:10px}.hero-sub .sl.r{transform:rotate(28deg);margin-left:10px}
.hero-logo-wrap{display:block;width:0;min-width:90%;aspect-ratio:1504/420;overflow:hidden;margin-top:12px}
.hero-logo{display:block;width:132.98%;max-width:none;height:auto;margin:-8.78% 0 0 -16.36%}
.fv-lead{margin-top:14px;font-size:22px;line-height:1.55;color:var(--ink)}
.fv-lead b{color:var(--orange);font-size:1.15em}
.fv-lead .sm{font-size:16px;color:#555}
.tri{width:0;height:0;margin:10px auto 8px;border-left:14px solid transparent;border-right:14px solid transparent;border-top:14px solid var(--blue)}
.fv-box{background:#fff;border:3px solid var(--blue);border-radius:6px;padding:12px 10px 14px;max-width:420px;margin:0 auto;box-shadow:0 3px 0 rgba(29,111,214,.15)}
.fv-box-k{font-size:16px;color:var(--blue);letter-spacing:.1em}
.fv-box-t{font-size:32px;font-weight:900;line-height:1.3;white-space:nowrap}
.fv-box-t em{font-style:normal;color:var(--orange);background:linear-gradient(transparent 64%,var(--yellow) 64%)}
.fv-cal{display:flex;align-items:flex-end;justify-content:center;margin-top:14px}
.fv-ch{width:22%;flex:none}
.cal-il{width:50%;flex:none;margin:0 -2%}
.cal-il figcaption{display:flex;justify-content:center;align-items:center;gap:6px;font-size:14px;margin-top:-2px}
.cal-il figcaption span{white-space:nowrap}
.cal-il .cn,.cal-il .co{color:#fff;border-radius:999px;padding:1px 10px}
.cal-il .cn{background:var(--navy)}.cal-il .co{background:var(--otext)}
.cal-il .ca{color:var(--navy)}

/* ===== 悩み ===== */
.s-worry{background:#fff}
.dots{display:inline-flex;gap:2px;margin:0 2px;vertical-align:2px}
.dots i{font-style:normal;width:1.45em;height:1.45em;border-radius:50%;background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.9em}
.chk{list-style:none;max-width:440px;margin:0 auto}
.chk li{position:relative;padding:9px 0 9px 32px;font-size:15px;color:var(--ink);border-bottom:1px dashed var(--line)}
.chk li::before{content:"";position:absolute;left:2px;top:12px;width:16px;height:16px;border:2px solid var(--otext);border-radius:3px}
.chk li::after{content:"";position:absolute;left:7px;top:9px;width:7px;height:13px;border-right:3px solid var(--otext);border-bottom:3px solid var(--otext);transform:rotate(40deg)}
.chk em{font-style:normal;color:var(--otext)}
.worry-il{width:200px;margin:16px auto 0}
.big-bubble{position:relative;margin:18px auto 0;max-width:440px;background:#fff;border:3px solid var(--blue);border-radius:40px;padding:16px 18px;text-align:center;font-size:20px;line-height:1.55}
.big-bubble b{color:var(--blue);font-size:1.12em}
.big-bubble::after{content:"";position:absolute;bottom:-14px;left:50%;margin-left:-12px;width:22px;height:22px;background:#fff;border-right:3px solid var(--blue);border-bottom:3px solid var(--blue);transform:rotate(45deg)}

/* ===== POINT ===== */
.s-point{padding-top:40px;padding-bottom:64px}
.pt{background:#fff;border:3px solid var(--blue);border-radius:14px;overflow:hidden;margin-bottom:16px;max-width:460px;margin-left:auto;margin-right:auto}
.pt-h{background:var(--blue);color:#fff;text-align:center;font-size:18px;letter-spacing:.06em;padding:6px}
.pt-b{text-align:center;font-size:16px;line-height:1.6;padding:16px 10px}
.pt-b b{color:var(--blue);font-size:1.3em}
.pt2{border-color:var(--blue2)}.pt2 .pt-h{background:var(--blue2)}.pt2 .pt-b b{color:var(--blue2)}
.pt3{border-color:var(--blue3)}.pt3 .pt-h{background:var(--blue3)}.pt3 .pt-b b{color:#3a86d8}

/* ===== 強み（画像1のデザイン・維持） ===== */
.s-strong{background:var(--navy);padding-top:24px}
.bridge{position:relative;margin:-56px auto 22px;max-width:460px;background:var(--yellow);border-radius:999px;padding:12px 16px;text-align:center;color:var(--ink);font-size:18px;line-height:1.4}
.bridge small{display:block;font-family:"Klee One",cursive;font-weight:600;font-size:14px;color:#555}
.bridge b{color:var(--blue)}
.s-strong .h2{color:#fff;font-size:28px;text-align:left;padding-right:80px;margin-bottom:10px}
.s-strong .h2 em{font-style:normal;color:var(--yellow)}
.stamp{display:flex;align-items:center;justify-content:center;border-radius:50%;transform:rotate(-14deg)}
.stamp.sm{position:absolute;right:18px;top:72px;width:70px;height:70px;border:3px solid var(--yellow)}
.stamp.sm span{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;border:1.5px dashed var(--yellow);color:var(--yellow);font-size:15px;font-weight:900}
.big5{position:relative;text-align:center;margin:4px 0 12px}
.big5-l{color:#fff;font-size:18px}
.big5-n{font-size:86px;font-weight:900;color:var(--yellow);line-height:1.15}
.big5-il{position:absolute;right:-8px;bottom:-22px;width:118px}
.memo{position:absolute;left:6px;top:26px;font-family:"Klee One",cursive;font-weight:600;color:#fff;font-size:17px;transform:rotate(-8deg)}
.memo::after{content:"";display:block;width:38px;height:22px;margin:2px 0 0 54px;border-right:2px solid #fff;border-bottom:2px solid #fff;border-radius:0 0 14px 0;transform:rotate(18deg)}
.money{position:relative;z-index:1;background:#fff;border:3px solid var(--orange);border-radius:18px;padding:14px 16px}
.mrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1.5px dashed var(--line)}
.mtag{flex:none;background:var(--navy);color:#fff;font-size:14px;border-radius:999px;padding:2px 10px}
.mtag.o{background:var(--otext)}
.mname{flex:1;font-size:17px;color:var(--ink)}.mname small{font-size:12px;color:#666;font-weight:500}
.mnum{font-size:30px;font-weight:900;color:var(--navy);white-space:nowrap}
.mrow:nth-child(2) .mnum{color:var(--otext)}
.mnum small{font-size:.5em;margin-left:2px}
.mbar{display:flex;height:34px;border-radius:8px;overflow:hidden;margin:14px 0 6px;font-size:13px;color:#fff}
.mbar-a{flex:0 0 65.5%;background:#8fa6cf;display:flex;align-items:center;justify-content:center}
.mbar-b{flex:1;background:var(--orange);display:flex;align-items:center;justify-content:center}
.mcalc{text-align:center;font-size:15px;color:var(--ink);margin-top:6px}
.mcalc b{color:var(--otext);font-size:18px}
.note.light{color:#dbe6ff}

/* ===== 理由 ===== */
.s-why{background:#fff}
.num{color:var(--blue);font-size:1.5em;margin:0 2px}
.rs{position:relative;margin-top:22px;padding-bottom:20px;border-bottom:2px dashed var(--line)}
.rs:last-child{border-bottom:0;padding-bottom:0}
.rs img{width:100%;max-width:420px;height:190px;object-fit:contain;background:var(--sky);border-radius:14px;margin:0 auto;padding:10px}
.rs-n{position:absolute;right:6px;top:176px;font-size:68px;font-weight:900;line-height:1;color:#d7e7fb;font-family:"Zen Maru Gothic",sans-serif}
.rs h3{position:relative;margin-top:12px;font-size:20px;line-height:1.45;color:var(--ink)}
.rs h3 b{color:var(--blue);font-size:1.15em}
.rs p:not(.rs-n){font-size:14px;line-height:1.7;color:#555;font-weight:500;margin-top:6px}
.rs p em{font-style:normal;color:var(--otext);font-weight:700}
.rs-don img{background:#fff1e0}
.rs-don h3 b{color:var(--otext);background:linear-gradient(transparent 62%,var(--yellow) 62%)}

/* ===== 比較 ===== */
.cmp-il{width:150px;margin:0 auto 8px}
.cmp-bar{background:var(--blue);color:#fff;text-align:center;font-size:17px;padding:8px;margin-bottom:12px}
.cmp-bar span{color:var(--yellow)}
.cmp{width:100%;border-collapse:separate;border-spacing:4px 0;font-size:14px;text-align:center}
.cmp th,.cmp td{padding:10px 4px;border-bottom:1px solid #fff;line-height:1.45}
.cmp thead th{background:#e6e8ec;color:#555;border-radius:12px 12px 0 0;font-size:14px}
.cmp thead th:first-child{background:none}
.cmp thead th.on{background:var(--blue);color:#fff}
.cmp tbody th{background:#eef0f3;color:#555;font-size:14px;width:22%}
.cmp td{background:#fff;color:#666;font-weight:500}
.cmp td.on{color:var(--ink);font-weight:700;border-left:3px solid var(--blue);border-right:3px solid var(--blue)}
.cmp tbody tr:last-child td.on{border-bottom:3px solid var(--blue)}
.cmp td.on b{color:var(--blue)}

/* ===== 声 ===== */
.s-voice{background:#fff}
.vc{display:grid;grid-template-columns:70px 1fr;column-gap:12px;align-items:center;margin-bottom:16px}
.vc img{grid-row:1 / span 2;width:70px;height:70px;border-radius:50%;border:3px solid var(--blue);background:#fff;object-fit:cover}
.vc-who{font-size:15px;color:var(--ink)}
.vc-who::before{content:"✓ ";color:var(--blue)}
.vc-say{grid-column:1 / -1;background:var(--cream);border-radius:16px;padding:12px 14px;margin-top:10px;font-size:14px;line-height:1.7;font-weight:500}
.vc-say b{color:var(--blue)}

/* ===== はじめ方 ===== */
.st{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.st li{position:relative;background:#fff;border:3px solid var(--blue);border-radius:16px;padding:24px 6px 14px;text-align:center;font-size:15px;line-height:1.45;color:var(--ink)}
.st li:not(:last-child)::after{content:"";position:absolute;right:-13px;top:50%;margin-top:-7px;border:7px solid transparent;border-left:9px solid var(--blue);border-right:0}
.st-n{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font-size:13px;border-radius:999px;padding:2px 12px}
.last{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px}
.last img{width:200px}
.last p{font-size:20px;font-weight:900;color:var(--ink);line-height:1.3}
.b30{font-size:56px;color:var(--orange);margin:0 2px;vertical-align:-6px}
.foot{background:var(--blue);color:#fff;text-align:center;padding:14px;font-size:14px}

/* ===== 下層ページ ===== */
.doc .sec{min-height:80vh}
.back{font-size:14px;margin-bottom:8px}.back a{color:var(--blue)}
.law{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6;font-weight:500}
.law th,.law td{border-bottom:1px solid #e3e6eb;padding:10px 6px;text-align:left;vertical-align:top}
.law th{width:34%;color:var(--navy);font-weight:700}
.law small{display:block;font-size:12px;color:#777}
.policy{font-size:14px;line-height:1.75;font-weight:500}
.policy h2{font-size:16px;color:var(--navy);margin:18px 0 4px}
.policy .date{margin-top:18px;text-align:right}
.tbd{color:#b84500;background:#fff1e6;border-radius:4px;padding:0 4px;font-size:13px}

/* ===== レスポンシブ ===== */
@media (max-width:1279px){.stage{grid-template-columns:1fr minmax(0,560px)}.right{display:none}}
@media (max-width:1023px){
  .stage{grid-template-columns:minmax(0,560px);justify-content:center;padding:0}
  .left{display:none}
  .spcta{display:block;position:fixed;left:50%;transform:translateX(-50%);bottom:12px;width:min(420px,calc(100% - 32px));z-index:5;font-size:18px;padding:13px;transition:opacity .25s,transform .25s}
  .spcta.hide{opacity:0;pointer-events:none;transform:translate(-50%,20px)}
  .doc{padding-bottom:84px}
}
@media (max-width:600px){
  .sec{padding:38px 16px 34px}
  .sheet{border-radius:24px 24px 0 0;margin-top:-22px}
  .h2{font-size:23px}
  br.sp{display:inline}
  .fv{padding:22px 14px 40px}
  .tags{font-size:15px}.tags span{font-size:15px;padding:2px 9px}
  .hero-sub{font-size:clamp(16px,5.2vw,22px);margin-top:16px}.hero-sub .sl{height:30px}
  .fv-lead{font-size:19px}.fv-lead .sm{font-size:14px}
  .fv-box-t{font-size:clamp(24px,7.6vw,30px)}
  .cal-il{width:56%}.fv-ch{width:22%}
  .cal-il figcaption{font-size:12px;gap:3px}.cal-il .cn,.cal-il .co{padding:1px 7px}
  .chk li{font-size:14px}
  .worry-il{width:150px}
  .big-bubble{font-size:17px;padding:14px 12px}
  .s-point{padding-bottom:56px}
  .pt{margin-bottom:12px}.pt-h{font-size:16px;padding:4px}.pt-b{font-size:15px;padding:12px 8px}
  .bridge{font-size:16px;margin-top:-52px;padding:10px 12px}.bridge small{font-size:13px}
  .s-strong .h2{font-size:20px;padding-right:56px}
  .stamp.sm{width:54px;height:54px;right:12px;top:66px}.stamp.sm span{width:46px;height:46px;font-size:12px}
  .big5-l{font-size:16px}.big5-n{font-size:62px}.big5-il{width:84px;right:-6px;bottom:-16px}
  .memo{font-size:14px;left:0;top:20px}.memo::after{width:26px;height:16px;margin-left:40px}
  .money{padding:12px 12px}.mname{font-size:15px}.mnum{font-size:26px}
  .rs img{height:150px}.rs-n{top:134px;font-size:56px}.rs h3{font-size:18px}
  .cmp-il{width:120px}.cmp-bar{font-size:15px}.cmp{font-size:13.5px}.cmp thead th,.cmp tbody th{font-size:13px}
  .vc{grid-template-columns:58px 1fr}.vc img{width:58px;height:58px}
  .st{gap:12px}.st li{font-size:14px;padding:22px 4px 12px}
  .last img{width:160px}.last p{font-size:17px}.b30{font-size:46px}
  .btn-line.big{font-size:18px;padding:13px 10px}
}
@media (prefers-reduced-motion:reduce){.spcta{transition:none}}
/* 長さ調整（PDFの見た目を保ったまま横並びに） */
.worry-row{display:flex;align-items:center;gap:10px;max-width:460px;margin:14px auto 0}
.worry-row .worry-il{width:38%;margin:0;flex:none}
.worry-row .big-bubble{margin:0;flex:1}
.worry-row .big-bubble::after{left:-12px;top:50%;bottom:auto;margin:-11px 0 0;border-right:0;border-bottom:3px solid var(--blue);border-left:3px solid var(--blue);transform:rotate(45deg)}
.cmp-head{display:flex;align-items:flex-end;gap:8px;margin-bottom:12px}
.cmp-head .cmp-il{width:110px;margin:0;flex:none}
.cmp-head .cmp-bar{flex:1;margin:0;border-radius:10px;line-height:1.45}
.rs{display:grid;grid-template-columns:120px 1fr;column-gap:14px;align-items:center;margin-top:16px;padding-bottom:16px}
.rs img{grid-row:1 / span 3;width:120px;height:120px;padding:6px;margin:0}
.rs-n{position:static;grid-column:2;font-size:40px;color:#c9def8}
.rs h3{grid-column:2;margin-top:0}
.rs p:not(.rs-n){grid-column:1 / -1;margin-top:8px}
.vc{grid-template-columns:64px 1fr;align-items:start;row-gap:0}
.vc img{grid-row:1 / span 2}
.vc-say{grid-column:2;margin-top:4px}
@media (max-width:600px){
  .worry-row .worry-il{width:34%}
  .big-bubble{font-size:16px;padding:12px 10px;border-radius:24px}
  .s-point{padding-top:34px;padding-bottom:52px}
  .pt-b{padding:9px 6px;font-size:14px;line-height:1.55}
  .pt{margin-bottom:10px}
  .rs{grid-template-columns:92px 1fr;column-gap:12px;margin-top:12px;padding-bottom:12px}
  .rs img{width:92px;height:92px}
  .rs-n{font-size:30px}
  .rs h3{font-size:16px}
  .rs p:not(.rs-n){margin-top:6px}
  .cmp-head .cmp-il{width:84px}
  .vc{grid-template-columns:52px 1fr;column-gap:10px;margin-bottom:12px}.vc img{width:52px;height:52px}
  .vc-say{padding:10px 12px}
  .fv-cal{margin-top:10px}
  .chk li{padding:7px 0 7px 30px}.chk li::before{top:10px}.chk li::after{top:7px}
}
/* 長さ調整2 */
.rs p:not(.rs-n){grid-column:2}
.rs img{grid-row:1 / span 3}
@media (max-width:600px){
  .rs{align-items:start}
  .rs h3{font-size:15.5px;line-height:1.4}
  .rs p:not(.rs-n){font-size:13.5px;line-height:1.6;margin-top:4px}
  .rs-n{font-size:26px;line-height:1}
  .pt{display:grid;grid-template-columns:62px 1fr;align-items:stretch;border-radius:12px}
  .pt-h{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;line-height:1.1;padding:4px 2px;letter-spacing:.02em}
  .pt-b{text-align:left;padding:9px 10px;font-size:14px}
  .pt-b br{display:none}
  .pt-b b{font-size:1.15em}
}
.ptn{display:inline-block;margin-left:6px}@media (max-width:600px){.ptn{display:block;margin:2px 0 0;font-size:22px;font-weight:900}}
@media (max-width:600px){
  .sec{padding:32px 16px 28px}
  .fv-lead{margin-top:10px}
  .tri{margin:8px auto 6px}
  .fv-box{padding:8px 8px 10px}
  .rs{grid-template-columns:80px 1fr}.rs img{width:80px;height:80px}
  .cmp th,.cmp td{padding:7px 3px}
  .vc{margin-bottom:10px}
  .vc-say{line-height:1.6}
  .h2{margin-bottom:14px}
  .worry-row{margin-top:10px}
}
/* v12: スマホのヘッダー・悩みの吹き出し */
.sp-head{display:none}
@media (max-width:1023px){
  .sp-head{display:flex;align-items:center;justify-content:center;background:#fff;height:58px;border-bottom:1px solid #e3ebf5;position:relative;z-index:2}
  .sp-head img{height:34px;width:auto}
  .fv{border-radius:26px 26px 0 0;margin-top:0;padding-top:18px}
}
.worry-il2{width:200px;margin:12px auto 0}
.big-bubble2{position:relative;max-width:440px;margin:14px auto 6px;background:#fff;border:3px solid var(--blue);border-radius:48px;padding:16px 18px 18px;text-align:center;font-size:19px;line-height:1.6;color:var(--ink)}
.big-bubble2 b{color:var(--blue);font-size:1.12em}
.bb-logo{display:inline-block;vertical-align:-6px;width:118px;aspect-ratio:1504/420;overflow:hidden;margin:0 4px 0 0}
.bb-logo img{width:132.98%;max-width:none;margin:-8.78% 0 0 -16.36%}
.big-bubble2::after{content:"";position:absolute;bottom:-13px;left:50%;margin-left:-11px;width:20px;height:20px;background:#fff;border-right:3px solid var(--blue);border-bottom:3px solid var(--blue);transform:rotate(45deg)}
@media (max-width:600px){
  .worry-il2{width:150px;margin-top:8px}
  .big-bubble2{font-size:17px;padding:12px 12px 14px;border-radius:36px}
  .bb-logo{width:100px;vertical-align:-5px}
}
@media (max-width:600px){
  .sp-head{height:52px}.sp-head img{height:30px}
  .worry-il2{width:128px;margin-top:4px}
  .big-bubble2{margin-top:10px}
  .cal-il{width:52%}.fv-ch{width:21%}
  .fv{padding-bottom:34px}
  .hero{margin-top:2px}
  .chk li{padding:6px 0 6px 30px}.chk li::before{top:9px}.chk li::after{top:6px}
  .s-point .note{margin-top:6px}
  .vc-say{padding:9px 12px}
}
@media (max-width:600px){.rs{margin-top:10px;padding-bottom:10px}.s-cmp .note,.s-strong .note{margin-top:8px}}
@media (max-width:1023px){.fv{border-radius:0;padding-top:22px}}
/* v13 */
.limit-bar{background:var(--orange);color:#fff;text-align:center;font-size:16px;font-weight:900;letter-spacing:.06em;padding:8px 10px;line-height:1.3}
.limit-bar b{font-size:24px;margin:0 2px;vertical-align:-2px;color:#fff}
.h2-logo{display:inline-block;vertical-align:-7px;width:150px;aspect-ratio:1504/420;overflow:hidden;margin-right:2px}
.h2-logo img{width:132.98%;max-width:none;margin:-8.78% 0 0 -16.36%}
@media (max-width:600px){.limit-bar{font-size:14px;padding:6px 8px}.limit-bar b{font-size:20px}.h2-logo{width:118px;vertical-align:-5px}.cmp td{font-size:13px}}
@media (max-width:600px){.h2-cmp{font-size:clamp(17px,5.6vw,22px);white-space:nowrap}}
.gross{display:block;margin-top:4px;font-size:12px;color:#666;font-weight:500;line-height:1.55}
@media (max-width:600px){.sec{padding-top:29px;padding-bottom:26px}.rs{margin-top:8px}}
/* ===== v14: スマホ全体を拡大・本文16pxに統一（社内フィードバック） ===== */
@media (max-width:600px){
  /* 本文 16px に統一 */
  .fv-lead .sm,.chk li,.pt-b,.rs p:not(.rs-n),.cmp td,.cmp th,.cmp thead th,.cmp tbody th,.vc-say,.vc-who,.st li,.mcalc,.ba-card li{font-size:16px;line-height:1.7}
  .note,.note.light,.gross{font-size:13px}
  /* 見出し・強調 */
  .limit-bar{font-size:16px;padding:9px 8px}.limit-bar b{font-size:24px}
  .kick{font-size:16px}
  .h2{font-size:27px;margin-bottom:18px}
  .h2-cmp{font-size:clamp(20px,6.2vw,24px)}
  .hero-sub{font-size:clamp(18px,5.8vw,24px)}
  .fv-lead{font-size:22px}
  .fv-box-t{font-size:clamp(27px,8.4vw,33px)}.fv-box-k{font-size:17px}
  .big-bubble2{font-size:20px;padding:16px 14px 18px}
  .bb-logo{width:118px}
  .pt-b{padding:12px 12px}.pt-b b{font-size:1.18em}
  .pt{grid-template-columns:70px 1fr}.pt-h{font-size:13px}.ptn{font-size:26px}
  .bridge{font-size:18px}.bridge small{font-size:14px}
  .s-strong .h2{font-size:23px}
  .big5-l{font-size:18px}.big5-n{font-size:70px}
  .mname{font-size:16px}.mnum{font-size:28px}.mtag{font-size:14px}
  .mbar{font-size:14px;height:38px}
  .rs h3{font-size:19px}.rs-n{font-size:32px}
  .cmp-bar{font-size:17px}
  .st li{font-size:16px;padding:26px 4px 14px}.st-n{font-size:14px}
  .last p{font-size:20px}.b30{font-size:54px}
  .spcta,.btn-line.big{font-size:19px;padding:15px 10px}
  /* 余白・絵を大きく */
  .sec{padding:44px 18px 40px}
  .sheet{margin-top:-24px}
  .fv{padding:24px 16px 46px}
  .cal-il{width:58%}.fv-ch{width:22%}
  .cal-il figcaption{font-size:14px}
  .worry-il2{width:180px;margin-top:10px}
  .chk li{padding:10px 0 10px 32px}.chk li::before{top:15px;width:18px;height:18px}.chk li::after{top:11px;left:8px}
  .rs{grid-template-columns:100px 1fr;column-gap:14px;margin-top:16px;padding-bottom:16px}
  .rs img{width:100px;height:100px}
  .cmp-head .cmp-il{width:100px}
  .cmp th,.cmp td{padding:11px 4px}
  .vc{grid-template-columns:62px 1fr;margin-bottom:16px}.vc img{width:62px;height:62px}
  .vc-say{padding:12px 14px}
  .last img{width:190px}
  .pt{margin-bottom:14px}
}
@media (max-width:600px){.fv-box-t{font-size:clamp(22px,8.2vw,33px)}}
@media (max-width:600px){.s-strong .h2{font-size:21px;padding-right:52px}.h2-cmp{font-size:clamp(17px,5.3vw,21px)}}

/* v15: 理由（写真＋大きな番号） */
.s-why .h2{font-size:34px;line-height:1.35;margin-bottom:8px}
.h2-logo{width:220px;vertical-align:-10px}
.s-why .num{font-size:1.45em}
.rz{margin-top:30px}
.rz-img{width:100%;aspect-ratio:5/3;object-fit:cover;border-radius:12px;background:var(--sky)}
.rz-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}
.rz-t{flex:1}
.rz-sm{font-size:20px;color:#444}
.rz-big{font-size:28px;font-weight:900;color:var(--blue);line-height:1.35}
.rz-n{font-family:"Zen Maru Gothic",sans-serif;font-size:96px;font-weight:900;line-height:.9;color:#d6e6fb;flex:none}
.rz.rev .rz-head{justify-content:flex-start}
.rz.rev .rz-n{margin-right:8px}
.rz-txt{margin-top:16px;font-size:16px;line-height:1.85;color:#555;font-weight:500}
.rz-txt em{font-style:normal;color:var(--otext);font-weight:700}
.rz .gross{margin-top:6px}
.mk2{background:linear-gradient(transparent 62%,var(--yellow) 62%);color:var(--otext)}
@media (max-width:600px){
  .s-why .h2{font-size:30px}
  .h2-logo{width:190px;vertical-align:-9px}
  .rz{margin-top:26px}
  .rz-sm{font-size:18px}.rz-big{font-size:25px}.rz-n{font-size:78px}
  .rz-txt{font-size:16px;margin-top:12px}
}

/* ===== v16 ===== */
.fv-lead .sm{display:inline-block;line-height:1.5}
.fv-box-k{margin-bottom:4px}
.fv-box-k span{display:inline-block;background:var(--orange);color:#fff;border-radius:999px;padding:2px 16px;font-size:15px;letter-spacing:.12em}
.fv-box-t{white-space:normal;line-height:1.35}
.h2-one{white-space:nowrap}
.pt-b.one{white-space:nowrap}
/* 強み：メリハリ */
.s-strong .h2{text-align:center;padding-right:0;margin-bottom:6px}
.big5{margin:14px auto 18px;padding:14px 0 6px;max-width:440px;border-top:2px solid rgba(255,255,255,.25);border-bottom:2px solid rgba(255,255,255,.25)}
.big5-l{font-size:17px;color:#dbe6ff}
.big5-n{color:var(--yellow);font-size:58px;line-height:1.1}
.big5-n .b5{font-size:1.6em;margin:0 2px;vertical-align:-4px}
.big5-il{right:-2px;bottom:-6px;width:96px}
.s-strong .note.light{font-size:12px;color:#b9cbef}
/* ステップ：縦のタイムライン */
.tl{list-style:none;position:relative;max-width:460px;margin:6px auto 0}
.tl::before{content:"";position:absolute;left:31px;top:30px;bottom:30px;border-left:3px dotted var(--blue)}
.tl li{position:relative;display:flex;align-items:center;gap:14px;margin-bottom:14px}
.tl-n{position:relative;z-index:1;flex:none;width:64px;height:64px;border-radius:50%;background:var(--blue);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:26px;font-weight:900;line-height:1;box-shadow:0 0 0 5px var(--sky)}
.tl-n small{font-size:11px;letter-spacing:.08em;margin-bottom:2px}
.tl-c{flex:1;background:#fff;border-radius:16px;padding:14px 16px;position:relative;box-shadow:0 3px 0 rgba(29,111,214,.12)}
.tl-c::before{content:"";position:absolute;left:-9px;top:50%;margin-top:-9px;border:9px solid transparent;border-right:10px solid #fff;border-left:0}
.tl-c b{display:block;font-size:18px;color:var(--ink)}
.tl-c span{display:block;font-size:15px;color:#666;font-weight:500;margin-top:2px;line-height:1.5}
.tl li.goal .tl-n{background:var(--orange)}
.tl li.goal .tl-c{border:3px solid var(--orange)}
.tl li.goal .tl-c::before{left:-12px;border-right-color:var(--orange)}
@media (max-width:600px){
  .fv-lead .sm{font-size:16px}
  .fv-box-t{font-size:clamp(24px,7.4vw,31px)}
  .h2-one{font-size:clamp(19px,5.9vw,26px)}
  .h2-one .dots i{width:1.4em;height:1.4em}
  .pt-b.one{font-size:clamp(12.5px,3.7vw,16px);padding:14px 8px}
  .s-strong .h2{font-size:clamp(19px,5.6vw,23px)}
  .big5-n{font-size:46px}
  .big5-il{width:78px}
  .tl-c b{font-size:17px}.tl-c span{font-size:14px}
  .tl-n{width:58px;height:58px;font-size:24px}.tl::before{left:28px}
}
@media (max-width:340px){.pt-b.one{white-space:normal}}

/* 2026-11-14：FVの余白・業界初・電話面談の案内 */
.fv-box{max-width:none;padding:18px 12px 20px;border-radius:12px}
.fv-box-k{margin-bottom:10px}
.fv-box-k span{font-size:30px;font-weight:900;line-height:1.35;letter-spacing:.12em;padding:5px 28px;background:var(--otext)}
.fv-box-t{font-size:42px;line-height:1.4}
.fv-lead .sm{font-size:19px}
.fv-interview{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 .35em;margin:22px auto 0;padding:14px 8px 16px;border-top:2px solid #efb087;border-bottom:2px solid #efb087;background:#fff3e7;color:#a53e00;line-height:1.5}
.fv-interview span{font-size:20px;white-space:nowrap}
.fv-interview strong{font-size:32px;font-weight:900;white-space:nowrap;text-decoration:underline;text-decoration-color:#f5bc49;text-decoration-thickness:4px;text-underline-offset:6px}
@media(max-width:600px){
  .fv{padding-left:12px;padding-right:12px}
  .fv-box{padding:14px 8px 16px}
  .fv-box-k span{font-size:clamp(26px,7.7vw,32px);padding:4px 26px}
  .fv-box-t{font-size:clamp(27px,8.5vw,38px)}
  .fv-lead .sm{font-size:clamp(16px,4.6vw,19px)}
  .fv-interview{gap:2px .3em;margin-top:20px;padding:12px 6px 16px}
  .fv-interview span{font-size:18px}
  .fv-interview strong{font-size:clamp(25px,7.2vw,31px)}
}

/* 業界初：青枠いっぱいのオレンジ見出し帯 */
.fv-box{padding:0 0 20px;overflow:hidden;border-radius:14px;box-shadow:0 5px 0 #d8e7fa}
.fv-box-k{margin:0 0 16px;padding:0;border-bottom:3px solid var(--blue)}
.fv-box-k span{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;padding:12px 16px;background:var(--orange);border-radius:0;color:#fff;font-size:34px;line-height:1.3;letter-spacing:.2em;text-indent:.2em;text-shadow:0 2px 0 #a83e00}
.fv-box-k span::before,.fv-box-k span::after{content:"";flex:1;max-width:82px;height:6px;border-top:2px solid #fff;border-bottom:2px solid #fff;opacity:.85}
.fv-box-t{padding:0 8px}
@media(max-width:600px){
  .fv-box{padding:0 0 18px}
  .fv-box-k{margin-bottom:14px}
  .fv-box-k span{font-size:clamp(29px,8.2vw,36px);padding:12px 14px;gap:14px}
}

/* FVのリードを拡大、業界初の枠線をオレンジに統一 */
.fv-lead{font-size:29px;line-height:1.55;letter-spacing:-.035em}
.fv-lead .sm{font-size:24px;line-height:1.5;letter-spacing:0}
.fv-box{border-color:var(--orange);box-shadow:none}
.fv-box-k{border-bottom-color:var(--orange)}
@media(max-width:600px){
  .fv-lead{font-size:clamp(22px,6.9vw,34px);letter-spacing:-.045em}
  .fv-lead .sm{font-size:clamp(19px,5.65vw,28px);letter-spacing:-.025em}
}

/* 長いPOINT1も2行で読めるよう、番号を上の帯へ */
.s-point .pt{display:block}
.s-point .pt-h{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;padding:6px;font-size:15px}
.s-point .ptn{display:inline-block;margin:0;font-size:22px}
.s-point .pt-b{text-align:center}
.pt-two-lines span{display:block;white-space:nowrap}
@media(max-width:600px){
  .s-point .pt-two-lines{font-size:clamp(14px,4.1vw,18px);padding:14px 6px;line-height:1.7}
}

.pt-affiliation{color:var(--navy);font-size:1.1em;font-weight:900;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed var(--line)}

/* 3つのPOINTの強さとカードの高さを統一 */
.s-point .pt{border-color:var(--blue)}
.s-point .pt-h{background:var(--blue)}
.s-point .pt-b b{color:var(--blue)}
.s-point .pt-b{min-height:142px;display:flex;flex-direction:column;justify-content:center}
@media(max-width:600px){.s-point .pt-b{min-height:138px}}

/* POINT2・3も見出し＋本文2行へ */
.s-point .pt-affiliation{font-size:1em}
.s-point .pt-b{min-height:150px}
@media(max-width:600px){
  .s-point .pt-two-lines{font-size:clamp(13px,3.85vw,17px)}
  .s-point .pt-b{min-height:148px}
}

/* 額面と手取り：白い説明面と青・オレンジの対比 */
.s-pay-guide{background:#fff;padding:44px 24px 58px}
.pay-kicker{color:var(--navy);font-size:15px;text-align:center;letter-spacing:.08em}
.s-pay-guide h2{text-align:center;font-size:30px;line-height:1.45;margin:8px 0 24px;color:var(--navy)}
.s-pay-guide h2 span{font-size:.8em;color:var(--ink)}
.pay-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pay-compare div{padding:16px 6px;background:#edf5ff;border-top:5px solid var(--blue);text-align:center}
.pay-compare div+div{background:#fff2e7;border-color:var(--orange)}
.pay-compare dt{font-size:28px;color:var(--navy);font-weight:900;margin-bottom:4px}
.pay-compare div+div dt{color:var(--otext)}
.pay-compare dd{font-size:16px;line-height:1.65;font-weight:500}
.pay-compare strong{font-weight:900}
.pay-example{margin:24px 0 0;text-align:center;padding:20px 8px;border:2px solid var(--line);border-radius:12px;font-size:16px}
.pay-amount{color:var(--navy);font-size:42px;line-height:1.4;font-weight:900;white-space:nowrap}
.pay-amount span{font-size:16px;margin-right:8px}.pay-amount small{font-size:20px}
.pay-deduction{margin-top:12px;padding-top:12px;border-top:1px dashed #b1c3da;font-size:14px;font-weight:500}
.pay-result{margin-top:10px;color:var(--otext);font-size:21px;font-weight:900}
.pay-result::before{content:"↓";display:block;color:var(--blue);font-size:26px;line-height:1.2;margin-bottom:6px}
.pay-takeaway{margin-top:20px;text-align:center;font-size:17px;line-height:1.8}
.pay-takeaway strong{font-size:22px;color:var(--otext);background:linear-gradient(transparent 65%,#fff0ae 65%)}
.s-pay-guide .note{font-size:14px}
/* 宣言：大きな言葉と余白で伝える紺の面 */
.s-promise{background:var(--navy);color:#fff;padding:44px 30px 54px;border-top:7px solid var(--orange)}
.promise-kicker{font-size:17px;letter-spacing:.12em;margin-bottom:22px}
.s-promise h2{font-size:64px;line-height:1.16;letter-spacing:.04em;font-weight:900}
.s-promise h2 span{color:var(--yellow)}
.promise-lead{margin-top:20px;font-size:25px;line-height:1.6}
.promise-body{margin-top:26px;border-top:1px solid #6f91c2;padding-top:24px;font-size:17px;line-height:1.9;font-weight:500}
.promise-body p+p{margin-top:20px}
.promise-body strong{font-size:21px;font-weight:900;color:var(--yellow)}
.promise-sign{width:150px;background:#fff;border-radius:6px;margin:28px 0 0 auto;padding:5px 8px}
@media(max-width:600px){
 .s-pay-guide{padding:34px 18px 50px}
 .s-pay-guide h2{font-size:clamp(24px,6.8vw,30px)}
 .pay-compare{gap:8px}.pay-compare dd{font-size:14px}.pay-compare dt{font-size:26px}
 .pay-amount{font-size:38px}.pay-takeaway{font-size:15px}.pay-takeaway strong{font-size:20px}
 .s-promise{padding:36px 24px 48px}.s-promise h2{font-size:clamp(48px,14vw,64px)}
 .promise-lead{font-size:23px}.promise-body{font-size:16px}.promise-body strong{font-size:19px}
}

/* 新設セクションのデザイン仕上げ */
.s-pay-guide{position:relative;background:repeating-linear-gradient(0deg,transparent 0,transparent 27px,#e7eff8 28px),#f6faff;padding-top:46px;padding-bottom:64px}
.pay-kicker{width:fit-content;margin:0 auto 14px;background:var(--navy);color:#fff;border-radius:4px;padding:5px 16px;font-size:14px;transform:rotate(-3deg);box-shadow:4px 4px 0 #c5ddf6}
.s-pay-guide h2{margin-bottom:26px;letter-spacing:.025em}
.s-pay-guide h2 span{display:inline-block;position:relative;margin-top:6px;padding:0 8px;background:linear-gradient(transparent 62%,#ffe290 62%)}
.pay-compare{gap:14px;align-items:stretch}
.pay-compare div{position:relative;background:#fff;border:2px solid #9cc2f1;border-top:6px solid var(--blue);border-radius:12px;padding:20px 5px 18px;box-shadow:0 5px 0 #dce9f8}
.pay-compare div+div{border:2px solid #f1b58c;border-top:6px solid var(--orange);background:#fffaf5;box-shadow:0 5px 0 #f8e5d7}
.pay-compare dt{font-size:30px;letter-spacing:.08em}
.pay-compare dd{padding-top:8px;border-top:1px dashed #cbd9e9;margin-top:8px}
.pay-example{position:relative;margin-top:32px;background:#fff;border:0;border-top:5px solid var(--navy);border-bottom:2px dashed #a4b8d0;border-radius:0;padding:25px 12px 24px;box-shadow:0 5px 18px #163d6d12}
.pay-example::before,.pay-example::after{content:"";position:absolute;top:calc(50% - 10px);width:18px;height:18px;background:#f6faff;border-radius:50%}
.pay-example::before{left:-9px}.pay-example::after{right:-9px}
.pay-example>p:first-child{font-size:14px;letter-spacing:.1em;color:#506781}
.pay-amount{font-size:48px;letter-spacing:-.035em;margin:4px 0}
.pay-amount span{display:inline-block;background:#e9f1fc;border-radius:4px;padding:2px 7px;vertical-align:7px;font-size:14px;letter-spacing:0}
.pay-deduction{margin-top:16px;padding:16px 4px 0;color:#53667c}
.pay-result{margin:14px auto 0;width:fit-content;color:var(--otext);font-size:22px}
.pay-result::before{width:36px;height:36px;border-radius:50%;background:#eaf2fc;margin:0 auto 10px;line-height:34px}
.pay-takeaway{position:relative;background:#fff4d2;border-left:5px solid #e9b630;text-align:left;padding:17px 12px;margin-top:26px;box-shadow:3px 3px 0 #e7d8a5}
.pay-takeaway strong{background:none;color:var(--navy);font-size:23px}
.s-pay-guide .note{margin-top:18px;color:#53667c}
.s-promise{position:relative;isolation:isolate;overflow:hidden;padding:48px 34px 56px;background:var(--navy);border-top:0}
.s-promise::before{content:"";position:absolute;z-index:-1;width:330px;height:330px;right:-200px;top:80px;border:1px solid #42649e;border-radius:50%;box-shadow:0 0 0 38px #ffffff06,0 0 0 39px #42649e,0 0 0 78px #ffffff04,0 0 0 79px #42649e}
.promise-kicker{display:flex;align-items:center;gap:12px;font-size:15px;letter-spacing:.12em;margin-bottom:30px;color:#dbe9ff}
.promise-kicker::before{content:"";width:30px;height:3px;background:var(--orange);flex:none}
.s-promise h2{position:relative;font-size:72px;line-height:1.2;letter-spacing:.03em;padding-left:18px;border-left:5px solid var(--orange)}
.s-promise h2 span{display:inline-block;position:relative;color:#ffe068}
.promise-lead{font-size:28px;font-weight:900;line-height:1.6;margin-top:26px;letter-spacing:.025em}
.promise-body{border:0;margin-top:30px;padding-top:0;position:relative;line-height:2}
.promise-body p:first-child{padding:22px 0;border-top:1px solid #5473a6;border-bottom:1px solid #5473a6;color:#edf3ff}
.promise-body p+p{margin-top:28px}
.promise-body p:nth-child(2){padding:18px 14px 18px 18px;border:1px solid #9aaed0;border-left:4px solid #ffe068;background:#ffffff08}
.promise-body strong{font-size:23px;line-height:1.8;color:#ffe068}
.promise-body p:last-child{color:#dbe9ff;font-size:16px}
.promise-sign{border-radius:0;width:154px;margin-top:28px;padding:6px 10px;transform:rotate(-3deg);box-shadow:5px 5px 0 #4a6da9}
@media(max-width:600px){
 .s-pay-guide{padding:40px 20px 56px}
 .s-pay-guide h2{font-size:clamp(23px,6.6vw,30px)}
 .pay-compare{gap:12px}.pay-compare dt{font-size:28px}
 .pay-amount{font-size:42px}.pay-amount span{vertical-align:6px}
 .pay-result{font-size:clamp(18px,5.4vw,22px)}
 .pay-takeaway{font-size:14px;padding:16px 9px}.pay-takeaway strong{font-size:clamp(18px,5.3vw,23px)}
 .s-promise{padding:40px 26px 54px}
 .s-promise h2{font-size:clamp(48px,14.5vw,66px);padding-left:14px}
 .promise-lead{font-size:clamp(22px,6.2vw,28px)}
 .promise-body strong{font-size:clamp(18px,5.2vw,23px)}
}

/* 既存LPの明るいトーンへ統一 */
.pay-kicker{transform:none}
.s-promise{background:var(--sky);color:var(--ink);padding:40px 26px 52px;text-align:center;border-top:5px solid var(--blue)}
.s-promise::before{display:none}
.promise-kicker{display:block;color:var(--navy);font-size:17px;letter-spacing:.08em;margin:0 0 18px}
.promise-kicker::before{display:none}
.s-promise h2{border:0;padding:0;color:var(--navy);font-size:clamp(38px,10vw,48px);line-height:1.4;letter-spacing:0}
.s-promise h2 br{display:none}
.s-promise h2 span{color:var(--navy)}
.promise-lead{font-size:26px;line-height:1.55;margin:10px 0 26px;color:var(--ink)}
.promise-body{margin:0 auto;padding:24px 16px;background:#fff;border-radius:22px;font-size:17px;line-height:1.9}
.promise-body p:first-child{padding:0;border:0;color:var(--ink)}
.promise-body p+p{margin-top:22px}
.promise-body p:nth-child(2){padding:0;border:0;background:none}
.promise-body strong{color:var(--navy);font-size:22px;background:linear-gradient(transparent 68%,#fff0ae 68%)}
.promise-body p:last-child{color:#555;font-size:16px}
.promise-sign{width:154px;margin:24px auto 0;padding:0;background:none;transform:none;box-shadow:none;border-radius:0}
@media(max-width:600px){
 .s-promise{padding:34px 20px 46px}
 .s-promise h2{font-size:clamp(33px,9vw,44px)}
 .promise-lead{font-size:clamp(22px,6.1vw,26px)}
 .promise-body{padding:22px 10px;font-size:16px}
 .promise-body strong{font-size:clamp(18px,5.2vw,22px)}
}

/* FV対象者ラベルとコンパクトな業界初ボックス */
.fv-audience{position:relative;width:fit-content;max-width:100%;margin:0 auto 18px;padding:8px 16px;background:var(--navy);color:#fff;font-size:21px;font-weight:900;line-height:1.5;letter-spacing:.02em;border-radius:6px;border-bottom:4px solid #ffcf65}
.fv-audience::after{content:"";position:absolute;bottom:-12px;left:calc(50% - 8px);border-top:9px solid var(--navy);border-left:8px solid transparent;border-right:8px solid transparent}
.fv-box{width:80%;margin-left:auto;margin-right:auto;padding-bottom:16px}
.fv-box-k span{font-size:28px;letter-spacing:.08em;gap:10px;padding:10px 8px;text-indent:.08em}
.fv-box-k span::before,.fv-box-k span::after{max-width:40px}
.fv-box-t{font-size:35px;line-height:1.45;padding:0 4px}
@media(max-width:600px){
 .fv-audience{font-size:clamp(16px,4.6vw,21px);padding:7px 12px;margin-bottom:20px}
 .fv-box{padding-bottom:14px}
 .fv-box-k{margin-bottom:12px}
 .fv-box-k span{font-size:clamp(22px,6.5vw,29px);padding:10px 6px;gap:8px}
 .fv-box-t{font-size:clamp(23px,7vw,32px)}
}

/* 対象者表記：参考画像の並び、ATOの紺色 */
.fv-audience{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:none;padding:0;border:0;border-radius:0;background:none;color:var(--navy);font-size:22px;letter-spacing:.02em;line-height:1.4;margin-bottom:18px}
.fv-audience::after{display:none}
.fv-audience>span{display:block;white-space:nowrap;background:var(--navy);color:#fff;border-radius:5px;padding:8px 10px}
.fv-audience>.audience-suffix{padding:0;background:none;color:var(--navy);font-size:.86em}
@media(max-width:600px){
 .fv-audience{font-size:clamp(13px,3.9vw,21px);gap:5px;margin-bottom:18px}
 .fv-audience>span{padding:7px 8px;border-radius:4px}
 .fv-audience>.audience-suffix{padding:0}
}
/* 対象者ラベルを一段大きく */
.fv-audience{font-size:27px;gap:8px;letter-spacing:0}
.fv-audience>span{padding:9px 11px}
.fv-audience>.audience-suffix{font-size:.9em;padding:0}
@media(max-width:600px){
 .fv-audience{font-size:clamp(16px,4.85vw,27px);gap:5px}
 .fv-audience>span{padding:8px 9px}
 .fv-audience>.audience-suffix{padding:0}
}

/* 募集人数を見やすく表示。残数は手動更新 */
.limit-bar{display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 12px;letter-spacing:.04em}
.limit-title{font-size:20px;white-space:nowrap}.limit-title b{font-size:30px}
.limit-remaining{display:flex;align-items:center;gap:7px;border-radius:5px;background:#fff;padding:4px 10px;color:var(--navy);font-size:12px;white-space:nowrap;line-height:1.3}
.limit-remaining strong{font-size:15px;font-weight:900}.limit-remaining strong span{font-size:24px;margin:0 2px;color:var(--otext);vertical-align:-1px}
.recruit-dot{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px #ffead8;animation:recruit-pulse 2.4s ease-in-out infinite}
@keyframes recruit-pulse{50%{box-shadow:0 0 0 5px #ffead8}}
@media(max-width:600px){.limit-bar{gap:12px;padding:9px 8px}.limit-title{font-size:17px}.limit-title b{font-size:27px}.limit-remaining{gap:5px;padding:4px 8px}.limit-remaining strong{font-size:14px}.limit-remaining strong span{font-size:22px}}
@media(prefers-reduced-motion:reduce){.recruit-dot{animation:none}}

/* 募集帯を両端配置、数字とラベルのバランスを整理 */
.limit-bar{justify-content:space-between;gap:12px;padding:10px 18px}
.limit-title{display:flex;align-items:center;justify-content:center;gap:2px;font-size:18px;letter-spacing:.025em;line-height:1.2}
.limit-title::before,.limit-title::after{content:"";display:block;width:2px;height:22px;background:#fff;border-radius:2px;margin:0 7px;flex:none}
.limit-title::before{transform:rotate(-22deg)}.limit-title::after{transform:rotate(22deg)}
.limit-title b{font-size:31px;margin:0 2px;vertical-align:baseline}
.limit-remaining{gap:7px;padding:7px 10px;border-radius:8px;line-height:1.1}
.remaining-label{font-size:12px;letter-spacing:0;color:var(--navy)}
.limit-remaining strong{display:flex;align-items:center;gap:3px;line-height:1;letter-spacing:0}
.limit-remaining strong span{margin:0;vertical-align:baseline}
.limit-remaining strong .remaining-prefix{font-size:13px;color:var(--navy)}
.limit-remaining strong .remaining-number{font-size:27px;color:var(--otext);line-height:1}
.limit-remaining strong .remaining-unit{font-size:13px;color:var(--navy)}
.recruit-dot{width:6px;height:6px;flex:none;box-shadow:0 0 0 3px #ffead8}
@media(max-width:600px){
 .limit-bar{padding:9px 12px;gap:8px}
 .limit-title{font-size:15px}.limit-title b{font-size:27px}
 .limit-title::before,.limit-title::after{height:18px;margin:0 5px}
 .limit-remaining{padding:7px 8px;gap:6px}
 .remaining-label{font-size:11px}
 .limit-remaining strong .remaining-number{font-size:25px}
 .limit-remaining strong .remaining-prefix,.limit-remaining strong .remaining-unit{font-size:12px}
}
@media(max-width:340px){
 .limit-bar{padding:9px 8px;gap:5px}
 .limit-title{font-size:14px}.limit-title b{font-size:25px}
 .limit-title::before,.limit-title::after{margin:0 3px}
 .limit-remaining{gap:5px;padding:7px 6px}
}
/* 募集帯：スラッシュを使わず下線で強調、残数の数字を視覚中央へ */
.limit-title::before,.limit-title::after{display:none}
.limit-title{border-bottom:2px solid #ffdb9c;padding:2px 0 4px}
.limit-remaining strong .remaining-number{position:relative;top:-2px}
/* 限定人数の数字と文言の下端をそろえる */
.limit-title{align-items:baseline;line-height:1}
.limit-title b{line-height:1;margin:0 2px 0 0}

/* 残り枠はLINEボタン上辺に重ねる */
.limit-bar{justify-content:center}
.btn-line{position:relative;margin-top:24px;padding-top:20px}
.cta-remaining{position:absolute;left:50%;top:0;transform:translate(-50%,-65%);display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;padding:4px 15px;border:2px solid #04913e;border-radius:7px;background:#fff;color:#087d38;font-size:14px;line-height:1.25;letter-spacing:.03em;box-shadow:0 2px 3px #00471b14}
.cta-remaining strong{font-size:20px;line-height:1;color:var(--otext)}
.cta-remaining .recruit-dot{width:6px;height:6px;margin-right:3px}
.btn-line.big{margin-top:30px;padding-top:20px}
@media(max-width:1023px){.spcta{position:fixed;margin-top:0;padding-top:20px}}
/* 残り枠ラベルをCTAと同じ緑・丸い形へ */
.cta-remaining{border-color:var(--green);color:var(--green);border-radius:999px}
.cta-remaining strong{color:var(--green)}
.cta-remaining .recruit-dot{background:var(--green);box-shadow:none;animation:none}

/* CTAの残り人数を強調 */
.cta-remaining strong{color:#d82c24;font-size:25px;line-height:1}
/* CTA残数ラベル：数字の高さと余白を光学調整 */
.cta-remaining{gap:6px;padding:6px 17px;min-height:35px;line-height:1;font-size:14px;transform:translate(-50%,-62%);box-shadow:none}
.cta-remaining strong{display:inline-block;font-size:24px;line-height:1;position:relative;top:-1px;margin:0 1px}
.cta-remaining .recruit-dot{margin-right:2px;width:5px;height:5px}
.btn-line.spcta{padding-top:22px}
