/* 消防点検の費用ナビ　仕様：ops/remote/results/design-bench-1110/shobo/REPORT.md 4章
   色：構造＝紺、押すもの・金額＝赤、それ以外に色を使わない。角丸は4pxだけ。動き（フェード等）は入れない */
:root{
  --ink:#1A2230;--sub:#4A5563;--navy:#12355B;--navy-l:#E8EEF6;--red:#D52B1E;--red-d:#B22217;--red-l:#FDEDEC;
  --mk:#FFE45C;--bg:#F4F6F9;--line:#D5DCE4;--r:4px;
  --jp:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  --num:"Roboto Condensed","Noto Sans JP",sans-serif;
}
*{box-sizing:border-box}
html{scroll-padding-top:16px}
body{margin:0;font-family:var(--jp);color:var(--ink);font-size:16px;line-height:1.9;background:#fff;-webkit-text-size-adjust:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:768px}
a{color:var(--navy);text-underline-offset:3px}
a:hover{color:var(--red)}
img,svg{max-width:100%}
h1,h2,h3,.band-h,.fv-sub{word-break:auto-phrase}
h1,h2,h3{font-feature-settings:"palt";letter-spacing:.02em;line-height:1.45}
h1{font-size:30px;font-weight:900;margin:12px 0 20px}
h2{font-size:24px;font-weight:700;margin:56px 0 18px;padding-top:14px;border-top:3px solid var(--navy);color:var(--navy)}
h3{font-size:19px;font-weight:700;margin:32px 0 10px}
h4{font-size:16px;margin:24px 0 8px}
p{margin:0 0 1em}
ul,ol{padding-left:1.4em}
li{margin:.25em 0}
.small,.note{font-size:13px;color:var(--sub);line-height:1.75}
.src{font-size:13px;color:var(--sub);line-height:1.7;margin:8px 0 0}
.n{font-family:var(--num);font-weight:700;font-feature-settings:"tnum";letter-spacing:.01em}
.yen{font-family:var(--num);font-weight:700;color:var(--red);font-feature-settings:"tnum"}
.yen.big{font-size:1.5em}
.mk{background:linear-gradient(transparent 60%,var(--mk) 60%)}
.pc-only{display:inline}
.nw{white-space:nowrap}
.fv-sub .n{line-height:1}
.t-top .narrow,.t-hiyou .narrow{max-width:1120px}
.t-top .narrow>*,.t-hiyou .narrow>*{max-width:860px}
[hidden]{display:none!important}

/* ---------- ヘッダー ---------- */
.site-header{background:var(--navy);color:#fff}
.hd{display:flex;align-items:center;gap:24px;min-height:64px}
.logo{color:#fff;text-decoration:none;font-weight:900;font-size:19px;line-height:1.3;display:flex;flex-direction:column}
.logo small{font-weight:400;font-size:11px;opacity:.85;letter-spacing:.03em}
.logo:hover{color:#fff}
.gnav{display:flex;gap:4px;margin-left:auto}
.gnav a{color:#fff;text-decoration:none;font-size:14px;font-weight:700;padding:8px 12px;border-radius:var(--r)}
.gnav a:hover,.gnav a[aria-current]{background:rgba(255,255,255,.12);color:#fff}
.hd-cta{background:var(--red);color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:10px 16px;border-radius:var(--r);white-space:nowrap}
.hd-cta:hover{background:var(--red-d);color:#fff}

/* ---------- ボタン ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;background:var(--red);color:#fff;font-weight:700;font-size:16px;text-decoration:none;border:0;border-radius:var(--r);cursor:pointer;font-family:inherit;line-height:1.4;text-align:center}
.btn:hover{background:var(--red-d);color:#fff}
.btn-line{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.btn-line:hover{background:var(--navy-l);color:var(--navy)}
.btn-sub{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.btn-block{display:flex;width:100%}
.after-table{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 8px}
.after-table .btn{flex:1 1 260px}

/* 本文中のテキストCTA（話題に合わせた1行） */
.tcta{margin:24px 0;padding:14px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.tcta span{font-size:14px;color:var(--sub)}
.tcta a{font-weight:700;color:var(--red);text-decoration:underline}
.tcta a::after{content:" ›"}

/* ---------- TOP：FV ---------- */
.fv{background:var(--navy);color:#fff;padding:48px 0 56px}
.fv-grid{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center}
.fv h1{font-size:36px;margin:0 0 16px;color:#fff}
.fv-sub{font-size:17px;line-height:1.85;margin:0 0 24px}
.fv-sub .n{font-size:1.5em}
.badges{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.badges li{margin:0;border:1px solid rgba(255,255,255,.55);padding:6px 12px;font-size:14px;font-weight:700;border-radius:var(--r)}
.badges .n{font-size:20px;margin-right:2px}
.fv-card{background:#fff;color:var(--ink);padding:24px;border-radius:var(--r);display:grid;gap:14px}
.fv-card-h{font-weight:900;font-size:18px;margin:0;color:var(--navy)}
.fv-card-note{font-size:12px;color:var(--sub);margin:0;text-align:center}
.uses{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.uses legend{font-size:14px;font-weight:700;margin-bottom:6px;padding:0}
.uses label{display:block;cursor:pointer}
.uses input{position:absolute;opacity:0}
.uses span{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:var(--r);font-size:13px;font-weight:700;text-align:center;line-height:1.3;padding:4px}
.uses input:checked+span{border:2px solid var(--navy);background:var(--navy-l);color:var(--navy)}
.uses input:focus-visible+span{outline:2px solid var(--red)}
.fld{display:grid;gap:4px;font-size:14px;font-weight:700}
input[type=text],input[type=number],input[type=email],input[type=tel],select,textarea{font:inherit;font-size:16px;font-weight:400;padding:10px 12px;border:1px solid #AEB8C4;border-radius:var(--r);width:100%;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--navy);outline-offset:0}

/* ---------- セクション ---------- */
.sec{padding:16px 0 48px}
.sec-gray{background:var(--bg);padding:8px 0 48px;margin:24px 0}
.sec>.wrap>h2:first-child,.sec-gray>.wrap>h2:first-child{margin-top:40px}
.sec-lead{font-size:15px;color:var(--sub)}

/* ---------- 早見表 ---------- */
.hayami table{width:100%;border-collapse:collapse;background:#fff;font-size:15px}
.hayami th,.hayami td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.hayami thead th{background:var(--navy);color:#fff;font-size:14px;line-height:1.4}
.hayami thead small{display:block;font-weight:400;font-size:12px;opacity:.85}
.hayami tbody th{font-family:var(--num);font-weight:700;font-size:17px;white-space:nowrap}
.hayami td.mid{white-space:nowrap}
.hayami td.rng{font-family:var(--num);font-size:16px;color:var(--ink)}
.hayami tr.hit{background:#FFF6CC;outline:3px solid var(--red);outline-offset:-3px}
.hit{margin:12px 0 0;padding:12px 16px;background:var(--navy-l);font-weight:700}
.hit .yen{font-size:1.3em}

/* ---------- 一般の表 ---------- */
.tbl{overflow-x:auto;margin:16px 0}
table.plain,table.stack{width:100%;border-collapse:collapse;font-size:15px}
.plain th,.plain td,.stack th,.stack td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;line-height:1.7}
.plain thead th,.stack thead th{background:var(--navy-l);color:var(--navy);font-size:14px;border-bottom:2px solid var(--navy)}
.plain tbody th{font-weight:700}
.plain small{display:block;font-weight:400;font-size:12px;color:var(--sub)}
td.law,th.law{font-size:12px;color:var(--sub)}
.unit th .ic{width:22px;height:22px;vertical-align:-5px;margin-right:6px;color:var(--navy)}

/* ---------- 事例カード ---------- */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0 8px}
.case{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);padding:18px 18px 14px;border-radius:0 0 var(--r) var(--r)}
.case-tag{font-size:12px;font-weight:700;color:var(--navy);background:var(--navy-l);display:inline-block;padding:2px 8px;margin:0 0 8px;border-radius:var(--r)}
.case h3{margin:0 0 10px;font-size:16px;display:flex;flex-direction:column}
.case-area{font-family:var(--num);color:var(--navy);font-size:15px}
.case-area b{font-size:40px;line-height:1.1;margin-right:2px}
.case-eq{list-style:none;padding:0;margin:0 0 10px;font-size:13px}
.case-eq li{display:flex;align-items:center;gap:6px;margin:2px 0}
.case-eq .ic{width:20px;height:20px;color:var(--navy);flex:none}
.case table{width:100%;border-collapse:collapse;font-size:14px}
.case th,.case td{padding:6px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400;vertical-align:baseline}
.case th small{display:block;font-size:11px;color:var(--sub)}
.case td{text-align:right;font-family:var(--num);font-weight:700;white-space:nowrap}
.case tr.total th{font-weight:700}
.case tr.total td .yen.big{font-size:22px}
.case-basis{font-size:12px;color:var(--sub);margin:8px 0 0;line-height:1.6}
.calc-note{margin:12px 0 0;font-size:14px}
.calc-note summary{font-size:14px}

/* ---------- 理由・数字の帯 ---------- */
.reasons{display:grid;gap:0;border-top:1px solid var(--line)}
.reason{padding:16px 0;border-bottom:1px solid var(--line)}
.reason h3{margin:0 0 6px;font-size:18px;color:var(--navy)}
.reason p{margin:0}
.reason .n{font-size:1.2em}
.reason details{margin-top:8px}
.numband{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:#fff;margin:20px 0 0}
.numband>div{padding:16px 18px;border-right:1px solid var(--line)}
.numband>div:last-child{border-right:0}
.numband .n{font-size:40px;color:var(--navy);line-height:1.1}
.numband span{font-weight:700;color:var(--navy);margin-left:2px}
.numband p{font-size:13px;color:var(--sub);margin:6px 0 0;line-height:1.6}

/* ---------- 図 ---------- */
.fig{margin:24px 0;background:#fff;border:1px solid var(--line);padding:16px}
.fig svg{display:block;width:100%;height:auto;max-width:520px;margin:0 auto;font-family:var(--jp)}
.fig figcaption{font-size:13px;color:var(--sub);margin-top:10px;line-height:1.7}
.two-figs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.two-figs .fig{margin:8px 0}
.wrap-in{margin:0 auto}
.fig-setsubi{display:grid;gap:12px}
.eq-group ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.eq-group li{margin:0;display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:6px 12px 6px 8px;font-size:14px;font-weight:700;border-radius:var(--r)}
.eq-group .ic{width:28px;height:28px;color:var(--navy)}
.eq-h{font-size:14px;font-weight:700;margin:0 0 6px;color:var(--navy)}
.eq-h b{font-family:var(--num);margin-left:8px;color:var(--ink);font-size:13px}

/* ---------- 建物・設備から探す ---------- */
.find{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.find h3{margin-top:8px}
.rowlinks{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.rowlinks li{margin:0;border-bottom:1px solid var(--line)}
.rowlinks a{display:block;padding:12px 28px 12px 0;text-decoration:none;color:var(--ink);position:relative}
.rowlinks a::after{content:"›";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--navy);font-size:20px}
.rowlinks a:hover strong{color:var(--red)}
.rowlinks strong{display:block;color:var(--navy)}
.rowlinks span{display:block;font-size:13px;color:var(--sub);line-height:1.6}
.rowlinks .ic{width:22px;height:22px;color:var(--navy);vertical-align:-5px;margin-right:8px;float:left}
.more{margin:12px 0 0;font-weight:700;font-size:15px}
.more a::after{content:" ›"}

/* ---------- 注意の箱（1ページ1つ） ---------- */
.caution{background:var(--red-l);padding:4px 24px 20px;border-radius:var(--r)}
.caution h2{border-top:0;color:var(--red-d);margin-top:20px;padding-top:0}

/* ---------- 都道府県の帯 ---------- */
.prefband{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:#fff;border:1px solid var(--line)}
.prefband li{margin:0;border-right:1px solid var(--line)}
.prefband li:last-child{border-right:0}
.prefband a{display:block;padding:14px 16px;text-decoration:none;color:var(--ink)}
.prefband a:hover{background:var(--navy-l)}
.prefband .pn{display:block;font-weight:700;color:var(--navy);font-size:15px}
.prefband .n{font-size:32px;color:var(--navy)}
.prefband span:last-child{font-size:13px;margin-left:2px}

/* ---------- 末尾の帯 ---------- */
.band{background:var(--navy);color:#fff;padding:40px 0;margin-top:56px}
.band-h{font-size:22px;font-weight:900;margin:0 0 4px}
.band-sub{margin:0 0 20px;opacity:.9}
.band-btns{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.band-btns .btn{flex:0 1 320px}
.band .btn-line{border-color:#fff;background:transparent;color:#fff}
.band .btn-line:hover{background:rgba(255,255,255,.1);color:#fff}

/* ---------- 解説ページ ---------- */
.page-grid{display:grid;grid-template-columns:minmax(0,720px) 320px;gap:56px;justify-content:space-between;align-items:start}
.main{min-width:0}
.bc{font-size:13px;color:var(--sub);margin:16px 0 0;line-height:1.6}
.bc a{color:var(--sub)}
.bc .sep{margin:0 6px}
.points{border:2px solid var(--navy);padding:14px 20px 12px;margin:0 0 24px;border-radius:var(--r)}
.points-h{font-weight:900;color:var(--navy);margin:0 0 4px;font-size:15px}
.points ul{margin:0;padding-left:1.2em}
.points li{margin:4px 0;line-height:1.75}
.points .n{font-size:1.15em;color:var(--navy)}
.toc{background:var(--bg);padding:14px 18px;font-size:14px;border-radius:var(--r)}
.toc-h{font-weight:700;margin:0 0 4px}
.toc ol{margin:0;padding-left:1.6em}
.toc li{margin:3px 0;line-height:1.6}
.toc a{text-decoration:none}
.toc a:hover{text-decoration:underline}
.toc-inline{display:none;margin:0 0 24px}
.side{position:sticky;top:16px;padding-top:56px}
.side-in{display:grid;gap:16px}
.side-cta{border:1px solid var(--line);padding:16px;display:grid;gap:10px;border-radius:var(--r)}
.side-cta-h{margin:0;font-size:14px;font-weight:700}
.side-num{margin:0;font-size:14px}
.side-num small{font-size:12px;color:var(--sub)}
.side-cta .btn{min-height:48px;font-size:15px}
.body h2:first-child{margin-top:32px}
.body .point{background:var(--bg);padding:14px 18px 2px;margin:20px 0;border-radius:var(--r)}
.children,.xlinks,.faq{margin-top:8px}
.x-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line)}
.x-col{padding:12px 16px;border-right:1px solid var(--line)}
.x-col:last-child{border-right:0}
.x-h{font-weight:700;margin:0 0 4px}
.x-h a{text-decoration:none;color:var(--navy)}
.x-col ul{list-style:none;padding:0;margin:0;font-size:14px}
.x-col li{margin:4px 0}
.x-next{font-size:14px;margin:12px 0 0}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:700;padding:12px 0;list-style-position:outside}
.faq details>div{padding:0 0 12px}
.sources{margin-top:40px;font-size:14px;border-top:1px solid var(--line)}
.sources ul{font-size:13px;padding-left:1.2em}
.lead-plain{font-size:16px}
.updated{margin-top:32px}

/* ---------- 費用ページ ---------- */
.jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.jump a{font-size:14px;font-weight:700;border:1px solid var(--navy);padding:6px 12px;text-decoration:none;border-radius:var(--r)}
.jump a:hover{background:var(--navy-l)}
.calc{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);padding:18px;border-radius:var(--r)}
.calc .btn{min-height:46px}
.calc-out{background:#fff;border:2px solid var(--navy);padding:16px 18px;margin:12px 0;border-radius:var(--r)}
.calc-out p{margin:0 0 6px}
.calc-out .yen{font-size:1.35em}
.compare th{width:58%}

/* ---------- 診断・見積もり相談のフォーム ---------- */
.shindan,.mitsumori{display:grid;gap:14px;background:var(--bg);padding:20px;border-radius:var(--r)}
.shindan label,.mitsumori label{display:grid;gap:4px;font-size:14px;font-weight:700}
.shindan label.check,.mitsumori label.check{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.shindan .btn{justify-self:start}
fieldset{border:1px solid var(--line);background:#fff;display:grid;gap:12px;padding:16px;margin:0;border-radius:var(--r)}
legend{font-weight:700;color:var(--navy);padding:0 4px}
.mitsumori label:not(.check){display:flex;flex-wrap:wrap;align-items:center;gap:4px 0}
.mitsumori label:not(.check)>input,.mitsumori label:not(.check)>select,.mitsumori label:not(.check)>textarea{flex:1 1 100%}
.req{display:inline-block;font-size:11px;font-weight:700;color:var(--red);border:1px solid var(--red);padding:0 4px;margin-left:6px;line-height:1.5;border-radius:var(--r)}
.hp{position:absolute;left:-9999px;width:1px;height:1px}
.form-status{font-weight:700;margin:0}
.form-status.ok{background:var(--navy-l);padding:14px 16px;color:var(--navy)}
.form-status.ng{background:var(--red-l);padding:14px 16px;color:var(--red-d)}
.shindan-result{margin-top:16px}
.shindan-result table{width:100%;border-collapse:collapse;font-size:14px}
.shindan-result th,.shindan-result td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
.warn{color:var(--red-d)}

/* ---------- フッター・固定バー ---------- */
.site-footer{background:#0E2A48;color:#DCE3EC;padding:40px 0 96px;margin-top:0;font-size:14px}
.t-article .site-footer,.t-form .site-footer,.t-site .site-footer{margin-top:0}
.site-footer a{color:#fff}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:32px}
.ft-logo{font-weight:900;font-size:17px;color:#fff;margin:0 0 8px}
.site-footer .small{color:#C2CCD8}
.ft-links{list-style:none;padding:0;margin:0;columns:2;font-size:14px}
.ft-links li{margin:0 0 6px}
.stickybar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;height:60px;box-shadow:0 -1px 0 var(--line)}
.stickybar a{flex:1;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;text-decoration:none;color:#fff}
.sb-tool{background:var(--navy)}
.sb-main{background:var(--red)}

/* ---------- 画面幅で切り替え ---------- */
@media (max-width:1000px){
  .page-grid{grid-template-columns:minmax(0,1fr)}
  .side{display:none}
  .toc-inline{display:block}
  .fv-grid{grid-template-columns:1fr;gap:28px}
  .cases{grid-template-columns:1fr}
  .two-figs,.find{grid-template-columns:1fr}
}
@media (max-width:760px){
  body{font-size:15px;line-height:1.85}
  .wrap{padding:0 16px}
  h1{font-size:24px}
  h2{font-size:20px;margin-top:44px}
  h3{font-size:17px}
  .hd{flex-wrap:wrap;gap:0 12px;min-height:0;padding-top:10px}
  .logo{font-size:17px}
  .logo small{display:none}
  .hd-cta{margin-left:auto;padding:8px 12px;font-size:13px}
  .gnav{order:3;width:100%;margin:6px -8px 0;overflow-x:auto;white-space:nowrap}
  .gnav a{font-size:13px;padding:8px}
  .pc-only{display:none}
  .fv{padding:24px 0 28px}
  .fv h1{font-size:25px}
  .fv-sub{font-size:15px;margin-bottom:16px}
  .fv-card{padding:18px}
  .btn{min-height:52px;padding:0 18px;font-size:15px}
  .after-table .btn{flex-basis:100%}
  /* 早見表はスマホで行ごとのカード */
  .hayami thead{display:none}
  .hayami table,.hayami tbody,.hayami tr{display:block}
  .hayami tr{display:grid;grid-template-columns:1fr auto;gap:0 12px;padding:10px 12px;border-bottom:1px solid var(--line)}
  .hayami th,.hayami td{border:0;padding:0}
  .hayami tbody th{font-size:16px;grid-row:1}
  .hayami td.mid{grid-row:1/3;grid-column:2;align-self:center;font-size:14px}
  .hayami td.rng{grid-row:2;font-size:13px;color:var(--sub)}
  .hayami td.rng::before{content:"多くの業者 "}
  /* 4列以上の表はスマホで行ごとのカード */
  table.stack thead{display:none}
  table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}
  table.stack tr{border:1px solid var(--line);margin:0 0 10px;padding:4px 12px;border-radius:var(--r)}
  table.stack td{border:0;padding:4px 0;border-bottom:1px dashed var(--line)}
  table.stack td:last-child{border-bottom:0}
  table.stack td[data-label]::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:var(--navy)}
  .numband{grid-template-columns:1fr}
  .numband>div{border-right:0;border-bottom:1px solid var(--line)}
  .numband>div:last-child{border-bottom:0}
  .numband .n{font-size:32px}
  .prefband{grid-template-columns:1fr}
  .prefband li{border-right:0;border-bottom:1px solid var(--line)}
  .prefband a{display:flex;align-items:baseline;gap:8px;padding:10px 14px}
  .prefband .pn{flex:1}
  .prefband .n{font-size:26px}
  .x-grid{grid-template-columns:1fr}
  .x-col{border-right:0;border-bottom:1px solid var(--line)}
  .calc{grid-template-columns:1fr}
  .band{padding:32px 0}
  .band-h{font-size:19px}
  .band-btns .btn{flex:1 1 100%}
  .ft-grid{grid-template-columns:1fr;gap:16px}
  .stickybar.on{display:flex}
  .fig{padding:12px 8px}
  .caution{padding:4px 16px 16px}
}

/* ===== 第3版（11/10）：手本TOP（hojokin-agent.jp）の型。白地＋薄い紺の帯を交互・pillのボタン・余白を広く ===== */
:root{--band:#EEF3F9;--tile:#E3ECF6}
.btn.pill,.hd-cta{border-radius:999px}
.btn.pill{padding:0 32px}
.band-l{background:var(--band)}
/* ヒーロー */
.hero{background:#fff;padding:56px 0 64px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-120px;top:-140px;width:620px;height:620px;border-radius:50%;background:var(--band);z-index:0}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.hero-lead{display:inline-block;margin:0 0 14px;font-size:14px;font-weight:700;color:var(--navy);background:var(--band);padding:4px 14px;border-radius:999px}
.hero h1{font-size:40px;line-height:1.4;margin:0 0 18px;color:var(--ink);font-weight:900}
.hero h1 .mk{background:linear-gradient(transparent 58%,var(--mk) 58%);padding:0 2px}
.hero-desc{font-size:16px;color:var(--sub);margin:0 0 26px;line-height:1.85}
.hero-nums{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-wrap:wrap;gap:22px 28px}
.hero-nums li{display:flex;align-items:center;gap:10px;margin:0}
.ic-m{width:44px;height:44px;padding:9px;border-radius:50%;background:var(--band);color:var(--navy);flex:none}
.hero-nums .n{font-size:34px;color:var(--navy);line-height:1}
.hero-nums span{font-weight:700;color:var(--navy);margin-left:2px}
.hero-nums small{display:block;font-size:12px;color:var(--sub);line-height:1.4;margin-top:4px}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 12px}
.hero-btns .btn{min-height:56px}
.hero-note{font-size:12px;color:var(--sub);margin:0}
.hero-img img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:24px 24px 120px 24px;box-shadow:0 18px 40px rgba(18,53,91,.14)}
/* 〜から探す */
.find-sec{padding:56px 0}
.find-hd{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.find-hd h2{border-top:0;padding-top:0;margin:0 0 6px;font-size:26px;color:var(--ink)}
.more-r{font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap}
.find-lead{color:var(--sub);margin:0 0 24px;font-size:15px}
.tiles{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.tiles li{margin:0}
.tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;height:100%;padding:22px 10px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.tile:hover{border-color:var(--navy);box-shadow:0 6px 18px rgba(18,53,91,.10);color:var(--ink)}
.tile-ic{display:flex;width:64px;height:64px;border-radius:50%;background:var(--tile);color:var(--navy);align-items:center;justify-content:center;margin-bottom:4px}
.band-l .tile-ic{background:var(--band)}
.ic-l{width:34px;height:34px}
.tile-n{font-weight:700;font-size:15px;line-height:1.4}
.tile-s{font-size:12px;color:var(--sub);line-height:1.4}
.tile-s .n{font-size:15px;color:var(--navy)}
/* 図解付きガイド（横スクロール） */
.guides{list-style:none;padding:0 0 12px;margin:8px 0 0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory}
.guides li{margin:0;scroll-snap-align:start}
.guide{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:14px;overflow:hidden;text-decoration:none;color:var(--ink);border:1px solid var(--line)}
.guide:hover{border-color:var(--navy);color:var(--ink)}
.guide-img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--band)}
.guide-tag{align-self:flex-start;margin:14px 16px 6px;font-size:11px;font-weight:700;color:var(--navy);background:var(--band);padding:2px 10px;border-radius:999px}
.guide strong{margin:0 16px 6px;font-size:16px;line-height:1.5}
.guide-d{margin:0 16px 18px;font-size:13px;color:var(--sub);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* 費用のタイル */
.t-top .sec{padding:56px 0}
.t-top .sec h2{border-top:0;padding-top:0;margin:0 0 6px;font-size:26px;color:var(--ink)}
.price-tiles{list-style:none;padding:0;margin:20px 0 4px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.price-tiles li{margin:0;background:var(--band);border-radius:14px;padding:18px 18px 16px;display:flex;flex-direction:column}
.pt-l{font-size:14px;font-weight:700;color:var(--sub)}
.price-tiles .n{font-size:38px;color:var(--red);line-height:1.15}
.pt-u{font-weight:700;color:var(--red)}
/* 注意の3ステップ */
.t-top .caution{border-radius:14px;padding:8px 28px 22px}
.t-top .caution h2{color:var(--red-d);margin-top:20px}
.steps3{list-style:none;padding:0;margin:18px 0 8px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;counter-reset:st}
.steps3 li{margin:0;background:#fff;border-radius:12px;padding:16px;display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center}
.steps3 .ic-m{grid-row:span 2;background:var(--red-l);color:var(--red-d)}
.steps3 b{font-size:15px}
.steps3 span{font-size:13px;color:var(--sub);line-height:1.5}
/* 記事のアイキャッチ・AIの図 */
.eyecatch{margin:4px 0 22px}
.eyecatch img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px;background:var(--band);max-height:420px}
.fig-ai{margin:20px 0 28px}
.fig-ai img{display:block;width:100%;height:auto;border-radius:14px;background:var(--band)}
.flow-cap{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;counter-reset:fc}
.flow-cap li{counter-increment:fc;margin:0;font-size:13px;line-height:1.55;background:var(--band);border-radius:10px;padding:8px 10px}
.flow-cap li::before{content:counter(fc) "．";font-weight:700;color:var(--navy)}
/* 右下の丸いボタン（PCだけ。スマホは固定バー） */
.float-cta{position:fixed;right:24px;bottom:24px;z-index:40;width:92px;height:92px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-weight:900;font-size:14px;line-height:1.35;box-shadow:0 10px 24px rgba(213,43,30,.32)}
.float-cta:hover{background:var(--red-d);color:#fff}
@media (max-width:1000px){
  .tiles{grid-template-columns:repeat(3,1fr)}
  .hero h1{font-size:34px}
}
@media (max-width:860px){
  .hero{padding:0 0 40px}
  .hero::before{display:none}
  .hero-grid{grid-template-columns:1fr;gap:20px}
  .hero-img{order:-1;margin:0 -24px}
  .hero-img img{border-radius:0 0 40px 0;aspect-ratio:16/10;box-shadow:none}
  .price-tiles{grid-template-columns:repeat(2,1fr)}
  .steps3{grid-template-columns:1fr}
}
@media (max-width:760px){
  .float-cta{display:none}
  .hero h1{font-size:27px}
  .hero-lead{font-size:12px}
  .hero-desc{font-size:15px}
  .hero-nums{gap:14px 18px}
  .hero-nums .n{font-size:28px}
  .ic-m{width:38px;height:38px;padding:8px}
  .hero-btns .btn{flex:1 1 100%}
  .find-sec,.t-top .sec{padding:40px 0}
  .find-hd h2,.t-top .sec h2{font-size:21px}
  .tiles{grid-template-columns:repeat(2,1fr);gap:10px}
  .tile{padding:16px 8px 14px}
  .tile-ic{width:54px;height:54px}
  .ic-l{width:28px;height:28px}
  .guides{grid-auto-columns:78%}
  .price-tiles .n{font-size:30px}
  .flow-cap{grid-template-columns:1fr 1fr}
  .eyecatch img{border-radius:10px}
}
/* 第3版の微調整 */
.hero-nums{flex-wrap:nowrap;gap:22px}
.hero-nums .n{font-size:30px}
.pt-v{white-space:nowrap}
@media (max-width:760px){
  .hero-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .hero-nums li{flex-direction:column;align-items:flex-start;gap:6px;background:var(--band);border-radius:12px;padding:10px}
  .hero-nums .ic-m{background:#fff}
  .hero-nums .n{font-size:22px}
  .hero-nums small{font-size:11px}
  .tiles{grid-template-columns:repeat(3,1fr);gap:8px}
  .tile{padding:12px 4px 10px;border-radius:12px}
  .tile-ic{width:46px;height:46px}
  .ic-l{width:24px;height:24px}
  .tile-n{font-size:13px}
  .tile-s{font-size:10.5px}
}
@media (max-width:760px){.eyecatch img{aspect-ratio:16/9}}
.eyecatch img{max-height:320px}
.side .btn,.after-table .btn,.calc .btn,.cta-btns .btn{border-radius:999px}
.guides{grid-auto-columns:minmax(250px,29%)}
.float-cta{bottom:32px}
@media (max-width:760px){.guides{grid-auto-columns:78%}}

/* ===== 第4版（11/10）：uiux-reviewer の指摘21項目への対応 =====
   角丸は2種だけ：ボタン・チップ＝999px／カード・箱・入力欄＝12px。文字は本文14px以上・補足12px以上・出典と注記13px */
:root{--r:12px;--red-t:#B22217}
.btn,.btn.pill,.hd-cta,.jump a,.req,.opt,.hero-lead{border-radius:999px}
.btn{padding:0 28px}
.tile,.guide,.price-tiles li,.steps3 li,.case,.caution,.t-top .caution,.fig,.fv-box,.side-cta,.points,.toc,.calc,.calc-out,.mitsumori,.shindan,fieldset,.qflow li,.uselist,.hero-img img,.st-img,.eyecatch img,.fig-pic img{border-radius:12px}
.case{border-radius:0 0 12px 12px}
/* 小さい文字をなくす */
.logo small{font-size:12px}
.gnav a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.plain small,.hayami thead small,td.law,th.law,.case-tag,.case th small{font-size:12px}
.case-basis,.hero-note,.fig figcaption{font-size:13px}
.req,.opt{font-size:12px;padding:1px 8px}
.opt{display:inline-block;font-weight:700;color:var(--sub);border:1px solid var(--line);margin-left:6px;line-height:1.5}
.guide-d{font-size:14px}
.tile-s{font-size:12px!important}
/* 押せる所は高さ44px以上 */
.toc li{margin:0}
.toc a{display:block;padding:10px 0;line-height:1.5}
.ft-links a{display:inline-block;padding:11px 0;line-height:1.4}
.ft-links li{margin:0}
.bc a{display:inline-block;padding:12px 0}
.tcta a{display:inline-block;padding:10px 0}
.rowlinks a{min-height:44px}
.jump a{min-height:44px;display:inline-flex;align-items:center;padding:0 16px}
.x-col ul{display:flex;flex-wrap:wrap;gap:8px}
.x-col li{margin:0}
.x-col li a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:700;font-size:14px;background:#fff}
.x-col li a:hover{border-color:var(--navy);background:var(--navy-l)}
.x-h a{display:inline-block;padding:10px 0}
.x-grid{border:0;gap:16px}
.x-col{border:0!important;padding:0}
/* FAQ・目次の三角：自前の＋に */
summary{list-style:none;position:relative;padding:14px 36px 14px 0;min-height:44px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:400;color:var(--navy);line-height:1}
details[open]>summary::after{content:"−"}
/* 金額の赤は、薄い地の上では濃い赤（4.5:1以上） */
.price-tiles .n,.pt-u{color:var(--red-t)}
.band-l .yen,.sec-gray .yen,.hit .yen{color:var(--red-t)}
/* 表 */
.tbl+p,.hayami+p,.hayami+.points{margin-top:16px}
@media (min-width:761px){
  table.stack td:first-child,table.stack th:first-child{min-width:9em}
}
/* 幅をそろえる（本文860） */
.t-top .narrow,.t-hiyou .narrow{max-width:908px}
.t-top .narrow>*,.t-hiyou .narrow>*{max-width:none}
.t-hiyou #cases>.wrap{max-width:908px}
.t-hiyou .cases{gap:14px}
.t-hiyou .case{padding:16px 14px 12px}
.t-hiyou .case tr.total td .yen.big{font-size:20px}
.h1-sub{color:var(--sub);margin:-8px 0 12px;font-size:15px}
.t-hiyou h1{margin-bottom:12px}

/* ---------- ヒーロー（第4版） ---------- */
.hero h1 .mk{background:none;padding:0}
.hero-nums{display:grid!important;grid-template-columns:1.25fr 1fr 1fr;gap:12px!important;margin:0 0 26px}
.hero-nums li{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:2px!important;background:var(--band);border-radius:12px;padding:12px 14px;margin:0}
.hn-l{font-size:13px;font-weight:700;color:var(--sub);line-height:1.4}
.hn-v{white-space:nowrap}
.hero-nums .n{font-size:30px;color:var(--navy);line-height:1.15}
.hero-nums .hn-main .n{color:var(--ink);font-size:36px}
.hero-nums .n.mk{background:linear-gradient(transparent 62%,var(--mk) 62%);padding:0 2px}
.hero-nums small{font-size:12px;color:var(--sub);margin-top:2px;line-height:1.45}
.hero-nums small .n{font-size:14px;color:var(--sub)}
.hero-img img{border-radius:12px;aspect-ratio:3/2;object-position:65% 40%}

/* ---------- TOP：金額の帯 ---------- */
.sec-price{padding-top:40px!important;border-top:1px solid var(--line)}
.price-tiles li{background:#fff;border:1px solid var(--line)}
.pt-r{font-size:13px;color:var(--sub);margin-top:2px}
.find-hd h2 .cnt{display:inline-block;margin-left:10px;font-size:14px;font-weight:700;color:var(--navy);background:var(--band);border-radius:999px;padding:2px 10px;vertical-align:4px}
/* 建物：行のリスト */
.uselist{list-style:none;padding:0;margin:0;border:1px solid var(--line);background:#fff;overflow:hidden}
.uselist li{margin:0;border-top:1px solid var(--line)}
.uselist li:first-child{border-top:0}
.uselist .ul-hd{display:grid;grid-template-columns:28px 1fr 140px 220px;gap:14px;padding:10px 20px;background:var(--navy-l);font-size:13px;font-weight:700;color:var(--navy)}
.uselist .ul-hd span:first-child{grid-column:1/3}
.uselist a{display:grid;grid-template-columns:28px 1fr 140px 220px;gap:14px;align-items:center;padding:14px 20px;text-decoration:none;color:var(--ink);min-height:56px}
.uselist a:hover{background:var(--navy-l)}
.uselist a:hover .ul-n{color:var(--red)}
.uselist .ic{width:28px;height:28px;color:var(--navy)}
.ul-n{font-weight:700;font-size:16px;color:var(--navy)}
.ul-r{font-size:15px;font-weight:700}
.ul-p{font-size:15px}
.ul-p .n{font-size:22px;color:var(--red-t)}
.ul-p small{display:block;font-size:12px;color:var(--sub);line-height:1.3}
.ul-k{display:none}
/* 都道府県：1行の文字リンク */
.preflinks{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.preflinks a{display:inline-flex;align-items:baseline;gap:8px;min-height:48px;padding:10px 18px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:700;color:var(--navy);background:#fff}
.preflinks a:hover{border-color:var(--navy);background:var(--navy-l)}
.preflinks span{font-weight:400;font-size:14px;color:var(--sub)}
.preflinks .n{font-size:18px;color:var(--ink);margin-right:1px}
/* ガイド：PCは4列×2行 */
@media (min-width:861px){
  .guides{display:grid;grid-auto-flow:row;grid-template-columns:repeat(4,1fr);overflow:visible;gap:18px;padding:0}
}
.guide strong{margin:14px 16px 6px}
/* 訪問販売の3ステップ（絵つき） */
.steps3 li{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px}
.st-img{display:block;width:100%;height:auto;aspect-ratio:346/330;object-fit:cover;margin-bottom:6px}
.steps3 b{font-size:16px}
.steps3 span{font-size:14px}

/* ---------- 解説ページの1画面目（県・建物） ---------- */
.fv-box{border:2px solid var(--navy);padding:18px 20px;margin:0 0 24px;display:grid;gap:16px 24px;background:#fff}
.fv-k{font-size:14px;font-weight:700;color:var(--navy);margin:0 0 2px}
.fv-num{margin:0 0 10px;font-weight:700;color:var(--navy)}
.fv-num .n{font-size:44px;line-height:1.1;margin-right:2px}
.fv-num small{display:block;font-size:13px;font-weight:400;color:var(--sub);line-height:1.5}
.fv-box .btn{min-height:52px;font-size:15px}
.fv-pref{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.fv-dl{margin:0;display:grid;gap:12px;align-content:start}
.fv-dl dt{font-size:14px;font-weight:700;color:var(--navy)}
.fv-dl dd{margin:0;font-size:15px;line-height:1.7}
.fv-dl ul{margin:0;padding-left:1.2em}
.fv-dl li{margin:2px 0}
.fv-tate{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.eqcheck{list-style:none;padding:0;margin:6px 0 0;border-top:1px solid var(--line)}
.eqcheck li{display:grid;grid-template-columns:26px 9.5em 1fr;gap:8px;align-items:center;margin:0;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.55}
.eqcheck .ic{width:24px;height:24px;color:var(--navy)}
.eqcheck b{color:var(--ink)}
.fv-note{font-size:14px;margin:8px 0 0;color:var(--sub)}
.fvt-price{background:var(--navy-l);border-radius:12px;padding:14px 16px;align-self:start}
.fvt-price .fv-num .n{color:var(--red-t)}
.fvt-price .fv-num{color:var(--red-t)}
.side-dl{margin:0;display:grid;gap:8px}
.side-dl div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding:0 0 6px}
.side-dl dt{font-size:14px}
.side-dl dd{margin:0;font-weight:700;color:var(--navy)}
.side-dl .n{font-size:24px}
.side-dl small{display:block;width:100%;font-size:12px;font-weight:400;color:var(--sub);text-align:right;line-height:1.4}
.side-rep{margin:0;font-size:14px}
.side-num small{display:block;line-height:1.5}
.side .btn{min-height:48px;font-size:15px;padding:0 16px}
/* 内容のある図（AI） */
.fig-pic{padding:12px}
.fig-pic img{display:block;width:100%;height:auto;background:var(--band)}
.pic-cap{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}
.pic-cap.c2{grid-template-columns:1fr 1fr}
.pic-cap.c3{grid-template-columns:repeat(3,1fr)}
.pic-cap li{margin:0;font-size:14px;line-height:1.6;background:var(--band);border-radius:12px;padding:8px 12px}
/* 見積もりの流れ（HTMLの横矢印） */
.qflow{margin:20px 0 24px}
.qflow ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:q}
.qflow li{counter-increment:q;position:relative;margin:0;background:var(--band);padding:14px 14px 12px;display:flex;flex-direction:column;gap:2px}
.qflow li::before{content:counter(q);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--num);font-weight:700;font-size:15px;margin-bottom:4px}
.qflow li:not(:last-child)::after{content:"";position:absolute;right:-20px;top:50%;width:0;height:0;border:8px solid transparent;border-left:12px solid var(--navy);transform:translateY(-50%)}
.qflow b{font-size:16px}
.qflow span{font-size:14px;color:var(--sub);line-height:1.6}
.qflow figcaption{font-size:13px;color:var(--sub);margin-top:10px}

/* ---------- フォーム（見積もり相談・お問い合わせ） ---------- */
.form-steps{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:8px;counter-reset:fs}
.form-steps li{counter-increment:fs;margin:0;display:flex;gap:10px;align-items:baseline;font-size:15px;line-height:1.6}
.form-steps li::before{content:counter(fs);flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--num);font-weight:700;font-size:14px;transform:translateY(-1px)}
.mitsumori{display:block}
.fset{display:grid;gap:16px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.fset-h{font-weight:900;color:var(--navy);margin:4px 0 -6px;font-size:16px}
.f{display:grid;gap:6px}
.f>label:not(.check){font-size:15px;font-weight:700;display:flex;align-items:center;flex-wrap:wrap}
.f input,.f select,.f textarea{min-height:48px;border-radius:12px}
.f [aria-invalid=true]{border-color:var(--red);outline:2px solid var(--red-l)}
.hint{font-size:13px;color:var(--sub);margin:0;line-height:1.5}
.err{font-size:14px;font-weight:700;color:var(--red-t);margin:0}
label.check{display:flex!important;gap:12px;align-items:center;min-height:44px;font-weight:400;font-size:15px;cursor:pointer}
label.check input{width:24px;height:24px;flex:none;margin:0;accent-color:var(--navy)}
.more-f{border:1px solid var(--line);border-radius:12px;padding:0 16px}
.more-f[open]{padding-bottom:16px}
.more-f>summary{font-size:15px;color:var(--navy)}
.more-f .f{margin-top:12px}
.sent{background:var(--navy-l);border-radius:12px;padding:20px 22px;margin:0 0 24px}
.sent:focus{outline:none}
.sent-h{font-size:22px;font-weight:900;color:var(--navy);margin:0 0 8px}
.sent-h2{font-weight:700;margin:16px 0 4px}
.t-form h1{margin-bottom:16px}

/* ---------- 右下の追従ボタン：広い画面だけ・フッターで消す ---------- */
.float-cta{display:none;width:72px;height:72px;font-size:13px;right:16px;bottom:24px}
@media (min-width:1440px){.float-cta{display:flex}}
.float-cta.off{display:none!important}

/* ---------- 画面幅で切り替え（第4版） ---------- */
@media (max-width:1000px){
  .uselist .ul-hd,.uselist a{grid-template-columns:28px 1fr 110px 180px}
  .fv-pref,.fv-tate{grid-template-columns:1fr}
  .qflow ol{grid-template-columns:1fr 1fr;gap:12px}
  .qflow li::after{display:none}
}
@media (max-width:860px){
  .hero{padding:0 0 32px}
  .hero-img{order:-1;margin:0 -24px}
  .hero-img img{border-radius:0;aspect-ratio:auto;height:140px;object-fit:cover;object-position:72% 30%}
  .guides{grid-auto-columns:78%}
}
@media (max-width:760px){
  .hero-img{margin:0 -16px}
  .hero-grid{gap:14px}
  .hero-lead{font-size:12px;margin:0 0 8px;padding:3px 12px}
  .hero h1{font-size:25px;margin:0 0 12px;line-height:1.4}
  .hero-desc{display:none}
  .hero-nums{grid-template-columns:1.3fr 1fr 1fr;gap:6px!important;margin:0 0 14px}
  .hero-nums li{padding:8px 8px}
  .hn-l{font-size:12px}
  .hero-nums .n{font-size:20px}
  .hero-nums .hn-main .n{font-size:24px}
  .hn-v span{font-size:12px}
  .hero-nums small{font-size:12px}
  .hero-btns{gap:8px;margin:0}
  .hero-btns .btn{min-height:50px}
  .hero-btns .btn-line{min-height:46px}
  .uselist .ul-hd{display:none}
  .uselist a{grid-template-columns:24px 1fr auto;grid-template-rows:auto auto;gap:2px 10px;padding:12px 14px}
  .uselist .ic{grid-row:1/3;width:24px;height:24px}
  .ul-n{font-size:15px;grid-column:2}
  .ul-r{grid-column:2;grid-row:2;font-size:13px;font-weight:400;color:var(--sub)}
  .ul-p{grid-column:3;grid-row:1/3;text-align:right;font-size:13px}
  .ul-p .n{font-size:20px}
  .ul-k{display:inline;margin-right:4px}
  .ul-p .ul-k{display:block;font-size:12px;color:var(--sub);line-height:1.2}
  .preflinks{gap:8px}
  .preflinks a{padding:8px 14px;min-height:44px}
  .tiles{grid-template-columns:repeat(2,1fr)!important;gap:8px}
  .tile{flex-direction:row;text-align:left;align-items:center;padding:10px 12px;gap:10px}
  .tile-ic{width:40px;height:40px;margin:0;flex:none}
  .tile-n{font-size:14px}
  .tile-s{display:none}
  .steps3{grid-template-columns:1fr}
  .steps3 li{display:grid;grid-template-columns:110px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center}
  .st-img{grid-row:1/3;margin:0;width:110px}
  .fv-box{padding:14px 14px;gap:14px}
  .fv-num .n{font-size:36px}
  .eqcheck li{grid-template-columns:24px 1fr;font-size:14px}
  .eqcheck li span{grid-column:2}
  .pic-cap.c2,.pic-cap.c3{grid-template-columns:1fr}
  .qflow ol{grid-template-columns:1fr}
  .fset{padding:14px}
  .x-grid{gap:12px}
  table.stack td[data-label]::before{font-size:13px}
  .toc-inline .toc{padding:0 14px}
  .toc-inline summary{padding:12px 32px 12px 0}
  .price-tiles .n{font-size:28px}
  .pt-r{font-size:12px}
}
/* 第4版：押せる高さの残り */
.hd-cta{min-height:44px;display:inline-flex;align-items:center}
.ft-links a{padding:12px 0}
.sources li a{display:inline-block;padding:12px 0;line-height:1.4}
.sources li{margin:0}
.more-r{display:inline-flex;align-items:center;min-height:44px}
.toc a{padding:11px 0}
.logo{min-height:44px;justify-content:center}
.form-steps a,label.check a{display:inline-block;padding:10px 0}
.hero-nums{grid-template-columns:1.45fr 1fr 1fr}
@media (max-width:760px){
  .hero-nums{grid-template-columns:1fr 1fr}
  .hero-nums .hn-main{grid-column:1/3;display:grid!important;grid-template-columns:auto 1fr;column-gap:12px;align-items:center!important}
  .hero-nums .hn-main .hn-l{grid-column:1/3}
  .hero-nums .hn-main small{margin:0}
}
.band-btns .btn{flex:0 1 auto;padding:0 32px}
@media (max-width:760px){
  .steps3 li{grid-template-rows:1fr 1fr;row-gap:2px}
  .steps3 b{align-self:end}
  .steps3 span{align-self:start}
}
@media (max-width:760px){
  .eqcheck li{grid-template-columns:22px 7.2em 1fr;gap:6px;font-size:14px;padding:7px 0;line-height:1.45}
  .eqcheck li span{grid-column:auto}
  .eqcheck .ic{width:20px;height:20px}
  .fvt-price{padding:12px 14px}
  .fvt-price .fv-num .n{font-size:32px}
}
@media (max-width:1000px){.fvt-price{order:-1}}
.form-steps li{display:block;position:relative;padding-left:36px}
.form-steps li::before{position:absolute;left:0;top:1px;transform:none}
.mitsumori{background:none;padding:0}
@media (min-width:761px){table.plain td:first-child{min-width:9em}}
table.stack tbody th{font-weight:700}
/* ===== 第4版 レビュー1回目の直し ===== */
.hero::before{display:none}
.hayami td.rng::before{content:"半数の業者 "}
.ul-na{font-size:14px;color:var(--sub)}
.ul-na small{font-size:12px}
.after-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:16px 0 0}
.after-list span{font-size:14px;color:var(--sub)}
.fv-btns{display:flex;flex-direction:column;gap:8px;margin:0}
.fv-btns .btn{white-space:nowrap;padding:0 18px}
.fv-btns .btn-line{min-height:46px;font-size:14px}
.pb{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 8px}
.pb p{margin:0;background:#fff;border-radius:12px;padding:8px 10px;line-height:1.3}
.pb span{display:block;font-size:13px;font-weight:700;color:var(--sub)}
.pb .n{font-size:26px;color:var(--navy)}
.pb-use .n{color:var(--red-t)}
.pb small{display:block;font-size:12px;color:var(--sub);margin-top:2px}
.pb-na{color:var(--sub);font-size:22px}
.pb-yr{margin:0 0 10px;font-size:14px;line-height:1.5}
.pb-yr small{display:block;font-size:12px;color:var(--sub)}
.side-cta .pb p{background:var(--band)}
@media (min-width:1001px){.fv-tate{grid-template-columns:1fr}.fv-tate .fvt-price{display:none}}
.res-btn{margin:12px 0 0}
.res-btn .btn{min-height:52px;white-space:normal}
table+p,.compare+p{margin-top:16px}
.compare{margin-top:8px}
/* 訪問販売の3コマ：PCも小さく左寄せ */
@media (min-width:761px){
  .steps3 li{display:grid;grid-template-columns:120px 1fr;grid-template-rows:1fr 1fr;column-gap:12px;row-gap:2px;align-items:center}
  .st-img{grid-row:1/3;width:120px;margin:0}
  .steps3 b{align-self:end}.steps3 span{align-self:start}
}
/* 幅：TOPは全部1072、/hiyou/ は帯も860 */
.t-top .narrow{max-width:1120px}
.t-hiyou .band .wrap{max-width:908px}
/* 角丸の残り */
.hero-lead,.guide-tag{display:none}
.flow-cap li{border-radius:12px}
input[type=text],input[type=number],input[type=email],select,textarea{border-radius:12px}
.toc a,.toc-inline summary{min-height:44px}
.ft-grid{grid-template-columns:1.2fr 1.1fr 1fr}
.ft-links{columns:2;column-gap:24px}
/* お問い合わせの番号 */
.form-steps li::before{top:2px}
.form-note{font-size:15px;margin:-8px 0 20px}
/* ===== 第4版 レビュー2回目の直し ===== */
.pb-all{margin:2px 0 0;color:var(--navy);font-weight:700}
.pb-all .n{font-size:34px;line-height:1.1}
.pb-all small{display:block;font-size:13px;font-weight:400;color:var(--sub)}
.pb-use{margin:6px 0 8px;font-size:13px;color:var(--sub)}
.pb-yr{margin:0 0 10px;font-size:14px;line-height:1.5}
.pb-yr .yen{font-size:16px}
.fvt-price .btn{display:flex;width:100%;margin-top:8px}
.side-link{display:block;text-align:center;font-weight:700;font-size:14px;padding:12px 0}
@media (max-width:760px){
  .ft-grid{grid-template-columns:1fr!important;gap:8px}
  .ft-links{columns:2;column-gap:12px}
  .ft-links a{white-space:nowrap;font-size:14px}
}
/* 2列の表はスマホでラベルを出さない */
@media (max-width:760px){
  table.kv td[data-label]::before{display:none}
  table.kv td:first-child{font-weight:700;color:var(--navy);border-bottom:0;padding-bottom:0}
  table.kv tr{padding:8px 12px}
}
/* ページ内ジャンプ：テキストリンク */
.jump2{display:flex;flex-wrap:wrap;gap:0 20px;margin:0 0 8px}
.jump2 a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:15px;text-decoration:none}
.jump2 a:hover{text-decoration:underline}
/* 次に読む：テキストのリスト */
.x-col ul{display:block}
.x-col li a{display:flex;border:0;border-radius:0;padding:0;background:none;font-size:15px;font-weight:400;text-decoration:underline;min-height:44px}
.x-col li a:hover{background:none}
.x-grid{grid-template-columns:repeat(3,1fr)}
/* 都道府県：行のリスト */
.preflinks{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.preflinks a{border:0;border-radius:0;border-bottom:1px solid var(--line);justify-content:space-between;min-height:56px;padding:0 18px;align-items:center}
.preflinks a:nth-child(3n+1),.preflinks a:nth-child(3n+2){border-right:1px solid var(--line)}
@media (max-width:760px){.preflinks{grid-template-columns:1fr}.preflinks a{border-right:0!important}}
/* 設備のタイル：丸を外し、アイコンは名前の左 */
.tile{flex-direction:row;text-align:left;justify-content:flex-start;align-items:center;gap:12px;padding:16px}
.tile-ic{width:auto;height:auto;background:none!important;margin:0}
.ic-l{width:26px;height:26px}
.tile>.tile-n{flex:1}
.tiles{grid-template-columns:repeat(3,1fr)}
.tile-s{display:none}
.t-top .faq h2{border-top:0;padding-top:0;font-size:26px;color:var(--ink)}
.sources p a{display:inline-block;padding:12px 0}
.t-hiyou .hayami .src{font-size:14px}
/* ===== 第4版 レビュー3回目の直し ===== */
p,li,td,.qflow span,.sent p,.sent li{text-wrap:pretty}
.hero-desc{max-width:34em}
.ul-p .n.few{color:var(--ink);font-weight:400}
.ul-p small{display:block;font-size:12px;color:var(--sub)}
.pb-yr .yen{color:var(--red-t)}
.pb-yrv{display:block;font-size:17px}
.pb-yrn{display:block;font-size:13px}
@media (min-width:1001px){.fv-pref .fv-btns .btn:not(.btn-line){display:none}}
@media (max-width:760px){
  .x-grid{grid-template-columns:1fr}
  .x-col ul{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}
  .band-btns .btn{flex:1 1 100%;width:100%;min-height:52px}
  .hn-l{font-size:13px}
  .hero-nums small{font-size:13px}
}
/* ===== 第5版：TOPの主役を計算機に・原文の枠・建物の3年の予定・県の手順・数字の作り方 ===== */
.hero5{padding:44px 0 48px;background:var(--navy);color:#fff}
.hero5::before{display:none}
.hero5 .hero-grid{grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.hero5 h1{color:#fff;font-size:38px;margin:4px 0 16px}
.hero5 .hero-desc{color:#DCE5F0;font-size:16px;margin:0 0 18px}
.hero-facts{display:flex;flex-wrap:wrap;gap:6px 0;margin:0 0 20px;font-size:14px;color:#DCE5F0}
.hero-facts span{padding-right:14px;margin-right:14px;border-right:1px solid rgba(255,255,255,.35)}
.hero-facts span:last-child{border-right:0}
.hero-facts .n{font-size:22px;color:#fff;margin-right:2px}
.hero-links{display:flex;flex-wrap:wrap;gap:0 22px;margin:0}
.hero-links a{color:#fff;font-weight:700;display:inline-flex;align-items:center;min-height:44px}
.hero-links a:hover{color:var(--mk)}
.hero-calc{color:var(--ink)}
.calc.calc-hero{display:grid;grid-template-columns:1fr;gap:12px;padding:22px 22px 16px;border:0;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.hc-h{font-size:19px;font-weight:900;color:var(--navy);margin:0}
.calc-hero select,.calc-hero input{min-height:48px;font-size:16px}
.calc-hero .btn{min-height:54px;font-size:17px;width:100%}
.hc-note{font-size:13px;color:var(--sub);margin:0;line-height:1.6}
.hero-calc .calc-out{border-radius:12px;margin-top:10px}
.sec-method .method{list-style:none;padding:0;margin:18px 0 8px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:m;background:#fff;border:1px solid var(--line);border-radius:12px}
.method li{margin:0;padding:16px 18px;border-right:1px solid var(--line);position:relative}
.method li:last-child{border-right:0}
.method li::before{counter-increment:m;content:counter(m);font-family:var(--num);font-size:13px;color:var(--sub);display:block}
.m-v{margin:0 0 4px;font-weight:700;color:var(--navy);line-height:1.3}
.m-v .n{font-size:34px;margin-right:2px}
.method p:not(.m-v){font-size:14px;line-height:1.7;margin:0;color:var(--ink)}
.t-site .method{list-style:none;padding:0;border:1px solid var(--line);border-radius:12px;margin:0 0 18px}
.t-site .method li{border-right:0;border-bottom:1px solid var(--line)}
.t-site .method li:last-child{border-bottom:0}
.rangebars{list-style:none;padding:0;margin:20px 0 0}
.rangebars li{display:grid;grid-template-columns:150px 1fr 230px;gap:18px;align-items:center;margin:0;padding:12px 0;border-bottom:1px solid var(--line)}
.rb-l{font-weight:700}
.rb-track{position:relative;height:14px;background:var(--bg);border-radius:7px}
.rb-bar{position:absolute;top:0;height:14px;background:var(--navy);opacity:.35;border-radius:7px}
.rb-mid{position:absolute;top:-6px;width:4px;height:26px;margin-left:-2px;background:var(--red)}
.rb-v .n{font-size:26px;color:var(--red-d)}
.rb-v small{display:block;font-size:13px;color:var(--sub);line-height:1.4}
.rb-axis{display:grid;grid-template-columns:150px 1fr 230px;gap:18px;margin:4px 0 0;font-size:12px;color:var(--sub)}
.rb-axis span:first-child{grid-column:2;display:flex;justify-content:space-between}
.rb-axis{position:relative}
.rb-axis{display:flex;margin-left:168px;margin-right:248px;justify-content:space-between}
/* 原文の枠 */
.genbun{border-left:4px solid var(--navy);background:var(--bg);padding:14px 20px 12px;margin:0 0 28px;border-radius:0 var(--r) var(--r) 0}
.gb-h{font-weight:900;color:var(--navy);margin:0 0 8px;font-size:15px;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}
.gb-h span{font-weight:400;font-size:13px;color:var(--sub)}
.gb-q{margin:0 0 12px}
.gb-q+.gb-q{border-top:1px dashed var(--line);padding-top:12px}
.gb-q blockquote{margin:0;font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;font-size:16px;line-height:1.9;color:var(--ink)}
.gb-q figcaption{font-size:13px;color:var(--sub);margin-top:4px;display:flex;flex-wrap:wrap;gap:0 10px}
.gb-q figcaption a{display:inline-flex;min-height:32px;align-items:center;font-weight:700}
.gb-read{margin:6px 0 0;font-size:15px;line-height:1.75}
.gb-read b{display:inline-block;font-size:12px;color:#fff;background:var(--navy);padding:0 8px;margin-right:8px;border-radius:3px;vertical-align:2px}
/* 建物の3年の予定 */
.yearplan{margin:0 0 32px}
.yp-h{font-weight:900;color:var(--navy);font-size:17px;margin:0 0 10px}
.yearplan ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r)}
.yearplan li{margin:0;padding:12px 14px;border-right:1px solid var(--line)}
.yearplan li:last-child{border-right:0}
.yp-y{font-family:var(--num);font-weight:700;color:var(--navy);margin:0 0 6px;font-size:15px}
.yp-t{margin:0 0 6px;font-size:14px;line-height:1.6}
.yp-t span{display:block;font-size:12px;color:var(--sub)}
.yp-t small{display:block;font-size:12px;color:var(--sub)}
.yp-rep{margin:8px 0 0;font-size:14px;font-weight:700;color:var(--red-d);border-top:2px solid var(--red-d);padding-top:6px}
.yp-rep3{margin:8px 0 0;font-size:14px;font-weight:700;color:var(--red-d)}
.note.dedup{font-size:14px;color:var(--ink);background:var(--navy-l);padding:8px 12px;border-radius:var(--r)}
/* 県の手順 */
.howto{margin:0 0 32px}
.howto-h{font-weight:900;color:var(--navy);font-size:17px;margin:0 0 8px}
.howto ol{margin:0;padding:0;list-style:none;counter-reset:h}
.howto li{position:relative;padding:10px 0 10px 44px;margin:0;border-bottom:1px solid var(--line)}
.howto li::before{counter-increment:h;content:counter(h);position:absolute;left:0;top:10px;width:30px;height:30px;border:2px solid var(--navy);color:var(--navy);font-family:var(--num);font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:50%}
.howto li b{display:block;font-size:16px}
.howto li span{display:block;font-size:14px;color:var(--sub);line-height:1.7}
@media (max-width:860px){
  .hero5{padding:20px 0 28px}
  .hero5 .hero-grid{grid-template-columns:1fr;gap:16px}
  .hero5 h1{font-size:25px;margin:0 0 10px}
  .hero5 .hero-text{display:contents}
  .hero5 .hero-grid{display:flex;flex-direction:column}
  .hero5 h1{order:1}.hero-calc{order:2}.hero5 .hero-desc{order:3;font-size:15px;margin:0}.hero-facts{order:4;margin:0}.hero-links{order:5}
  .calc.calc-hero{padding:16px 16px 12px;gap:10px}
  .hc-h{font-size:17px}
  .sec-method .method{grid-template-columns:1fr 1fr}
  .method li:nth-child(2){border-right:0}
  .method li:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .rangebars li{grid-template-columns:1fr auto;gap:6px 12px}
  .rb-track{grid-column:1 / -1;grid-row:2}
  .rb-v{text-align:right}
  .rb-axis{margin-left:0;margin-right:0}
  .yearplan ol{grid-template-columns:1fr}
  .yearplan li{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:64px 1fr;gap:0 10px}
  .yearplan li:last-child{border-bottom:0}
  .yp-y{grid-row:1 / span 3}
  .genbun{padding:12px 14px 10px}
  .gb-q blockquote{font-size:15px}
}
/* ===== 第5版 レビュー1回目の直し ===== */
.stickybar.ft{display:none!important}
.side{max-height:calc(100vh - 16px);overflow-y:auto;overscroll-behavior:contain;padding-top:24px;scrollbar-width:thin}
.t-site table th,.t-site table td:first-child{white-space:nowrap}
.t-site table th{width:7.5em}
.method{counter-reset:m}
.tcta a{color:var(--navy)}
.tcta a:hover{color:var(--red)}
.fld-err{margin:-4px 0 0;color:var(--red-d);font-size:14px;font-weight:700}
.hero-who{display:none}
.pb-tag{display:inline-block;font-size:13px;font-weight:700;color:var(--sub);border:1px solid var(--line);padding:0 8px;border-radius:3px;margin-right:8px;vertical-align:6px}
.pb-use{font-size:14px;color:var(--sub)}
.ul-p .n{color:var(--navy)!important;font-weight:700!important}
.ul-tag{display:inline-block!important;font-size:12px!important;color:var(--sub);border:1px solid var(--line);padding:0 6px;border-radius:3px;margin-left:6px;line-height:1.6}
.yp-line{list-style:none;padding:0;margin:0;display:grid!important;grid-template-columns:1fr 1.4fr 1fr;border:1px solid var(--line);border-radius:var(--r)}
.yp-line li{margin:0;padding:12px 14px;border-right:1px solid var(--line);font-weight:700;font-size:15px}
.yp-line li:last-child{border-right:0}
.yp-line li span{display:block;font-size:13px;font-weight:400;color:var(--sub)}
.yp-line li.yp-rep{color:var(--red-d);border-top:0;padding-top:12px;margin:0}
.yearplan .src{font-size:13px}
.guidelist{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.guidelist li{margin:0;border-bottom:1px solid var(--line)}
.guidelist a{display:block;padding:14px 0;text-decoration:none;color:var(--ink);min-height:44px}
.guidelist strong{display:block;font-size:16px;color:var(--navy)}
.guidelist strong::after{content:" ›"}
.guidelist span{display:block;font-size:14px;color:var(--sub);line-height:1.7}
.guidelist a:hover strong{color:var(--red)}
.st-ic li{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:#fff;padding:16px}
.ic-st{width:44px;height:44px;color:var(--red-d);stroke-width:1.4}
.cases-h{margin:36px 0 12px;font-size:20px}
.rb-v small{font-size:14px}
.rb-axis{font-size:13px}
.gb-q figcaption a{min-height:44px;padding:6px 0}
.shindan label.check{min-height:44px;align-items:center;padding:4px 0}
.shindan label.check input{width:24px;height:24px;flex:none}
.shindan .btn{justify-self:stretch;width:100%;min-height:52px}
.reply-sample{border:1px solid var(--line);border-left:4px solid var(--navy);padding:12px 16px;margin:0 0 20px;border-radius:0 var(--r) var(--r) 0;background:#fff}
.rs-h{font-weight:700;color:var(--navy);margin:0 0 4px}
.reply-sample ol{margin:0;font-size:15px}
table.compact{width:100%}
@media (max-width:860px){
  .hero-who{display:block;order:1;margin:-4px 0 0;font-size:14px;color:#DCE5F0}
  .hero5 h1{order:0}
  .hero-facts{flex-direction:column;gap:2px}
  .hero-facts span{border-right:0;padding:0;margin:0}
  .guidelist{grid-template-columns:1fr}
  .yp-line{grid-template-columns:1fr!important}
  .yp-line li{border-right:0;border-bottom:1px solid var(--line)}
  .yp-line li:last-child{border-bottom:0}
}
@media (max-width:760px){
  table.compact{display:table}
  table.compact th,table.compact td{font-size:14px;padding:8px 6px}
}
@media (max-width:760px){
  .t-top .cases{display:grid!important;grid-auto-flow:column;grid-auto-columns:86%;grid-template-columns:none!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px}
  .t-top .cases .case{scroll-snap-align:start}
  .cases-h::after{content:"（横にスクロール）";font-size:13px;font-weight:400;color:var(--sub);margin-left:6px}
}
.caserows th small,.caserows td small{display:block;font-size:13px;color:var(--sub);font-weight:400}
.caserows td .yen{font-size:20px}
@media (max-width:760px){.caserows th,.caserows td{padding:8px 6px;font-size:14px}.caserows td .yen{font-size:17px}}
/* ===== 第5版 レビュー2回目の直し ===== */
.side{position:static;max-height:none;overflow:visible;padding-top:24px}
.side-in{display:flex;flex-direction:column;gap:16px;height:100%}
.side-stick{position:sticky;top:16px}
.side .toc li{margin:0}
.side .toc a{display:block;padding:6px 0;line-height:1.5;min-height:0}
.caution-list{margin:8px 0 12px;padding-left:1.6em;font-size:16px}
.caution-list li{margin:6px 0;line-height:1.7}
.caution-list b{color:var(--red-d)}
.cases-h::after{content:none!important}
.caserows th{white-space:nowrap}
.co-main{font-size:15px;margin:0 0 6px!important}
.co-main .yen{font-size:28px!important}
.co-main small{display:block;font-size:14px;color:var(--sub)}
.eq3{width:100%;border-collapse:collapse;font-size:15px}
.eq3 th,.eq3 td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:top}
.eq3 thead th{background:var(--navy-l);color:var(--navy);font-size:14px}
.eq3 small{display:block;font-size:14px;color:var(--sub);font-weight:400;line-height:1.5}
.eq3 td:first-child{font-weight:700;min-width:6.5em}
.shindan-result .after-table .btn,.res-btn .btn{white-space:nowrap}
.tiles-h{font-weight:700;color:var(--navy);margin:14px 0 6px;font-size:15px}
.navy-link{color:var(--navy)!important}
.t-site table th{text-align:left}
/* 金額：大きな数字は紺、年間の合計だけ赤 */
.hayami .yen,.use300 .yen,.unit .yen,.compare .yen,.body .yen,.side-num .n,.hit .yen{color:var(--navy)}
/* 12pxを無くす */
.pb-all small,.pb-yr small,.yp-line li span,.yp-t span,.case-tag,.case-basis,.ul-tag,.pb-tag,.gb-read b{font-size:14px!important}
.ul-tag,.pb-tag,.gb-read b,.case-tag{font-size:13px!important;line-height:24px}
.page-grid{align-items:stretch!important}
.side{align-self:stretch!important}
.eq3 td.per{white-space:nowrap;font-size:14px;width:7.5em}
/* ===== 第5版 レビュー3回目の直し ===== */
.rb-v .n{color:var(--navy)}
.calc-out .yen{color:var(--navy)}
.calc-out .yen.red,.co-main .yen.red,.case .total .yen,.caserows .yen,.pb-yr .yen{color:var(--red-d)!important}
.yp-line li span{white-space:nowrap}
.case small,.case-eq li,.unit small,.hayami th small,.case th small{font-size:13px!important}
.req,.opt{font-size:13px!important}
.x-col ul li:only-child{grid-column:1 / -1}
.t-site table th,.t-site table td{vertical-align:top}
.fld .fld-err{display:block;margin:2px 0 0}
[aria-invalid="true"]{border-color:var(--red-d)!important;box-shadow:0 0 0 1px var(--red-d)}
@media (min-width:861px){
  .uselist a{grid-template-columns:28px 300px 150px 1fr}
}
@media (min-width:861px){.uselist .ul-hd{grid-template-columns:28px 300px 150px 1fr}}
@media (max-width:760px){
  /* 行のカード：1列目は見出し（「項目」などのラベルを付けない）、ほかのラベルは13px */
  table.stack td:first-child{font-weight:700;color:var(--navy);font-size:16px}
  table.stack td:first-child::before{content:none!important}
  table.stack td[data-label]::before{font-size:13px}
  .hayami td.rng{font-size:14px}
}
@media (max-width:860px){.yearplan .yp-line li{grid-template-columns:7.6em 1fr!important;gap:0 8px}}
/* ===== 11/10 夜：実写（出典つき） ===== */
.photo{margin:0 0 16px}
.photo img{display:block;width:100%;height:auto;border-radius:var(--r);background:var(--bg)}
.photo figcaption{margin-top:6px;font-size:13px;line-height:1.6;color:var(--sub)}
.photo .pcap{display:block;color:var(--ink);font-size:14px}
.pcred{display:block;font-size:13px;color:var(--sub);line-height:1.6}
.pcred a{color:var(--sub);text-decoration:underline}
.photo-r{float:right;width:300px;margin:6px 0 14px 24px}
.photo-r.tall{width:220px}
.body h2{clear:both}
.body::after{content:"";display:table;clear:both}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0 4px}
.photo-pair .photo{margin:0}
.photo-pair img{aspect-ratio:3/4;object-fit:cover}
.photo-row{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.photo-row a{display:block;text-decoration:none;color:var(--ink)}
.photo-row img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);background:var(--bg)}
.photo-row .pr-t{display:block;font-weight:700;margin-top:6px}
.ai-cap{font-size:13px;color:var(--sub)}
table.credits td a{word-break:break-all}
@media (max-width:760px){
  .photo-r,.photo-r.tall{float:none;width:100%;margin:4px 0 16px}
  .photo-r img{max-height:260px;object-fit:contain;background:var(--bg)}
  .photo-row{grid-template-columns:1fr;gap:14px}
  .photo-row img{aspect-ratio:16/9}
  .photo-pair{gap:10px}
}
.photo-row{margin-bottom:8px}
.pr-cred{margin:0 0 22px}
@media (max-width:760px){
  .photo-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .photo-row img{aspect-ratio:1/1}
  .photo-row .pr-t{font-size:14px;line-height:1.4}
}
.photo-pair img{aspect-ratio:1/1}
/* 11/10 夜 uiux R1 の反映：回り込みをやめ、写真は高さをそろえて切らずに見せる */
.photo-b{display:flex;gap:16px;align-items:flex-start;margin:16px 0 20px;padding:12px;background:var(--bg);border-radius:var(--r);clear:both}
.photo-b img{width:auto;height:200px;max-width:52%;object-fit:contain;flex:0 0 auto;border-radius:2px;background:#fff}
.photo-b figcaption{margin:0;flex:1 1 auto}
.pcred a{display:inline-block;padding:6px 0}
.photo-pair img{aspect-ratio:auto;height:260px;width:auto;max-width:100%;object-fit:contain;background:#fff}
.photo-pair .photo{background:var(--bg);padding:10px;border-radius:var(--r)}
.credlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.credlist li{padding:10px 0;border-bottom:1px solid var(--line);line-height:1.6;overflow-wrap:anywhere}
.credlist .cl-t{display:block;font-weight:700}
.credlist .cl-s{display:block;font-size:14px;color:var(--sub)}
@media (max-width:760px){
  .photo-b{gap:12px;padding:10px}
  .photo-b img{height:150px;max-width:48%}
  .photo-pair img{height:180px}
}
.photo-b.doc img{height:380px;border:1px solid var(--line)} @media (max-width:760px){.photo-b.doc{flex-direction:column}.photo-b.doc img{height:auto;width:100%;max-width:100%}}
.pcred a{display:inline;padding:6px 0;line-height:2}
/* 11/10 夜 uiux R2 の反映（再レビューなし） */
.photo-b{display:flex;width:fit-content;max-width:100%}
.photo-b figcaption{max-width:360px}
.photo-b img{height:240px}
.photo-pair{justify-items:center}
.photo-pair .photo{width:100%;text-align:center}
.photo-pair img{margin:0 auto;height:300px}
.photo-pair figcaption{text-align:left}
.pcred a{white-space:nowrap}
@media (max-width:760px){
  .photo-b,.photo-b.doc{flex-direction:column;width:auto;background:transparent;padding:0}
  .photo-b img{width:100%;height:auto;max-height:240px;max-width:100%;object-fit:contain;background:transparent}
  .photo-b figcaption{max-width:none}
  .photo-pair img{height:200px}
}
.photo-b figcaption{min-width:0}.photo-b.doc .pcred a{white-space:normal}
