/* 都道府県の補助金ページ（/subsidy/{県}/）— style / cases / know / detail / guide.css の後に読み込む */

/* ヒーローの数字 */
.spf-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:36px}
.spf-nums > div{border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:var(--ink2)}
.spf-nums b{display:block;font-family:var(--ff-d);font-weight:800;font-size:clamp(26px,2.6vw,34px);line-height:1.1;color:#fff}
.spf-nums b small{font-family:var(--ff);font-size:13px;font-weight:700;margin-left:3px;color:var(--amb)}
.spf-nums span{display:block;font-size:12.5px;color:var(--mut);margin-top:6px;line-height:1.5}
.spf-ch{margin-top:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.spf-ch a{grid-template-columns:auto 1fr}
.spf-ch span{grid-row:auto}

/* 県・都の制度カード */
.at-body .spf-prog{background:#fff;border:1px solid var(--line-d);border-radius:20px;padding:24px 26px 20px;margin:20px 0}
.spf-prog-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.spf-prog-h .by{font-size:12px;font-weight:700;color:var(--mut-d);margin:0}
.at-body .spf-prog h3{margin:4px 0 0;font-size:18px}
.at-body .spf-prog h3::before{display:none}
.spf-prog .gd-st{margin:4px 0 0;flex:none}
.at-body .spf-prog p.eq{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}
.spf-prog .eq span{font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--paper)}
.spf-prog dl{display:grid;grid-template-columns:9.5em 1fr;margin:10px 0 0;border-top:1px solid var(--line-d)}
.spf-prog dl > div{display:contents}
.spf-prog dt,.spf-prog dd{font-size:14px;line-height:1.75;padding:10px 0;border-bottom:1px solid var(--line-d)}
.spf-prog dt{color:var(--mut-d);font-weight:700;padding-right:14px}
.spf-prog dd{font-weight:500}
.at-body .spf-prog p.nt{font-size:13px;line-height:1.8;color:var(--mut-d);margin:12px 0 0}
.at-body a.of{display:inline-flex;gap:6px;align-items:center;margin-top:14px;font-size:13.5px;font-weight:700;color:var(--grn);text-decoration:underline;text-underline-offset:3px}

/* 市町村の絞り込み（固定は市町村の一覧の範囲だけ） */
.spf-wrap{position:relative}
.spf-f{position:sticky;top:var(--hdh,72px);z-index:5;display:grid;grid-template-columns:1fr auto;gap:10px 14px;align-items:center;background:var(--paper);border:1px solid var(--line-d);border-radius:16px;padding:12px 14px;margin:22px 0 14px}
.spf-f .q input{width:100%;font:inherit;font-size:15px;padding:10px 14px;border:1px solid var(--line-d);border-radius:10px;background:#fff;color:var(--ink)}
.spf-f .ch{display:flex;flex-wrap:wrap;gap:6px}
.spf-f .ch button{font:inherit;font-size:13px;font-weight:700;padding:8px 14px;border-radius:999px;border:1px solid var(--line-d);background:#fff;color:var(--ink);cursor:pointer}
.spf-f .ch button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.spf-f .n{grid-column:1/-1;font-size:12.5px;color:var(--mut-d);margin:0}
.spf-f .n b{font-family:var(--ff-d);font-size:15px;color:var(--ink);margin-right:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* 市町村カード */
.spf-m{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}
.spf-c{background:#fff;border:1px solid var(--line-d);border-radius:16px}
.spf-c[hidden]{display:none}
.spf-c summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;padding:14px 16px}
.spf-c summary::-webkit-details-marker{display:none}
.spf-c summary b{font-size:16px}
.spf-c summary .gd-st{margin:0;white-space:normal;max-width:15em;text-align:center;line-height:1.5}
.spf-c{min-width:0}
.spf-c dd{overflow-wrap:anywhere}
.spf-c summary .eqs{grid-column:1/-1;display:flex;gap:5px;flex-wrap:wrap}
.spf-c summary .eqs i{font-style:normal;font-size:11.5px;font-weight:700;padding:1px 8px;border-radius:6px;background:var(--paper)}
.spf-c summary .eqs::after{content:"詳しく見る ＋";margin-left:auto;font-size:12px;font-weight:700;color:var(--grn)}
.spf-c[open] summary .eqs::after{content:"閉じる －"}
.spf-c[open]{border-color:var(--ink)}
.spf-c dl{margin:0 16px;border-top:1px solid var(--line-d)}
.spf-c dl > div{display:grid;grid-template-columns:5.5em 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-d)}
.spf-c dt{font-size:12.5px;font-weight:700;color:var(--mut-d)}
.spf-c dd{font-size:13.5px;line-height:1.7}
.at-body .spf-c a.of{margin:10px 16px 14px}
.gd-st.city{background:#e7f1fb;color:#174f8a}
.gd-st.soon{background:var(--amb);color:var(--ink)}
.gd-st.unk{background:#f9ece7;color:#8a3b17}
.at-body p.spf-none{background:#fff;border:1px dashed var(--line-d);border-radius:14px;padding:16px;margin:10px 0}
.at-body p.spf-oth{font-size:13.5px;line-height:1.85;color:var(--mut-d);margin:16px 0}

/* 施工事例（記事本文の見出し装飾を打ち消す） */
.at-body .spf-cases{margin:22px 0 10px;gap:24px 14px}
.at-body .spf-cases a{text-decoration:none;color:inherit}
.at-body .spf-cases .cd h3{font-size:14.5px;line-height:1.6;margin:8px 0 0;display:block}
.at-body .spf-cases .cd h3::before{display:none}
.at-body .spf-cases .cd h3{color:var(--ink)}
.at-body .spf-cases .cd:hover h3{color:var(--grn)}
.at-body .spf-cases .cd .mt{color:var(--mut-d)}
.at-body .spf-cases .cd .mt .ar{color:var(--ink)}
.at-body .spf-cases .cd .pd span{border-color:var(--line-d);color:var(--mut-d)}
.at-body .spf-cases .cd .pd span.mk{background:var(--ink);border-color:var(--ink);color:#fff}
.at-body p.spf-all{margin:18px 0 0}
.at-body p.spf-all a{text-decoration:none}

@media (max-width:1180px){
}
@media (max-width:720px){
  .spf-nums{grid-template-columns:1fr 1fr;gap:8px;margin-top:26px}
  .spf-nums > div{padding:12px 14px}
  .spf-m{grid-template-columns:minmax(0,1fr)}
  .spf-c summary .gd-st{max-width:11em}
  .spf-f{grid-template-columns:1fr;padding:10px}
  .spf-f .ch button{padding:7px 12px}
  .at-body .spf-prog{padding:20px 18px 16px}
  .spf-prog dl{grid-template-columns:1fr}
  .spf-prog dt{padding:10px 0 0;border-bottom:0}
  .spf-prog dd{padding:2px 0 10px}
  .at-body .spf-cases{grid-template-columns:1fr 1fr}
}

/* ===== 47都道府県の一覧（/subsidy/prefecture/） ===== */
.spo-f{position:sticky;top:var(--hdh,72px);z-index:5;display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--paper);border:1px solid var(--line-d);border-radius:16px;padding:10px 12px;margin:22px 0 8px}
.spo-f button{font:inherit;font-size:13px;font-weight:700;padding:8px 14px;border-radius:999px;border:1px solid var(--line-d);background:#fff;color:var(--ink);cursor:pointer}
.spo-f button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.spo-f .n{margin-left:auto;font-size:12.5px;color:var(--mut-d)}
.spo-f .n b{font-family:var(--ff-d);font-size:16px;color:var(--ink);margin-right:2px}
.spo-reg[hidden]{display:none}
.at-body .spo-reg h3{margin:30px 0 12px;font-size:17px}
.spo-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.at-body a.spo-c{position:relative;display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line-d);border-radius:16px;padding:14px 40px 14px 16px;text-decoration:none;color:var(--ink);transition:.2s;min-width:0}
.at-body a.spo-c:hover{border-color:var(--ink);transform:translateY(-2px)}
.spo-c[hidden]{display:none!important}
.spo-c .ty{font-size:11px;font-weight:700;color:var(--mut-d)}
.spo-c.t-direct .ty{color:var(--grn)}
.spo-c.t-city .ty{color:#174f8a}
.spo-c b{font-size:17px;line-height:1.3}
.spo-c .sx .gd-st{margin:0;white-space:normal}
.spo-c .eqs{display:flex;gap:4px;flex-wrap:wrap;min-height:20px}
.spo-c .eqs i{font-style:normal;font-size:11px;font-weight:700;padding:1px 7px;border-radius:6px;background:var(--paper)}
.spo-c .go{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-family:var(--ff-d);font-weight:700;color:var(--mut-d)}
.spo-c.t-none{background:#fafaf7;border-style:dashed}
.gd-st.none{background:#efedff;color:#4a3d8f}
.at-body p.spo-none{background:#fff;border:1px dashed var(--line-d);border-radius:14px;padding:16px;margin:10px 0}
.at-body .spo-p{scroll-margin-top:110px;border-top:1px solid var(--line-d);padding-top:8px;margin-top:22px}
.at-body .spo-p h3{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.at-body .spo-p h3 .gd-st{font-size:12px}
.at-body .spo-p .spf-m{margin:14px 0}
.at-body p.spo-ask{font-size:13.5px;color:var(--mut-d);margin:10px 0 0}
@media (max-width:1180px){.spo-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){
  .spo-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .at-body a.spo-c{padding:12px 28px 12px 12px}
  .spo-c b{font-size:15.5px}
  .spo-f button{padding:7px 11px;font-size:12.5px}
  .spo-f .n{width:100%;margin-left:0}
}

/* hero を軽く（見出し・数字だけ。本文の要約・目次は下に） */
.pg-spf .at-hd h1{font-size:clamp(26px,3.4vw,44px)}
.pg-spf .at-hd .at-lead{font-size:15px;margin-top:14px}
.pg-spf .at-hd .at-meta{margin-top:20px;padding-top:16px}
.pg-spf .spf-nums{margin-top:26px;margin-bottom:64px}
.pg-spf .spf-nums > div{padding:14px 16px}
.pg-spf .spf-nums span{font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:720px){.pg-spf .at-hd h1{font-size:23px;line-height:1.45}.pg-spf .spf-nums{margin-bottom:40px}.pg-spf .spf-nums b{font-size:24px}.pg-spf .spf-nums span{font-size:11.5px}}

/* ===== 補助金トップ（/subsidy/） ===== */
.spt-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:34px 0 64px}
.spt-cards a{position:relative;display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:18px;background:var(--ink2);padding:18px 18px 44px;transition:.25s}
.spt-cards a:hover{border-color:var(--amb);transform:translateY(-2px)}
.spt-cards .en{font-family:var(--ff-d);font-weight:700;font-size:11px;letter-spacing:.16em;color:var(--amb)}
.spt-cards b{font-family:var(--ff-h);font-size:17px;color:#fff;line-height:1.45}
.spt-cards small{font-size:12.5px;line-height:1.7;color:#b9c2be}
.spt-cards i{position:absolute;right:16px;bottom:14px;font-style:normal;font-family:var(--ff-d);color:var(--amb)}
.spt-sec{padding:10px 0 56px;max-width:none}
.spt-sec + .spt-sec{border-top:1px solid var(--line-d);padding-top:56px}
.spt-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.spt-hd .lbl{color:var(--mut-d)}
.spt-hd .sec-t-j{color:var(--ink);margin-top:10px}
.pg-spt .at-body.spt-sec h2{margin:10px 0 0;padding:0;border:0;display:block}
.spt-lead{font-size:15px;line-height:1.9;color:var(--ink);margin:0 0 12px}
.spt-leg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--mut-d);margin:0 0 16px}
.spt-leg span{display:inline-flex;gap:6px;align-items:center}
.spt-map .d,.spt-leg .d{display:inline-block;width:9px;height:9px;border-radius:50%;background:#bfc4c1;flex:none}
.d.on{background:var(--grn)}.d.soon{background:var(--amb)}.d.off{background:#9aa19d}.d.none{background:#8b7fd6}.d.unk{background:#e0a48a}
.spt-map{display:grid;gap:8px}
.spt-map .rg{display:grid;grid-template-columns:7.5em 1fr;gap:10px;align-items:start;background:#fff;border:1px solid var(--line-d);border-radius:14px;padding:12px 14px}
.spt-map .rg > b{font-size:13.5px;padding-top:5px}
.spt-map .rg > div{display:flex;flex-wrap:wrap;gap:6px}
.spt-map a{display:inline-flex;gap:6px;align-items:center;font-size:13.5px;font-weight:700;color:var(--ink);padding:5px 11px;border-radius:999px;border:1px solid var(--line-d);background:var(--paper);transition:.2s}
.spt-map a:hover{border-color:var(--ink);background:#fff}
.spt-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.spt-links a{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line-d);border-radius:14px;padding:14px 16px;color:var(--ink);transition:.2s}
.spt-links a:hover{border-color:var(--ink)}
.spt-links b{font-size:15px}
.spt-links small{font-size:12.5px;color:var(--mut-d)}
.spt-cta{margin:0 0 72px}
@media (max-width:1180px){.spt-cards{grid-template-columns:1fr 1fr}.spt-links{grid-template-columns:1fr 1fr}}
@media (max-width:720px){
  .spt-cards{grid-template-columns:1fr;margin:24px 0 40px}
  .spt-cards a{padding:14px 40px 14px 16px}
  .spt-cards i{top:50%;bottom:auto;transform:translateY(-50%)}
  .spt-map .rg{grid-template-columns:1fr;gap:6px}
  .spt-map .rg > b{padding-top:0}
  .spt-links{grid-template-columns:1fr}
}
