/* ============================================================
   contact.css — 体験・入会お問い合わせ（フォーム）
   ※style.cssは編集禁止のためページ固有分をここに定義
   ============================================================ */
.contact-wrap { max-width: 720px; margin: 0 auto; }
.contact-intro { font-size: 15px; line-height: 1.9; letter-spacing: 0.04em; margin: -12px 0 36px; }
.contact-form { background: var(--bg); border: 1px solid var(--border); border-radius: 6px; padding: 36px 32px; }
.form-group { margin-bottom: 24px; }
.form-label { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; margin-bottom: 8px; }
.form-required { display: inline-flex; align-items: center; padding: 2px 8px; background: var(--danger); color: var(--text-inverse); font-size: 10px; font-weight: 700; letter-spacing: 0.06em; border-radius: 2px; }
.form-input, .form-select, .form-textarea { width: 100%; background: var(--bg); border: 1px solid var(--border); border-radius: 6px; padding: 12px; font-family: var(--font-body); font-size: 16px; line-height: 1.6; color: var(--text); }
.form-input, .form-select { height: 48px; }
.form-textarea { min-height: 200px; resize: vertical; }
.form-input:focus, .form-select:focus, .form-textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 1px var(--primary); }
.form-input::placeholder, .form-textarea::placeholder { color: var(--text-sub); opacity: 0.7; }

/* ラジオ（お問い合わせ種別） */
.form-radio { display: flex; flex-wrap: wrap; gap: 10px; }
.form-radio__item { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--border); border-radius: 6px; font-size: 14px; cursor: pointer; transition: border-color .15s, background .15s; }
.form-radio__item:has(input:checked) { border-color: var(--primary); background: var(--surface); font-weight: 700; }
.form-radio__item input { accent-color: var(--primary); width: 16px; height: 16px; }

.form-submit { margin-top: 32px; text-align: center; }
.form-submit .btn-std { border: none; cursor: pointer; font-family: var(--font-head); }
.form-note { min-height: 1.6em; margin-top: 14px; font-size: 13px; font-weight: 700; color: var(--danger); }
.form-demo-note { margin-top: 6px; font-size: 12px; line-height: 1.8; color: var(--text-sub); }

@media (max-width: 767px) {
  .contact-form { padding: 28px 18px; }
}
