/* フェーズ3：アクセシビリティと運営情報導線（2026-11-08） */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #ed9f36 !important;
  outline-offset: 3px !important;
}
.skip-link {
  position: fixed; top: -90px; left: 14px; z-index: 99999;
  padding: 12px 18px; color: #122f46; background: #fff;
  border: 2px solid #226b8c; border-radius: 8px; font-weight: 700;
}
.skip-link:focus { top: 12px; }
.site-policy-bar { padding: 14px 20px; text-align: center; font-size: 13px;
  background: #e8f4fb; color: #234b63; border-top: 1px solid #cfdfeb; }
.site-policy-bar a { color: #1b5678; font-weight: 700; text-underline-offset: 4px; }
.site-policy-bar a:hover { text-decoration-thickness: 2px; }
/* タップ可能なランキングをネイティブbuttonにした場合の初期スタイルを解除 */
button.ranking-item { width: 100%; font: inherit; color: inherit;
  border: 1px solid #d8e7ef; text-align: left; }
button.legend-item { padding: 5px; font: inherit; color: inherit;
  background: transparent; border: 1px solid transparent; border-radius: 6px; }
button.legend-item:hover, button.legend-item:focus-visible { background: #e3f3fc; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important;
    transition-duration: 0.01ms !important; animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important; }
}
/* 地図ページ：スマートフォンのタブが細く潰れるのを防止 */
.nav-tabs { display: flex; flex-wrap: nowrap; max-width: 100%; overflow-x: auto; }
.nav-tabs .nav-btn { flex: 0 0 auto; white-space: nowrap; min-width: max-content; }
.brand h1 span { display: inline-block; white-space: nowrap; }
/* 地図配信が失敗したときだけ空白の地図領域を折り畳む */
.offline-map-section { height: auto !important; min-height: 0 !important; }
.offline-map-section #map { height: auto !important; min-height: 0 !important; padding: 1px 0; }
.offline-map-section .map-controls { display: none; }
@media (max-width: 540px) {
  .nav-tabs { width: 100%; border-radius: 12px; gap: 5px; }
  .nav-tabs .nav-btn { padding: 9px 10px; font-size: 12px; }
  .brand h1 { line-height: 1.4; }
  .brand h1 span { margin: 3px 0 0 4px; font-size: 10px; }
}


/* Phase 3: shared editorial UX enhancements — 2026-11-10 */
html { scroll-padding-top: 24px; }
body { overflow-wrap: break-word; -webkit-text-size-adjust: 100%; }
a { text-underline-offset: 3px; }
.site-breadcrumbs {
  display: flex; align-items: center; flex-wrap: wrap; gap: 5px 10px;
  width: min(1180px, calc(100% - 32px)); margin: 13px auto 17px;
  color: #3d647b; font-size: 13px; line-height: 1.7;
}
.site-breadcrumbs a { color: #175a7a; font-weight: 700; }
.site-breadcrumbs [aria-current="page"] { font-weight: 800; color: #163e57; }
.population-publication-note {
  display: flex; align-items: flex-start; flex-wrap: wrap; gap: 5px 16px;
  width: min(1180px, calc(100% - 32px)); margin: 12px auto 21px;
  padding: 12px 16px; border: 1px solid #b5d9ed; border-left: 4px solid #25769c;
  border-radius: 10px; background: #f2faff; color: #19445e;
  box-shadow: 0 3px 12px rgba(21,74,110,.04); font-size: 13px; line-height: 1.7;
}
.population-publication-note strong { flex: 0 0 auto; font-weight: 800; }
.population-publication-note span { flex: 1 1 270px; min-width: 0; }
.population-publication-note a { color: #10567c; font-weight: 750; }
.site-policy-bar {display:flex; flex-wrap:wrap; gap: 8px 24px; justify-content:center; align-items:center;}
.site-policy-bar a { display:inline-block; min-height: 26px; }
:where(.btn, .link-card, .municipality-link, .quick-link, .ranking-item) {
  transition: box-shadow .16s ease, transform .16s ease;
}
:where(.btn, .link-card, .municipality-link, .quick-link, .ranking-item):focus-visible {
  outline: 3px solid #de8a25 !important; outline-offset: 4px !important;
}
:where(p, li, dd) { overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .site-breadcrumbs {margin-top: 10px; font-size: 12px;}
  .population-publication-note {padding: 11px 12px; margin-bottom: 16px; font-size: 12px;}
  :where(main p, main li) { line-height: 1.85; }
  :where(.btn, .quick-link, .municipality-link) { min-height: 44px; }
}

/* 第3工程D7：公式確認した季節営業に関する案内（自治体ページ共通） */
.seasonal-verified-note{margin:12px 0 14px!important;padding:12px 14px;border-left:3px solid #237594;border-radius:0 8px 8px 0;background:#edf7fa;color:#24485b;font-size:.88rem;line-height:1.7}
.seasonal-verified-note strong{color:#125b76}
.seasonal-verified-note a{font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* D11: primary-source safety update placed before destination hero (all 179 styles preserved) */
.d11-safety-notice{max-width:1120px;margin:16px auto 22px;padding:16px 20px;border:1px solid #e6cfa0;border-left:5px solid #b3691b;border-radius:12px;background:#fff8e9;color:#42331e;line-height:1.8;overflow-wrap:anywhere}.d11-safety-notice strong{display:block;font-weight:800;font-size:1rem}.d11-safety-notice p{margin:7px 0 0}.d11-safety-notice a{color:#734307;text-decoration:underline;text-underline-offset:3px}.d11-safety-notice a:focus-visible{outline:3px solid #1e6d9c;outline-offset:3px}.d11-safety-source{font-size:.9rem}@media(max-width:650px){.d11-safety-notice{padding:14px 15px;margin:14px 0 20px}}
