/* =========================================================================
   きたよ。 エリアSEOページ群（対応エリアTOP／都道府県／市区町村）
   現行トンマナ（オレンジ #f48414）に合わせつつ、構成案の要素を取り込み
   ========================================================================= */

:root {
  --area-primary: #f48414;
  --area-primary-deep: #d96f06;
  --area-ink: #333;
  --area-soft: #666;
  --area-faint: #999;
  --area-line: #e6ddd0;
  --area-card: #fffaf3;
  --area-line-green: #06C755; /* LINE */
}

/* ---------- ステータス凡例 ---------- */
.area-legend { display:flex; flex-wrap:wrap; gap:18px; align-items:center; font-size:1.3rem; color:var(--area-soft); margin:10px 0 0; }
.area-legend span { display:inline-flex; align-items:center; gap:8px; }

/* ---------- 朱印風ステータスバッジ ---------- */
.area-seal { width:24px; height:24px; border-radius:50%; display:grid; place-items:center;
  border:1.5px solid var(--area-primary); color:var(--area-primary); font-weight:700; font-size:1.1rem;
  transform:rotate(-6deg); flex:0 0 auto; line-height:1; }
.area-seal.is-none { border:1px solid var(--area-line); color:var(--area-faint); transform:none; }

/* ---------- 対応カバレッジ ---------- */
.area-coverage { text-align:center; }
.area-coverage .num { color:var(--area-primary); font-weight:700; font-size:2.8rem; vertical-align:-2px; margin:0 2px; }

/* ---------- 地方ブロック ---------- */
.area-region { border-top:2px solid var(--area-line); padding-top:22px; margin-top:30px; }
.area-region:first-of-type { border-top:0; margin-top:14px; padding-top:0; }
.area-region__head { display:flex; align-items:baseline; gap:.8em; margin-bottom:14px; }
.area-region__head h3 { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:2rem; margin:0; color:var(--area-ink); }
.area-region__head .en { color:var(--area-primary); letter-spacing:.08em; font-size:1.2rem; font-style:italic; }

/* ---------- 都道府県カード ---------- */
.area-pref-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
.area-pref-card { position:relative; display:flex; flex-direction:column; gap:4px;
  background:var(--area-card); border:1px solid var(--area-line); border-radius:6px;
  padding:14px 14px 12px; text-decoration:none; color:var(--area-ink);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
a.area-pref-card:hover { transform:translateY(-2px); border-color:var(--area-primary); box-shadow:0 8px 20px -14px rgba(217,111,6,.6); }
.area-pref-card .name { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-weight:700; font-size:1.6rem; }
.area-pref-card .kana { color:var(--area-faint); font-size:1.05rem; font-style:italic; letter-spacing:.06em; }
.area-pref-card .meta { font-size:1.1rem; color:var(--area-soft); margin-top:auto; }
.area-pref-card .badge { position:absolute; top:10px; right:10px; }
.area-pref-card.is-none { opacity:.6; cursor:default; }

/* ---------- 市区町村チップ ---------- */
.area-city-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:9px; }
.area-city-chip { display:flex; align-items:center; gap:8px; text-decoration:none; color:var(--area-ink);
  background:var(--area-card); border:1px solid var(--area-line); border-radius:6px; padding:11px 13px;
  transition:border-color .18s, transform .18s, box-shadow .18s; }
a.area-city-chip:hover { border-color:var(--area-primary); transform:translateY(-1px); box-shadow:0 8px 18px -14px rgba(217,111,6,.6); }
.area-city-chip .nm { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-weight:600; font-size:1.4rem; }

/* ---------- 特徴／流れカード ---------- */
.area-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:24px 0; }
.area-cards--2 { grid-template-columns:repeat(2,1fr); }
.area-card { background:var(--area-card); border:1px solid var(--area-line); border-radius:6px; padding:24px; }
.area-card__no { color:var(--area-primary); font-size:2.2rem; font-weight:700; font-style:italic; line-height:1; }
.area-card__ttl { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:1.7rem; color:var(--area-ink); margin:8px 0 6px; }
.area-card p { margin:0; color:var(--area-soft); font-size:1.4rem; }

/* ---------- 料金ボックス ---------- */
.area-price { background:var(--area-card); border:2px solid var(--area-primary); border-radius:8px; padding:26px 20px; text-align:center; }
.area-price__tag { font-size:1.4rem; color:var(--area-soft); }
.area-price__yen { font-family:var(--serif-family, "Shippori Mincho B1", serif); color:var(--area-primary); font-weight:700; line-height:1.1; margin:4px 0; }
.area-price__yen .n { font-size:4.4rem; }
.area-price__yen .u { font-size:1.8rem; }
.area-price__note { font-size:1.25rem; color:var(--area-faint); margin-top:6px; }

