/**
 * お問い合わせフォーム 補完CSS（原サイト InquiryForm のデザインに合わせる）
 * - 空のPageHead帯を消す（原フォームに画像ヒーローは無い）
 * - 青タブのステッパー（入力画面→確認画面→完了画面）
 * - ラベル左・入力右の2カラム（バンドルの ul li{display:flex} を活用しつつ整える）
 * - 個人情報の同意文ボックス／配色をfusohネイビーへ
 * 読み込み順は contact.css の後。
 */

:root { --fusoh-navy: #023367; }

/* 原フォームに画像ヒーローは無い。空のPageHead帯を消す */
.PageHead_pageHeadWrapper__xckmQ:empty { display: none; }

/* フォーム本体の幅 */
.InquiryForm_contentInner__QIIHk .form__inner {
  width: 100%;
  margin: 1rem 0 6rem;
}
.fusoh-form-lead { font-size: 1.4rem; margin: 1.5rem 0 2rem; }
.fusoh-req-note { color: #bf1e1e; margin-left: 0.3em; }
.fusoh-req-note::before { content: "※「必須」"; }

/* ===== ステッパー（青タブ＋矢印） ===== */
.InquiryForm_others__f_YGF .fusoh-stepper {
  display: flex;
  width: 100% !important;
  max-width: none;
  margin: 0 0 3rem !important;
  padding: 0;
  list-style: none;
}
.InquiryForm_others__f_YGF .fusoh-stepper > li {
  flex: 1;
  display: block !important;
  text-align: center;
  background: #d9e1e8;
  color: #5a6b7b;
  font-size: 1.4rem;
  font-weight: 700;
  padding: 1.1em 0;
  position: relative;
}
.InquiryForm_others__f_YGF .fusoh-stepper > li::before { content: "" !important; display: none !important; }
.InquiryForm_others__f_YGF .fusoh-stepper > li.is-active { background: var(--fusoh-navy); color: #fff; }
.InquiryForm_others__f_YGF .fusoh-stepper > li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -1.3rem; top: 0;
  z-index: 1;
  border-style: solid;
  border-width: 2.35rem 0 2.35rem 1.3rem;
  border-color: transparent transparent transparent #d9e1e8;
}
.InquiryForm_others__f_YGF .fusoh-stepper > li.is-active:not(:last-child)::after { border-left-color: var(--fusoh-navy); }

/* ===== 各項目：ラベル左・入力右の2カラム ===== */
.InquiryForm_others__f_YGF .form__list { width: 100% !important; margin: 0; padding: 0; }
.InquiryForm_others__f_YGF .form__list > li {
  display: flex !important;
  align-items: flex-start;
  gap: 2rem;
  width: 100%;
  margin: 0;
  padding: 2rem 0;
  border-bottom: 1px solid #e5e8ec;
}
.InquiryForm_others__f_YGF .form__list > li::before { content: "" !important; display: none !important; }
.InquiryForm_others__f_YGF .form__listLabel {
  flex: 0 0 26rem;
  font-weight: 700;
  font-size: 1.5rem;
  padding-top: 0.7rem;
}
.InquiryForm_others__f_YGF .form__listInputBox { flex: 1; min-width: 0; margin-top: 0; }
.InquiryForm_others__f_YGF .form__input,
.InquiryForm_others__f_YGF .form__textarea,
.InquiryForm_others__f_YGF .form__select { width: 100%; box-sizing: border-box; }

/* 添付ファイル：「選択」ボタンと「選択されていません」テキストの間隔
   （バンドルの p{margin:0 0 1em} が margin-left を0に潰すため !important で復活） */
.InquiryForm_others__f_YGF .form__fileBox p { margin: 0 0 0 2rem !important; }

/* 必須バッジ：ラベル横インライン */
.InquiryForm_others__f_YGF .hissu {
  position: static;
  display: inline-block;
  width: auto; min-width: 4.2rem;
  margin: 0 0 0 0.8rem; padding: 0 0.6em;
  font-size: 1.1rem; line-height: 2rem; height: 2rem;
  background: #bf1e1e; color: #fff; vertical-align: middle;
}

/* ===== 住所（郵便番号→都道府県→市区町村→上記以外） ===== */
.fusoh-postal, .fusoh-addr-row { display: flex; align-items: center; gap: 0.8em; flex-wrap: wrap; }
.fusoh-addr-row + .fusoh-addr-row, .fusoh-postal + .fusoh-addr-row { margin-top: 1rem; }
.fusoh-sub-label { flex: 0 0 7rem; font-size: 1.3rem; color: #555; }
.fusoh-postal-input { flex: 0 0 16rem; }
.fusoh-addr-row .form__select, .fusoh-addr-row .form__input { flex: 1; min-width: 0; }
.fusoh-postal-btn {
  flex-shrink: 0;
  border: 1px solid var(--fusoh-navy); background: var(--fusoh-navy); color: #fff;
  font-size: 1.3rem; padding: 0.7em 1.2em; cursor: pointer;
}
.fusoh-postal-btn:hover { opacity: .85; }
.fusoh-postal-msg { font-size: 1.2rem; color: #bf1e1e; }

/* ===== 個人情報の取扱（同意文ボックス） ===== */
.fusoh-privacy { margin-top: 4rem; }
.fusoh-privacy h4 {
  font-size: 1.6rem; font-weight: 700; margin: 0 0 1rem;
  padding-left: 0.6em; border-left: 4px solid var(--fusoh-navy);
}
.fusoh-privacy-box {
  border: 1px solid #ccc; background: #fafafa;
  padding: 1.6rem 2rem; font-size: 1.3rem; line-height: 1.9;
  max-height: 18rem; overflow-y: auto;
}
.fusoh-privacy-box p { margin: 0 0 0.8em; }
.fusoh-privacy-box a { color: var(--fusoh-navy); text-decoration: underline; }
/* バンドルの .InquiryForm_others p{margin:0 0 1em}（高詳細度）に勝つため !important */
.InquiryForm_others__f_YGF .privacy__box { display: block; text-align: center; margin: 3.6rem 0 0 !important; }

/* 送信ボタン */
.form__submitBox { margin-top: 4rem; }

/* ===== 配色（contact.cssの#1073a8をネイビーへ） ===== */
.form__link { background-color: var(--fusoh-navy) !important; border-color: var(--fusoh-navy) !important; }
.form__link:hover { color: var(--fusoh-navy) !important; background-color: #fff !important; }
.form__input:focus, .form__textarea:focus { border-color: var(--fusoh-navy) !important; }
.form__select::before { border-top-color: var(--fusoh-navy) !important; }
.form__fileBox label { background-color: var(--fusoh-navy) !important; }
.form__checkbox:checked + .form__checkLabel:after { color: var(--fusoh-navy) !important; }
.form__select { border-color: #ccc; background: #fff; }
.form__select .select { color: #333; padding: 0 2.4em 0 1em; height: 41px; }

/* ===== 確認画面テーブル ===== */
.InquiryForm_others__f_YGF .check__table { width: 100%; }
.InquiryForm_others__f_YGF .check__table th { width: 30%; background: #f0f1f0; }
.InquiryForm_others__f_YGF .check__table td,
.InquiryForm_others__f_YGF .check__table th { padding: 1.4rem; vertical-align: middle; text-align: left; }

/* ===== スマホ：2カラムを縦積みに ===== */
@media screen and (max-width: 767px) {
  .InquiryForm_others__f_YGF .form__list > li { flex-direction: column; gap: 0.8rem; }
  .InquiryForm_others__f_YGF .form__listLabel { flex: none; padding-top: 0; }
  .fusoh-sub-label { flex: 0 0 5.5rem; }
  .InquiryForm_others__f_YGF .fusoh-stepper > li { font-size: 1.2rem; }
}
