/* ===== 都道府県から探す（地図レイアウト） ===== */
.pm-sec{background:var(--paper);padding:88px 0 96px}
.pm-sec .wrap{max-width:1140px}
.pm-head{text-align:center;margin-bottom:38px}
.pm-eyebrow{font-size:11.5px;letter-spacing:.34em;color:var(--gold);font-weight:700;margin-bottom:12px}
.pm-sec h2{font-family:'Shippori Mincho',serif;font-size:clamp(24px,2.6vw,31px);font-weight:700;color:var(--indigo-d);line-height:1.5;letter-spacing:.03em}
.pm-sec h2 em{font-style:normal;color:var(--gold)}
.pm-lead{margin-top:14px;font-size:15px;color:var(--muted);line-height:1.9}

.pm-card{position:relative;display:grid;grid-template-columns:1fr minmax(280px,352px) 1fr;gap:0 24px;
  background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:10px;
  padding:34px 32px 30px;box-shadow:0 10px 30px rgba(30,38,48,.07)}

/* 中央の地図 */
.pm-mid{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 0}
.pm-map{width:100%;max-width:352px;height:auto;opacity:.92;margin-bottom:4px}
.pm-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  width:104px;height:104px;border-radius:50%;background:var(--indigo-d);color:#fff;
  box-shadow:0 8px 20px rgba(34,48,63,.28);margin-bottom:-14px;position:relative;z-index:2}
.pm-badge small{font-size:10.5px;letter-spacing:.18em;color:#E8CF8A}
.pm-badge b{font-family:'Shippori Mincho',serif;font-size:34px;line-height:1;color:#fff;letter-spacing:.01em}
.pm-badge b em{display:block;font-style:normal;font-size:9.5px;letter-spacing:.06em;margin:3px 0 0;line-height:1;color:rgba(255,255,255,.88)}

/* 地方ブロック */
.pm-col{display:flex;flex-direction:column;gap:20px}
.pm-group{}
.pm-gt{display:flex;align-items:center;gap:7px;margin-bottom:9px;
  font-family:'Shippori Mincho',serif;font-size:15.5px;font-weight:700;color:var(--indigo-d);letter-spacing:.06em}
.pm-gt::after{content:"";flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--gold) 0 3px,transparent 3px 7px);opacity:.55}
.pm-ic{width:15px;height:15px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.pm-chips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.pm-chip{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:44px;
  background:#fff;border:1px solid var(--line);border-radius:5px;padding:7px 10px;
  transition:border-color .15s,background .15s,box-shadow .15s}
.pm-chip:hover{border-color:var(--gold);background:#FCFBF7;box-shadow:0 3px 10px rgba(169,143,82,.14)}
.pm-pref{display:block;font-family:'Shippori Mincho',serif;font-size:15px;font-weight:600;
  color:var(--indigo);letter-spacing:.03em;line-height:1.35}
.pm-chip:hover .pm-pref{color:var(--gold)}
.pm-cities{display:flex;flex-wrap:wrap;gap:0 2px;font-size:10.5px;line-height:1.55;color:var(--muted)}
.pm-cities a{color:var(--muted);text-decoration:underline;text-decoration-color:rgba(169,143,82,.5);text-underline-offset:2px}
.pm-cities a:hover{color:var(--gold)}
.pm-cities a+a::before{content:"・";text-decoration:none;color:#c3bfb4}

/* 現在地 */
.pm-chip.is-current{background:var(--indigo-d);border-color:var(--indigo-d)}
.pm-chip.is-current .pm-pref{color:#fff}
.pm-chip.is-current .pm-pref::after{content:"現在";margin-left:6px;font-family:'Zen Kaku Gothic New',sans-serif;
  font-size:9.5px;font-weight:700;letter-spacing:.08em;color:var(--indigo-d);background:#E8CF8A;
  border-radius:2px;padding:1px 4px;vertical-align:2px}




/* 中央列のCTA（既存 lp-cta を縦積みで流用） */
.pm-mid .lp-ctas{margin-top:26px;padding-top:24px;border-top:1px solid var(--line);
  display:grid;grid-template-columns:1fr;gap:10px;width:100%;max-width:none}
.pm-mid .lp-cta{min-height:66px;box-shadow:0 5px 14px rgba(0,0,0,.2)}
.pm-mid .lp-cta .ic{width:38px;height:38px}
.pm-mid .lp-cta .ic svg{width:21px;height:21px}
.pm-mid .lp-cta .tx b{font-size:17px}
.pm-mid .lp-cta .tx small{font-size:11.5px!important}
.pm-note{margin-top:14px;font-size:11.5px;line-height:1.75;color:var(--muted);text-align:center}

/* ===== レスポンシブ（ここで一元管理） ===== */
@media (max-width:1040px){
  .pm-card{grid-template-columns:1fr 1fr;gap:0 20px;padding:28px 22px 26px}
  .pm-mid{grid-column:1/-1;order:-1;display:grid;grid-template-columns:auto 1fr;align-items:center;
    gap:0 22px;margin-bottom:26px;padding-bottom:24px;border-bottom:1px solid var(--line)}
  .pm-badge{margin-bottom:0;justify-self:start}
  .pm-map{max-width:210px;margin:0 auto}
  .pm-mid .lp-ctas{grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin-top:22px;padding-top:22px}
}
@media (max-width:680px){
  .pm-sec{padding:60px 0 66px}
  .pm-card{grid-template-columns:1fr;gap:18px;padding:24px 16px}
  .pm-mid{grid-template-columns:auto 1fr;gap:0 16px;margin-bottom:8px;padding-bottom:20px}
  .pm-map{max-width:150px}
  .pm-mid .lp-ctas{grid-template-columns:1fr;gap:9px}
  .pm-chips{gap:6px}
  .pm-pref{font-size:14px}
}
/* バッジ：円からはみ出さないよう文字サイズを連動させる */
.pm-badge{width:clamp(88px,9vw,104px);height:clamp(88px,9vw,104px);overflow:hidden;padding:4px}
.pm-badge small{font-size:clamp(9px,.9vw,10.5px);line-height:1.3;white-space:nowrap}
.pm-badge b{font-size:clamp(26px,2.9vw,33px);white-space:nowrap;line-height:1}
.pm-badge b em{font-size:clamp(8.5px,.9vw,10px)}
