.contactForm_form-row {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  flex-wrap: nowrap;
}

.contactForm_form-col {
  flex: 0 0 calc(50% - 8px);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-width: 100px;
}

.contactForm_form-col .contactForm_form-input {
  width: 100%;
}

/* 統一されたフィールド下のエラーメッセージ */
.contactForm_field-error {
  color: #c95454;
  margin-top: 6px;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
  display: block; /* JS 側で display を切り替えるのでデフォルトは block にしておく */
}

.contactForm_form-error {
  color: #c95454;
  margin-bottom: 1rem;
}

/* reCAPTCHA の配置調整 */
.contactForm_form-recaptcha {
  margin-bottom: 1rem;
  display: flex;
  justify-content: center; /* 常に中央揃え */
  margin-bottom: 20px;
}

.contactForm_form-recaptcha .g-recaptcha {
  display: inline-block;
  transform: scale(1);
  transform-origin: center;
}

/* 省スペース時は若干縮小して中央に収める（任意） */
@media (max-width: 420px) {
  .contactForm_form-recaptcha .g-recaptcha {
    transform: scale(0.92);
  }
  .contactForm_form-recaptcha {
    margin-bottom: 28px;
  }
}

/* reCAPTCHA の iframe が下要素のクリックを塞ぐ対策 */
.contactForm_form-recaptcha {
  position: relative;
  z-index: 1;
  padding-bottom: 16px;
}

/* 同意文（リンク）を前面に出してクリック可能にする */
.contactForm_form-actions,
.contactForm_form-privacy {
  position: relative;
  z-index: 10;
}

.contactForm_form-privacy {
  margin-top: 16px;
}