/* マイナンバーカード窓口ナビ(procedure-window)専用: regional-ds と parts.css の上に足す。行政手続きの案内板(紺の地・朱の差し色・受付の 3 値の記号)。
   公式サービスに見せない: 紋章・公的なロゴ・官公庁の配色の模倣はしない。「民間の情報サイト」をヘッダーとヒーローの両方に出す。色はテーマのトークンを使う */
body.mn{background:var(--base);letter-spacing:-.01em}
.mnHeader{background:var(--paper);border-bottom:1px solid var(--line)}
.mnHeader .nav{height:76px}
.mnBrand{gap:12px}
.mnMark{position:relative;flex:none;width:40px;height:40px;border-radius:10px;background:var(--deep)}
.mnMark span{position:absolute;left:9px;top:12px;width:22px;height:15px;border-radius:3px;background:var(--paper)}
.mnMark span::after{content:"";position:absolute;left:3px;top:4px;width:6px;height:7px;border-radius:1px;background:var(--accent)}
.mnHeader .brandname{font-size:20px;letter-spacing:-.06em}
.mnHeader .brandsub{font-size:11px;letter-spacing:.02em;color:var(--muted);font-weight:700}
.mnHeader .navlinks a{color:var(--ink)}
.mnHeader .navlinks a:hover{color:var(--accent)}
.mnCrumbs{margin:14px auto 0;color:var(--muted)}
.mnCrumbs a{color:var(--ink)}

