:root{
  --navy:#0B3D6B;
  --navy-deep:#082c4d;
  --blue:#1E6FD9;
  --blue-soft:#cfe3fb;
  --lightblue:#EAF4FE;
  --orange:#F39200;
  --red:#E5342B;
  --red-dark:#c4271f;
  --green:#06C755;
  --ink:#16263a;
  --gold-1:#fbe8a6;
  --gold-2:#e3b53d;
  --gold-3:#a9781f;
  --maxw:430px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{
  font-family:"Noto Sans JP",sans-serif;
  color:var(--ink);
  background:#dfe7ee;
  line-height:1.6;
  font-feature-settings:"palt";
  -webkit-font-smoothing:antialiased;
}
.device{
  max-width:var(--maxw);
  margin:0 auto;
  background:#fff;
  min-height:100vh;
  position:relative;
  overflow:hidden;
  box-shadow:0 0 40px rgba(8,44,77,.18);
  padding-bottom:125px;
}
a{color:inherit;text-decoration:none;}
.zen{font-family:"Noto Sans JP",sans-serif;}

/* ---------- Header ---------- */
header.site{
  position:sticky;top:0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;
  gap:6px;
  background:#fff;
  padding:8px 10px;
  border-bottom:1px solid #e6eef6;
  container-type:inline-size;container-name:hdr;
  box-shadow:0 2px 10px rgba(8,44,77,.06);
}
.brand{display:flex;align-items:center;gap:1.86cqw;min-width:0;}
.brand .drop{flex:0 0 auto;width:9.6cqw;height:9.6cqw;}
.brand .names{min-width:0;line-height:1.15;}
.brand .tag{font-size:2.85cqw;color:var(--blue);font-weight:800;letter-spacing:.02em;white-space:nowrap;}
.brand .nm{font-size:4.65cqw;font-weight:900;color:var(--navy);white-space:nowrap;letter-spacing:-.02em;}
.hd-tel{
  flex:0 0 auto;
  display:flex;flex-direction:row;align-items:center;gap:1.4cqw;
  background:linear-gradient(180deg,#ffa443,#f3781a);
  color:#fff;border-radius:10px;padding:5px 2.09cqw 5px 1.4cqw;
  box-shadow:0 2px 0 #c9760a;text-decoration:none;
}
.hd-tel .hd-ic{flex:0 0 auto;width:7.6cqw;height:7.6cqw;border-radius:50%;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;}
.hd-tel .hd-ic svg{width:4.6cqw;height:4.6cqw;}
.hd-tel .hd-txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.08;}
.hd-tel .cap{font-size:2.3cqw;font-weight:700;letter-spacing:0;white-space:nowrap;opacity:.95;}
.hd-tel .no{font-size:4.0cqw;font-weight:900;letter-spacing:.01em;white-space:nowrap;}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:linear-gradient(180deg,#eaf4ff 0%,#dcecfb 46%,#cfe3f8 100%);
  padding:14px 16px 34px;
  overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 10% 24%, rgba(255,255,255,.55) 0 5px, transparent 6px),
    radial-gradient(circle at 92% 14%, rgba(255,255,255,.45) 0 8px, transparent 9px),
    radial-gradient(circle at 74% 52%, rgba(255,255,255,.35) 0 4px, transparent 5px);
}
.hero>*{position:relative;z-index:1;}

.mini-badges{display:flex;gap:6px;flex-wrap:wrap;}
.mini{
  display:inline-flex;align-items:center;gap:5px;
  background:#fff;color:var(--navy);
  border:1.5px solid var(--blue);
  border-radius:999px;
  font-size:11px;font-weight:700;
  padding:4px 11px;
  box-shadow:0 1px 4px rgba(8,44,77,.08);
  white-space:nowrap;
}
.mini .dot{width:7px;height:7px;border-radius:50%;background:var(--blue);}
.mini.alt{background:var(--navy);color:#fff;border-color:var(--navy);}
.mini.alt .dot{background:#7fd0ff;}

h1.fv{
  margin-top:12px;
  font-size:25px;line-height:1.3;font-weight:900;color:var(--navy);
  letter-spacing:.005em;
}
h1.fv .mk{color:var(--blue);}
h1.fv .brandline{
  display:block;margin-top:5px;font-size:19px;color:var(--navy);
}
.fv-sub{margin-top:11px;font-size:13px;font-weight:700;color:#2a3a4d;line-height:1.6;}
.fv-sub .em{color:var(--blue);}

/* staff photo + seal */
.stage{position:relative;margin-top:13px;}
img.slotimg.staff{
  display:block;width:100%;height:228px;
  border:3px solid #fff;border-radius:16px;
  box-shadow:0 10px 24px rgba(8,44,77,.22);
  --slot-bg:#e8f1fb;
}
.seal{
  position:absolute;top:-8px;right:-4px;z-index:3;
  width:100px;height:100px;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.25));
}
.seal .medal{
  position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 35% 30%, var(--gold-1), var(--gold-2) 55%, var(--gold-3) 100%);
  border:3px solid #fff6d6;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;color:#5a3c0a;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.35), inset 0 -6px 10px rgba(120,80,10,.35);
}
.seal .medal .k1{font-size:8.5px;font-weight:900;letter-spacing:.04em;}
.seal .medal .k2{font-size:15px;font-weight:900;line-height:1.05;margin-top:1px;text-shadow:0 1px 0 rgba(255,255,255,.4);}
.seal .medal .k3{font-size:8.5px;font-weight:900;margin-top:2px;}
.prov{
  position:absolute;left:-3px;bottom:-3px;z-index:3;
  background:rgba(8,44,77,.82);color:#fff;
  font-size:9px;font-weight:700;letter-spacing:.02em;
  padding:3px 7px;border-radius:6px;border:1px dashed rgba(255,255,255,.5);
}
.prov.tr{left:auto;right:8px;top:8px;bottom:auto;}

