/* =====================================================================
   subpage-fixes.css — 下層ページ共通の文字組み・スマホ調整（v131）
   目的：見出しの不細工な改行（「る」「ろ、」「す。」だけの行）を防ぎ、
         トップページと書体を揃え、スマホ表示を絶対に崩さない。
   内容・数字には一切触れない。
   ===================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap");

/* ---------- 見出しの日本語改行を賢く ---------- */
h2, h3, .section-title {
  word-break: auto-phrase;   /* 文節で折り返す（対応ブラウザ） */
  text-wrap: balance;        /* 行の長さを揃え、1文字だけの行を防ぐ */
  overflow-wrap: anywhere;
}
h1, .hub-hero-title {
  word-break: auto-phrase;
  text-wrap: pretty;         /* 最終行だけが短く孤立する「残す。」問題を防ぐ */
  overflow-wrap: anywhere;
}

/* ---------- 見出しサイズ：デカすぎて折れるのを抑える ---------- */
.hub-hero-title {
  font-size: clamp(26px, 4.2vw, 44px) !important;
  line-height: 1.6 !important;
  letter-spacing: .05em;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 600 !important;
}
.section-title {
  font-size: clamp(22px, 3vw, 32px) !important;
  line-height: 1.6 !important;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif !important;
}
.hub-cta h2 { font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif; letter-spacing: .08em; }

/* ---------- 見出し内の装飾線の事故防止（金色の下線が文字を横切る問題） ---------- */
.hub-hero-title .accent-red,
.hub-hero-title .accent-gold,
.hub-hero-title .accent-tq {
  background: none !important;
  box-shadow: none !important;
  display: inline !important;
  padding: 0 !important;
}
.hub-hero-title { position: relative; }
.hub-hero-title::after, .hub-hero-title::before,
.hub-hero-title .accent-red::after, .hub-hero-title .accent-red::before,
.hub-hero-title .accent-gold::after, .hub-hero-title .accent-gold::before,
.hub-hero-title .accent-tq::after, .hub-hero-title .accent-tq::before {
  display: none !important;  /* 文字を横切る金の飾り線を完全引退 */
}

/* ---------- スマホ絶対防衛ライン ---------- */
img, svg, video { max-width: 100%; height: auto; }
table { max-width: 100%; }
@media (max-width: 640px) {
  table { display: block; overflow-x: auto; }  /* 表のはみ出し回避はスマホだけ（PCでは通常の表のまま） */
}
@media (max-width: 640px) {
  .hub-hero-title { font-size: clamp(24px, 7.4vw, 32px) !important; }
  .container { padding-left: 18px; padding-right: 18px; }
  .hub-hero-grid { gap: 22px; }
}