/* ヒーロー(ファーストビュー: 見出し → 検索 → 件数 → 注意) */
.mnHero{background:var(--deep);color:#fff;padding:34px 0 28px;margin-top:0}
.mnCrumbs+.mnHero{margin-top:14px}
.mnEyebrow{margin:0 0 8px;font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--lime)}
.mnHero h1{margin:0;max-width:1040px;word-break:auto-phrase;text-wrap:balance;font-size:clamp(25px,3.3vw,40px);line-height:1.35;letter-spacing:-.05em;color:#fff}
.mnLead{margin:12px 0 0;max-width:780px;font-size:15px;line-height:1.85;color:#e6ebf4}
.mnFinder{margin:22px 0 0;padding:20px;border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:0 18px 44px rgba(0,0,0,.22)}
.mnFinderTitle{margin:0 0 12px;font-size:16px;font-weight:800;color:var(--ink)}
.mnFinderRow{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.mnGo{min-height:48px;padding:0 26px;font-size:15px;border-radius:10px;background:#a8432f;border-color:#a8432f;color:#fff;flex:0 0 auto}
.mnGo:hover{background:#8a3424;border-color:#8a3424}
.mnFinderErr{margin:10px 0 0;padding:10px 12px;border-radius:8px;background:#fdecea;color:#8a2412;font-weight:700;font-size:14px}
.mnQuick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0}
.mnQuickLabel{font-size:12px;font-weight:800;color:var(--muted);margin-right:2px}
.mnHero>.wrap>.mnQuick .mnQuickLabel{color:#e6ebf4}
.mnHero .statLine{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin:18px 0 0;font-size:14px;font-weight:700;color:#e6ebf4}
.mnHero .statLine b{font-size:22px;color:#fff;margin-right:2px}
.statNote{font-size:12px;font-weight:600;color:#c8d3e6}
.mnOfficial{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:16px 0 0;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.08);font-size:13px;line-height:1.7;color:#e6ebf4}
.mnOfficialTag{padding:1px 8px;border-radius:6px;background:var(--lime);color:var(--deep);font-weight:800;font-size:12px}
.mnProse .mnOfficial{background:var(--sea);color:var(--ink)}
.mnJump{margin-top:16px}
.mnJump .pf-chip{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.mnJump .pf-chip:hover{border-color:#fff}

/* セクション */
.mnSection{padding:44px 0 6px}
.mnSection>h2,.mnSection h2{word-break:auto-phrase;position:relative;margin:0 0 16px;padding-left:14px;font-size:clamp(21px,2.3vw,28px);letter-spacing:-.04em;line-height:1.4}
.mnSection>h2::before,.mnSection h2::before{content:"";position:absolute;left:0;top:.25em;bottom:.25em;width:5px;border-radius:3px;background:var(--accent)}
.mnSection h2:not(:first-child){margin-top:30px}
.mnSectionLead{margin:-6px 0 16px;color:var(--muted);font-size:14px;line-height:1.8}
.mnActions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 0}
.mnExt{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--ink)}
.mnMutedLine{color:var(--muted);margin:0}

/* 都道府県(全国版) */
.mnRegions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.mnRegion h3{margin:0 0 8px;font-size:14px;color:var(--muted);letter-spacing:.02em}
.prefList,.muniList{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.prefList li{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.prefList a{display:inline-flex;align-items:center;min-height:32px;font-size:18px;font-weight:800;color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}
.prefList span{display:block;font-size:13px;color:var(--muted)}
.prefList .prefNext{margin-top:4px;color:var(--ink);font-weight:700}
.mnPrefGrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.prefList .prefRegion{display:block;margin:0 0 2px;font-size:12px;font-weight:800;color:var(--muted)}
.mnAfter{margin:14px 0 0}

/* 市区町村(県版) */
.mnMuniGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
.mnMuniGrid.one{grid-template-columns:1fr}
.mnOfficeMini{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid var(--line)}
.mnOfficeMini li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.mnOfficeMini a{display:inline-flex;align-items:center;min-height:32px;font-weight:700;color:var(--ink)}
.mnOfficeMini li>span{display:inline-flex;align-items:center;color:var(--muted);font-size:13px}
.mnNext{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:8px 0 0;padding:10px 12px;border-radius:10px;background:var(--sea);font-weight:700;font-size:14px;color:var(--ink)}
.mnNext.none{background:var(--base);color:var(--muted);font-weight:600}
.mnNextLabel{font-size:12px;font-weight:800;color:var(--muted)}

/* 窓口 */
.office{margin:0 0 18px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--paper);scroll-margin-top:12px}
.office:target{box-shadow:0 0 0 3px var(--focus)}
.officeHead{margin:0 0 14px}
.office h3{margin:0 0 2px;font-size:20px;letter-spacing:-.03em}
.office .addr{margin:0;color:var(--muted);font-size:14px}
.officeGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:0 0 6px;align-items:start}
.mnResv{margin:10px 0 0;font-size:14px;line-height:1.8}
.t{border-collapse:collapse;width:100%;font-size:14px;background:var(--paper)}
.t caption,.t-caption{text-align:left;font-size:12px;font-weight:800;color:var(--muted);padding:0 0 6px;margin:0}
.t th,.t td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.t tbody th[scope=row]{font-weight:700;white-space:nowrap;width:9em}
.mk{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:50%;font-weight:800;font-size:13px;margin-right:4px}
.mk.ok{background:var(--teal);color:var(--deep)}
.mk.no{background:var(--lime);color:var(--deep)}
.mk.un{background:var(--base);color:var(--muted);border:1px dashed var(--muted)}
.mnLegend{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px;font-size:14px}
.mnPoints li{line-height:1.85;font-size:14px}
.src{margin:10px 0 0;font-size:12px;color:var(--muted)}
.src a{color:var(--ink)}

/* 受付日 */
.days{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.day{display:grid;grid-template-columns:64px 1fr;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:14px;line-height:1.7}
.dayDate{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:start;min-height:64px;border-radius:10px;background:var(--deep);color:#fff}
.dayDate.we{background:#a8432f}
.dayDate .dm{font-size:18px;font-weight:800;letter-spacing:-.04em;line-height:1.1}
.dayDate .dw{font-size:12px;font-weight:700}
.dayBody{min-width:0}
.dayHead{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.day .kind{display:inline-block;padding:0 8px;border-radius:999px;background:var(--sea);font-size:12px;font-weight:800;color:var(--ink)}
.day.night .kind{background:var(--deep);color:#fff}
.day.closed{opacity:.9}
.day.closed .kind{background:var(--base);border:1px dashed var(--muted)}
.dayTime{font-weight:700}
.dayPlace{font-weight:700}
.dayPlace a{color:var(--ink)}
.dayProcs{margin-top:2px}
.procYes{font-weight:800}
.tag{display:inline-block;margin:2px 4px 2px 0;padding:0 8px;border-radius:6px;background:var(--teal);color:var(--deep);font-size:13px;font-weight:700}
.procNo,.procUn{color:var(--muted);font-size:13px}
.dayResv{color:var(--muted);font-size:13px}
.closedNote{font-weight:800;color:#a8432f}

/* 検索の結果 */
.mnResults{padding-top:28px}
#mn-chips{margin:0 0 14px}
#mn-count{scroll-margin-top:12px}
#mn-count:focus{outline:3px solid var(--focus);outline-offset:4px;border-radius:4px}
.mnNote{font-size:13px;color:var(--muted);margin:-6px 0 14px}
.mnProse{padding-top:28px}
.mnFoot{margin-top:56px}

@media (max-width:860px){
  .mnHeader .nav{height:66px}
  .mnHeader .brandname{font-size:17px}
  .mnMark{width:34px;height:34px}.mnMark span{left:6px;top:9px}
  .mnHeader .navbutton{margin-left:auto}
}
@media (max-width:600px){
  .mnHero{padding:24px 0 22px}
  .mnFinder{padding:16px;margin-top:18px}
  .mnGo{width:100%}
  .office,.pf-card{padding:16px}
  .day{grid-template-columns:52px 1fr;gap:10px;padding:12px}
  .dayDate{min-height:52px}
  .dayDate .dm{font-size:15px}
  .mnMuniGrid,.mnRegions{grid-template-columns:1fr}
  .mnPrefGrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
  .prefList li{padding:12px}
  .prefList a{font-size:17px}
  .t tbody th[scope=row]{width:auto;white-space:normal}
  .mnHeader .brandsub{font-size:10px}
  .mnHeader .navbutton{display:none}
  .mnHeader .brand{min-width:0;flex:1 1 auto}
  .mnHeader .brandname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pf-menu summary{white-space:nowrap;padding:0 12px}
  .mnFinderRow .pf-field{flex:1 1 calc(50% - 6px)}
  .mnFinderRow .pf-field:first-child{flex-basis:100%}
}
@media (max-width:360px){
  .mnFinderRow .pf-field{flex-basis:100%}
  .mnHeader .brandname{font-size:16px}
}