/* refined trust pills (指定/最短20分) */
.tpills{display:flex;gap:7px;margin-top:12px;}
.tpill{
  flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  background:#fff;border-radius:11px;padding:9px 6px;
  border:1.5px solid var(--blue-soft);
  box-shadow:0 2px 7px rgba(8,44,77,.08);
}
.tpill .ic{flex:0 0 auto;width:24px;height:24px;color:var(--blue);}
.tpill .ic svg{width:24px;height:24px;}
.tpill .lab{font-size:12px;font-weight:900;color:var(--navy);line-height:1.2;}
.tpill .lab small{display:block;font-size:9px;font-weight:700;color:#7a8aa0;}

/* symptom icon grid */
.symhead{margin-top:18px;text-align:center;font-size:13px;font-weight:900;color:var(--navy);}
.symhead b{color:var(--blue);}
.symgrid{
  margin-top:9px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
}
.sym{
  background:#fff;border-radius:14px;padding:11px 4px 9px;text-align:center;
  border:1px solid #e3edf8;
  box-shadow:0 2px 8px rgba(8,44,77,.07);
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
.sym .si{width:40px;height:40px;color:var(--blue);}
.sym .si svg{width:40px;height:40px;}
.sym .st{font-size:11px;font-weight:900;color:var(--navy);white-space:nowrap;}

/* circular benefit badges */
.benes{
  margin-top:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
}
.bene{display:flex;flex-direction:column;align-items:center;}
.bene .circ{
  width:100%;aspect-ratio:1/1;border-radius:50%;
  background:radial-gradient(circle at 50% 32%, #ffffff 0%, #e9f3ff 70%, #dcebfc 100%);
  border:2px solid #fff;
  box-shadow:0 4px 12px rgba(8,44,77,.13), inset 0 0 0 1px var(--blue-soft);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:4px;
}
.bene .bi{width:22px;height:22px;color:var(--blue);margin-bottom:1px;}
.bene .bi svg{width:22px;height:22px;}
.bene .bt{font-size:9.5px;font-weight:900;color:var(--navy);line-height:1.15;}
.bene .bv{font-size:14px;font-weight:900;color:var(--red);line-height:1.05;}
.bene .bv.sm{font-size:11px;line-height:1.1;}

/* price card */
.price{
  margin-top:18px;
  background:#fff;border:2px solid var(--navy);border-radius:13px;
  padding:12px 13px;
  box-shadow:0 3px 10px rgba(8,44,77,.12);
}
.price .top{display:flex;align-items:center;gap:8px;}
.price .lab{
  flex:0 0 auto;background:var(--navy);color:#fff;
  font-size:13px;font-weight:900;border-radius:8px;padding:8px 10px;line-height:1.25;text-align:center;
}
.price .amt{flex:1;text-align:right;line-height:1;white-space:nowrap;}
.price .num{
  font-family:"Noto Sans JP",sans-serif;
  font-size:42px;font-weight:900;color:var(--orange);letter-spacing:-.01em;vertical-align:baseline;
}
.price .en{font-size:17px;font-weight:900;color:var(--orange);vertical-align:baseline;margin-left:1px;}
.price .unit{font-size:10px;font-weight:900;color:var(--orange);vertical-align:1.6em;margin:0 1px;}
.price .kara{font-size:24px;font-weight:900;color:var(--orange);vertical-align:baseline;}
.price .pn{margin-top:8px;font-size:10.5px;color:#67768a;text-align:right;line-height:1.5;}
.price .disc{
  margin-top:9px;display:flex;align-items:center;gap:8px;
  background:linear-gradient(180deg,#fff2f1,#ffe6e4);
  border:1.5px dashed var(--red);border-radius:10px;padding:7px 10px;
}
.price .disc .tagh{flex:0 0 auto;background:var(--red);color:#fff;font-size:10px;font-weight:900;border-radius:6px;padding:4px 7px;line-height:1.25;text-align:center;}
.price .disc .dr{font-size:12px;font-weight:700;color:#5a1c18;white-space:nowrap;}
.price .disc .dr b{font-size:16px;color:var(--red);}

/* PDF-style price formula (navy section) */
.pricewave{display:block;width:100%;height:13px;margin:18px 0 2px;color:#7fd0ff;opacity:.85;}
.formula-lead{margin-top:14px;text-align:center;font-size:15.5px;font-weight:900;color:#fff;line-height:1.65;letter-spacing:.01em;}
.formula-lead b{color:#ffbf57;font-weight:900;}
.formula{margin-top:16px;display:flex;align-items:stretch;justify-content:center;gap:6px;}

/* FV speed line */
.fv-speed{display:block;margin-top:13px;font-size:19px;font-weight:900;color:var(--navy);letter-spacing:.02em;}
.fv-speed em{font-style:normal;color:var(--orange);}

/* 基本料金0円 promo (page-limited) */
.zeropromo-img{margin:16px -16px 0;}
.zeropromo-img img{display:block;width:100%;height:auto;}
.zeropromo{
  position:relative;margin-top:14px;background:#fff;border-radius:18px;
  padding:11px 13px 12px;text-align:center;box-shadow:0 6px 18px rgba(11,61,107,.16);
}
.zp-head{
  display:flex;align-items:center;justify-content:center;gap:9px;
  background:linear-gradient(135deg,#1455a4,var(--navy));color:#fff;
  font-size:19px;font-weight:900;letter-spacing:.05em;
  border-radius:11px;padding:12px 8px;
}
.zp-head svg{width:23px;height:23px;flex:0 0 auto;}
.zp-num{color:var(--orange);font-size:32px;font-weight:900;letter-spacing:-.01em;white-space:nowrap;margin:0 1px;}
.zp-num small{font-size:15px;font-weight:900;}
.zp-dots{margin:7px auto 0;width:94%;border-bottom:3px dotted #9cc0e6;}
.zp-flag{
  display:inline-block;position:relative;background:var(--navy);color:#fff;white-space:nowrap;
  font-size:12.5px;font-weight:900;padding:7px 15px;border-radius:8px;letter-spacing:.005em;
}
.zp-flag::after{
  content:"";position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);
  border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid var(--navy);
}
.zp-row{margin-top:11px;font-size:18px;font-weight:900;color:var(--navy);line-height:1.4;}
.zp-row b{font-weight:900;}
.zp-was{position:relative;color:var(--blue);font-size:18px;margin:0 2px;white-space:nowrap;}
.zp-was small{font-size:11px;}
.zp-was::after{content:"";position:absolute;left:-2px;right:-2px;top:54%;height:2.4px;background:var(--red);transform:rotate(-7deg);border-radius:2px;}
.zp-big{margin-top:5px;display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;}
.zp-lab{
  flex:0 0 auto;background:linear-gradient(135deg,#1455a4,var(--navy));color:#fff;font-size:23px;font-weight:900;
  line-height:1.2;border-radius:16px;padding:17px 16px;text-align:center;letter-spacing:.08em;
}
.zp-zero{
  flex:0 0 auto;white-space:nowrap;
  font-family:"Noto Sans JP",sans-serif;font-size:104px;font-weight:900;
  line-height:.88;letter-spacing:-.04em;
  background:linear-gradient(180deg,#ffb340,#ef7200);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 2px #fff) drop-shadow(0 4px 7px rgba(240,120,0,.32));
}
.zp-zero .zp-en{font-size:58px;letter-spacing:0;}
.zp-ni{position:relative;align-self:flex-end;margin-bottom:12px;font-size:33px;font-weight:900;color:var(--orange);}
.zp-ni i{font-style:normal;font-size:42px;}
.zp-burst{position:absolute;top:-36px;right:-20px;width:38px;height:38px;color:var(--orange);}
.zp-note{margin-top:6px;font-size:11px;font-weight:700;color:#8a98a8;line-height:1.5;}
.zp-note.pill{
  margin-top:9px;background:#f2f7fd;border:1px solid #d8e7f7;border-radius:99px;
  padding:8px 12px;color:#41546b;font-size:12px;font-weight:700;
}
.formula .fcard{
  flex:1;min-width:0;background:#fff;border-radius:12px;
  padding:12px 4px 11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
}
.formula .fcard .fl{
  font-size:11.5px;font-weight:900;color:#fff;background:var(--navy);
  border-radius:6px;padding:2px 9px;line-height:1.3;letter-spacing:.02em;
}
.formula .fcard .fv{font-family:"Noto Sans JP",sans-serif;font-size:26px;font-weight:900;color:var(--orange);line-height:1;letter-spacing:-.01em;display:flex;align-items:baseline;}
.formula .fcard .fv .pp{font-size:26px;}
.formula .fcard .fv small{font-size:12px;font-weight:900;margin-left:1px;}
.formula .fcard .fv.free{color:var(--red);font-size:30px;}
.formula .fcard .fv.free small{font-size:14px;}
.formula .fcard .fv.navy{color:var(--navy);font-size:21px;}
.formula .fcard .ftax{font-size:9.5px;font-weight:700;color:#8a98a8;margin-top:-1px;white-space:nowrap;}
.formula .fcard .fsub{font-size:9.5px;font-weight:700;color:#8a98a8;line-height:1.2;}
.formula .plus{flex:0 0 auto;align-self:center;font-size:20px;font-weight:900;color:#ffd84a;}
.formula-foot{margin-top:13px;text-align:center;font-size:16px;font-weight:900;color:#fff;line-height:1.5;}

/* phone CTA panel */
.callpanel{
  margin-top:16px;background:linear-gradient(180deg,#114a82,var(--navy));
  border-radius:16px;padding:13px 13px 14px;text-align:center;
  box-shadow:0 8px 22px rgba(8,44,77,.28);
}
.callpanel .lead{
  display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:12.5px;font-weight:900;letter-spacing:.01em;white-space:nowrap;
}
.callpanel .lead .br{color:#ffd84a;font-size:18px;font-weight:900;}
.callpanel .lead .br.r{transform:scaleX(-1);}
.callpanel .tel{
  display:flex;align-items:center;justify-content:center;gap:7px;margin-top:4px;color:#fff;
}
.callpanel .tel .ph{width:26px;height:26px;flex:0 0 auto;}
.callpanel .tel .nn{font-family:"Noto Sans JP",sans-serif;font-size:32px;font-weight:900;line-height:1;letter-spacing:0;white-space:nowrap;}
.callpanel .pill{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:9px;background:linear-gradient(180deg,#ff8a3d,#f4501f);
  color:#fff;border-radius:999px;padding:12px;font-size:17px;font-weight:900;
  box-shadow:0 4px 0 #c4380f,0 8px 16px rgba(244,80,31,.45);position:relative;
}
.callpanel .pill .pc{width:20px;height:20px;}
.callpanel .pill .ar{position:absolute;right:14px;font-size:16px;}
.callpanel .note2{margin-top:9px;color:#cfe3fb;font-size:11.5px;font-weight:700;letter-spacing:.03em;}
.bigcall{
  display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:10px;
  background:linear-gradient(180deg,#ffa443,#f3781a);
  color:#fff;border-radius:9px;padding:16px 14px 17px;
  box-shadow:0 2px 0 #c9670f;border:1.5px solid #ffc187;
}
.bigcall .cap{font-size:15px;font-weight:900;display:flex;align-items:center;gap:7px;white-space:nowrap;}
/* FV bare phone card: orange button only, no navy box */
.callpanel.cp-bare{background:none;border-radius:0;padding:0;box-shadow:none;}
.callpanel.cp-bare .lead{color:var(--navy);}
.callpanel.cp-bare .lead .br{color:var(--orange);}
.callpanel.cp-bare .note2{color:#5a6b7e;margin-top:7px;}
.callpanel.cp-bare .bigcall{margin-top:8px;gap:0;padding:11px 14px 12px;}
.callpanel.cp-bare .bigcall .cap{font-size:16px;color:#fff;}
.callpanel.cp-bare .bigcall .nn{font-size:34px;}
.callpanel.cp-bare .bigcall .sub{margin-top:13px;}
.callpanel.cp-bare .bigcall.bc2 .sub{margin-top:13px;}
.bigcall .cap svg{width:18px;height:18px;}
.bigcall .nn{font-family:"Noto Sans JP",sans-serif;font-size:38px;font-weight:900;line-height:1.04;letter-spacing:.01em;display:flex;align-items:center;gap:7px;white-space:nowrap;}
.bigcall .nn svg{width:27px;height:27px;}
.bigcall .sub{font-size:11.5px;font-weight:800;margin-top:5px;background:rgba(0,0,0,.14);border-radius:7px;padding:3px 14px;white-space:nowrap;}

/* FV reference-style CTAs */
.bigcall.bc2{position:relative;border-radius:16px;padding:9px 14px 9px;}
.bigcall.bc2 .bc-top{font-size:14px;font-weight:900;color:#fff;letter-spacing:.05em;}
.callpanel.cp-bare .bigcall.bc2 .nn{font-size:44px;margin-top:4px;letter-spacing:-.02em;}
.bigcall.bc2 .nn svg{width:32px;height:32px;}
.bigcall.bc2 .sub{
  margin-top:9px;background:#fff;color:#e8650a;font-size:13px;font-weight:900;
  border-radius:99px;padding:4px 0;width:34%;text-align:center;letter-spacing:.04em;
}
.bigcall.bc2 .bc-arrow,.bc-arrow{
  position:absolute;right:13px;top:50%;transform:translateY(-50%);
  font-size:30px;font-weight:900;color:rgba(255,255,255,.85);line-height:1;
}
.cta-line.cl2{
  position:relative;display:flex;align-items:center;justify-content:center;gap:11px;
  padding:11px 13px;border-radius:16px;margin-top:11px;
}
.cta-line.cl2 .line-ic{
  flex:0 0 auto;width:46px;height:46px;border-radius:0;background:transparent;
  display:flex;align-items:center;justify-content:center;
}
.cta-line.cl2 .line-ic img{width:44px;height:44px;object-fit:contain;display:block;}
.cta-line.cl2 .line-ic svg{width:30px;height:30px;}
.cta-line.cl2 .line-tx{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.25;}
.cta-line.cl2 .line-tx b{font-size:18.5px;font-weight:900;letter-spacing:0;white-space:nowrap;}
.cta-line.cl2 .line-tx small{font-size:11.5px;font-weight:700;opacity:.95;white-space:nowrap;}
.cta-line.cl2 .bc-arrow.g{color:rgba(255,255,255,.9);}

.cta-line{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:9px;background:var(--green);color:#fff;
  border-radius:9px;padding:9px;font-size:13px;font-weight:800;
  box-shadow:0 2px 0 #04a043;position:relative;
}
.cta-line svg{width:17px;height:17px;}
.cta-line .prov2{position:absolute;right:8px;top:-9px;background:#fff;color:#0c8a3e;border:1px dashed #06C755;font-size:9px;font-weight:800;border-radius:5px;padding:1px 6px;}

.provnote{margin-top:11px;font-size:10px;color:#5b6b7c;line-height:1.5;}
.urgent{
  position:relative;margin-top:13px;display:flex;align-items:center;gap:13px;overflow:hidden;
  background:#fff5f4;
  border:2.5px solid var(--red);border-radius:10px;
  padding:15px 17px;color:#4a1c18;line-height:1.5;
  box-shadow:0 1px 0 rgba(229,52,43,.18);
}
.urgent .u-ico{
  flex:0 0 auto;width:50px;height:50px;border-radius:50%;
  background:var(--red);
  display:flex;align-items:center;justify-content:center;
  box-shadow:none;
}
.urgent .u-ico svg{width:30px;height:30px;}
.urgent .u-tx{font-size:15px;font-weight:900;color:#3a1410;}
.urgent .u-tx b{
  display:inline-block;background:var(--red);color:#fff;font-size:13px;font-weight:900;
  border-radius:7px;padding:3px 11px;margin-right:9px;letter-spacing:.06em;float:left;margin-top:2px;
}
.urgent .u-tx em{font-style:normal;color:var(--red);font-weight:900;}
.note{margin-top:11px;font-size:10.5px;color:#67768a;line-height:1.55;}
.wave{display:none;}

/* =========================================================
   SHARED SECTION SYSTEM
   ========================================================= */
.sec{position:relative;padding:34px 16px 32px;overflow:hidden;background:#fff;border-radius:0;margin-top:0;}
.sec.lb{background:var(--lightblue);}
.sec.navy{background:linear-gradient(165deg,#11538c,var(--navy) 52%,var(--navy-deep));color:#fff;}
.sec.navy::after{content:"";position:absolute;top:0;left:0;right:0;height:120px;pointer-events:none;background:radial-gradient(120% 90% at 50% 0%, rgba(127,208,255,.16), transparent 70%);}
.sec.navy::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:
    radial-gradient(circle at 88% 12%, rgba(127,208,255,.18) 0 60px, transparent 61px),
    radial-gradient(circle at 6% 80%, rgba(127,208,255,.12) 0 90px, transparent 91px);
}
.sec>*{position:relative;z-index:1;}
.eyebrow{
  display:flex;width:max-content;margin:0 auto;align-items:center;gap:12px;
  font-size:18px;font-weight:900;letter-spacing:.03em;color:var(--navy);
  font-family:"Noto Sans JP",sans-serif;
}
.eyebrow::before,.eyebrow::after{content:"";width:2.5px;height:27px;background:var(--orange);border-radius:2px;}
.eyebrow::before{transform:rotate(-20deg);}
.eyebrow::after{transform:rotate(20deg);}
.sec.navy .eyebrow{color:#fff;}
.sec.navy .eyebrow::before,.sec.navy .eyebrow::after{background:#ffd84a;}
.sec.navy .eyebrow{color:#7fd0ff;}
.sec.navy .eyebrow::before,.sec.navy .eyebrow::after{background:#7fd0ff;}
.h2{
  margin-top:9px;text-align:center;font-size:27px;line-height:1.4;font-weight:900;color:var(--navy);
  font-family:"Noto Sans JP",sans-serif;letter-spacing:.005em;
}
.sec.navy .h2{color:#fff;}
.h2 .u{
  background:linear-gradient(transparent 60%, rgba(255,209,71,.6) 60%);
  padding:0 2px;
}
.sec.navy .h2 .u{ background:linear-gradient(transparent 60%, var(--blue) 60%); }
.h2 .o{color:var(--orange);}
.lead{margin-top:10px;text-align:center;font-size:13px;font-weight:700;color:#3a4a5d;line-height:1.7;}
.sec.navy .lead{color:#d6e6f6;}
.seo{margin-top:12px;font-size:12px;color:#55677b;line-height:1.85;}
.sec.navy .seo{color:#c3d6ea;}
.fine{margin-top:12px;font-size:10.5px;color:#7a8aa0;line-height:1.6;}
.sec.navy .fine{color:#9fb6cf;}

/* photo placeholder */
.ph-slot{display:block;width:100%;background:#e8f1fb;border-radius:12px;--slot-bg:#e8f1fb;}

/* ---- 6-2 信頼バンド (navy) ---- */
.gold-row{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:30px 0 26px;align-items:start;}
.fv-gold{margin-top:16px;padding:0 2px;}
/* gold light + hairlines on navy */
.sec.navy .gold-row{position:relative;}
.sec.navy .gold-row::before{
  content:"";position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);
  width:120%;height:170px;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(255,221,120,.26), rgba(255,221,120,.06) 55%, transparent 72%);
}
.sec.navy .gold-row::after{
  content:"";position:absolute;left:6%;right:6%;bottom:-9px;height:1px;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(227,181,61,.65),transparent);
}
.sec.navy .gold-row .gmedal{position:relative;z-index:1;}
.gmedal{display:block;position:relative;width:100%;aspect-ratio:1151/1563;margin-bottom:0;}
.gmedal .disc{
  position:absolute;inset:0;z-index:1;
  background:url(img/bg/medal.webp) top center / contain no-repeat;
  display:block;border:0;border-radius:0;box-shadow:none;padding:0;overflow:visible;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.28));
}
.gmedal .disc .gtx{
  position:absolute;left:50%;top:37%;transform:translate(-50%,-50%);
  width:74%;text-align:center;line-height:1.02;
  font-family:"Noto Sans JP",sans-serif;
  display:flex;flex-direction:column;align-items:center;gap:1px;z-index:2;
}
.gmedal .disc .gtx .top{font-size:9.5px;font-weight:900;color:var(--navy);letter-spacing:-.03em;white-space:nowrap;text-shadow:0 1px 0 rgba(255,250,228,.7);}
.gmedal .disc .gtx .main{font-size:15px;font-weight:900;color:#c4271f;letter-spacing:-.04em;line-height:1.05;white-space:nowrap;text-shadow:0 1px 0 rgba(255,250,228,.7);}
.gmedal .disc .gtx .main.sm{font-size:13.5px;}
.gmedal .disc svg{display:none;}
.gmedal .gt{display:none;}
.gmedal .disc .badgeslot{display:none;}
.reasons{margin-top:36px;display:flex;flex-direction:column;gap:10px;}
.rcard{
  display:flex;align-items:center;gap:12px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.32);
  border-radius:12px;padding:13px 14px;backdrop-filter:blur(2px);
}
.rcard .rn{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;
  background:linear-gradient(180deg,#3b8aef,var(--blue));color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;
  font-family:"Noto Sans JP",sans-serif;box-shadow:0 3px 8px rgba(0,0,0,.25);
}
.rcard .rx{flex:1;}
.rcard .rx .rt{font-size:14px;font-weight:900;color:#fff;line-height:1.35;}
.rcard .rx .rb{font-size:11px;color:#bcd3ea;margin-top:2px;line-height:1.5;}
.rcard .rico{display:none;}
.rcard .rico svg{width:26px;height:26px;}

/* ---- 6-3 0円安心 / 6-6 料金メイン shared assurance ---- */
.assure{margin-top:16px;display:flex;flex-direction:column;gap:9px;}
/* 6-3 安心ポイント grid card */
.points{margin-top:18px;background:none;border-radius:0;padding:0;position:relative;border:0;box-shadow:none;}
.points-head{position:absolute;top:-16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:#fff;color:var(--navy);font-size:14px;font-weight:900;white-space:nowrap;padding:9px 20px;border-radius:10px;border:2px solid var(--navy);box-shadow:0 4px 10px rgba(8,44,77,.14);font-family:"Noto Sans JP",sans-serif;letter-spacing:.01em;}
.points-head::before,.points-head::after{content:"";width:3px;height:17px;background:var(--orange);border-radius:2px;}
.points-head::before{transform:rotate(-20deg);}
.points-head::after{transform:rotate(20deg);}
.points-grid{display:grid;grid-template-columns:1fr;gap:9px;}
.pt{background:#fff;border-radius:12px;padding:13px 15px;display:flex;flex-direction:row;align-items:center;gap:14px;text-align:left;border:1px solid #e3edf8;box-shadow:0 2px 6px rgba(8,44,77,.07);overflow:hidden;}
.pt .pic{flex:0 0 auto;width:60px;height:60px;display:block;border-radius:10px;overflow:hidden;margin-bottom:0;}
.pt .pic img.slotimg{display:block;width:100%;height:100%;--slot-bg:#dde9f6;}
.pt .pl{flex:1;font-size:15px;font-weight:900;color:var(--navy);line-height:1.3;margin-top:0;padding:0;}
.pt .pv{flex:0 0 auto;font-size:28px;font-weight:900;color:var(--red);line-height:1;margin-top:0;white-space:nowrap;}
.arow{
  position:relative;display:flex;align-items:center;gap:13px;background:#fff;border-radius:12px;
  padding:13px 15px 13px 14px;border:1px solid #e3edf8;border-left:4px solid var(--blue);
  box-shadow:0 2px 7px rgba(8,44,77,.07);
}
.arow .ai{
  flex:0 0 auto;width:44px;height:44px;border-radius:50%;
  background:linear-gradient(155deg,#3b8aef,var(--navy));
  display:flex;align-items:center;justify-content:center;color:#fff;
  box-shadow:0 3px 7px rgba(8,44,77,.28);
}
.arow .ai svg{width:23px;height:23px;}
.arow .at{flex:1;min-width:0;font-size:15px;font-weight:900;color:var(--navy);line-height:1.3;}
.arow .at span{display:block;font-size:11px;font-weight:600;color:#67768a;margin-top:1px;}
.arow .av{
  margin-left:auto;flex:0 0 auto;font-size:18px;font-weight:900;color:#fff;
  font-family:"Noto Sans JP",sans-serif;white-space:nowrap;
  background:linear-gradient(180deg,#fb5448,var(--red));border-radius:999px;
  padding:5px 16px;box-shadow:0 2px 5px rgba(229,52,43,.3);
}
.callout{
  margin-top:14px;background:#fff8e6;border:1px solid #f3d889;border-radius:12px;
  padding:12px 13px;font-size:12px;font-weight:700;color:#7a5a12;line-height:1.65;
  display:flex;gap:8px;align-items:flex-start;
}
.callout svg{flex:0 0 auto;width:18px;height:18px;margin-top:1px;color:#d99a00;}

/* ---- 6-4 症状チェック (colorful 2-col) ---- */
.symcards{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.symc{
  background:#fff;border-radius:12px;overflow:hidden;border:1px solid #dde8f4;
  box-shadow:0 1px 3px rgba(8,44,77,.1);display:flex;flex-direction:column;
}
.symc .sympic{position:relative;height:104px;}
.symc .sympic img.slotimg{display:block;width:100%;height:100%;--slot-bg:#dde9f6;}
.symc .sympic::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(8,44,77,.12));pointer-events:none;}
.symc .symtx{padding:11px 12px 13px;display:flex;flex-direction:column;gap:3px;flex:1;}
.symc .ct{font-size:14px;font-weight:900;color:var(--navy);line-height:1.3;}
.symc .cd{font-size:11px;color:#52647a;line-height:1.5;}
.c-blue{background:linear-gradient(150deg,#3b8aef,#1E6FD9);}
.c-cyan{background:linear-gradient(150deg,#2ba6da,#1577b0);}
.c-teal{background:linear-gradient(150deg,#4f86d6,#1856a3);}
.c-indigo{background:linear-gradient(150deg,#3b8aef,#1E6FD9);}
.c-orange{background:linear-gradient(150deg,#2ba6da,#1577b0);}
.c-rose{background:linear-gradient(150deg,#4f86d6,#1856a3);}

/* ---- 6-5 対応トラブル (photo cards x6) ---- */
.trcards{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.trc{
  background:#fff;border-radius:12px;overflow:hidden;border:1px solid #dde8f4;
  box-shadow:0 1px 3px rgba(8,44,77,.09);
}
.trc .pic{height:104px;position:relative;}
.trc .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(8,44,77,.12));pointer-events:none;}
.trc .pic img.slotimg{display:block;width:100%;height:100%;--slot-bg:#dde9f6;}
.trc .cap{padding:10px 11px 12px;}
.trc .cap .tt{font-size:13px;font-weight:900;color:var(--navy);line-height:1.3;}
.trc .cap .td{font-size:10.5px;color:#52647a;margin-top:3px;line-height:1.5;}
.trnote{margin-top:14px;font-size:11px;color:#55677b;line-height:1.75;background:#fff;border-radius:10px;padding:11px 12px;border:1px solid #e7eef7;}

/* ---- 6-7 料金表 accordion ---- */
.acc{margin-top:16px;display:flex;flex-direction:column;gap:11px;}
.acci{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #dde8f4;box-shadow:0 1px 3px rgba(8,44,77,.08);}
.acci>summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:11px;padding:12px 13px;
}
.acci>summary::-webkit-details-marker{display:none;}
.acci .thumb{flex:0 0 auto;width:68px;height:68px;border-radius:11px;overflow:hidden;}
.acci .thumb img.slotimg{display:block;width:100%;height:100%;--slot-bg:#dde9f6;}
.acci .sumtx{flex:1;min-width:0;}
.acci .sumtx .ttl{display:block;font-size:14.5px;font-weight:900;color:var(--navy);line-height:1.3;}
.acci .sumtx .sub{display:block;font-size:10.5px;color:#7a8aa0;margin-top:3px;margin-left:0;}
.acci .plus{
  flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--lightblue);color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;transition:transform .25s;
}
.acci[open] .plus{transform:rotate(45deg);}
.acci .body{padding:0 13px 13px;}
.prow{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:9px 2px;border-top:1px dashed #e0e8f2;}
.prow .pl{font-size:12.5px;font-weight:700;color:#33485e;line-height:1.4;}
.prow .pr{flex:0 0 auto;font-weight:900;color:var(--orange);white-space:nowrap;}
.prow .pr .pp{font-size:18px;font-family:"Noto Sans JP",sans-serif;}
.prow .pr .ps{font-size:11px;}
.accnote{margin-top:6px;font-size:10px;color:#8a98a8;line-height:1.6;padding-top:8px;}

/* ---- 6-8 トイレ解説 ---- */
.article{margin-top:16px;background:#fff;border-radius:13px;overflow:hidden;border:1px solid #dde8f4;box-shadow:0 2px 6px rgba(8,44,77,.09);}
.article .pic{aspect-ratio:1448/1086;height:auto;}
.article .pic img.slotimg{display:block;width:100%;height:100%;--slot-bg:#dde9f6;}
.article .tx{padding:15px 15px 17px;}
.article .tx h3{font-size:15px;font-weight:900;color:var(--navy);line-height:1.5;}
.article .tx p{font-size:12.5px;color:#4a5b6e;line-height:1.9;margin-top:9px;}
.article .tx .hl{background:linear-gradient(transparent 62%, #ffe46b 62%);font-weight:700;color:var(--navy);}
.article .link{display:inline-flex;align-items:center;gap:6px;margin-top:13px;font-size:12.5px;font-weight:900;color:var(--blue);}
.article .link svg{width:15px;height:15px;}

/* ---- 6-9 選ばれる理由 (photo x4) ---- */
.why{margin-top:18px;display:flex;flex-direction:column;gap:13px;}
.whyc{
  display:flex;gap:13px;align-items:center;background:#fff;border-radius:12px;
  padding:12px;border:1px solid #dde8f4;box-shadow:0 1px 3px rgba(8,44,77,.09);
}
.whyc:nth-child(even){flex-direction:row;}
.whyc .pic{flex:0 0 116px;height:104px;border-radius:9px;overflow:hidden;}
.whyc .pic img.slotimg{display:block;width:100%;height:100%;--slot-bg:#dde9f6;}
.whyc .tx{flex:1;min-width:0;}
.whyc .tx .n{font-size:13px;font-weight:900;color:var(--blue);font-family:"Noto Sans JP",sans-serif;}
.whyc .tx .t{font-size:17px;font-weight:900;color:var(--navy);line-height:1.4;margin-top:3px;}
.whyc .tx .d{font-size:13px;color:#52647a;line-height:1.6;margin-top:6px;}

/* ---- 6-10 作業の流れ ---- */
.flow{margin-top:18px;position:relative;display:flex;flex-direction:column;gap:0;}
.fstep{display:flex;gap:14px;position:relative;padding-bottom:18px;}
.fstep:last-child{padding-bottom:0;}
.fstep .left{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;}
.fstep .dot{
  width:42px;height:42px;border-radius:50%;background:linear-gradient(180deg,#3b8aef,var(--blue));
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;
  font-family:"Noto Sans JP",sans-serif;box-shadow:0 4px 10px rgba(30,111,217,.35);z-index:1;
}
.fstep .line{flex:1;width:3px;background:var(--blue-soft);margin:3px 0;border-radius:3px;}
.fstep:last-child .line{display:none;}
.fstep .fx{flex:1;background:#fff;border-radius:11px;padding:12px 13px;border:1px solid #dde8f4;box-shadow:0 1px 3px rgba(8,44,77,.07);margin-bottom:2px;}
.fstep .fx .ft{font-size:13.5px;font-weight:900;color:var(--navy);line-height:1.35;}
.fstep .fx .fd{font-size:11px;color:#52647a;margin-top:4px;line-height:1.55;}

/* ---- 6-10 flow v2: clean timeline ---- */
.flow.flow-v2{margin-top:26px;position:relative;display:flex;flex-direction:column;gap:13px;}
.fs2{position:relative;z-index:1;}
.fs2:not(:last-child)::after{
  content:"";position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);
  border-left:8px solid transparent;border-right:8px solid transparent;
  border-top:9px solid #b9d3ee;z-index:0;
}
.fs2-num{
  flex:0 0 auto;width:54px;height:54px;border-radius:50%;
  background:linear-gradient(180deg,#3b8aef,var(--blue));color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 3px 8px rgba(30,111,217,.3);line-height:1;
}
.fs2-num .fs2-lab{font-size:11px;font-weight:800;letter-spacing:-.04em;opacity:.95;white-space:nowrap;transform:scale(.9);}
.fs2-num b{font-size:22px;font-weight:900;font-family:"Noto Sans JP",sans-serif;margin-top:1px;}
.fs2-card{
  display:flex;align-items:center;gap:15px;
  background:#fff;border-radius:13px;padding:14px 17px;
  box-shadow:0 3px 10px rgba(8,44,77,.08);border:1px solid #e6eef8;
}
.fs2-card .fx{flex:1;min-width:0;}
.fs2-card .fx .ft{font-size:17px;font-weight:900;color:var(--navy);line-height:1.3;}
.fs2-card .fx .fd{font-size:10.5px;color:#52647a;margin-top:5px;line-height:1.55;}

/* ---- 6-6b 他社との比較（ネイビー・オレンジ強調） ---- */
.cmp{margin-top:50px;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.22);}
.cmp-grid{display:grid;grid-template-columns:0.66fr 1.5fr 0.9fr 0.9fr;align-items:stretch;}
.cmp-grid:first-child > div:first-child{border-radius:14px 0 0 0;}
.cmp-grid:first-child > div:last-child{border-radius:0 14px 0 0;}
.cmp-last > div:first-child{border-radius:0 0 0 14px;}
.cmp-last > div:last-child{border-radius:0 0 14px 0;}
.cmp-grid > div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;padding:14px 5px;line-height:1.22;min-height:64px;box-sizing:border-box;}
.cmp-headrow > div{padding:13px 5px;min-height:0;}
.cmp-h0{background:var(--navy);}
.cmp-h1{
  background:#fff;color:var(--navy);
  font-size:17px;font-weight:900;position:relative;
  border:5px solid var(--orange);border-bottom:none;border-radius:16px 16px 0 0;
  box-shadow:0 -6px 16px rgba(243,146,0,.28);z-index:3;
  transform:translateY(-22px);margin-bottom:-22px;
  padding:16px 5px 18px!important;line-height:1.3;
}
.cmp-h1-lab{display:inline-block;background:linear-gradient(180deg,#ff9b3d,var(--orange));color:#fff;font-size:13px;font-weight:900;border-radius:99px;padding:4px 17px;margin-bottom:9px;box-shadow:0 2px 5px rgba(243,146,0,.4);}
.cmp-h2{background:#3a4a5c;color:#c4d0dc;font-size:12px;font-weight:800;line-height:1.3;}
.cmp-k{background:var(--navy);color:#fff;font-size:11.5px;font-weight:800;border-top:1px solid rgba(255,255,255,.12);line-height:1.25;}
.cmp-o{
  background:#fff;color:var(--navy);border-top:1px solid #e3ebf3;
  box-shadow:inset 5px 0 0 var(--orange),inset -5px 0 0 var(--orange);
}
.cmp-o b{font-size:17px;font-weight:900;color:#0b3d6b;line-height:1.5;white-space:nowrap;
  background:linear-gradient(transparent 72%,#ffd54d 72%,#ffd54d 90%,transparent 90%);
  padding:0 4px;}
.cmp-o b + b{margin-top:1px;}
.cmp-x{background:#eef1f4;color:#7a8694;font-size:11px;font-weight:700;border-top:1px solid #e0e5ea;}
.cmp-last .cmp-o{box-shadow:inset 5px 0 0 var(--orange),inset -5px 0 0 var(--orange),inset 0 -5px 0 var(--orange);}
.cmp-foot{margin-top:11px;font-size:10.5px;color:#9fb3c8;line-height:1.6;text-align:center;}

/* ---- 6-11 施工事例 carousel ---- */
.cases{margin-top:18px;display:flex;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;-webkit-overflow-scrolling:touch;}
.cases::-webkit-scrollbar{height:0;}
.case{
  flex:0 0 88%;scroll-snap-align:center;background:#fff;border-radius:12px;overflow:hidden;
  border:1px solid #dde8f4;box-shadow:0 2px 8px rgba(8,44,77,.12);
}
.case .ba{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#cdd9e6;position:relative;}
.case .ba::after{content:"→";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:900;box-shadow:0 3px 7px rgba(8,44,77,.35);border:2.5px solid #fff;}
.case .ba .half{position:relative;height:152px;}
.case .ba .half img.slotimg{display:block;width:100%;height:100%;--slot-bg:#dde9f6;}
.case .ba .tag{position:absolute;top:8px;left:8px;font-size:11px;font-weight:900;color:#fff;padding:3px 11px;border-radius:6px;font-family:"Noto Sans JP",sans-serif;letter-spacing:.03em;box-shadow:0 1px 3px rgba(0,0,0,.25);}
.case .ba .tag.b{background:rgba(70,84,99,.95);}
.case .ba .tag.a{background:var(--blue);left:auto;right:8px;}
.case .single{position:relative;height:188px;background:#cdd9e6;}
.case .single img.slotimg{display:block;width:100%;height:100%;--slot-bg:#dde9f6;}
.case .body{padding:13px 14px 15px;}
.case .body .area{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:900;color:var(--navy);padding:2px 0 3px 10px;border-left:4px solid var(--orange);border-radius:1px;letter-spacing:.02em;font-family:"Noto Sans JP",sans-serif;}
.case .body .area svg{display:none;}
.case .body .ttl{font-size:15px;font-weight:900;color:var(--navy);margin-top:8px;line-height:1.4;}
.case .meta{margin-top:10px;display:flex;flex-direction:column;gap:5px;}
.case .meta .m{display:flex;gap:8px;font-size:11.5px;line-height:1.4;}
.case .meta .m .k{flex:0 0 56px;color:#8a98a8;font-weight:700;}
.case .meta .m .v{flex:1;color:#33485e;font-weight:700;}
.case .meta .m .v.price{color:var(--orange);font-weight:900;}
.case .cmt{margin-top:10px;font-size:11px;color:#55677b;line-height:1.6;background:var(--lightblue);border-radius:9px;padding:9px 10px;}
.swipe-hint{margin-top:4px;text-align:center;font-size:10.5px;color:#8a98a8;font-weight:700;}

/* ---- 6-12 お客様の声 ---- */
.voices{margin-top:16px;display:flex;flex-direction:column;gap:11px;}
.voice{background:#fff;border-radius:12px;padding:14px;border:1px solid #dde8f4;box-shadow:0 1px 3px rgba(8,44,77,.08);position:relative;}
.voice .q{position:absolute;top:8px;right:13px;font-size:40px;color:var(--blue-soft);font-family:"Noto Sans JP",sans-serif;line-height:1;font-weight:900;}
.voice .vt{font-size:13px;font-weight:900;color:var(--navy);line-height:1.5;}
.voice .vb{font-size:11.5px;color:#5a6b7e;line-height:26px;margin-top:9px;
  background-image:linear-gradient(to bottom, transparent 0, transparent 25px, #d7e4f2 25px, #d7e4f2 26px);
  background-size:100% 26px;background-position:0 0;}
.voice .who{margin-top:9px;font-size:10.5px;color:#8a98a8;font-weight:700;}

/* ---- 6-13 対応エリア map ---- */
.mapwrap{margin-top:18px;background:#fff;border-radius:13px;padding:6px 6px 14px;border:1px solid #dde8f4;box-shadow:0 1px 4px rgba(8,44,77,.08);}
.kansai-map{position:relative;border-radius:11px;overflow:hidden;margin:0 auto 10px;width:80%;}
.kansai-map img.slotimg{display:block;width:100%;aspect-ratio:993/1016;height:auto;--slot-bg:transparent;}
.mpin{position:absolute;transform:translate(-50%,-100%);z-index:2;display:flex;flex-direction:column;align-items:center;}
.mpin>span{background:var(--navy);color:#fff;font-size:10.5px;font-weight:900;padding:2px 8px;border-radius:6px;white-space:nowrap;box-shadow:0 2px 4px rgba(8,44,77,.3);font-family:"Noto Sans JP",sans-serif;}
.mpin::after{content:"";width:13px;height:13px;border-radius:50% 50% 50% 0;background:var(--red);transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.3);margin-top:3px;}
.focus-head{text-align:center;font-size:12.5px;font-weight:800;color:#46566a;}
.focus-head b{color:var(--navy);font-weight:900;}
.focus3{margin-top:11px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.focus3 .city{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(180deg,#1551a0,var(--navy));color:#fff;font-size:14px;font-weight:900;border-radius:9px;padding:9px 15px;box-shadow:0 2px 5px rgba(8,44,77,.2);font-family:"Noto Sans JP",sans-serif;}
.focus3 .city svg{width:14px;height:14px;color:#ffd84a;}
.area-divider{display:flex;align-items:center;gap:10px;margin-top:18px;color:#7a8aa0;font-size:11px;font-weight:800;}
.area-divider::before,.area-divider::after{content:"";flex:1;height:1px;background:#e0e8f2;}
.pref-grid{margin-top:14px;display:flex;flex-wrap:wrap;justify-content:center;gap:9px;}
.pref-list{margin-top:12px;list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px 8px;}
.pref-list li{display:flex;align-items:center;gap:6px;background:transparent;border:0;border-radius:0;padding:5px 2px;font-size:13.5px;font-weight:700;color:var(--navy);box-shadow:none;}
.pref-list .pck{flex:0 0 auto;width:15px;height:15px;border-radius:0;background:transparent;color:var(--blue);display:flex;align-items:center;justify-content:center;}
.pref-list .pck svg{width:15px;height:15px;stroke-width:2.6;}
.pref-list .pck svg{width:13px;height:13px;}
.pref-break{display:none;}
.pref{background:linear-gradient(180deg,#1b62a8,var(--navy));border-radius:10px;padding:11px 22px;text-align:center;border:0;box-shadow:0 3px 7px rgba(11,61,107,.28);}
.pref .pn2{font-size:15px;font-weight:900;color:#fff;letter-spacing:.04em;}
.area-ex{margin-top:10px;text-align:center;font-size:10.5px;color:#8a98a8;font-weight:600;}

/* ---- 6-14 メーカー + 支払い ---- */
.makers{margin-top:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.makers-img{display:block;width:100%;height:auto;margin-top:16px;}
.maker{background:#fff;border:1px solid #e3edf8;border-radius:7px;height:44px;display:flex;align-items:center;justify-content:center;padding:6px 8px;box-shadow:0 1px 3px rgba(8,44,77,.05);}
.maker img{max-width:100%;max-height:100%;object-fit:contain;display:block;}
.pays{margin-top:14px;display:flex;align-items:stretch;justify-content:center;background:#fff;border:1px solid #dde8f4;border-radius:10px;overflow:hidden;}
.pay{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 6px;border-right:1px solid #eef2f7;}
.pay.cards{flex:2.1;}
.pay:last-child{border-right:0;}
.paylabels{display:flex;margin-top:9px;}
.paylabels .pl{flex:1;text-align:center;font-size:12.5px;font-weight:900;color:var(--navy);}
.paylabels .pl.cards{flex:2.1;}
.pay .pt{background:transparent;border:0;box-shadow:none;padding:0;border-radius:0;display:block;font-size:10.5px;font-weight:800;color:#6b7a8c;white-space:nowrap;}
.plogos{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:nowrap;min-height:34px;}
.plogos img{height:30px;width:auto;object-fit:contain;display:block;border:1px solid #eef2f7;border-radius:3px;}
.plogos .ppmini{height:38px;border:0;border-radius:7px;}
.plogos .cashimg{height:32px;width:auto;border:0;border-radius:0;}
.yenico{width:38px;height:38px;color:var(--blue);display:flex;align-items:center;justify-content:center;}
.yenico svg{width:38px;height:38px;}

/* ---- 6-15 FAQ ---- */
.faq{margin-top:16px;display:flex;flex-direction:column;gap:9px;}
.qa{background:#fff;border-radius:12px;border:1px solid #e3edf8;overflow:hidden;box-shadow:0 2px 8px rgba(8,44,77,.06);}
.qa>summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:10px;padding:13px 13px;}
.qa>summary::-webkit-details-marker{display:none;}
.qa .qq{flex:0 0 auto;width:23px;height:23px;border-radius:6px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;font-family:"Noto Sans JP",sans-serif;}
.qa .qt{flex:1;font-size:13px;font-weight:900;color:var(--navy);line-height:1.45;padding-top:1px;}
.qa .qchev{flex:0 0 auto;width:18px;height:18px;color:#9fb0c2;transition:transform .25s;margin-top:2px;}
.qa[open] .qchev{transform:rotate(180deg);}
.qa .ans{display:flex;gap:10px;padding:0 13px 14px;}
.qa .ans .aa{flex:0 0 auto;width:23px;height:23px;border-radius:6px;background:#fde9d0;color:var(--orange);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;font-family:"Noto Sans JP",sans-serif;}
.qa .ans .atx{flex:1;font-size:12px;color:#4a5b6e;line-height:1.8;}

/* ---- 6-16 最終CTA ---- */
.final-cta .seo{color:#d6e6f6;text-align:center;}
.final-assure{margin-top:16px;display:flex;flex-wrap:wrap;gap:7px;justify-content:center;}
.final-assure.fa-row{flex-wrap:nowrap;gap:5px;}
.final-assure.fa-row .chip{white-space:nowrap;padding:6px 9px;font-size:10.5px;}
.final-assure .chip{
  display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.6);border-radius:999px;padding:6px 12px;font-size:11px;font-weight:800;color:#eaf4fe;
}
.final-assure .chip svg{width:13px;height:13px;color:#7fd0ff;}

/* rich CTA banner */
.richcta{margin-top:18px;background:#fff;border:3px solid var(--red);border-radius:14px;overflow:hidden;box-shadow:0 6px 16px rgba(8,44,77,.22);}
.rc-ribbon{background:var(--red);color:#fff;font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:14px;line-height:1.3;text-align:center;padding:9px 12px;letter-spacing:.01em;}
.rc-ribbon b{font-size:23px;margin:0 1px;}
.rc-ribbon .slash{margin:0 4px;}
.rc-ribbon .s{font-size:13px;}
.rc-body{padding:14px 14px 10px;position:relative;}
.rc-free{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.rc-tag{background:var(--navy);color:#fff;font-weight:900;font-size:13px;padding:3px 11px;border-radius:6px;font-family:"Noto Sans JP",sans-serif;white-space:nowrap;}
.rc-247{font-size:13px;font-weight:900;color:var(--navy);white-space:nowrap;}
.rc-tel{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:6px;text-decoration:none;}
.rc-fd{color:var(--red);flex:0 0 auto;}
.rc-fd svg{width:42px;height:27px;display:block;}
.rc-num{font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:34px;color:var(--red);letter-spacing:-.02em;line-height:1;white-space:nowrap;}
.rc-btns{margin-top:11px;display:flex;flex-direction:column;gap:8px;}
.rc-line,.rc-mail{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:11px;font-family:"Noto Sans JP",sans-serif;font-size:15px;font-weight:900;color:#fff;text-decoration:none;position:relative;box-shadow:0 2px 0 rgba(0,0,0,.18);}
.rc-line{background:var(--green);}
.rc-mail{background:var(--blue);}
.rc-line svg,.rc-mail svg{width:19px;height:19px;flex:0 0 auto;}
.rc-line .prov2,.rc-mail .prov2{position:absolute;top:-6px;right:-4px;background:#fff;color:#9aa7b6;border:1px solid #d7e0ea;font-size:8px;font-weight:800;padding:1px 4px;border-radius:5px;}
.rc-pay{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#f3f6fa;border-top:1px solid #e6edf5;flex-wrap:wrap;}
.rc-paylabel{background:var(--navy);color:#fff;font-size:11px;font-weight:900;padding:4px 9px;border-radius:6px;white-space:nowrap;font-family:"Noto Sans JP",sans-serif;}
.rc-paychips{display:flex;gap:6px;flex-wrap:wrap;}
.rc-paychips span{background:#fff;border:1px solid #dde7f1;border-radius:6px;font-size:11.5px;font-weight:800;color:var(--navy);padding:4px 9px;}

/* ---- footer ---- */
.footer{background:var(--navy-deep);color:#c3d6ea;padding:24px 18px 26px;}
.footer .fnm{font-size:15px;font-weight:900;color:#fff;}
.footer .frow{margin-top:10px;font-size:11.5px;line-height:1.9;color:#a9c1da;}
.footer .frow b{color:#fff;font-weight:900;}
.footer .ftel{margin-top:12px;display:inline-flex;align-items:center;gap:8px;color:#fff;font-family:"Noto Sans JP",sans-serif;font-size:22px;font-weight:900;white-space:nowrap;}
.footer .ftel svg{width:18px;height:18px;}
.footer .flinks{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;}
.footer .flinks a{font-size:11px;color:#9fb6cf;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:6px 11px;}
.footer .copy{margin-top:16px;font-size:10px;color:#6e88a4;border-top:1px solid rgba(255,255,255,.1);padding-top:14px;}

/* ---------- Sticky bottom CTA (refined) ---------- */
.stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:80;
  max-width:var(--maxw);margin:0 auto;
  background:linear-gradient(180deg,#2a7fe0,#0e4a86 75%,#0b3d6b);
  box-shadow:0 -6px 24px rgba(0,0,0,.3);
  padding:11px 12px 13px;
  border-top:1px solid rgba(255,255,255,.18);
}
.stickybar .sb-band{
  display:flex;align-items:center;justify-content:center;gap:8px;
  color:#fff;font-weight:800;font-size:12.5px;letter-spacing:.02em;
  padding:0 0 10px;line-height:1.2;white-space:nowrap;
  font-family:"Noto Sans JP",sans-serif;
}
.stickybar .sb-band::before,.stickybar .sb-band::after{
  content:"";height:1px;flex:1;max-width:26px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6));
}
.stickybar .sb-band::after{transform:scaleX(-1);}
.stickybar .sb-band .hl{color:#ffd84a;font-weight:900;}
.stickybar .sb-call{
  margin-top:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#ffa443,#f3781a);
  border-radius:14px;padding:9px 10px 15px;
  box-shadow:0 6px 16px rgba(0,0,0,.3),0 0 0 2px rgba(255,255,255,.25),inset 0 1.5px 0 rgba(255,255,255,.55),inset 0 -2px 4px rgba(180,70,0,.3);
  position:relative;text-decoration:none;
}
.stickybar .sb-ic{
  display:inline-flex;width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.22);color:#fff;
  align-items:center;justify-content:center;vertical-align:middle;margin-right:8px;
}
.stickybar .sb-ic svg{width:17px;height:17px;}
.stickybar .sb-call-tx{min-width:0;display:flex;flex-direction:column;align-items:center;color:#fff;transform:translateX(-16px);}
.stickybar .sb-lead{font-size:11.5px;font-weight:800;white-space:nowrap;letter-spacing:.01em;opacity:.97;margin-bottom:-1px;}
.stickybar .sb-num{
  display:flex;align-items:center;justify-content:center;
  font-family:"Noto Sans JP",sans-serif;font-size:32px;font-weight:900;
  line-height:1.04;white-space:nowrap;letter-spacing:.4px;
  text-shadow:0 1px 2px rgba(150,60,0,.35);
}
.stickybar .sb-seal{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:50px;height:50px;border-radius:50%;
  background:radial-gradient(circle at 50% 38%,#fff,#fff5e8);color:#e9700a;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:9.5px;font-weight:900;line-height:1.25;
  box-shadow:0 3px 8px rgba(120,50,0,.4);border:2px solid #ffd591;
}

/* =========================================================
   STRONG FV (成約LP強化) — v3
   ========================================================= */
.hero{padding:12px 16px 30px;}
.hero .mini{font-size:11px;}

/* kicker band */
.fv-kick{
  display:inline-flex;align-items:center;gap:7px;margin-top:13px;
  background:linear-gradient(180deg,#1551a0,var(--navy));color:#fff;
  font-size:14px;font-weight:900;padding:6px 14px 6px 12px;border-radius:8px;
  box-shadow:0 3px 0 var(--navy-deep);font-family:"Noto Sans JP",sans-serif;
}
.fv-kick .pin{width:16px;height:16px;color:#7fd0ff;flex:0 0 auto;}

/* giant outlined catch */
.catch{margin-top:11px;font-family:"Noto Sans JP",sans-serif;line-height:1.04;}
.catch .l1,.catch .l2{
  display:block;font-weight:900;color:var(--navy);letter-spacing:-.015em;
  -webkit-text-stroke:7px #fff;paint-order:stroke fill;
  text-shadow:0 4px 0 rgba(11,61,107,.16),0 8px 13px rgba(8,44,77,.28);
}
.catch .l1{font-size:54px;}
.catch .l2{font-size:36px;margin-top:2px;}
.catch .l2 .o{color:var(--blue);-webkit-text-stroke:7px #fff;}
.catch-accent{
  display:inline-block;margin-top:10px;
  background:linear-gradient(180deg,#ffa330,var(--orange));color:#fff;
  font-family:"Noto Sans JP",sans-serif;font-size:22px;font-weight:900;
  padding:5px 16px;border-radius:10px;letter-spacing:.01em;
  box-shadow:0 4px 0 #c4760a,0 7px 12px rgba(196,118,10,.32);
  transform:rotate(-1.5deg);
}
.catch-accent .big{font-size:27px;}

/* speed band */
.speedband{
  position:relative;margin-top:15px;display:flex;align-items:center;gap:9px;
  background-color:#f4781a;
  background-image:linear-gradient(100deg,#ffa838,#f0760f);border-radius:15px;
  padding:9px 15px;color:#fff;border:2.5px solid #fff;
  box-shadow:0 6px 16px rgba(240,118,15,.42);
}
.speedband .l{font-size:17px;font-weight:900;font-family:"Noto Sans JP",sans-serif;display:flex;flex-direction:column;align-items:center;line-height:1;gap:2px;}
.speedband .l small{font-size:11px;}
.speedband .num{font-family:"Noto Sans JP",sans-serif;font-size:56px;font-weight:900;line-height:.82;text-shadow:0 3px 0 #bf5708;letter-spacing:-.02em;}
.speedband .u{font-size:23px;font-weight:900;align-self:flex-end;padding-bottom:7px;}
.speedband .sep{width:2px;height:38px;background:rgba(255,255,255,.5);border-radius:2px;margin:0 2px;}
.speedband .r{font-size:16px;font-weight:900;line-height:1.25;font-family:"Noto Sans JP",sans-serif;}
.speedband .r small{display:block;font-size:11px;font-weight:700;opacity:.95;}
.speedband .prov{position:absolute;top:-9px;right:8px;background:#fff;color:#c4500a;border:1px dashed var(--orange);font-size:9px;font-weight:800;border-radius:5px;padding:1px 6px;}

/* hero stage — staff as the star */
.herostage{
  position:relative;margin-top:14px;height:316px;border-radius:20px;overflow:hidden;
  border:3px solid #fff;box-shadow:0 12px 28px rgba(8,44,77,.26);
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.7) 0 6px, transparent 7px),
    radial-gradient(circle at 78% 26%, rgba(255,255,255,.55) 0 9px, transparent 10px),
    radial-gradient(circle at 60% 70%, rgba(255,255,255,.5) 0 5px, transparent 6px),
    linear-gradient(160deg,#cfe6ff,#8fc2f1 70%,#6aa9e4);
}
.herostage .splash{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.85;}
.herostage .staffbig{position:absolute;inset:0;width:100%;height:100%;display:block;--slot-bg:transparent;}
.herostage .seal{position:absolute;top:8px;left:8px;right:auto;width:104px;height:104px;z-index:3;}
.herostage .float24{
  position:absolute;left:10px;bottom:12px;z-index:3;width:78px;height:78px;border-radius:50%;
  background:radial-gradient(circle at 40% 32%,#3b8aef,var(--navy));border:3px solid #fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;
  box-shadow:0 5px 12px rgba(8,44,77,.4);font-family:"Noto Sans JP",sans-serif;
}
.herostage .float24 b{font-size:20px;font-weight:900;line-height:1;}
.herostage .float24 span{font-size:10px;font-weight:900;margin-top:2px;}
.herostage .prov{position:absolute;right:8px;bottom:8px;top:auto;left:auto;z-index:3;}

/* GIANT price block */
.price-img{display:block;width:100%;height:auto;aspect-ratio:2/1;margin-top:16px;border-radius:13px;overflow:hidden;--slot-bg:#eef4fb;}
.priceX{
  position:relative;margin-top:16px;
  background:linear-gradient(180deg,#ffffff,#e9f3fd);
  border:2px solid var(--navy);border-radius:13px;
  padding:11px 13px 12px;box-shadow:0 4px 11px rgba(8,44,77,.15);overflow:hidden;
}
.priceX .burst{display:none;}
.priceX>*{position:relative;z-index:1;}
.priceX .ribbon{
  position:absolute;top:20px;right:-42px;z-index:4;transform:rotate(45deg);
  background:linear-gradient(180deg,#fb5448,#d62b22);color:#fff;
  font-family:"Noto Sans JP",sans-serif;font-size:11.5px;font-weight:900;letter-spacing:.02em;
  padding:7px 52px;text-align:center;white-space:nowrap;
  border-top:1.5px solid #f3d678;border-bottom:1.5px solid #f3d678;
  box-shadow:0 2px 7px rgba(0,0,0,.3);
}
.priceX .lbl{display:inline-block;background:var(--navy);color:#fff;font-weight:900;font-size:15px;padding:6px 14px;border-radius:7px;font-family:"Noto Sans JP",sans-serif;box-shadow:0 2px 0 var(--navy-deep);}
.priceX .wasnow{text-align:center;margin-top:10px;}
.priceX .nowrow{display:flex;align-items:center;justify-content:flex-start;gap:11px;margin-top:6px;white-space:nowrap;}
.priceX .was{position:relative;display:inline-flex;align-items:center;gap:8px;font-weight:900;color:#6b7787;white-space:nowrap;}
.priceX .was .wl{font-size:15px;color:#7a8696;}
.priceX .was .wn{position:relative;font-size:29px;color:#6b7787;padding:0 2px;}
.priceX .was .wn::after{content:"";position:absolute;inset:-3px -5px;z-index:2;
  background-image:
    linear-gradient(to top right, transparent calc(50% - 1.7px), var(--red) calc(50% - 1.7px), var(--red) calc(50% + 1.7px), transparent calc(50% + 1.7px)),
    linear-gradient(to bottom right, transparent calc(50% - 1.7px), var(--red) calc(50% - 1.7px), var(--red) calc(50% + 1.7px), transparent calc(50% + 1.7px));}
.priceX .was .wt{font-size:17px;color:#6b7787;}
.priceX .nowrow-old{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:9px;white-space:nowrap;}
.priceX .nowtag{flex:0 0 auto;text-align:center;background:var(--red);color:#fff;font-size:11.5px;font-weight:900;line-height:1.12;border-radius:9px;padding:6px 9px;font-family:"Noto Sans JP",sans-serif;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--red);}
.priceX .nowtag b{display:block;font-size:17px;}
.priceX .nowamt{line-height:1;display:flex;align-items:flex-end;}
.priceX .num{font-family:"Noto Sans JP",sans-serif;font-size:60px;font-weight:900;color:var(--orange);letter-spacing:-.02em;line-height:.84;-webkit-text-stroke:4px #fff;paint-order:stroke fill;text-shadow:0 3px 4px rgba(196,118,10,.32);}
.priceX .enunit{display:inline-flex;flex-direction:column;align-items:center;line-height:1;padding-bottom:6px;margin-left:9px;}
.priceX .enunit .en{font-size:20px;font-weight:900;color:var(--orange);-webkit-text-stroke:2.5px #fff;paint-order:stroke fill;}
.priceX .enunit .unit{font-size:11px;font-weight:900;color:var(--orange);margin-top:1px;}
.priceX .kara{font-size:26px;font-weight:900;color:var(--orange);margin-left:2px;padding-bottom:6px;-webkit-text-stroke:2.5px #fff;paint-order:stroke fill;}
.priceX .pn{margin-top:11px;padding-top:11px;border-top:2px dotted #cdddf0;font-size:11px;color:#5a6b7e;text-align:center;line-height:1.45;}
.priceX .pn2-removed{}

/* 0円 row (3 cards) */
.zerorow{margin-top:13px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.zcard{
  background:#fff;border:1.5px solid var(--blue-soft);border-radius:11px;
  padding:11px 4px 9px;text-align:center;box-shadow:0 1px 3px rgba(8,44,77,.08);
  display:flex;flex-direction:column;align-items:center;gap:3px;
}
.zcard .zi{width:24px;height:24px;color:var(--blue);}
.zcard .zi svg{width:24px;height:24px;}
.zcard .zt{font-size:11px;font-weight:900;color:var(--navy);line-height:1.2;}
.zcard .zv{font-size:21px;font-weight:900;color:var(--red);line-height:1;font-family:"Noto Sans JP",sans-serif;}
.zcard .zv.sm{font-size:17px;}

/* =========================================================
   FV HERO PANEL v5 — competitor layered (right staff + giant catch)
   ========================================================= */
.fvhero{
  position:relative;margin-top:-26px;height:auto;border-radius:0;overflow:visible;
  border:0;box-shadow:none;
  background:transparent;
  container-type:inline-size;container-name:fv;
}
.fvhero .splash{position:absolute;inset:-3.52cqw -4.02cqw -2.51cqw;width:auto;height:auto;pointer-events:none;}
.fvhero .staff{
  position:absolute;right:-4%;bottom:0;width:64%;height:94%;display:block;
  --slot-bg:transparent;z-index:1;border:0;border-radius:0;box-shadow:none;
}
/* left readability fade behind the headline */
.fvhero::after{display:none;}
.fvhero .catch{position:relative;top:auto;left:auto;right:auto;max-width:none;z-index:2;line-height:1.0;font-feature-settings:"palt";text-align:left;}
.fvhero .fv-kick2{
  display:inline-flex;align-items:center;gap:1.51cqw;margin-bottom:2.26cqw;
  background:linear-gradient(180deg,#1551a0,var(--navy));color:#fff;font-size:3.14cqw;font-weight:900;
  padding:1.26cqw 3.02cqw;border-radius:1.76cqw;font-family:"Noto Sans JP",sans-serif;box-shadow:0 2px 0 var(--navy-deep);
}
.fvhero .fv-kick2 svg{display:none;}
.fvhero .catch .l1,.fvhero .catch .l2{
  display:block;font-family:"Noto Sans JP",sans-serif;font-weight:900;color:var(--navy);
  letter-spacing:-.03em;-webkit-text-stroke:1.26cqw #fff;paint-order:stroke fill;white-space:nowrap;
  text-shadow:0 3px 7px rgba(8,44,77,.26);
}
.fvhero .catch .l1{font-size:11.81cqw;}
.fvhero .catch .l2{font-size:7.54cqw;margin-top:2.26cqw;}
.fvhero .catch .l2 .o{color:var(--blue);-webkit-text-stroke:1.26cqw #fff;}
.fvhero .catch-accent{
  display:inline-block;margin-top:3.27cqw;background:linear-gradient(180deg,#ffa330,var(--orange));
  color:#fff;font-family:"Noto Sans JP",sans-serif;font-size:4.77cqw;font-weight:900;white-space:nowrap;
  padding:1.51cqw 3.77cqw;border-radius:2.26cqw;box-shadow:0 3px 0 #c4760a,0 6px 11px rgba(196,118,10,.3);transform:none;
}
.fvhero .catch-accent .big{font-size:5.78cqw;}
/* FV price: in flow under the catch */
.fv-overlay-price{position:relative;left:auto;right:auto;top:auto;z-index:2;margin-top:14px!important;width:100%;}
.fvhero .seal{position:absolute;top:140px;right:8px;left:auto;bottom:auto;width:118px;height:118px;z-index:3;}
.fvhero .seal .medal .k1{font-size:10px;}
.fvhero .seal .medal .k2{font-size:17px;}
.fvhero .seal .medal .k3{font-size:10px;}
.fvbadges{display:none;}
.fvhero .staffseal{position:absolute;left:8px;bottom:6px;z-index:3;width:122px;aspect-ratio:1151/1563;}
.fvhero .staffseal .disc{position:absolute;inset:0;background:url(img/bg/medal.webp) top center / contain no-repeat;filter:drop-shadow(0 4px 9px rgba(0,0,0,.34));}
.fvhero .staffseal .gtx{position:absolute;left:50%;top:37%;transform:translate(-50%,-50%);width:74%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1px;font-family:"Noto Sans JP",sans-serif;}
.fvhero .staffseal .gtx .top{font-size:11px;font-weight:900;color:var(--navy);white-space:nowrap;text-shadow:0 1px 0 rgba(255,250,228,.7);}
.fvhero .staffseal .gtx .main{font-size:18px;font-weight:900;color:#c4271f;letter-spacing:-.04em;line-height:1.05;white-space:nowrap;text-shadow:0 1px 0 rgba(255,250,228,.7);}
.fvbadges{position:absolute;left:13px;bottom:14px;z-index:3;display:none;gap:9px;}

/* FV row: gold medal trio + staff photo */
.fvhero{position:relative;}
.fvrow{position:relative;z-index:2;display:flex;align-items:center;gap:0;margin-top:4.5cqw;}
.fvmedals{flex:0 0 66%;width:66%;display:flex;gap:1.76cqw;align-items:flex-start;position:relative;z-index:2;margin-left:-0.5cqw;}
.fvmedals .gmedal.fvm{flex:1;min-width:0;width:auto;filter:drop-shadow(0 4px 8px rgba(11,61,107,.18));}
.fvmedals .gmedal.fvm .gtx{top:36%;}
.fvmedals .gmedal.fvm .gtx .top{font-size:2.25cqw;}
.fvmedals .gmedal.fvm .gtx .main{font-size:3.55cqw;letter-spacing:-.02em;}
.fvhero .fvstaff{
  position:absolute;right:-9cqw;top:8.5cqw;z-index:1;
  height:84.17cqw;width:auto;max-width:none;
  border-radius:0;box-shadow:none;
  filter:drop-shadow(0 6px 12px rgba(11,61,107,.18));
}
.fvbadge{
  width:92px;height:92px;border-radius:50%;border:3px solid #fff;color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  box-shadow:0 6px 14px rgba(8,44,77,.34);font-family:"Noto Sans JP",sans-serif;position:relative;
}
.fvbadge.b1{background:radial-gradient(circle at 42% 32%,#ff9d3e,#ec6c10);}
.fvbadge.b2{background:radial-gradient(circle at 42% 32%,#3f93e0,#13539c);}
.fvbadge .s{font-size:12px;font-weight:900;line-height:1.05;}
.fvbadge .n{font-size:36px;font-weight:900;line-height:.86;letter-spacing:-.03em;}
.fvbadge .n small{font-size:15px;}
.fvbadge .u2{font-size:12.5px;font-weight:900;line-height:1.05;margin-top:1px;}
.fvbadge .pv{position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);background:#fff;color:#c4500a;border:1px dashed var(--orange);font-size:8px;font-weight:800;border-radius:5px;padding:0 5px;white-space:nowrap;}
.fvhero .prov.corner{display:none;}

img.slotimg{display:block;object-fit:cover;}

/* ===== 地域別ページへの導線 ===== */
.arealinks{margin-top:22px}
.arealinks .alh{font-size:13px;font-weight:900;color:#0B3D6B;margin:0 0 10px;text-align:center}
.arealink{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fff;border:1px solid #dbe4ec;border-radius:12px;text-decoration:none;box-shadow:0 1px 3px rgba(11,61,107,.06)}
.arealink .alt{font-size:15px;font-weight:900;color:#0B3D6B;line-height:1.4}
.arealink .ald{display:block;font-size:12px;font-weight:600;color:#5b6b7a;margin-top:3px}
.arealink .alarrow{margin-left:auto;flex:0 0 auto;color:#1E6FD9;display:flex;align-items:center}

.arealink+.arealink{margin-top:10px}
