/* 2010年代の硬い入力ラジオボタン・チェックボックス用のスタイル */
.form-classic-input {
  border: 1px solid #cccccc;
  background-color: #fcfcfc;
  padding: 8px;
  font-size: 14px;
  color: #222222;
  border-radius: 0px;
}
.form-classic-input:focus {
  border-color: #0055aa;
  background-color: #ffffff;
  outline: none;
  box-shadow: 0 0 4px rgba(0, 85, 170, 0.2);
}

/* モバイル自動ズーム防止：入力欄のみ実効フォントサイズを16px以上に（ページ全体の見た目は変更しない） */
@media (max-width: 767px) {
  input.form-classic-input,
  select.form-classic-input,
  textarea.form-classic-input {
    font-size: 16px !important;
  }
}

/* STEP 進捗バー：狭い幅でも押し出さない */
.contact-step-bar {
  max-width: 100%;
}

@media (max-width: 374px) {
  .contact-step-bar {
    font-size: 10px;
  }
}

/* 長文チェックボックス / ラジオ：flex 子の min-width:auto による横押し出しを防ぐ */
#contact-input-screen label.flex {
  min-width: 0;
  max-width: 100%;
}

#contact-input-screen label.flex > span,
#contact-input-screen label.flex > label {
  min-width: 0;
  overflow-wrap: break-word;
}

/* 日付 + 時間帯 select：intrinsic 幅でコンテナを押し広げない */
#contact-input-screen input[type="date"].form-classic-input,
#contact-input-screen .flex.flex-wrap select.form-classic-input {
  max-width: 100%;
  min-width: 0;
}

#contact-input-screen .flex.flex-wrap select.form-classic-input {
  flex: 1 1 12rem;
}

/* 確認テーブル：長いユーザー入力で横にはみ出さない */
#contact-input-screen table,
.section-inner table {
  max-width: 100%;
  table-layout: fixed;
  word-break: break-word;
}
