/* 海外・帰国子女・国内インター校のご家庭向けLP（/international/、日本語）。
   ヒーローと最下部CTAはホーム（home-lp.css）を、中間セクションは /trial/（trial.css）を流用し、
   ここは流用元を上書きする差分だけを持つ。 */

/* ホーム流用部の微調整 */
/* hero-inner のグリッド比率をホームと同じ 55:45 に合わせる（旧 .88fr:1.12fr は画像過大になるため修正） */
.intl-page.home-lp .lp-hero .hero-inner { grid-template-columns: minmax(0, 55fr) minmax(0, 45fr) !important; }
/* styles.css:1692 sets .hero-copy { max-width:55% } globally, which constrains hero-copy to 55% of the
   511px grid track = 281px. home-lp.css overrides width but not max-width. Fix here. */
.intl-page.home-lp .lp-hero .hero-copy { max-width: 100%; }
/* home-lp.css line74 has .home-lp .lp-hero .hero-lead{white-space:nowrap!important} (3-class specificity).
   Must use ≥4 classes to override it with !important. */
.intl-page.home-lp .lp-hero .hero-lead { white-space: normal !important; max-width: 580px; overflow-wrap: break-word; }
.intl-page.home-lp .lp-hero .hero-lead span { display: block; }
.intl-page .hero-trust a { color: var(--navy); font-weight: 700; }
.intl-page .final-cta-link-row { display: flex; flex-wrap: wrap; gap: 12px; }

.intl-stable { background: #fff; }
.intl-stable-list { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 10px; }
.intl-stable-list li { grid-template-columns: 44px 1fr; border: 1px solid var(--line); box-shadow: none; }

.intl-subjects { background: var(--cream); }
.intl-what-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* 価格セクション: home-lp.css の lp-price / price-simple をそのまま使う */
.intl-price-section { background: #fff; }
.intl-price-note { margin-top: 18px; font-size: .85rem; color: var(--muted); }

.intl-voice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 960px; }

@media (max-width: 980px) {
  .intl-stable-list, .intl-what-grid, .intl-voice-grid { grid-template-columns: 1fr; }
}

/* 中国語サイト（/zh/ の LP・規約・プライバシー）: 簡体字の字形で表示する。
   見出しの明朝・丸ゴシックは簡体字を持たないためゴシックに寄せる */
html[lang="zh-Hans"] body,
html[lang="zh-Hans"] h1, html[lang="zh-Hans"] h2, html[lang="zh-Hans"] h3,
html[lang="zh-Hans"] .hero-display-title { font-family: "Noto Sans SC", "Noto Sans JP", sans-serif; }
/* styles.css はホーム以外の見出しに Senobi Gothic を !important で当てるが、簡体字の字形を持たない。/zh/ の中だけ上書きする */
html[lang="zh-Hans"] body:not(.home-lp) h1, html[lang="zh-Hans"] body:not(.home-lp) h2, html[lang="zh-Hans"] body:not(.home-lp) h3 { font-family: "Noto Sans SC", "Noto Sans JP", sans-serif !important; }

/* 申込セクション（フォームを置くのは /zh/ だけ。/international/ は /trial/ へ送る）は「フォーム＋右カラム」の2カラム。公開中の /trial/ と同じ配置にする。
   trial.css は #18 で /trial/ のフォームをヒーローへ移したため1カラムに変わっており、
   そのままだと右カラムがフォームの下に落ちるので、ここで本番と同じ定義を持つ */
.intl-page .trial-apply-grid { grid-template-columns: minmax(0, 1.35fr) minmax(300px, .85fr); gap: 26px; align-items: start; }
.intl-page .trial-apply-side { grid-template-columns: 1fr; gap: 18px; }
@media (max-width: 980px) {
  .intl-page .trial-apply-grid { grid-template-columns: 1fr; }
}

/* 日本語・中国語の折り返し。最終行が1〜2文字だけ残る「ぶら下がり」を避ける。
   text-wrap:pretty は行末の孤立を減らし、word-break:auto-phrase は文節で折り返す。
   未対応のブラウザは従来どおりの折り返しになるだけで、崩れない */
.intl-page p,
.intl-page li,
.intl-page summary,
.intl-page .trial-apply-lead { text-wrap: pretty; word-break: auto-phrase; }
/* 見出しは行の長さを揃える balance の方が収まりがよい */
.intl-page h2,
.intl-page h3 { text-wrap: balance; word-break: auto-phrase; }

/* ヒーロー見出し。ホーム(home-lp.css)は短い行を前提に各行を nowrap で固定し、文字サイズも
   画面幅に比例して大きくする。LP の辞書に長めの行を入れると、そのまま右の写真へはみ出す。
   LP では (1) 広い画面での文字サイズの上限を抑え、(2) それでも長い行は行内で折り返す */
.intl-page .lp-hero .hero-display-title span { white-space: normal; text-wrap: balance; word-break: auto-phrase; }
@media (min-width: 1001px) {
  .intl-page.home-lp .lp-hero .hero-heading > .hero-display-title { font-size: clamp(2.6rem, 4.15vw, 3.25rem); max-width: 10.5em; }
}
