.municipality-nav { --my-green:#145e54; --my-text:#173f39; --my-muted:#506b65; --my-line:#bed5cf; }
.municipality-nav > label { display:block; margin-bottom:10px; font-size:18px; font-weight:950; }
.municipality-nav select { width:min(100%,520px); min-height:58px; padding:12px 46px 12px 16px; border:3px solid var(--my-green); border-radius:13px; background:#fff; color:var(--my-text); font:inherit; font-size:18px; font-weight:800; }
.municipality-results { margin-top:26px; }
.municipality-results > p { color:var(--my-muted); font-size:17px; }
.municipality-results h3 { margin:0 0 18px; font-size:clamp(25px,3vw,34px); }
.municipality-results > ul, .municipality-results details > ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0 0 22px; padding:0; list-style:none; }
.municipality-results > ul > li > a, .municipality-results details > ul > li > a { display:grid; gap:8px; height:100%; padding:20px; border:2px solid var(--my-line); border-radius:16px; background:#fff; color:var(--my-text); font-size:18px; font-weight:900; line-height:1.55; text-decoration:none; box-shadow:5px 5px 0 #e4eeeb; }
.municipality-results > ul > li > a:hover, .municipality-results details > ul > li > a:hover { border-color:var(--my-green); }
.municipality-results small { color:var(--my-muted); font-size:14px; }
.municipality-fallback { display:inline-flex; padding:15px 19px; border-radius:12px; background:var(--my-green); color:#fff; font-weight:950; text-decoration:none; }
.municipality-safe-empty { margin-bottom:18px; padding:22px; border:2px solid #d8aa42; border-radius:14px; background:#fff9e8; }
.municipality-safe-empty b { font-size:19px; }
.municipality-safe-empty p { margin-bottom:0; font-size:16px; line-height:1.7; }
.municipality-nav-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; max-width:850px; }
.municipality-nav-controls label { display:grid; gap:9px; font-size:18px; font-weight:950; }
.municipality-general-note{margin:18px 0 0;padding:18px 20px;border-left:5px solid var(--my-green);border-radius:10px;background:#edf7f4;color:var(--my-text);font-size:17px;line-height:1.7}.municipality-general-note b{font-size:19px}
.municipality-results > ul > li > a b, .municipality-results details > ul > li > a b { color:var(--my-green); font-size:15px; }
.municipality-results details { margin:20px 0; }
.municipality-results summary { cursor:pointer; padding:16px; border:2px solid var(--my-line); border-radius:12px; font-size:17px; font-weight:950; }
.municipality-results details ul { margin-top:16px; }
.municipality-special { display:inline-flex; margin:0 12px 12px 0; padding:15px 19px; border:2px solid var(--my-green); border-radius:12px; color:var(--my-green); font-weight:950; text-decoration:none; }
.official-nav-page { overflow-x:hidden; }
.official-nav-page .rebuild-hero { padding-block:70px; }
.official-nav-page .rebuild-hero h1 { overflow-wrap:anywhere; }
.official-nav-page .money-section { padding-block:72px; }
@media (max-width:560px) { .municipality-nav-controls,.municipality-results > ul,.municipality-results details > ul { grid-template-columns:1fr; } .municipality-results > ul > li > a,.municipality-results details > ul > li > a { padding:17px; font-size:16px; } .official-nav-page .money-section{padding-block:52px}.official-nav-page .rebuild-hero h1{font-size:clamp(34px,11vw,46px);line-height:1.25}.official-nav-page .rebuild-hero{padding-block:48px}.municipality-fallback,.municipality-special{width:100%;justify-content:center;text-align:center} }
@media print { .municipality-nav select { border:1px solid #555; } .municipality-results > ul > li > a,.municipality-results details > ul > li > a,.municipality-safe-empty { box-shadow:none; border:1px solid #555; } }

.municipality-return{display:inline-flex;margin-left:12px;padding:13px 16px;border:2px solid var(--my-green);border-radius:12px;color:var(--my-green);font-weight:900;text-decoration:none}
@media(max-width:560px){.municipality-return{width:100%;justify-content:center;margin:10px 0 0;text-align:center}}
.cross-category{margin-bottom:72px;padding:34px;border:2px solid var(--my-line,#bed5cf);border-radius:22px;background:#f4faf8}.cross-category header{max-width:760px}.cross-category header p{font-size:16px;line-height:1.7}.cross-category header h2{font-size:clamp(27px,3vw,40px)}.cross-category>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.cross-category>div a{display:grid;gap:7px;padding:20px;border:2px solid #bed5cf;border-radius:15px;background:#fff;color:#173f39;text-decoration:none}.cross-category>div b{font-size:19px}.cross-category>div span{font-size:15px;line-height:1.6}.cross-category-organizer{display:inline-flex;margin-top:22px;padding:14px 18px;border-radius:12px;background:#145e54;color:#fff;font-weight:900;text-decoration:none}@media(max-width:700px){.cross-category{width:calc(100% - 20px);padding:24px 16px}.cross-category>div{grid-template-columns:1fr}}

/* 専門家による無料相談（士業団体・専門家） */
.professional-support{margin-top:28px;border:1px solid #d9ded8;border-left:4px solid #6577a6;border-radius:12px;background:#fbfaf7;padding:22px 24px}
.professional-support h3{margin:0 0 10px;font-size:20px;color:var(--my-text)}
.professional-scope{margin:0 0 18px;font-size:14px;line-height:1.7;color:#5a6560;background:#fff;border:1px solid #e6e9e3;border-radius:8px;padding:12px 14px}
.professional-support article{border-top:1px solid #e6e9e3;padding:18px 0 6px}
.professional-support article:first-of-type{border-top:0}
.professional-support header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px}
.professional-support header b{font-size:16px;color:var(--my-text)}
.professional-support header span{font-size:14px;color:#5a6560;border:1px solid #d9ded8;border-radius:4px;padding:2px 8px;background:#fff}
.professional-support h4{margin:4px 0 8px;font-size:17px;color:var(--my-text)}
.professional-support article>p{margin:0 0 10px;font-size:15px;line-height:1.75}
.professional-operator{color:#5a6560!important;font-size:14px!important}
.professional-fee{margin:10px 0 6px;font-size:15px!important;color:#35534c;font-weight:700}
.professional-caution{font-size:14px!important;color:#8a5a2b;background:#fdf6ec;border-radius:6px;padding:10px 12px;margin:10px 0}
.professional-contacts{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.professional-contacts li{display:grid;align-content:start;gap:5px;background:#fff;border:1.5px solid #dce5e2;border-radius:10px;padding:14px 16px;font-size:14px;line-height:1.7;box-shadow:2px 3px 0 #edf3f1}
.professional-contacts b{display:block;font-size:15px;margin-bottom:2px;color:var(--my-text)}
.professional-contacts span{display:block;color:#4f635e;font-size:14px}
.professional-contacts small{display:block;margin-top:2px;color:#6b7671;font-size:14px;line-height:1.5}
.professional-phone{display:inline-block;margin:4px 0 6px;font-size:22px;font-weight:900;color:var(--my-green);text-decoration:none;letter-spacing:.02em}
.professional-phone:hover{text-decoration:underline}
.professional-support article>a{display:inline-flex;align-items:center;min-height:48px;margin:4px 14px 4px 0;font-size:14px;font-weight:800;color:#c84b25;text-decoration:none}
.professional-support article>a:hover{text-decoration:underline}
.professional-reference{color:#5a6560!important;font-weight:600!important}
@media(max-width:560px){
  .professional-support{padding:16px 14px}
  .professional-contacts{grid-template-columns:1fr}
  .professional-phone{font-size:20px}
}
@media print{
  .professional-support{border-left-width:2px;background:#fff}
  .professional-contacts li{border:1px solid #777;box-shadow:none}
  .professional-phone{color:#000}
}
