/* 全ページ共通：日本語テキストの自然な折り返し */
:where(html, body) {
  overscroll-behavior-x: none;
  touch-action: pan-y pinch-zoom;
}

:where(html) {
  overflow-x: clip;
}

:where(body) {
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
}

:where(p, li, dd, figcaption, td, th) {
  word-break: auto-phrase;
  text-wrap: pretty;
}

:where(h1, h2, h3, h4, h5, h6) {
  word-break: auto-phrase;
  text-wrap: balance;
}

/* 全ページ共通部品の短いラベルは、1文字だけ残さず均衡して折り返す。 */
:where(.header nav a, .sp-drawer-nav a, .footer-link, .footer-treatment-grid a, button) {
  word-break: auto-phrase;
  text-wrap: balance;
}

/* 本来分割しない電話番号だけを改行禁止にする。 */
:where(.header .phone b, .footer-phone, .sp-drawer-call strong) {
  white-space: nowrap;
}

/* 住所・短い固有語の途中だけを分割しない。 */
.no-break,
.infection-note h3 span {
  white-space: nowrap;
}
