/*! textfill.css — 日本語の文字組み・全サイト共通（server-admin #8／2026-10-09 オーナー決定）
 *
 * ルール：
 *   1. 本文は PC・スマホとも、枠いっぱいまで文字を詰めて左右をそろえる。どこで折れるかはブラウザ標準（禁則のみ）
 *   2. 見出し（h1〜h6）は左右そろえにせず（中央そろえを指定したものは中央のまま）、行の長さをそろえて折り返す（最後の行が1〜2文字だけにならない。2026-10-09 オーナー指示）
 *   3. 文節改行・wbr・nowrap の span・末尾まとめ・左寄せ戻し・text-wrap: pretty/balance などの特別な改行処理は使わない
 *   4. 例外は、途中で折れると意味が崩れる数字のかたまり（電話番号・金額）だけ → class="tf-num"
 *
 * 使い方：各サイトの CSS の「最後」に読み込む。各サイトの独自の改行処理（BudouX・linefill.js など）は外す。
 */
body {
	text-align: justify;
	text-justify: inter-character;
	line-break: strict;
	overflow-wrap: break-word;
}
body * {
	text-wrap-style: auto !important;
	word-break: normal !important;
}
.tf-num { white-space: nowrap; }
/* 各サイトに残っている「文節ごとに折り返しを止める札」（〜-nb）は普通の文字に戻す。
   電話番号・金額のまとめ（〜-nw）は例外として残す */
.nb, [class$="-nb"], [class*="-nb "] { display: inline !important; white-space: normal !important; }

/* 見出し：左右そろえにしない。中央そろえは各サイトの CSS で見出しかその枠に指定する（外側の枠だけで中央にしている場合は、見出しにも指定が要る）。
   行の長さをそろえて折り返し、最後の行が1〜2文字だけ残らないようにする */
:where(h1, h2, h3, h4, h5, h6) { text-align: start; }
h1, h2, h3, h4, h5, h6, :is(h1, h2, h3, h4, h5, h6) * { text-wrap-style: balance !important; } /* 見出しの中のリンクなどにも */

/* 見出しの行の区切りは改行タグで設計する（ルール5）。スマホの幅だけで改行したいところは <br class="tf-sp">（server-admin #9） */
.tf-sp { display: none; }
@media (max-width: 600px) { .tf-sp { display: inline; } }
