/* 自治体個別ページ(muni-)— 2ページで重複していたインラインを1本に統合 2026-07-16 趙 */
  /* ============ 自治体個別ページ(muni-) 自己完結CSS ============ */
  .muni{
    font-family: YakuHanJP, "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
    color:#333; line-height:2; background:#fff;
  }
  .muni, .muni *{ word-break:normal; overflow-wrap:anywhere; box-sizing:border-box; }
  /* 本文系テキストの重さ統一(読みやすさ調整 2026-07-13) */
  .muni-hero__lead, .muni .sec-lead,
  .muni-program__summary, .muni-rec__title, .muni-modal__body{
    font-weight:500; -webkit-text-stroke:0.02vw;
  }
  .muni img{ max-width:100%; display:block; }
  .main:has(.muni){ padding:0 0 40px; } /* layout側の上余白を詰める(spec 2026-07-13) */
  .muni-container{ max-width:1120px; margin-inline:auto; padding-inline:clamp(16px,4vw,32px); }
  .muni section{ padding-block:clamp(48px,8vw,96px); }
  .muni section:nth-of-type(even){ background:#f8f9fb; }
  .muni h2{ font-size:clamp(1.3rem, 1.2rem + .6vw, 1.5rem); font-weight:600; line-height:1.5; color:#343434; margin:0 0 8px; }
  .muni .sec-lead{ color:#000000; font-size:clamp(.88rem, .84rem + .3vw, .93rem); margin:0 0 3rem; }

  /* --- 右側固定 目次バー(Notion風・線のみ、ホバーでラベル) --- */
  .muni-toc{
    position:fixed; right:24px; top:50%; transform:translateY(-50%); z-index:45;
    display:flex; flex-direction:column; gap:7px;
  }
  @media (max-width:1023px){ .muni-toc{ display:none; } }
  .muni-toc a{
    position:relative; display:flex; align-items:center; justify-content:flex-end;
    width:36px; height:11px; text-decoration:none;
  }
  .muni-toc a::after{
    content:""; width:12px; height:3px; border-radius:3px; background:#d1d5db; transition:.2s;
  }
  .muni-toc a:hover::after{ background:#9ca3af; width:16px; }
  .muni-toc a.is-active::after{ background:#1e2430; width:18px; }
  .muni-toc a span{
    position:absolute; right:46px; top:50%; transform:translateY(-50%);
    background:#fff; color:#374151; border:1px solid #e6e8ec;
    font-size:.74rem; font-weight:600; line-height:1.4; padding:5px 12px; border-radius:8px;
    white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .15s;
    box-shadow:0 4px 14px rgba(16,24,40,.12);
  }
  .muni-toc a:hover span{ opacity:1; }

  /* --- (0) サンプル告知バー --- */
  .muni-samplebar{
    position:sticky; top:0; z-index:50;
    background:#FFF7E6; border-bottom:1px solid #F0E3C4;
    padding:10px clamp(16px,4vw,32px); text-align:center;
    font-size:.8rem; color:#8a6d1d; line-height:1.6; margin-bottom:3rem;
  }
  .muni-samplebar a{ color:#1b689a; font-weight:700; text-decoration:none; margin-left:10px; }

  /* --- (2) ヒーロー(default: 2カラム) --- */
  .muni-hero{ padding:0 0 5rem 0 !important; background:#fff !important; } /* spec 2026-07-13 */
  .muni-crumb{ font-size:.78rem; color:#9ca3af; margin-bottom:20px; }
  .muni-crumb a{ color:#9ca3af; text-decoration:none; }
  .muni-crumb a:hover{ color:#217cb7; }
  .muni-hero__grid{ display:grid; grid-template-columns:58fr 42fr; gap:clamp(24px,4vw,56px); align-items:center; }
  .muni-hero__pref{ font-size:.82rem; font-weight:700; letter-spacing:.16em; color:#217cb7; margin:0 0 10px; }
  .muni-hero__title{ font-size:1.8rem; font-weight:700; line-height:1.5; color:#1e2430; margin:0 0 16px; }
  .muni-hero__lead{ font-size:0.96rem; color:#4b5563; line-height:2.4; margin:0 0 3rem; } /* .9rem級に戻す(リキ 2026-07-14 趙)。※林が引き上げた経緯あり */
  .muni-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 26px; padding:0; list-style:none; }
  .muni-chips li{ background:#f3f4f6; border-radius:999px; padding:6px 14px; font-size:.78rem; line-height:1.5; color:#4b5563; }
  .muni-btn{ display:inline-block; border-radius:999px; padding:12px 26px; font-size:.9rem; font-weight:700; text-decoration:none; line-height:1.5; transition:.2s; border:0; cursor:pointer; font-family:inherit; }
  .muni-btn--primary{ background:#217cb7; color:#fff; }
  .muni-btn--primary:hover{ background:#1b689a; color:#fff; }
  .muni-btn--ghost{ border:1px solid #d1d5db; color:#374151; background:#fff; }
  .muni-btn--ghost:hover{ border-color:#217cb7; color:#217cb7; }
  .muni-hero__visual{ position:relative; border-radius:16px; overflow:hidden; aspect-ratio:16/10; background:linear-gradient(150deg,#e8f6fa,#d7edf4); display:flex; align-items:center; justify-content:center; color:#7fb8c8; font-size:.85rem; letter-spacing:.1em; }
  /* メイン画像上のオーバーレイ(都市名+サブデータ) */
  .muni-hero__overlay{
    position:absolute; left:0; right:0; bottom:0;
    padding:48px 20px 16px; text-align:left;
    background:linear-gradient(to top, rgba(15,20,30,.6), rgba(15,20,30,0));
    display:flex; flex-direction:column; gap:8px; align-items:flex-start;
  }
  .muni-hero__overlay .ov-city{ color:#fff; font-size:.95rem; font-weight:700; letter-spacing:.06em; margin:0; line-height:1.4; text-shadow:0 1px 6px rgba(0,0,0,.3); }
  .muni-hero__overlay .ov-chips{ display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
  .muni-hero__overlay .ov-chips li{
    font-size:.72rem; line-height:1.5; color:#fff; padding:3px 11px;
    border:1px solid rgba(255,255,255,.4); border-radius:999px;
    background:rgba(255,255,255,.14); backdrop-filter:blur(4px);
  }

  /* --- (2') ヒーロー p2: 画像をコンテナ幅100%・16:8、テキストは画像上に集約 --- */
  .muni-hero--p2 .muni-hero__visual{ width:100%; aspect-ratio:16/8; margin-bottom:0;
    background:linear-gradient(150deg,#b7d3dc,#7fa9b8); } /* 白文字が読めるプレースホルダ濃度 */
  .muni-hero--p2 .muni-hero__overlay{
    padding:96px clamp(24px,4vw,48px) clamp(22px,3vw,34px);
    gap:12px;
    background:linear-gradient(to top, rgba(15,20,30,.74) 0%, rgba(15,20,30,.28) 58%, rgba(15,20,30,0) 100%);
  }
  .muni-hero--p2 .ov-title{
    color:#fff; font-size:1.8rem; font-weight:700; line-height:1.5; margin:0;
    text-shadow:0 1px 10px rgba(0,0,0,.35);
  }
  .muni-hero--p2 .ov-title span{ color:rgba(255,255,255,.92); }
  .muni-hero--p2 .ov-lead{
    color:rgba(255,255,255,.94); font-size:clamp(.85rem,.8rem+.3vw,.95rem); line-height:1.9;
    max-width:680px; margin:0; text-shadow:0 1px 8px rgba(0,0,0,.35);
    font-weight:500; -webkit-text-stroke:0.02vw;
  }
  @media (max-width:767px){
    .muni-hero--p2 .muni-hero__visual{ aspect-ratio:auto; min-height:64vw; }
    .muni-hero--p2 .ov-title{ font-size:1.35rem; }
    .muni-hero--p2 .muni-hero__overlay{ padding-top:64px; }
  }

  /* --- (2'') ヒーロー p3: 全幅画像 → その下にテキスト(タイトル1行) --- */
  .muni-hero--p3 .muni-hero__visual{ width:100%; aspect-ratio:16/8; margin-bottom:clamp(2rem, 1.4rem + 2.6vw, 4rem); }
  .muni-hero--p3 .muni-hero__copy{ max-width:100%; }
  .muni-hero--p3 .muni-hero__title{ margin:0 0 35px; }
  .muni-hero--p3 .muni-hero__title span{ font-size:.61em; font-weight:600; color:#4b5563; margin-left:10px; }
  .muni-hero--p3 .muni-hero__lead{ max-width:100%; margin-bottom:3rem; }
  @media (max-width:767px){
    .muni-hero--p3 .muni-hero__title span{ display:block; margin-left:0; }
  }
  /* p3: 基本データを「どんなまち?」ワンメッセージ化 */
  .muni-townfacts{
    display:flex; align-items:center; gap:clamp(16px,2.2vw,28px);
    border:1px solid #e6e8ec; border-radius:14px; background:#fff;
    padding:16px clamp(18px,2.5vw,28px);
    box-shadow:0 1px 3px rgba(16,24,40,.06);
  }
  .muni-townfacts__q{
    flex:0 0 auto; margin:0; font-size:.9rem; font-weight:700; color:#217cb7;
    display:flex; align-items:center;
  }
  .muni-townfacts__q::after{
    content:""; width:1px; height:30px; background:#e6e8ec; margin-left:clamp(14px,2vw,26px);
  }
  .muni-townfacts__text{ margin:0; flex:1; font-size:.88rem; color:#1e2430; font-weight:600; line-height:1.9; -webkit-text-stroke:0.02vw; }
  @media (max-width:767px){
    .muni-townfacts{ flex-direction:column; align-items:flex-start; gap:8px; }
    .muni-townfacts__q::after{ display:none; }
  }

  /* --- (3) サマリー帯 --- */
  .muni-summary{ padding-block:0 !important; background:#fff !important; }
  .muni-summary__card{ border:1px solid #e6e8ec; border-radius:16px; padding:clamp(18px,2.5vw,26px); box-shadow:0 1px 3px rgba(16,24,40,.06); }
  .muni-summary__stats{ display:flex; flex-wrap:wrap; gap:6px 24px; font-size:.85rem; color:#4b5563; margin-bottom:14px; }
  .muni-summary__stats b{ color:#217cb7; font-size:1.05em; }
  .muni-axischips{ display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; list-style:none; }
  .muni-axischips button{
    border:1px solid #cfe2ee; background:#eef5fb; color:#1b689a; border-radius:999px;
    padding:5px 13px; font-size:.78rem; line-height:1.5; cursor:pointer; font-family:inherit; transition:.15s;
  }
  .muni-axischips button:hover{ background:#217cb7; color:#fff; border-color:#217cb7; }

  /* --- (4) 地域課題 --- */
  .muni-issues__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .muni-issue{ background:#fff; border:1px solid #e6e8ec; border-radius:16px; padding:clamp(20px,2.5vw,28px); box-shadow:0 1px 3px rgba(16,24,40,.06); display:flex; flex-direction:column; }
  .muni-issue h3{ font-size:clamp(1rem,.94rem+.35vw,1.15rem); font-weight:700; line-height:1.8; color:#1e2430; margin:0 0 1rem; }
  .muni-issue p{ font-size:.85rem; line-height:1.9; color:#4b5563; margin:0 0 14px; font-weight:500; -webkit-text-stroke:0.02vw; }
  .muni-issue__voice{ margin-top:auto; border-left:3px solid #217cb7; padding:4px 0 4px 14px; }
  .muni-issue__voice p{ font-size:.83rem; color:#374151; font-style:italic; margin:0 0 4px; }
  .muni-issue__voice cite{ font-size:.72rem; color:#9ca3af; font-style:normal; }
  .muni-issues__bridge{ text-align:center; margin-top:36px; font-size:.95rem; color:#374151; }
  .muni-issues__bridge a{ color:#217cb7; font-weight:700; text-decoration:none; }
  .muni-issues__bridge a:hover{ text-decoration:underline; }

  /* --- (5) 支援制度一覧 --- */
  .muni-tabs{ display:flex; gap:6px; flex-wrap:wrap; margin:0 0 26px; padding:0; list-style:none; }
  .muni-tabs button{
    border:1px solid #e6e8ec; background:#fff; color:#4b5563; border-radius:999px;
    padding:8px 16px; font-size:.82rem; line-height:1.5; cursor:pointer; font-family:inherit; transition:.15s;
  }
  .muni-tabs button:hover{ border-color:#217cb7; color:#217cb7; }
  .muni-tabs button.is-active{ background:#217cb7; border-color:#217cb7; color:#fff; font-weight:700; }
  .muni-programs__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .muni-program{ background:#fff; border:1px solid #e6e8ec; border-radius:12px; padding:22px; box-shadow:0 1px 3px rgba(16,24,40,.06); display:flex; flex-direction:column; transition:box-shadow .2s; }
  .muni-program:hover{ box-shadow:0 4px 12px rgba(16,24,40,.08); }
  .muni-program__badges{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px; }
  .muni-badge{ display:inline-block; border-radius:999px; padding:2px 10px; font-size:.7rem; font-weight:700; line-height:1.6; }
  .muni-badge--axis{ background:#e8f1f8; color:#1b689a; }
  .muni-badge--scope{ background:#f3f4f6; color:#6b7280; }
  .muni-badge--soon{ background:#FEF2F2; color:#B91C1C; }
  .muni-badge--new{ background:#ECFDF5; color:#047857; }
  .muni-badge--type-challenge{ background:#e8f1f8; color:#1b689a; }
  .muni-badge--type-event{ background:#FDF4E7; color:#B45309; }
  .muni-badge--type-seminar{ background:#F0EDFB; color:#6D28D9; }
  .muni-program h3{ font-size:.98rem; font-weight:700; line-height:1.6; color:#1e2430; margin:0 0 8px; }
  .muni-program__summary{ font-size:.82rem; color:#6b7280; line-height:1.8; margin:0 0 14px; }
  .muni-program dl{ margin:0; padding-top:12px; border-top:1px solid #f0f1f3; font-size:.8rem; }
  .muni-program dl div{ display:flex; gap:10px; margin-bottom:4px; }
  .muni-program dt{ flex:0 0 3.4em; color:#9ca3af; }
  .muni-program dd{ margin:0; color:#374151; }
  .muni-program__src{ margin-top:auto; padding-top:12px; font-size:.7rem; color:#9ca3af; }
  .muni-program__src a{ color:#217cb7; text-decoration:none; }
  .muni-empty{ display:none; text-align:center; color:#9ca3af; font-size:.9rem; padding:40px 0; }

  /* --- (5b) 表示切り替え(カード/表)+ more --- */
  #programs{ background:#ffffff !important; } /* spec 2026-07-13 */
  .muni-toolbar{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin:0 0 3rem; flex-wrap:wrap; }
  .muni-toolbar .muni-tabs{ margin:0; flex:1 1 auto; }
  .muni-viewtoggle{
    display:flex; gap:2px; border:1px solid #e6e8ec; border-radius:10px;
    padding:3px; flex:0 0 auto; background:#fff; align-self:flex-start;
  }
  .muni-viewtoggle button{
    border:0; background:transparent; border-radius:7px; width:34px; height:30px;
    display:flex; align-items:center; justify-content:center;
    color:#9ca3af; cursor:pointer; font-family:inherit; transition:.15s;
  }
  .muni-viewtoggle button:hover{ color:#374151; background:#f3f4f6; }
  .muni-viewtoggle button.is-active{ background:#1e2430; color:#fff; }
  .muni-viewtoggle svg{ width:15px; height:15px; display:block; }
  .muni-more{
    position:relative; z-index:2; text-align:center;
    margin-top:-72px; padding-top:88px; pointer-events:none;
    background:linear-gradient(to bottom, rgba(255,255,255,0), #ffffff 62%);
  }
  .muni-more .muni-btn{ pointer-events:auto; box-shadow:0 4px 14px rgba(16,24,40,.12); }
  .muni-tablewrap{
    display:none; border:1px solid #e6e8ec; border-radius:12px; overflow-x:auto;
    background:#fff; box-shadow:0 1px 3px rgba(16,24,40,.06);
  }
  .muni-table{ width:100%; border-collapse:collapse; font-size:.84rem; min-width:920px; table-layout:fixed; }
  .muni-table th{
    text-align:left; background:#fff; color:#9ca3af; font-size:.72rem; font-weight:700;
    letter-spacing:.06em; padding:12px 16px 10px; border-bottom:1px solid #e6e8ec; white-space:nowrap;
  }
  .muni-table td{ padding:15px 16px; border-bottom:1px solid #f0f1f3; color:#4b5563; vertical-align:middle; line-height:1.65; font-size:.82rem; }
  .muni-table tr:last-child td{ border-bottom:0; }
  .muni-table tbody tr{ transition:background .15s; }
  .muni-table tbody tr:hover{ background:#f8fafc; }
  .muni-table .tname{ font-weight:700; color:#1e2430; font-size:.88rem; }
  .muni-table .tname + .muni-badge{ margin-left:8px; vertical-align:1px; }
  .muni-table .t-nowrap{ white-space:nowrap; }
  .muni-table .t-dim{ color:#9ca3af; }
  .muni-table .t-none{ color:#d1d5db; }

  /* --- (6) 募集情報:統一カードのシンプルスライダー --- */
  .muni-recwrap{ position:relative; }
  .muni-slider{
    display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory;
    padding:4px 4px 14px; scrollbar-width:thin;
  }
  .muni-rec{
    flex:0 0 min(300px, 76vw); scroll-snap-align:start;
    background:#fff; border:1px solid #e6e8ec; border-radius:16px; overflow:hidden;
    box-shadow:0 1px 3px rgba(16,24,40,.06); cursor:pointer; transition:box-shadow .2s, transform .2s;
    display:flex; flex-direction:column; text-align:left; padding:0; font-family:inherit;
  }
  .muni-rec:hover{ box-shadow:0 6px 16px rgba(16,24,40,.1); transform:translateY(-2px); }
  .muni-rec__photo{
    aspect-ratio:16/10; background:linear-gradient(150deg,#e8f6fa,#d7edf4);
    display:flex; align-items:center; justify-content:center; color:#7fb8c8;
    font-size:.78rem; letter-spacing:.1em; position:relative;
  }
  .muni-rec__photo .muni-badge{ position:absolute; top:10px; left:10px; }
  .muni-rec__body{ padding:16px 18px 18px; display:flex; flex-direction:column; gap:8px; flex:1; }
  .muni-rec__title{
    font-size:.95rem; font-weight:700; line-height:1.6; color:#1e2430; margin:0;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  }
  .muni-rec__meta{ margin-top:auto; font-size:.78rem; color:#6b7280; }
  .muni-rec__meta b{ color:#1b689a; }
  .muni-arrow{
    position:absolute; top:38%; transform:translateY(-50%); z-index:5;
    width:40px; height:40px; border-radius:50%; border:1px solid #e6e8ec;
    background:#fff; color:#374151; font-size:1rem; cursor:pointer;
    box-shadow:0 2px 8px rgba(16,24,40,.12); transition:.15s; line-height:1;
  }
  .muni-arrow:hover{ border-color:#217cb7; color:#217cb7; }
  .muni-arrow--prev{ left:-14px; }
  .muni-arrow--next{ right:-14px; }
  @media (max-width:767px){ .muni-arrow{ display:none; } }

  /* --- 募集詳細モーダル --- */
  .muni-modal{
    position:fixed; inset:0; z-index:100; display:none;
    align-items:center; justify-content:center; padding:20px;
  }
  .muni-modal.is-open{ display:flex; }
  .muni-modal__overlay{ position:absolute; inset:0; background:rgba(20,25,35,.5); }
  .muni-modal__card{
    position:relative; background:#fff; border-radius:16px; max-width:640px; width:100%;
    max-height:86vh; overflow-y:auto; padding:0; box-shadow:0 24px 60px rgba(8,20,30,.28);
  }
  .muni-modal__photo{
    aspect-ratio:16/7; background:linear-gradient(150deg,#e8f6fa,#d7edf4);
    display:flex; align-items:center; justify-content:center; color:#7fb8c8; font-size:.8rem; letter-spacing:.1em;
  }
  .muni-modal__inner{ padding:clamp(20px,3.5vw,32px); }
  .muni-modal__close{
    position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:50%;
    border:0; background:rgba(255,255,255,.92); color:#374151; font-size:1.05rem; cursor:pointer;
    box-shadow:0 2px 8px rgba(16,24,40,.18); line-height:1;
  }
  .muni-modal__close:hover{ color:#217cb7; }
  .muni-modal__title{ font-size:clamp(1.05rem,1rem+.4vw,1.25rem); font-weight:700; line-height:1.6; color:#1e2430; margin:10px 0 18px; }
  .muni-modal__body dl{ margin:0 0 22px; border-top:1px solid #f0f1f3; }
  .muni-modal__body dl > div{ display:flex; gap:14px; padding:10px 0; border-bottom:1px solid #f0f1f3; }
  .muni-modal__body dt{ flex:0 0 6em; font-size:.8rem; color:#9ca3af; padding-top:2px; }
  .muni-modal__body dd{ margin:0; font-size:.88rem; color:#374151; line-height:1.85; flex:1; }
  .muni-modal__body dd ul{ margin:0; padding:0; list-style:none; }
  .muni-modal__body dd ul li{ padding-left:1.3em; position:relative; margin-bottom:2px; }
  .muni-modal__body dd ul li::before{ content:"✓"; position:absolute; left:0; color:#217cb7; font-weight:700; }
  .muni-modal__cta{ text-align:center; }
  .muni-modal__note{ font-size:.72rem; color:#9ca3af; text-align:center; margin-top:8px; }

  /* --- (6b) 問い合わせ先 --- */
  .muni-office{
    display:flex; gap:clamp(20px,3vw,32px); align-items:flex-start;
    background:#fff; border:1px solid #e6e8ec; border-radius:16px;
    padding:clamp(22px,3vw,32px); box-shadow:0 1px 3px rgba(16,24,40,.06);
    max-width:100%;
  }
  .muni-office__logo{
    flex:0 0 92px; height:92px; border:1px solid #f0f1f3; border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    color:#c2c8d0; font-size:.68rem; letter-spacing:.08em; background:#fafbfc;
  }
  .muni-office__name{ font-size:1.02rem; font-weight:700; color:#1e2430; margin:0 0 10px; line-height:1.5; }
  .muni-office__body{ flex:1; min-width:0; }
  .muni-office dl{ margin:0 0 14px; font-size:.82rem; }
  .muni-office dl div{ display:flex; gap:12px; margin-bottom:3px; }
  .muni-office dt{ flex:0 0 5em; color:#9ca3af; }
  .muni-office dd{ margin:0; color:#374151; }
  .muni-office__site{ font-size:.82rem; font-weight:700; color:#217cb7; text-decoration:none; }
  .muni-office__site:hover{ text-decoration:underline; }
  .muni-office__site::after{ content:"↗"; font-size:.75em; margin-left:4px; opacity:.7; }
  @media (max-width:767px){
    .muni-office{ flex-direction:column; }
    .muni-office dl div{ flex-direction:column; gap:0; margin-bottom:8px; }
  }

  /* --- (7) 相談導線 --- */
  .muni-contact__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
  .muni-contact__card{ border:1px solid #e6e8ec; border-radius:16px; padding:clamp(24px,3vw,36px); text-align:center; background:#fff; }
  .muni-contact__card h3{ font-size:1.05rem; font-weight:700; color:#1e2430; margin:0 0 8px; }
  .muni-contact__card p{ font-size:.85rem; color:#6b7280; margin:0 0 18px; }
  .muni-contact__card--gov{ background:#217cb7; border-color:#217cb7; }
  .muni-contact__card--gov h3{ color:#fff; }
  .muni-contact__card--gov p{ color:rgba(255,255,255,.88); }
  .muni-contact__card--gov .muni-btn--ghost{ border-color:rgba(255,255,255,.75); color:#fff; background:transparent; }
  .muni-contact__card--gov .muni-btn--ghost:hover{ background:#fff; color:#217cb7; border-color:#fff; }

  /* --- (9) 出典・免責 --- */
  .muni-foot{ padding-block:clamp(28px,4vw,40px) !important; background:#fff !important; border-top:1px solid #e6e8ec; }
  .muni-foot p{ font-size:.75rem; color:#9ca3af; line-height:1.9; margin:0; }

  /* --- レスポンシブ --- */
  @media (max-width:1023px){
    .muni-issues__grid, .muni-programs__grid{ grid-template-columns:repeat(2,1fr); }
  }
  @media (max-width:767px){
    .muni-hero__grid{ grid-template-columns:1fr; }
    .muni-hero__visual{ order:-1; }
    .muni-issues__grid, .muni-programs__grid, .muni-contact__grid{ grid-template-columns:1fr; }
    .muni-tabs{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px;
      position:sticky; top:0; background:rgba(255,255,255,.96); z-index:40; }
    .muni-tabs button{ white-space:nowrap; }
    .muni-hero__ctas .muni-btn{ width:100%; text-align:center; }
  }