/* ---------- お客様の声 ---------- */
.area-voices { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.area-voice { background:var(--area-card); border:1px solid var(--area-line); border-left:4px solid var(--area-primary); border-radius:6px; padding:22px 24px; }
.area-voice__who { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-weight:600; font-size:1.4rem; margin-bottom:6px; }
.area-voice p { margin:0; color:var(--area-soft); font-size:1.4rem; }

/* ---------- FAQ ---------- */
.area-faq details { border-bottom:1px solid var(--area-line); }
.area-faq details:first-child { border-top:1px solid var(--area-line); }
.area-faq summary { cursor:pointer; list-style:none; padding:18px 40px 18px 34px; position:relative;
  font-family:var(--serif-family, "Shippori Mincho B1", serif); font-weight:600; font-size:1.5rem; }
.area-faq summary::-webkit-details-marker { display:none; }
.area-faq summary::before { content:"Q"; position:absolute; left:6px; top:18px; color:var(--area-primary); font-weight:700; }
.area-faq summary::after { content:"＋"; position:absolute; right:8px; top:18px; color:var(--area-primary); transition:transform .2s; }
.area-faq details[open] summary::after { content:"−"; }
.area-faq .area-faq__a { padding:0 34px 20px; color:var(--area-soft); font-size:1.4rem; }

/* ---------- CTA（ミニ・電話/メール/LINE） ---------- */
.area-cta-mini { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:24px 0 8px; }
.area-cta-mini a { display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  text-decoration:none; font-weight:700; font-size:1.5rem; padding:14px 24px; border-radius:6px; min-width:230px; transition:filter .15s, transform .15s; }
.area-cta-mini a:hover { filter:brightness(1.05); transform:translateY(-2px); }
.area-btn-tel  { background:var(--area-primary); color:#fff; }
.area-btn-mail { background:#fff; color:var(--area-primary); border:2px solid var(--area-primary); }
.area-btn-line { background:var(--area-line-green); color:#fff; }
.area-cta-hours { text-align:center; font-size:1.3rem; color:var(--area-soft); }

/* ---------- 近隣エリア ---------- */
.area-nearby { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.area-nearby a { text-decoration:none; font-size:1.35rem; color:var(--area-primary);
  border:1px solid var(--area-line); border-radius:999px; padding:7px 16px; transition:background .15s, color .15s; }
.area-nearby a:hover { background:var(--area-primary); color:#fff; }

/* ---------- 注記 ---------- */
.area-note-soft { font-size:1.25rem; color:var(--area-faint); }
.area-divider-note { text-align:center; font-size:1.4rem; color:var(--area-soft); background:#fff7ef; border:1px solid #f0c89a; border-radius:6px; padding:16px 18px; }

/* ---------- 見出し（節） ---------- */
.area-subhead { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:2.2rem; color:var(--area-ink);
  border-left:6px solid var(--area-primary); padding-left:12px; margin:38px 0 14px; }
.area-eyebrow { color:var(--area-primary); letter-spacing:.12em; font-size:1.2rem; font-style:italic; margin:0 0 4px; }

/* ---------- モバイル固定CTA（電話・LINE） ---------- */
.area-sticky-cta { position:fixed; left:0; right:0; bottom:0; z-index:60; display:none;
  grid-template-columns:1fr 1fr; gap:1px; background:var(--area-line); box-shadow:0 -6px 18px -12px rgba(0,0,0,.35); }
.area-sticky-cta a { text-decoration:none; text-align:center; padding:13px 4px; font-weight:700; font-size:1.4rem; color:#fff; }
.area-sticky-cta .s-tel { background:var(--area-primary); }
.area-sticky-cta .s-line { background:var(--area-line-green); }

@media (max-width:767px) {
  .area-cards, .area-cards--2, .area-voices { grid-template-columns:1fr; }
  .area-cta-mini a { min-width:0; width:100%; }
  .area-sticky-cta { display:grid; }
}

/* =========================================================================
   エリアTOP（ワイヤーフレーム準拠）：カバレッジ／凡例／NEWS／ジャンプ／
   チップ型パネル（3状態バッジ）／お問い合わせバンド／協力会社募集
   ========================================================================= */

/* ---------- カバレッジ見出し ---------- */
.area-coverage { margin-top:22px; font-size:1.8rem; }
.area-coverage__sub { font-size:1.3rem; color:var(--area-soft); }

/* ---------- 凡例 ---------- */
.area-legend { margin-top:16px; }
.area-legend__label { font-weight:700; color:var(--area-ink); font-size:1.3rem; }

/* ---------- 3状態バッジ（凡例＆チップ共用） ---------- */
.area-chip__badge { display:inline-block; font-size:1.05rem; font-weight:700; line-height:1;
  padding:5px 10px; border-radius:999px; white-space:nowrap; }
.area-chip__badge.is-full    { background:var(--area-primary); color:#fff; }
.area-chip__badge.is-partial { background:#fff; color:var(--area-primary-deep); border:1px solid var(--area-primary); }
.area-chip__badge.is-none    { background:#ececec; color:#999; border:1px solid #ddd; }

/* ---------- NEWS（エリア拡大情報） ---------- */
.area-news { border:1px solid var(--area-line); border-radius:8px; overflow:hidden; }
.area-news__head { background:var(--area-ink); color:#fff; font-weight:700; font-size:1.5rem; padding:12px 18px; letter-spacing:.04em; }
.area-news__head span { font-weight:400; opacity:.85; font-size:1.3rem; }
.area-news__list { margin:0; padding:0 18px; list-style:none; }
.area-news__item { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:14px 2px;
  border-bottom:1px dashed var(--area-line); font-size:1.4rem; }
.area-news__item:last-child { border-bottom:0; }
.area-news__date { color:var(--area-faint); font-size:1.25rem; flex:0 0 auto; letter-spacing:.04em; }
.area-news__new { background:var(--area-primary); color:#fff; font-size:1rem; font-weight:700; padding:3px 7px; border-radius:3px; flex:0 0 auto; }
.area-news__text { color:var(--area-ink); text-decoration:none; }
a.area-news__text:hover { color:var(--area-primary); text-decoration:underline; }
.area-news__empty { padding:18px 2px; color:var(--area-soft); font-size:1.4rem; margin:0; }
.area-news__more { text-align:right; padding:10px 18px 14px; }
.area-news__more a { color:var(--area-soft); font-size:1.3rem; text-decoration:none; }
.area-news__more a:hover { color:var(--area-primary); }

/* ---------- エリアから探す（地方ジャンプ） ---------- */
.area-jump__label { font-size:1.3rem; color:var(--area-soft); margin:0 0 12px; }
.area-jump { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.area-jump__btn { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  min-height:56px; padding:10px; border:1.5px solid var(--area-ink); border-radius:6px; background:#fff;
  color:var(--area-ink); text-decoration:none; font-weight:700; font-size:1.45rem;
  font-family:var(--serif-family, "Shippori Mincho B1", serif); transition:background .15s, color .15s, border-color .15s; }
.area-jump__btn:hover { background:var(--area-primary); border-color:var(--area-primary); color:#fff; }
.area-jump__arrow { color:var(--area-faint); font-size:1rem; }
.area-jump__btn:hover .area-jump__arrow { color:#fff; }

/* ---------- 地方ブロック（チップ型パネル） ---------- */
.area-region { border-top:2px solid var(--area-line); padding-top:18px; margin-top:30px; scroll-margin-top:130px; }
.area-region:first-of-type { border-top:0; margin-top:8px; padding-top:0; }
.area-region__head { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:2rem; color:var(--area-ink);
  margin:0 0 14px; padding-bottom:8px; border-bottom:1px solid var(--area-line); }
.area-region__sub { font-size:1.2rem; color:var(--area-faint); font-style:italic; letter-spacing:.08em; font-weight:400; }

/* ---------- チップ（都道府県パネル：3状態） ---------- */
.area-chip-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:12px; }
.area-chip { display:flex; flex-direction:column; align-items:center; gap:9px; text-align:center;
  background:#fff; border:1.5px solid var(--area-ink); border-radius:8px; padding:16px 10px 14px;
  text-decoration:none; color:var(--area-ink); transition:transform .15s, box-shadow .15s, border-color .15s; }
a.area-chip:hover { transform:translateY(-2px); box-shadow:0 10px 22px -16px rgba(0,0,0,.55); border-color:var(--area-primary); }
.area-chip__name { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-weight:700; font-size:1.55rem; line-height:1.2; }
.area-chip.is-full    { border-color:var(--area-ink); }
.area-chip.is-partial { border-style:dashed; border-color:var(--area-soft); }
.area-chip.is-none    { border-style:dashed; border-color:#d9d9d9; cursor:default;
  background:repeating-linear-gradient(45deg,#f5f5f5,#f5f5f5 6px,#ececec 6px,#ececec 12px); }
.area-chip.is-none .area-chip__name { color:#aaa; }

/* ---------- 協力会社募集バナー ---------- */
.area-biz-banner { position:relative; display:block; overflow:hidden; border-radius:10px;
  background-size:cover; background-position:center; min-height:200px; text-decoration:none;
  box-shadow:0 10px 28px -18px rgba(0,0,0,.5); transition:transform .18s, box-shadow .18s; }
.area-biz-banner:hover { transform:translateY(-2px); box-shadow:0 16px 34px -18px rgba(0,0,0,.55); }
.area-biz-banner__overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(33,24,14,.78) 0%, rgba(33,24,14,.62) 55%, rgba(33,24,14,.38) 100%); }
.area-biz-banner__inner { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:30px 34px; }
.area-biz-banner__lead { color:#ffd9a8; font-size:1.3rem; font-weight:700; letter-spacing:.04em; }
.area-biz-banner__ttl { color:#fff; font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:2.6rem; font-weight:700; line-height:1.3; }
.area-biz-banner__sub { color:rgba(255,255,255,.9); font-size:1.35rem; line-height:1.6; }
.area-biz-banner__btn { margin-top:12px; display:inline-block; background:var(--area-primary); color:#fff;
  font-weight:700; font-size:1.45rem; padding:12px 26px; border-radius:6px; transition:filter .15s; }
.area-biz-banner:hover .area-biz-banner__btn { filter:brightness(1.08); }

@media (max-width:767px) {
  .area-jump { grid-template-columns:repeat(2,1fr); }
  .area-chip-grid { grid-template-columns:repeat(2,1fr); }
  .area-coverage { font-size:1.55rem; }
  .area-biz-banner__overlay { background:linear-gradient(180deg, rgba(33,24,14,.55) 0%, rgba(33,24,14,.82) 100%); }
  .area-biz-banner__inner { padding:24px 22px; }
  .area-biz-banner__ttl { font-size:2.1rem; }
}

/* =========================================================================
   都道府県ページ（SEO向け 1本のLP）— ワイヤーフレーム準拠／現行オレンジ基調
   ========================================================================= */
.pref-lp { padding:26px 0 70px; }
.pref-lp .inner { color:var(--area-ink); }

/* 節見出し（オレンジ下線・高齢者向けに大きめ／セクション間に余白） */
.pref-lp .inner > .pref-head { margin-top:54px; }
.pref-lp .inner > .pref-head:first-of-type { margin-top:38px; }
.pref-head { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:2.4rem; font-weight:700;
  color:var(--area-ink); border-bottom:3px solid var(--area-primary); padding-bottom:9px; margin:48px 0 18px; line-height:1.4; }
/* アニメーションを抑制する設定のユーザーにはパルスを止める */
@media (prefers-reduced-motion: reduce) {
  .pref-cta__tel { animation:none; }
}
.pref-note { font-size:1.4rem; color:var(--area-soft); line-height:1.85; margin:0 0 14px; text-wrap:pretty; }
.pref-note--caution { color:#a33; background:#fff5f5; border:1px solid #e6c0c0; border-radius:8px; padding:12px 15px; font-weight:500; margin-top:32px; }

/* ① ヒーロー（ブランドデザイン／TOPのトンマナ踏襲・アイキャッチ不要） */
.pref-hero { display:flex; flex-wrap:wrap; gap:0; border-radius:12px; overflow:hidden;
  background:linear-gradient(135deg,#fff7ee 0%,#ffe9cf 60%,#ffdcb0 100%);
  border:1px solid #f0d3ac; box-shadow:0 12px 30px -20px rgba(180,110,20,.5); }
.pref-hero__main { flex:1 1 380px; min-width:280px; padding:30px 28px 30px; box-sizing:border-box; }
.pref-hero__eyebrow { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:1.25rem; color:var(--area-primary-deep); font-weight:700; margin:0 0 12px; }
.pref-hero__badge { background:var(--area-primary); color:#fff; font-size:1.1rem; font-weight:700; padding:3px 10px; border-radius:999px; }
.pref-hero__ttl { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:2.5rem; font-weight:700;
  line-height:1.5; color:var(--area-ink); margin:0 0 16px; text-wrap:pretty; }
.pref-hero__hl { color:var(--area-primary-deep); background:linear-gradient(transparent 62%, #ffd089 62%); padding:0 2px; }
.pref-hero__merits { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; padding:0; }
.pref-hero__merits li { background:#fff; border:1px solid #f0d3ac; color:var(--area-primary-deep); font-size:1.2rem; font-weight:700;
  border-radius:999px; padding:6px 13px; position:relative; }
.pref-hero__merits li::before { content:"✓"; color:var(--area-primary); font-weight:900; margin-right:5px; }
.pref-hero__btns { display:flex; flex-wrap:wrap; gap:10px; }
.pref-hero__plan { flex:0 0 34%; max-width:34%; align-self:stretch; background:#fff; border-left:1px solid #f0d3ac;
  padding:24px 22px; box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; text-align:center; }
.pref-hero__plan-label { display:inline-block; align-self:center; background:var(--area-ink); color:#fff; font-size:1.25rem; font-weight:700; padding:5px 14px; border-radius:5px; margin:0 0 12px; }
.pref-hero__plan-reg { font-size:1.4rem; color:var(--area-faint); text-decoration:line-through; margin:0; }
.pref-hero__plan-now { font-family:var(--serif-family, "Shippori Mincho B1", serif); color:var(--area-primary-deep); margin:2px 0 8px; line-height:1.2; }
.pref-hero__plan-now .lbl { display:block; font-size:1.3rem; color:var(--area-soft); font-family:"Noto Sans JP",sans-serif; }
.pref-hero__plan-now .yen { font-size:1.8rem; font-weight:700; }
.pref-hero__plan-now .yen .num { font-size:4rem; }
.pref-hero__plan-now .tax { font-size:1.15rem; color:var(--area-soft); margin-left:4px; font-family:"Noto Sans JP",sans-serif; }
.pref-hero__plan-desc { font-size:1.2rem; color:var(--area-soft); line-height:1.7; margin:0 0 6px; text-wrap:pretty; }
.pref-hero__plan-note { font-size:1.05rem; color:var(--area-faint); line-height:1.6; margin:0; text-wrap:pretty; }

/* 汎用ボタン（ヒーロー内・立体＆クリッカブル） */
.pref-btn { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; text-decoration:none; font-weight:700;
  color:#fff; font-size:1.45rem; padding:12px 22px; border-radius:9px; line-height:1.3;
  transition:transform .12s ease, box-shadow .12s ease, filter .12s ease; }
.pref-btn:hover { filter:brightness(1.05); transform:translateY(-2px); }
.pref-btn:active { transform:translateY(2px); }
.pref-btn .n { font-size:1.8rem; letter-spacing:.5px; }
.pref-btn--tel  { background:var(--area-primary); box-shadow:0 4px 0 var(--area-primary-deep); }
.pref-btn--tel:active  { box-shadow:0 1px 0 var(--area-primary-deep); }
.pref-btn--mail { background:#4d6986; box-shadow:0 4px 0 #335475; }
.pref-btn--mail:active { box-shadow:0 1px 0 #335475; }
.pref-btn--line { background:var(--area-line-green); box-shadow:0 4px 0 #04a047; }
.pref-btn--line:active { box-shadow:0 1px 0 #04a047; }

/* ヒーロー：上位エリア（都道府県）リンク（市区町村ページ用） */
.pref-hero__parent { color:var(--area-primary-deep); font-weight:700; text-decoration:none; border-bottom:1px solid currentColor; }
.pref-hero__parent:hover { color:var(--area-primary); }

/* ③（市区町村）対応エリア＝全域・全丁目対応バナー */
.pref-coverage { display:flex; align-items:center; gap:18px; border:2px solid var(--area-primary); border-radius:12px;
  background:linear-gradient(135deg,#fff7ee 0%,#ffefda 100%); padding:20px 22px; }
.pref-coverage.is-partial { border-color:var(--area-soft); background:var(--area-card); }
.pref-coverage__seal { flex:none; width:60px; height:60px; color:#fff; background:var(--area-primary); border-radius:50%;
  padding:14px; box-sizing:border-box; display:flex; box-shadow:0 6px 14px -6px rgba(217,111,6,.6); }
.pref-coverage.is-partial .pref-coverage__seal { background:var(--area-soft); box-shadow:none; }
.pref-coverage__ttl { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:2rem; font-weight:700;
  color:var(--area-ink); margin:0 0 6px; line-height:1.5; text-wrap:pretty; }
.pref-coverage__ttl strong { color:var(--area-primary-deep); }
.pref-coverage__d { font-size:1.45rem; color:var(--area-soft); line-height:1.85; margin:0; text-wrap:pretty; }
.pref-coverage__d strong { color:var(--area-ink); }
/* 町名・地域チップ */
.pref-districts { display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }
.pref-district { border:1px solid var(--area-line); background:#fff; border-radius:5px; padding:7px 14px;
  font-size:1.45rem; color:var(--area-ink); white-space:nowrap; }

/* ② リード文 */
.pref-lead { border:1px solid var(--area-line); border-radius:8px; background:var(--area-card); padding:18px 20px; margin-top:18px; }
.pref-lead p { font-size:1.6rem; line-height:2; color:var(--area-ink); margin:0; text-wrap:pretty; }
.pref-lead p + p { margin-top:12px; }
.pref-lead .area-detail__content { font-size:1.6rem; line-height:2; }

/* ③ 市区町村テキストリンク群 */
.pref-town-group { border:1px solid var(--area-line); border-radius:8px; overflow:hidden; margin-bottom:12px; }
.pref-town-group__label { background:#fff4e8; border-bottom:1px solid var(--area-line); color:var(--area-primary-deep);
  font-weight:700; font-size:1.55rem; padding:11px 16px; }
.pref-town-links { padding:14px 16px; display:grid; grid-template-columns:repeat(auto-fill,minmax(116px,1fr)); gap:11px 16px; }
.pref-town-links a { font-size:1.5rem; color:var(--area-ink); text-decoration:none; border-bottom:1px solid var(--area-line);
  padding-bottom:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:color .15s, border-color .15s; }
.pref-town-links a:hover { color:var(--area-primary); border-color:var(--area-primary); }
.pref-town-links span { font-size:1.5rem; color:var(--area-faint); white-space:nowrap; }

/* ④ 主な霊園一覧 */
.pref-cem { border:1px solid var(--area-line); border-radius:8px; padding:15px; display:flex; flex-wrap:wrap; gap:8px; }
.pref-cem.is-collapsible { overflow:hidden; transition:max-height .28s ease; }
.pref-cem__tag { border:1px solid var(--area-line); background:var(--area-card); border-radius:5px; padding:6px 13px;
  font-size:1.5rem; color:var(--area-ink); white-space:nowrap; }
/* 霊園が3行を超えるときのアコーディオン開閉ボタン（JSで表示制御） */
.pref-cem__toggle { display:none; align-items:center; gap:6px; margin:12px auto 0; padding:9px 22px;
  background:#fff; border:1.5px solid var(--area-primary); color:var(--area-primary-deep);
  border-radius:999px; font-size:1.4rem; font-weight:700; line-height:1; cursor:pointer; transition:background .2s; }
.pref-cem__toggle:hover { background:var(--area-card); }
.pref-cem__note { font-size:1.45rem; color:var(--area-soft); line-height:1.9; margin:12px 0 0; text-wrap:pretty; }

/* 対応エリア外（一部対応の県で対応外を明示＋お問い合わせ誘導） */
.pref-excluded { margin:20px 0 0; border:1px solid #d9d2c6; background:#faf8f4; border-radius:10px; padding:18px 18px 16px; }
.pref-excluded__ttl { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:1.85rem; font-weight:700;
  color:#6b6256; margin:0 0 12px; display:flex; align-items:center; gap:8px; }
.pref-excluded__ttl::before { content:""; width:6px; height:1.4em; background:#b6ab98; border-radius:3px; flex:0 0 auto; }
.pref-excluded__towns { display:flex; flex-wrap:wrap; gap:8px; }
.pref-excluded__town { border:1px dashed #c2b9a8; background:#fff; border-radius:5px; padding:6px 13px;
  font-size:1.5rem; color:#7a7163; white-space:nowrap; }
.pref-excluded__note { font-size:1.45rem; color:#6b6256; line-height:1.9; margin:13px 0 0; text-wrap:pretty; }

/* 問い合わせCTA（TOPと同じ電話/メール/LINEの3ボタン） */
.pref-cta { border:2px solid var(--area-primary); border-radius:12px; background:var(--area-card); padding:24px 22px; margin:34px 0; }
.pref-cta__area { text-align:center; font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:2.05rem;
  font-weight:700; color:var(--area-ink); margin:0; line-height:1.55; text-wrap:balance; }
.pref-cta__area .brand { color:var(--area-primary-deep); }
.pref-cta__sub { text-align:center; font-size:1.4rem; color:var(--area-soft); margin:8px 0 0; }
/* TOPと同サイズのボタン（.btn-tel/.btn-mail/.btn-line .cta__btn を使用）＋hoverで浮く */
.pref-cta__btns { gap:16px; margin-top:18px; }
.pref-cta__btns .cta__btn { transition:transform .12s ease, filter .12s ease; }
.pref-cta__btns .cta__btn:hover { transform:translateY(-2px); filter:brightness(1.04); }
.pref-cta__btns .cta__btn:active { transform:translateY(1px); }
.pref-cta__telnote { text-align:center; font-size:1.45rem; color:var(--area-soft); margin:14px 0 0; }
.pref-cta__telnote a { color:var(--area-primary-deep); font-weight:700; text-decoration:none; }
@media (max-width:767px) {
  .pref-cta__btns { gap:10px; }
  .pref-cta__btns .cta__btn { min-width:0; width:100%; }
}

/* ⑥ このようなお悩み（チェックリスト・アイコン／高視認） */
.pref-worries { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.pref-worry { display:flex; align-items:center; gap:14px; background:#fff; border:2px solid #f0d3ac; border-radius:12px; padding:16px 18px; }
.pref-worry__icon { flex:none; width:50px; height:50px; color:var(--area-primary); background:#fff4e8; border-radius:50%; padding:11px; box-sizing:border-box; display:flex; }
.pref-worry__text { font-size:1.6rem; font-weight:700; color:var(--area-ink); line-height:1.6; text-wrap:pretty; }
.pref-worry__check { flex:none; width:28px; height:28px; margin-left:auto; color:#fff; background:var(--area-primary); border-radius:50%; padding:5px; box-sizing:border-box; display:flex; }

/* ⑦ 選ばれる3つの理由（アイコンカード） */
.pref-reasons { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.pref-reason { text-align:center; border:1px solid var(--area-line); border-top:5px solid var(--area-primary); border-radius:12px; background:#fff; padding:26px 20px 22px; }
.pref-reason__icon { display:inline-flex; width:76px; height:76px; color:var(--area-primary); background:#fff4e8; border-radius:50%; padding:17px; box-sizing:border-box; }
.pref-reason__no { display:block; font-size:1.3rem; font-weight:700; color:var(--area-primary); letter-spacing:.1em; margin-top:12px; }
.pref-reason__ttl { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:2rem; font-weight:700; color:var(--area-ink); margin:4px 0 10px; line-height:1.45; }
.pref-reason__d { font-size:1.5rem; color:var(--area-soft); line-height:1.85; margin:0; text-align:left; text-wrap:pretty; }

/* ⑤ 料金 */
.pref-price { border:2px solid var(--area-primary); border-radius:10px; overflow:hidden; background:#fff; }
.pref-price__head { background:var(--area-primary); color:#fff; font-weight:700; font-size:1.7rem; padding:11px 16px; }
.pref-price__body { padding:18px 18px 19px; }
.pref-price__reg { font-size:1.5rem; color:var(--area-faint); text-decoration:line-through; margin:0 0 3px; }
.pref-price__now { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:2.2rem; font-weight:700;
  color:var(--area-primary-deep); line-height:1.4; margin:0 0 12px; }
.pref-price__now strong { font-size:3.4rem; }
.pref-price__now small { font-size:1.5rem; color:var(--area-soft); }
.pref-price__inc { font-size:1.5rem; color:var(--area-ink); line-height:1.85; margin:0 0 8px; text-wrap:pretty; }
.pref-price__note { font-size:1.3rem; color:var(--area-faint); line-height:1.8; margin:0; text-wrap:pretty; }
.pref-price__foot { text-align:center; margin-top:14px; }
.pref-price__btn { display:inline-block; background:#fff; color:var(--area-primary); border:2px solid var(--area-primary);
  border-radius:8px; padding:13px 28px; font-size:1.6rem; font-weight:700; text-decoration:none; transition:background .15s, color .15s; }
.pref-price__btn:hover { background:var(--area-primary); color:#fff; }

/* ⑧ お客様の声 */
.pref-voices { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; }
.pref-voice { border:1px solid var(--area-line); border-left:5px solid var(--area-primary); border-radius:8px; background:#fff; padding:18px 20px; }
.pref-voice__who { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-weight:700; font-size:1.55rem; color:var(--area-ink); margin-bottom:8px; }
.pref-voice p { font-size:1.5rem; color:var(--area-soft); line-height:1.95; margin:0; text-wrap:pretty; }
.pref-morelink { text-align:center; margin:16px 0 0; }
.pref-morelink a { font-size:1.5rem; font-weight:700; color:var(--area-primary); text-decoration:none; border-bottom:1px solid var(--area-primary); }
.pref-morebtn { display:inline-block; border:2px solid var(--area-primary)!important; border-radius:8px; padding:12px 24px; }
.pref-morebtn:hover { background:var(--area-primary); color:#fff; }

/* ⑨ ご利用までの流れ（縦タイムライン） */
.pref-timeline { list-style:none; margin:0; padding:0; }
.pref-timeline__step { position:relative; display:flex; gap:18px; padding-bottom:24px; }
.pref-timeline__step::before { content:""; position:absolute; left:25px; top:8px; bottom:-8px; width:3px; background:#f3d4ab; z-index:0; }
.pref-timeline__step:last-child { padding-bottom:0; }
.pref-timeline__step:last-child::before { display:none; }
.pref-timeline__num { position:relative; z-index:1; flex:none; width:52px; height:52px; border-radius:50%;
  background:var(--area-primary); color:#fff; font-family:var(--serif-family, "Shippori Mincho B1", serif);
  font-size:1.9rem; font-weight:700; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 4px #fff; }
.pref-timeline__body { flex:1; background:#fff; border:1px solid var(--area-line); border-radius:10px; padding:14px 18px 15px; }
.pref-timeline__ttl { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:1.8rem; font-weight:700; color:var(--area-ink); margin:0 0 5px; line-height:1.45; }
.pref-timeline__d { font-size:1.45rem; color:var(--area-soft); line-height:1.85; margin:0; text-wrap:pretty; }

/* ⑩ よくある質問（既定で閉じる） */
.pref-faq__item { border:1px solid var(--area-line); border-radius:10px; overflow:hidden; background:#fff; margin-bottom:11px; }
.pref-faq__item summary { list-style:none; cursor:pointer; display:flex; gap:12px; align-items:center; padding:16px 16px; }
.pref-faq__item summary::-webkit-details-marker { display:none; }
.pref-faq__item summary .q { flex:none; width:28px; height:28px; border-radius:6px; background:var(--area-primary); color:#fff;
  font-size:1.5rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.pref-faq__item summary .t { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:1.65rem; font-weight:700;
  color:var(--area-ink); line-height:1.55; text-wrap:pretty; }
.pref-faq__mark { flex:none; margin-left:auto; width:30px; height:30px; border-radius:50%; background:#fff4e8; position:relative; }
.pref-faq__mark::before, .pref-faq__mark::after { content:""; position:absolute; left:50%; top:50%; background:var(--area-primary); border-radius:2px; transform:translate(-50%,-50%); }
.pref-faq__mark::before { width:14px; height:3px; }
.pref-faq__mark::after { width:3px; height:14px; transition:transform .2s; }
.pref-faq__item[open] .pref-faq__mark::after { transform:translate(-50%,-50%) scaleY(0); }
.pref-faq__a { display:flex; gap:12px; align-items:flex-start; padding:16px; background:var(--area-card); border-top:1px dashed var(--area-line); }
.pref-faq__a .a { flex:none; width:28px; height:28px; border-radius:6px; background:#fff; border:2px solid var(--area-primary);
  color:var(--area-primary); font-size:1.5rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.pref-faq__atext { font-size:1.5rem; color:var(--area-soft); line-height:1.95; text-wrap:pretty; }
.pref-faq__atext p { margin:0 0 8px; }
.pref-faq__atext p:last-child { margin-bottom:0; }

/* （市区町村）都道府県ハブへの誘導カード＝サービス詳細・流れ・選ばれる理由 */
.pref-guide { display:flex; align-items:center; gap:18px; border:1px solid var(--area-line); border-left:5px solid var(--area-primary);
  border-radius:10px; background:var(--area-card); padding:20px 22px; margin-top:34px; }
.pref-guide__icon { flex:none; width:54px; height:54px; color:var(--area-primary); background:#fff4e8; border-radius:50%; padding:13px; box-sizing:border-box; display:flex; }
.pref-guide__body { flex:1; }
.pref-guide__ttl { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:1.8rem; font-weight:700; color:var(--area-ink); margin:0 0 5px; line-height:1.45; }
.pref-guide__d { font-size:1.4rem; color:var(--area-soft); line-height:1.85; margin:0; text-wrap:pretty; }
.pref-guide__btn { flex:none; display:inline-block; background:var(--area-primary); color:#fff; font-weight:700; font-size:1.45rem;
  padding:13px 22px; border-radius:8px; text-decoration:none; white-space:nowrap; transition:filter .15s, transform .12s; }
.pref-guide__btn:hover { filter:brightness(1.06); transform:translateY(-2px); }
@media (max-width:767px) {
  .pref-guide { flex-direction:column; align-items:flex-start; gap:12px; }
  .pref-guide__btn { width:100%; text-align:center; box-sizing:border-box; }
}

/* 近隣都道府県 */
.pref-nearby { margin-top:30px; text-align:center; }
.pref-nearby__ttl { font-family:var(--serif-family, "Shippori Mincho B1", serif); font-size:1.6rem; font-weight:700; color:var(--area-ink); margin:0 0 12px; }

@media (max-width:767px) {
  .pref-hero__ttl { font-size:2.1rem; }
  /* スマホはプラン枠を下に積む（全幅） */
  .pref-hero { flex-direction:column; }
  .pref-hero__main, .pref-hero__plan { flex-basis:auto; max-width:none; width:100%; }
  .pref-hero__plan { border-left:0; border-top:1px solid #f0d3ac; }
  .pref-hero__btns .pref-btn { flex:1 1 100%; }
  .pref-head { font-size:2rem; }
  .pref-cta__tel .num { font-size:2.4rem; }
  /* お悩み・理由は1カラムに */
  .pref-worries { grid-template-columns:1fr; }
  .pref-reasons { grid-template-columns:1fr; }
  .pref-reason__d { text-align:center; }
  .pref-price__now strong { font-size:2.9rem; }
  /* 全域対応バナーはスマホで縦積み */
  .pref-coverage { flex-direction:column; align-items:flex-start; gap:12px; }
  .pref-coverage__seal { width:50px; height:50px; padding:12px; }
  .pref-coverage__ttl { font-size:1.8rem; }
}

/* =========================================================================
   スマホ：エリア／都道府県ページ本文の左右余白（.inner は端まで広がるため）
   ※ フッター・ヘッダーの .inner には効かせない（.main-content 内に限定）
   ========================================================================= */
@media (max-width:767px) {
  .p-area .main-content .inner { padding-left:18px; padding-right:18px; box-sizing:border-box; }
}
