/* 全国補聴器助成金ナビの CSS。引き渡し時の 部品/style.css と generate.py の EXTRA_CSS をまとめたもの（2026-11-12）。
   試作だけの規則（.dsec など、1ファイルの中で詳細を切り替えるもの）は外した。
   13px の文字（出典の一文・準備中・図の札など）は、要求仕様書 F1-8（補足でも13.5px以上）に合わせて13.5px にした。 */
*{box-sizing:border-box}html{color-scheme:light;background:#eef1f4}
body{margin:0 auto;max-width:480px;min-height:100vh;background:#fff;color:#222;font-family:'Noto Sans JP','Hiragino Sans',sans-serif;font-size:17px;line-height:1.7;box-shadow:0 0 24px rgba(0,0,0,.06)}
a{color:#0077b6}
header{border-bottom:1px solid #e5e5e5;padding:12px 16px}
header a{color:#382637;text-decoration:none;font-weight:700;letter-spacing:.1em;font-size:20px}
main{padding:14px 16px 190px}
.crumb{font-size:14px;color:#666;margin-bottom:6px}.crumb a{text-decoration:none}
h1{font-size:25px;line-height:1.35;color:#0077b6;border-left:5px solid #0077b6;padding-left:10px;margin:4px 0 8px}
.lead{margin:0 0 12px;color:#444;font-size:16px}
.search{position:relative;margin:0 0 4px}
.search input{width:100%;height:54px;font:inherit;font-size:18px;padding:0 2.6em 0 .9em;border:2px solid #b9c1cc;border-radius:12px;background:#fff}
.search input:focus{outline:3px solid #9fd0ec;border-color:#0077b6}
.search span{position:absolute;right:.9em;top:50%;transform:translateY(-50%);color:#777}
.seg{position:sticky;top:0;z-index:5;display:flex;gap:6px;background:#fff;padding:10px 0;border-bottom:1px solid #eef1f4}
.seg a{flex:1;height:44px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1.5px solid #b9c1cc;color:#222;text-decoration:none;font-weight:700;font-size:15.5px;background:#fff}
.seg a.cur{background:#0077b6;color:#fff;border-color:#0077b6}
.grp{scroll-margin-top:66px}
.grp h2{font-size:19px;margin:18px 0 8px}.grp h2 small{font-weight:400;color:#666;font-size:14px;margin-left:8px}
/* 一覧のカード：1枚＝1自治体。制度ごとに1段。金額は条件ごとに1行 */
.mc{display:block;cursor:pointer;-webkit-tap-highlight-color:rgba(0,119,182,.15);border:1px solid #dfe5ec;border-radius:12px;padding:12px 14px;margin-bottom:8px;text-decoration:none;color:#222;background:#fff;position:relative}
.mc::after{content:"›";position:absolute;right:12px;top:10px;font-size:24px;color:#9aa3ae;font-weight:700;line-height:1}
.mc .n{font-size:20px;font-weight:700;margin-bottom:4px}
.pg{padding-top:6px;margin-top:6px;border-top:1px dashed #e0e6ec}
.n+.pg{border-top:0;margin-top:0;padding-top:0}
.chip{display:inline-block;font-size:13.5px;font-weight:700;background:#e3f0fa;color:#0b5a8a;border-radius:6px;padding:1px 9px;margin-bottom:2px}
.chip.b{background:#fff0d9;color:#8a5a00}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:15px;color:#444;line-height:1.5}
.row b{font-size:19px;color:#0f6b4a;white-space:nowrap}
.row b.t{font-size:15.5px;white-space:normal;text-align:right}
.mc.no{background:#fafbfc;color:#666;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 34px 9px 14px;margin-bottom:6px}.mc.no .n{color:#555;font-size:17px;margin:0}.mc.no .nn{font-size:13.5px;color:#888}.mc.no::after{top:6px}
.warn.ok{background:#e9f6f1;color:#0f6b4a}
.hide{display:none!important}
.js-only{display:none}html.js .js-only{display:block}
.nores{display:none;padding:12px;background:#fff7ed;border-radius:10px;font-size:15.5px}
/* 詳細 */
.back{display:inline-block;font-size:15.5px;font-weight:700;text-decoration:none;margin-bottom:6px}
.jump{display:flex;gap:8px;margin:0 0 12px}.jump a{flex:1;text-align:center;border:1.5px solid #0077b6;border-radius:10px;padding:8px 4px;text-decoration:none;font-weight:700;font-size:15px;line-height:1.35;background:#fff}
.prog{border:2px solid #0077b6;border-radius:14px;overflow:hidden;margin-bottom:18px;scroll-margin-top:10px}
.prog .hd{background:#0077b6;color:#fff;padding:10px 14px}
.prog .hd .a{font-size:20px;font-weight:700}.prog .hd .pn{font-size:13.5px;opacity:.9;line-height:1.4}
.prog .bd{padding:14px}
.money{background:#f1f8f4;border-radius:10px;padding:10px 14px;margin-bottom:14px}
.money .t{font-size:14px;font-weight:700;color:#0f6b4a}
.money .r{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:5px 0;border-bottom:1px dashed #cfe5d8;font-size:15.5px}
.money .r:last-child{border-bottom:0}
.money .r span,.row span{min-width:2.6em}
.money .r b{font-size:26px;color:#0f6b4a;white-space:nowrap;line-height:1.2}
.money .r b.t{font-size:19px;white-space:normal;text-align:right}
.money .one b{font-size:34px}
h3{font-size:17.5px;margin:14px 0 6px;color:#0077b6}
ul.ck{list-style:none;margin:0;padding:0}
ul.ck li{position:relative;padding:6px 0 6px 30px;border-bottom:1px dashed #e4e8ee;font-size:16.5px;line-height:1.55}
ul.ck li:last-child{border-bottom:0}
ul.ck li::before{content:"✓";position:absolute;left:2px;top:9px;width:21px;height:21px;border-radius:50%;background:#0077b6;color:#fff;font-size:13px;text-align:center;line-height:21px;font-weight:700}
ol.st{list-style:none;margin:0;padding:0;counter-reset:s}
ol.st li{counter-increment:s;position:relative;padding:7px 0 7px 36px;font-size:16.5px;line-height:1.5}
ol.st li::before{content:counter(s);position:absolute;left:0;top:7px;width:26px;height:26px;border-radius:50%;background:#0077b6;color:#fff;text-align:center;line-height:26px;font-weight:700;font-size:14px}
.warn{background:#fff3e7;color:#8a3a08;border-radius:8px;padding:8px 12px;font-weight:700;font-size:15.5px;margin-bottom:4px}
.memo{background:#f4f6f8;border-radius:8px;padding:8px 12px;font-size:15px;color:#444;margin-top:10px}
.offl{font-size:14.5px;color:#666;margin:-6px 2px 14px;line-height:1.6}
.off{display:block;text-align:center;background:#0077b6;color:#fff;border-radius:10px;padding:12px;text-decoration:none;font-weight:700;margin-top:14px;font-size:16.5px}
.dt{font-size:13.5px;color:#888;text-align:center;margin-top:6px}
.none{background:#f4f6f8;border-radius:12px;padding:14px 16px;font-size:16px}
.ref{background:#f4f6f8;border-radius:12px;padding:12px 16px;font-size:15px;color:#333;margin-top:6px}.ref b{display:block;margin-bottom:2px}.ref ul{margin:0;padding-left:1.2em}
.src{font-size:13.5px;color:#777;margin-top:18px}
/* 固定フッター（naviと同じ） */
.fixed-footer{position:fixed;left:0;right:0;bottom:0;background:#fff;box-shadow:0 -2px 10px rgba(0,0,0,.08);z-index:50;padding:8px 10px 10px}
.fixed-footer .footer-link{max-width:480px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.fixed-footer .cta-q{font-size:1.1em;font-weight:700;color:#222;line-height:1.3;text-align:left}
.line-btn{display:inline-block;background:#06c755;color:#fff;font-weight:700;padding:.55em 1.6em;border-radius:999px;text-decoration:none;font-size:1.1em;box-shadow:0 3px 0 #04a546}
.yureru-s{animation:yureru 2.2s ease-in-out infinite}
@keyframes yureru{0%,100%{transform:rotate(0)}20%{transform:rotate(-2.5deg)}40%{transform:rotate(2.5deg)}60%{transform:rotate(-1.5deg)}80%{transform:rotate(1.5deg)}}
.entry-card{background:#fff;border-radius:12px;margin-top:24px}.entry-card .big{font-weight:700;line-height:1.5;color:#222}.entry-card .pur{color:#333}.entry-card .pur b{color:#0f6b4a}.entry-card .more a{font-weight:700;color:#0077b6}
/* 案B2：白・青のまま、題名の帯を大きく、図を大きく */
.entry-card.vb{padding:0;border:2px solid #0077b6;overflow:hidden;box-shadow:0 6px 18px rgba(0,119,182,.14)}
.entry-card.vb h4{margin:0;background:#0077b6;color:#fff;padding:16px 26px;font-size:23px;line-height:1.5}
.entry-card.vb .in{padding:22px 26px 26px;display:grid;grid-template-columns:1.1fr 1fr;gap:16px 24px;align-items:center}
.entry-card.vb .big{font-size:27px;margin:0 0 10px}
.entry-card.vb .pur{margin:0 0 14px}
.entry-card.vb .more{margin:0}
.entry-card.vb .more a{display:block;text-align:center;font-size:20px;border:2px solid #0077b6;border-radius:999px;padding:8px 22px;text-decoration:none;max-width:420px}
/* 図（「著名人と補聴器」ページの図と同じ構成・同じ画像） */
.kk-vis{position:relative;width:460px;height:334px;justify-self:center}
.kk-vis .brain{position:absolute;left:0;top:0;width:176px;height:auto}
.kk-vis .phone{position:absolute;right:0;top:12px;width:168px;height:auto}
.kk-vis .chip{position:absolute;background:#fff;border:2px solid;border-radius:8px;padding:4px 12px;font-size:20px;font-weight:700;line-height:1.35;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.kk-vis .chip small{display:block;font-size:15px;color:#555}
.kk-vis .c-brain{left:104px;top:40px;border-color:#6E3F6B;color:#6E3F6B}
.kk-vis .c-ear{left:110px;top:214px;border-color:#1F7BB3;color:#1F7BB3}
@media (max-width:980px){.entry-card.vb .in{grid-template-columns:1fr}.kk-vis{order:-1}}
@media (max-width:560px){.entry-card.vb h4{font-size:20px;padding:14px 18px}.entry-card.vb .in{padding:18px}.entry-card.vb .big{font-size:23px}.entry-card.vb .more a{font-size:17px;padding:8px 6px;white-space:nowrap}
 .kk-vis{width:100%;max-width:350px;height:304px}.kk-vis .brain{width:160px}.kk-vis .phone{width:130px;top:30px}.kk-vis .chip{font-size:17px;padding:3px 10px}.kk-vis .chip small{font-size:13.5px}.kk-vis .c-brain{left:56px;top:24px}.kk-vis .c-ear{left:60px;top:200px}}

.entry-card.vb .in{grid-template-columns:1fr!important;padding:16px}.kk-vis{order:-1;width:100%!important;max-width:350px;height:304px!important}.kk-vis .brain{width:160px!important}.kk-vis .phone{width:130px!important;top:30px!important}.kk-vis .chip{font-size:17px!important;padding:3px 10px!important;margin:0;background:#fff;border-radius:8px}.kk-vis .chip small{font-size:13.5px!important}.kk-vis .c-brain{left:56px!important;top:24px!important}.kk-vis .c-ear{left:60px!important;top:200px!important}
.entry-card.vb h4{font-size:19px;padding:12px 16px}.entry-card.vb .big{font-size:22px}.entry-card.vb .more a{display:block;text-align:center;background:#06c755;color:#fff;border:0;border-radius:999px;font-size:18px;font-weight:700;padding:14px 8px;white-space:nowrap;text-decoration:none;box-shadow:0 4px 0 #04a546,0 6px 14px rgba(6,199,85,.28);max-width:none}
.entry-card.vb .more a:active{transform:translateY(3px);box-shadow:0 1px 0 #04a546}
.entry-card.vb .more{margin-top:14px}
/* ヘッダー（スマホ：ロゴ左・三本線メニュー。JavaScriptなしで開く） */
header{display:flex;justify-content:space-between;align-items:center;position:relative}
.menu summary{list-style:none;cursor:pointer;font-size:26px;line-height:1;padding:2px 6px;color:#382637}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 8px 16px rgba(0,0,0,.08);z-index:60;padding:6px 16px 12px}
.menu nav a{display:block;padding:11px 2px;border-bottom:1px solid #f0f2f5;color:#222;text-decoration:none;font-weight:700;font-size:16.5px;letter-spacing:0}
.menu nav a.cur{color:#0077b6}
/* 全国トップ */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;list-style:none;margin:0;padding:0}
.tiles a,.tiles span{display:flex;flex-direction:column;justify-content:center;min-height:58px;padding:8px 12px;border-radius:10px;font-size:18px;font-weight:700;text-decoration:none}
.tiles a{background:#eef6fc;border:2px solid #0077b6;color:#0b5a8a}
.tiles a small{color:#0f6b4a;font-size:13.5px}
.tiles span{background:#f6f7f9;border:1px solid #e3e7ec;color:#9aa3ae;font-weight:600}
.tiles span small{font-size:13.5px;font-weight:400}
.hits{list-style:none;margin:0 0 8px;padding:0;display:none}
.hits a{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:11px 12px;background:#f4f8fb;border:1px solid #dfe5ec;border-radius:10px;margin-bottom:6px;text-decoration:none;color:#222;font-weight:700}
.hits small{font-weight:400;color:#666}.hits .a{color:#0f6b4a;font-size:15px;white-space:nowrap}
.rules{background:#f4f6f8;border-radius:12px;padding:12px 16px;font-size:15.5px}.rules b{display:block;margin-bottom:2px}.rules ul{margin:0;padding-left:1.2em}.rules li{margin:3px 0}
.now{font-size:14.5px;color:#555;margin:0 0 10px}
