/* 参画申込フォーム用（form-base.css＝現行の申込フォームのスタイルに上乗せ） */

[hidden] { display: none !important; }

.form-alert { background: #fdecea; color: #c11f1f; border: 1px solid #f3b8b0; border-radius: 4px; padding: 10px 14px; font-weight: 700; font-size: 15px; }
.field-error { color: #c11f1f; font-size: 14px; font-weight: 700; margin: -1rem 0 1.2rem; }
fieldset .field-error, .agreement .field-error { margin: 0.4rem 0 0; }
.field.has-error input, .field.has-error textarea { border-color: #c11f1f; }
.field.has-error > label, .field.has-error legend, .agreement.has-error .agreement-label { color: #c11f1f; }
input.mismatch { border-color: #c11f1f; }

/* ボット対策の隠し項目（画面には出さない） */
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* reCAPTCHA（確認画面の「送信する」の上） */
.recaptcha { display: flex; flex-direction: column; align-items: center; gap: 8px; margin-bottom: 1.5rem; }
.recaptcha .field-error { margin: 0; }

.confirm-buttons { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
.confirm-buttons .submit, .confirm-buttons .btn-back { margin: 0; }
button:disabled { opacity: .6; cursor: wait; }

/* ヒアリングフォームの入力者のメールアドレス */
.hearing-email { margin: 0 0 1.5rem; padding: 12px 14px 2px; background: #fff8ee; border: 1px solid #f3d9b0; border-radius: 4px; }
.hearing-email .field-title { margin: 0 0 8px; font-weight: 600; }
.hearing-email .hint { margin: 0 0 10px; font-size: 15px; }
.hearing-email .check-label { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 1rem; font-weight: 600; cursor: pointer; }
.hearing-email .check-label input { width: 18px; height: 18px; margin: 0; accent-color: #f08a00; }
.hearing-email-inputs input { background: #fff; }
.field.has-error .hearing-email-inputs > label { color: #c11f1f; }
