/* =========================================================
   サイト全体の読みやすさ・使いやすさの調整（2026-10）
   style.css 本体は触らず、このファイルで上書きする
   ========================================================= */

/* ---- 1. 本文：行間を広げて読みやすく（全体の行間 1.3 → 1.9） ---- */
main p {
  line-height: 1.9;
  letter-spacing: 0.05em;
}
.mod__txt,
.kannon__txt:not(.center),
.kuyo__txt,
.sokotsu__txt {
  line-height: 1.9;
}
main li {
  line-height: 1.8;
}

/* 本文中のリンク（電話番号・メール等）：既定の青色をやめ、サイトの色に合わせる */
main p a:not([class]) {
  color: #8a5a19;
  text-decoration: underline;
  text-underline-offset: 3px;
}
main p a:not([class]):hover {
  opacity: 0.7;
}

/* ---- 2. PCで1行が長すぎる本文を、読みやすい幅（約46〜50字）に ---- */
@media (min-width: 981px) {
  .mod__txt,
  .eidai__txt,
  .kannon__inner > .kannon__txt:not(.center),
  .teaching__inner > .teaching__txt:not(.center),
  .teaching__txt-wrap > .teaching__txt,
  .e-greeting__txt {
    max-width: 46em;
  }
  .contact__lead-txt {
    max-width: 46em;
    margin-left: auto;
    margin-right: auto;
  }
  /* お知らせ記事・プライバシーポリシーなど、本文だけのページ */
  .single__inner,
  .page__inner {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ---- 3. トップページ：サービスの写真ボタン（5つ）の並びを整える ---- */
/* 今は 2・2・1（最後の1つだけ中央に浮く）→ 上段2つ・下段3つでそろえる */
@media (min-width: 981px) {
  .top__service-block:nth-child(n+3) {
    width: 33.3333%;
    height: 300px;
  }
  .top__service-block:nth-child(n+3) .top__service-ttl--ja {
    font-size: clamp(1.25rem, 0.8rem + 1vw, 1.75rem);
  }
}

/* ---- 4. トップページ（スマホ）：ご挨拶の文字間が広すぎて読みにくい ---- */
@media (max-width: 599px) {
  .top__message-txt {
    letter-spacing: 0.06em;
    line-height: 2;
  }
}

/* ---- 5. 押しやすさ：小さなリンクの押せる範囲を広げる ---- */
.mod__breadcrumb a {
  display: inline-block;
  padding: 10px 0;
}
.top__access-tel {
  display: inline-block;
  padding: 10px 0;
}
.footer__link {
  display: inline-block;
  padding-top: 6px;
  padding-bottom: 6px;
}
.news .page-numbers,
.mod__pagination a,
.mod__pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  box-sizing: border-box;
}

/* ---- 6. 小さすぎる文字を読める大きさに ---- */
.kannon__quotation small {
  font-size: 13px;
}
.contact .cf-note,
.contact .recaptcha p {
  font-size: 13px;
}
/* 永法寺ページ（PC）：画面幅に比例して小さくなりすぎる文字の対策 */
/* 981〜1535px はアイコンのカード全体を少し拡大し、それ以上の幅では文字に下限を設ける */
@media (min-width: 981px) and (max-width: 1279px) {
  .e-fv__nav { zoom: 1.25; }
}
@media (min-width: 1280px) and (max-width: 1535px) {
  .e-fv__nav { zoom: 1.18; }
}
@media (min-width: 1536px) {
  .e-fv__address,
  .e-fv__tel,
  .e-fv__mail,
  .e-fv__button {
    font-size: max(13px, 0.833331vw);
  }
}
@media (min-width: 981px) {
  .e-message__txt {
    font-size: max(13px, 0.833333vw);
  }
}

/* ---- 7. 一覧・404ページ（新しく作ったテンプレート用） ---- */
.mg-archive__lead {
  margin: 0 0 32px;
  font-size: 1.125rem;
}
.mg-archive__empty {
  margin: 40px 0;
  text-align: center;
}
.mg-404 {
  padding: 24px 0 120px;
  text-align: center;
}
.mg-404__ttl {
  font-size: clamp(1.375rem, 1.1rem + 1vw, 2rem);
  font-weight: 400;
  letter-spacing: 0.12em;
  margin: 0 0 24px;
}
.mg-404__txt {
  margin: 0 auto 48px;
  max-width: 36em;
}
.mg-404__links {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 420px;
  margin: 0 auto;
  padding: 0;
}
.mg-404__links li {
  list-style: none;
}
.mg-404__links .mod__btn {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 16px 56px 16px 24px;
  text-align: left;
}

/* ---- 8. プライバシーポリシーなど、本文だけのページの見出し・箇条書き ---- */
.page__inner h2.wp-block-heading {
  font-size: clamp(1.125rem, 1rem + 0.4vw, 1.375rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.6;
  margin: 56px 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d8d2c8;
}
.page__inner h3.wp-block-heading {
  font-size: 1.0625rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin: 32px 0 8px;
}
.page__inner .wp-block-list {
  margin: 0 0 24px;
  padding-left: 1.6em;
}
.page__inner ul.wp-block-list > li {
  list-style: disc;
  margin-bottom: 6px;
}
.page__inner ol.wp-block-list > li {
  list-style: decimal;
  margin-bottom: 6px;
}
.page__inner .mg-policy__contact {
  padding: 24px 28px;
  background-color: #f7f4ef;
  border-left: 4px solid #8a5a19;
}
.page__inner .mg-policy__date {
  margin-top: 48px;
  text-align: right;
}
