.agch-compact-page #sidebar,
.agch-compact-page .sidebar,
.agch-compact-page .sidebar-scroll { display:none !important; }
.agch-compact-page .main,
.agch-compact-page #main { width:100% !important; max-width:none !important; }
.agch-compact-page .content-in { display:block !important; }
.agch-directory { max-width:1100px; margin:0 auto; }
.agch-search-box { padding:18px; border:1px solid #ddd; border-radius:12px; background:#fff; margin-bottom:24px; }
.agch-search-row { display:flex; gap:8px; margin-top:8px; }
.agch-search-row input { flex:1; min-width:0; padding:12px 14px; font-size:16px; border:1px solid #bbb; border-radius:8px; }
.agch-search-row button,.agch-region-shortcuts button,.agch-hokkaido-tabs button { padding:10px 14px; border:1px solid #bbb; border-radius:8px; background:#fff; cursor:pointer; }
.agch-search-results { margin-top:12px; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:8px; }
.agch-search-results a { padding:10px 12px; border:1px solid #ddd; border-radius:8px; text-decoration:none; }
.agch-map-heading { margin-bottom:4px; }
.agch-map-note { margin-top:0; }
.agch-map-wrap { overflow-x:auto; border:1px solid #ddd; border-radius:14px; padding:10px; background:#f8fafc; }
.agch-map { display:block; min-width:720px; width:100%; height:auto; }
.agch-map-pref rect { fill:#fff; stroke:#aab4c0; stroke-width:1.5; }
.agch-map-pref text { font-size:12px; pointer-events:none; }
.agch-map-pref.is-enabled { cursor:pointer; }
.agch-map-pref.is-enabled:hover rect,.agch-map-pref.is-enabled:focus rect { fill:#e9f2ff; stroke:#3378c5; stroke-width:2; }
.agch-map-pref.is-disabled { opacity:.3; }
.agch-region-shortcuts { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.agch-region,.agch-prefecture { border:1px solid #ddd; border-radius:10px; margin:10px 0; background:#fff; overflow:hidden; }
.agch-region>summary,.agch-prefecture>summary { cursor:pointer; padding:14px 16px; font-weight:700; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.agch-region>summary::-webkit-details-marker,.agch-prefecture>summary::-webkit-details-marker { display:none; }
.agch-region>summary::after,.agch-prefecture>summary::after { content:'＋'; font-size:20px; }
.agch-region[open]>summary::after,.agch-prefecture[open]>summary::after { content:'−'; }
.agch-region-body { padding:0 12px 12px; }
.agch-prefecture-body { padding:12px; border-top:1px solid #eee; }
.agch-prefecture summary span { font-size:13px; font-weight:400; margin-left:auto; margin-right:12px; }
.agch-municipality-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:8px; }
.agch-municipality-grid a { display:block; padding:9px 11px; border:1px solid #e1e1e1; border-radius:7px; text-decoration:none; background:#fff; }
.agch-hokkaido-tabs { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:12px; }
.agch-hokkaido-tabs button small { display:block; margin-top:2px; }
.agch-hokkaido-tabs button.is-active { font-weight:700; border-color:#3378c5; background:#e9f2ff; }
.agch-hokkaido-area h3 { margin:8px 0 10px; font-size:18px; }
@media (max-width:640px) {
  .agch-search-row { flex-direction:column; }
  .agch-map-wrap { padding:4px; }
  .agch-region-shortcuts { display:grid; grid-template-columns:repeat(2,1fr); }
  .agch-hokkaido-tabs { grid-template-columns:repeat(2,1fr); }
  .agch-municipality-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
