/*
  法人研修 お問い合わせ・お申し込みフォーム(corporate-training-contact.html)専用。
  フォームUI本体(.form-group/.form-control/.form-checkbox-label等)はcss/contact.cssを
  そのまま読み込んで再利用し、ここでは追加していない。このファイルで定義するのは、
  1) Hero(corporate-training.htmlの.ct-hero/.ct-hero-flowと同じFlow Light手法を
     このページ専用クラス名で再現。ページCSSを共有せず複製する既存サイトの方針に合わせている)
  2) ラジオボタン群・複数選択チェックボックス群(contact.htmlには存在しない新しいUI)
  3) 汎用フィールドエラーテキスト(.form-privacy-errorと同じ見た目を全項目で使えるように)
  4) フォーム全体の中央カラム幅・「法人研修ページへ戻る」リンク
  .tl-eyebrowはcss/contact.css側で既に定義されるため、ここでは再定義していない。
*/

/* ---------- Hero(写真なし、淡いFlow Lightのみ) ---------- */
.cfc-hero { position: relative; margin-top: var(--header-height); min-height: 360px; display: flex; align-items: center; overflow: hidden; background: linear-gradient(165deg, var(--surface) 0%, var(--background) 65%); padding: 88px 0 64px; }
@media (max-width: 760px) { .cfc-hero { min-height: 280px; padding: 72px 0 44px; } }

.cfc-hero-flow { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .45;
  mask-image: linear-gradient(100deg, transparent 0%, transparent 32%, #000 64%, #000 100%);
  -webkit-mask-image: linear-gradient(100deg, transparent 0%, transparent 32%, #000 64%, #000 100%);
}
.cfc-hero-flow img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
@media (max-width: 760px) {
  .cfc-hero-flow { opacity: .3;
    mask-image: radial-gradient(120% 100% at 100% 100%, #000 0%, transparent 62%);
    -webkit-mask-image: radial-gradient(120% 100% at 100% 100%, #000 0%, transparent 62%);
  }
}

.cfc-hero-inner { position: relative; z-index: 1; max-width: 680px; min-width: 0; width: 100%; }
.cfc-hero-inner .tl-eyebrow { margin-bottom: 20px; }
.cfc-hero h1 { margin: 0 0 16px; font-family: var(--font-heading); font-size: clamp(26px,3.2vw,38px); font-weight: 700; line-height: 1.5; color: var(--navy); }
.cfc-hero-lead { margin: 0; color: var(--secondary-text); line-height: 1.9; font-size: 15px; max-width: 520px; }

/* ---------- フォーム中央カラム ---------- */
.cfc-form-panel { max-width: 720px; margin: 0 auto; }
.cfc-form-back { display: block; margin-top: 28px; text-align: center; font-family: var(--font-latin); font-size: 13px; color: var(--secondary-text); }
.cfc-form-back:hover { color: var(--accent-blue); }

/* ---------- ラジオボタン群(お問い合わせ種別) ---------- */
.form-radio-group { display: flex; flex-direction: column; gap: 10px; }
.form-radio-label { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 14.5px; line-height: 1.6; color: var(--navy); padding: 13px 16px; border: 1px solid var(--op-border); border-radius: 12px; background: #fff; transition: border-color var(--duration-hover), box-shadow var(--duration-hover); }
.form-radio-label:hover { border-color: var(--border-hover); }
.form-radio-label:has(.form-radio:checked) { border-color: var(--accent-blue); box-shadow: 0 0 0 3px rgba(76,112,221,.1); }
.form-radio { flex: none; width: 18px; height: 18px; accent-color: var(--accent-blue); cursor: pointer; }
.form-radio:focus-visible { outline: 2px solid var(--accent-blue); outline-offset: 2px; }

/* ---------- 複数選択チェックボックス群(ご希望の研修) ---------- */
.form-checkbox-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
@media (max-width: 480px) { .form-checkbox-group { grid-template-columns: 1fr; } }
.form-checkbox-group .form-checkbox-label { padding: 13px 16px; border: 1px solid var(--op-border); border-radius: 12px; background: #fff; transition: border-color var(--duration-hover), box-shadow var(--duration-hover); }
.form-checkbox-group .form-checkbox-label:hover { border-color: var(--border-hover); }
.form-checkbox-group .form-checkbox-label:has(.form-checkbox:checked) { border-color: var(--accent-blue); box-shadow: 0 0 0 3px rgba(76,112,221,.1); }

/* ---------- 汎用フィールドエラー(.form-privacy-errorと同じ見た目) ---------- */
.form-error-text { margin: 0; font-size: 12.5px; color: #b5433e; min-height: 1em; }
.form-control.is-invalid,
.form-radio-group.is-invalid .form-radio-label,
.form-checkbox-group.is-invalid .form-checkbox-label { border-color: #d64545; }
