/* 2026-10-19 Mist: 表示の調整（全ページ共通。デザイン本体の CSS の後に読み込む） */
/* 日本語を文節で改行（PC・スマホとも。2026-10-28 PCにも拡大） */
.bx{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
/* 段落の最後の行が1〜2文字だけにならないように（対応ブラウザ） */
p.bx,li.bx,dd.bx{text-wrap:pretty}
body.theme-b main h1,body.theme-b main h2,body.theme-b main h3,body.theme-b main h4{text-wrap:balance}
/* ブログ（PHPで出す記事タイトル）は対応ブラウザで文節改行 */
body.theme-b .article-page h1,body.theme-b .journal-card h3{word-break:auto-phrase}
/* 閉じかっこと後ろの助詞を離さない（ブログのタイトルなど PHP で出す文章用） */
.nw{white-space:nowrap}
/* 耐震・断熱カードの見出し: 画面幅1000px前後で「「スーパーウォール」を採用」が1行に入るように */
.evidence-card h3{font-size:clamp(22px,2.4vw,27px)}
/* トップ・イベント一覧のイベント欄: 項目名（プチ体験 など）を1行に */
.event-quick dt{white-space:nowrap}
/* 独自デザインのページ（イベントLP）の見出しも、行の長さをそろえる */
h1.bx,h2.bx,h3.bx,h4.bx{text-wrap:balance}
@media(max-width:380px){.gifts h4{font-size:17px}body.theme-b main .evidence-card h3{font-size:17px}}
/* タブレット: 2段組みの狭い欄で見出しが詰まらないよう少し小さく */
@media(min-width:651px) and (max-width:820px){
  body.theme-b main h1{font-size:27px;letter-spacing:.04em}
  body.theme-b main h2{font-size:25px;letter-spacing:.04em}
  body.theme-b main h3{font-size:19px;letter-spacing:.02em}
  body.theme-b .line-consultation-copy h2{font-size:24px}
}
@media(max-width:650px){
  body.theme-b main h1{font-size:28px;line-height:1.6;letter-spacing:.04em}
  body.theme-b main h2{font-size:23px;line-height:1.65;letter-spacing:.03em}
  body.theme-b main h3{font-size:19px;line-height:1.65;letter-spacing:.03em}
  /* ブログ記事のタイトルは長い文節が多いので少し小さく（1行に12文字入るように） */
  body.theme-b .article-page h1{font-size:24px;letter-spacing:.02em}
  body.theme-b main p,body.theme-b main li{letter-spacing:.02em}
  body.theme-b .line-consultation-copy h2{font-size:23px;line-height:1.65}
  /* イベントLP（独自デザインのページ）: 大きい見出しが1文字だけ次の行に落ちないように */
  body:not(.theme-b) h2.bx,body:not(.theme-b) .h2--xl{font-size:min(30px,7.6vw)}

  /* ヒーロー: 写真・動画を上に（4:3）、文章はその下の生成りの面に置く。文字が動画に重ならない */
  body.theme-b .home-film{display:block;height:auto;min-height:0;max-height:none;padding:0 0 30px}
  body.theme-b .home-film-media{position:relative;inset:auto;z-index:0;aspect-ratio:4/3;width:100%}
  body.theme-b .home-film-media img,body.theme-b .home-film-media video{object-position:center}
  body.theme-b .home-film-shade{display:none}
  body.theme-b .home-film-copy{position:static;margin:0;padding:30px 7% 0;max-width:none;text-shadow:none}
  body.theme-b .home-film h1{font-size:clamp(28px,8.2vw,36px);line-height:1.6;letter-spacing:.08em}
  body.theme-b .home-film-copy .home-film-kicker{margin-bottom:14px}
  body.theme-b .home-film-bottom{position:static;margin:0;padding:28px 7% 0}
  body.theme-b .home-film-caption{left:auto;right:10px;bottom:auto;top:calc(75vw - 32px);padding:2px 9px;background:rgba(255,252,243,.88);font-size:11px}
}
