/* スマホ表示の改善（2026-09-26）
 * hokenkikaku.css と mobile-* の後に読み込み、上書きする。
 */

/* ---- 文字色のコントラスト（WCAG AA 4.5:1 以上） ---- */
/* primary: 緑の文字（白地 4.3→5.3）と、緑地の白文字の両方を満たす濃さ。muted: 注記・任意ラベル（2.2→4.9） */
:root { --color-primary: #267a56; --color-text-light: #5f6f85; --color-text-muted: #5f6f85; }
/* 明るい背景に置かれた実績数値（取扱保険ページ）。暗い背景の .stat 内は従来の金色のまま */
:not(.stat) > .stat__number { color: #8a6212; }
a { color: #267a56; }
.risk-card__section-label--solution, .industry-card__arrow { color: #267a56; }
.btn--primary, .btn--primary:hover { color: #123d2b; }   /* 金色ボタン上の文字 3.0 → 5.7 */
.pamphlet-cta-banner__eyebrow { color: #8a6212; }        /* 白地の金色文字 2.1 → 5.5 */
.text-red, .text-warning, .risk-card__section-label,
.emergency-box__tel, .emergency-box__tel a { color: #b8431f; }

/* ---- ヘッダー: 下の文字が透けないように（Chrome は接頭辞なしの backdrop-filter が必要） ---- */
.site-header {
  background: rgba(255, 255, 255, .96);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
}
.site-header.scrolled { background: rgba(255, 255, 255, .98); }

/* ---- reCAPTCHA バッジ: フォーム内に規約表記があるため非表示にする（入力欄に重なるため） ---- */
.grecaptcha-badge { visibility: hidden; }

/* ---- 事故時の対応: 保険会社への移動と電話番号 ---- */
.jump-nav {
  margin: var(--space-xl, 2rem) 0;
  padding: 20px;
  border: 2px solid #1e6b4a;
  border-radius: 16px;
  background: #f3f9f6;
}
.jump-nav__title { margin: 0 0 12px; font-weight: 700; color: #1e6b4a; }
/* 本文の ul 用スタイル（左余白・黄色い丸）を打ち消すため、詳細度を上げている */
.jump-nav ul.jump-nav__list { display: grid; grid-template-columns: 1fr; gap: 8px; margin: 0; padding: 0; list-style: none; }
.jump-nav ul.jump-nav__list > li { margin: 0; padding: 0; }
.jump-nav ul.jump-nav__list > li::before { content: none; display: none; }
.jump-nav__list a {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 48px; padding: 10px 16px; border-radius: 10px;
  background: #fff; border: 1px solid #cfe6da;
  color: #1e6b4a; font-weight: 700; text-decoration: none;
}
.jump-nav__list a::after { content: "\2193"; margin-left: 12px; }
.jump-nav__note { margin: 14px 0 0; font-size: .9375rem; }
.jump-nav__note a { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
#accident-contacts, .jikotaiou-target { scroll-margin-top: calc(var(--header-height, 72px) + 16px); }
.info-table a[href^="tel:"], .info-box a[href^="tel:"] {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 48px; padding: 8px 16px; border-radius: 10px;
  background: #eef7f2; border: 1px solid #cfe6da;
  color: #1e6b4a; font-size: 1.125rem; font-weight: 700;
  letter-spacing: .02em; text-decoration: none; white-space: nowrap;
}
.info-table a[href^="tel:"]::before, .info-box a[href^="tel:"]::before { content: "\260E"; font-size: 1rem; }
@media (min-width: 768px) {
  .jump-nav ul.jump-nav__list { grid-template-columns: repeat(2, 1fr); }
}

/* ---- 数字で見る保険企画: 「59」が単位用の小さい文字になっていた ---- */
.stat__number #stats-years { font-size: inherit; font-weight: inherit; }

@media (max-width: 767px) {
  /* 統計カード: 列幅をそろえ、ラベルが途中で折り返さないように */
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .stat { padding: 20px 10px; }
  .stat__number { font-size: clamp(1.75rem, 8.5vw, 2.25rem); }
  .stat__label { word-break: keep-all; overflow-wrap: anywhere; }

  /* 会社概要カード: 余白が広すぎて本文が細い列になっていた */
  .about-card { padding: 32px 20px; }

  /* パンくず: 語の途中で折り返さない。長い現在地は1行で省略 */
  .page-hero__breadcrumb { flex-wrap: wrap; row-gap: 0; max-width: 100%; }
  .page-hero__breadcrumb > * { white-space: nowrap; }
  .page-hero__breadcrumb > span:last-child { min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
  .page-hero__breadcrumb a { display: inline-block; padding: 10px 2px; }

  /* ページ途中の相談ボックス（mobile-next）を連続配置しても詰まらないように */
  .mobile-next--mid { margin-top: 32px; margin-bottom: 32px; }
}

/* ---- 右下の「相談」: 事故時の対応ページで追加する選択肢 ---- */
.floating-cta__btn--accident { background: #b8431f; }

/* ---- 右下の「相談」ボタンがフッター最下部（著作権表示など）を隠さないように ---- */
@media (max-width: 1023px) {
  body:has(.floating-cta--compact) .site-footer {
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
  }
}
