@charset "UTF-8";
/*
 * お問い合わせフォーム（Snow Monkey Forms）の見た目 2026/10 追加
 * トップページ #pageHome07 の .contactPage の内側だけに効かせる。
 * 読み込みは functions.php（フォームのあるページだけ）。
 * Bootstrap 3 のテーマなので 1rem = 10px。サイズは px で指定している。
 */

.contactPage {
  margin-top: 2em;
  text-align: left;
}

/* プログレストラッカー（入力 → 確認 → 完了） */
.contactPage .smf-progress-tracker {
  margin: 0 0 32px;
}
.contactPage .smf-progress-tracker__item--active .smf-progress-tracker__item__number,
.contactPage .smf-progress-tracker__item--active::after {
  background-color: #f08200;
}

/* 項目 */
.contactPage .smf-item {
  margin: 0 0 22px;
}
.contactPage .smf-item__label {
  font-weight: bold;
  margin-bottom: 6px;
}
.contactPage .smf-item__description {
  margin-top: 6px;
  font-size: 14px;
  color: #555;
}

/* 入力欄（iOS で拡大されないよう 16px 以上） */
.contactPage input[type="text"],
.contactPage input[type="email"],
.contactPage input[type="tel"],
.contactPage textarea {
  width: 100%;
  max-width: none;
  padding: 8px 12px;
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}
.contactPage input[type="text"]:focus,
.contactPage input[type="email"]:focus,
.contactPage input[type="tel"]:focus,
.contactPage textarea:focus {
  border-color: #66afe9;
  outline: 0;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
}
.contactPage .smf-radio-button-control,
.contactPage .smf-checkbox-control {
  font-size: 16px;
}
.contactPage .smf-radio-buttons-control__control {
  display: block;
}
.contactPage .smf-radio-buttons-control__control > * + * {
  margin-top: 6px;
}

/* エラー */
.contactPage .smf-error-messages {
  margin-top: 6px;
  color: #d9534f;
  font-weight: bold;
}

/* 確認画面の値
   white-space: pre-wrap は使わない。Snow Monkey Forms がラジオボタン・チェックボックスの確認画面の HTML に
   改行とタブを入れているため、字下げと空行が出る。ご相談内容の改行は Snow Monkey Forms が <br> にしている */
.contactPage .snow-monkey-form[data-screen="confirm"] .smf-item__controls {
  padding: 8px 12px;
  background-color: rgba(255, 255, 255, .6);
  border-radius: 4px;
}

/* Turnstile：中央に置き、送信ボタンとの間をあける */
.contactPage .snow-monkey-forms-turnstile {
  display: flex;
  justify-content: center;
  margin: 28px 0;
}
.contactPage .snow-monkey-form[data-screen="complete"] .snow-monkey-forms-turnstile {
  display: none;
}

/* ボタン */
.contactPage .smf-action {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 8px;
}
.contactPage .smf-button-control__control {
  min-width: 240px;
  padding: 14px 32px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  background-color: #f08200;
  background-image: none;
  border: 0;
  border-radius: 32px;
  cursor: pointer;
  transition: opacity .2s;
}
.contactPage .smf-button-control__control:hover,
.contactPage .smf-button-control__control:focus {
  opacity: .8;
}
.contactPage .smf-button-control__control[data-action="back"] {
  color: #333;
  background-color: #e6e6e6;
}
.contactPage .smf-button-control__control:disabled {
  opacity: .5;
  cursor: default;
}

/* 完了画面 */
.contactPage .snow-monkey-form[data-screen="complete"] .smf-form {
  padding: 30px 0;
  text-align: center;
}
@media (max-width: 767px) {
  .contactPage .snow-monkey-form[data-screen="complete"] .smf-form,
  .contactPage .snow-monkey-form[data-screen="complete"] .has-text-align-center {
    text-align: left;
  }
  .contactPage .snow-monkey-form[data-screen="complete"] .smf-form br {
    display: none;
  }
}

/* 送信回数の上限のお知らせ（functions.php の futawa_form_limit_notice_html） */
.contactPage .ffg-alert {
  margin: 0 0 20px;
  padding: 20px 24px;
  background-color: #fff8e5;
  border: 2px solid #f08200;
  border-radius: 6px;
}
.contactPage .ffg-alert__title {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: bold;
}
.contactPage .ffg-alert__body {
  margin: 0;
}
@media (max-width: 767px) {
  .contactPage .ffg-alert__title {
    font-size: 15px;
  }
}

.contactPage .screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}
