/* ============================================================
   お問い合わせフォーム (.form-block) 20260916 追加
   ============================================================ */

:root {
  --submit-color: #000;
}

.form-block {
  display: block;
  padding-block-start: 32px;
  margin: 104px calc(50% - 50vw) 0;
  background: rgba(0, 80, 148, 0.9);

  /* --- フォーム全体の幅 --- */
  form {
    max-width: 1000px;
    margin: 0 auto;
  }

  /* --- 見出し --- */
  .contact_midashi {
    background: transparent;

    h2 {
      font-size: 1.125rem;
      line-height: 2.25rem;
      padding: 0.5em;
      background: transparent;
    }
  }

  /* --- 入力項目 (dl/dt/dd) --- */
  .contact_inner dl > * input {
    box-sizing: border-box;
  }

  .contact_inner dl dt p {
    color: #fff;
  }

  /* --- 電話番号リンク --- */
  .telephone a {
    display: flex;
    align-items: center;
    width: fit-content;
    max-width: 304px;
    height: 64px;
    padding: 0 3.5em;
    color: #005eaa;
    border: 0;
    border-radius: 0;
  }

  .telephone a::before {
    top: 24px;
    color: #005eaa;
  }

  .telephone a:hover {
    opacity: 0.8;
  }

  /* --- 送信・リセットボタン --- */
  input[type=submit],
  input[type=reset] {
    height: 64px;
    background: #f6d851;
    color: var(--submit-color);
    font-size: 20px;
    font-weight: 700;
    padding: 0.5em 6em;
    border: none;
    border-radius: 0;
    cursor: pointer;
  }

  /* --- 項目リスト全体 --- */
  .koumoku_list {
    background: transparent;
    border: none;
    box-shadow: none;
    flex-direction: column;
    gap: 0.5rem 1rem;
  }

  /* --- レイアウト切り替え（タブレット以上） --- */
  @media (min-width: 750px) {
    .koumoku_list {
      flex-direction: row;
    }

    .contact_midashi h2 {
      font-size: 1.5rem !important;
    }
  }
}

/* ============================================================
   フォーム周辺のレイアウト調整（.form-block の外側）
   ============================================================ */

/* --- サービスMV内CTA：SPのみ表示 --- */
.service-mv-cta {
  display: block;
}

@media (min-width: 750px) {
  .service-mv-cta {
    display: none;
  }
}

/* --- 項目ブロック（dl/dt/dd）の幅：SPは縦積み --- */
.contact_inner {
  width: calc(100% - 0.5rem) !important;
  --dl-gap: 1rem;

  dl {
    width: 100% !important;
    flex-direction: column !important;
    gap: var(--dl-gap);
  }

  dt {
    width: 100% !important;
  }

  dd {
    width: 100% !important;
  }
}

/* --- タブレット以上は横並び・2カラム --- */
@media (min-width: 750px) {
  .contact_inner {
    width: calc(50% - 0.5rem) !important;

    dl {
      flex-direction: row !important;
    }

    dt {
      width: calc(40% - var(--dl-gap)) !important;
    }

    dd {
      width: 60% !important;
    }
  }
}

/* --- 稼働中サイトの旧スタイル打ち消し（上書き調整） --- */
.koumoku_list > .contact_inner:nth-child(even) dl dt {
  padding-left: 0 !important;
}

.contact_inner dl dt span {
  margin-right: 0 !important;
}

.contact_inner dl dt p {
  justify-content: unset !important;
}

/* --- 下段フォームは上マージン無し --- */
.form-block.form-block-bottom {
  margin-block-start: 0 !important;
}

/* ============================================================
   フッター調整
   ============================================================ */
footer {
  background-color: inherit !important;
}

footer a {
  color: inherit !important;
}

footer .footer-contact {
  display: none;
}

/* ============================================================
   フォーム上段／下段の出し分け・送信ボタン装飾
   ============================================================ */

/* --- 上段フォーム：氏名・お問い合わせ詳細は非表示 --- */
.form-block-top {

  .first_name,
  .inquiry-details {
    display: none;
  }
}

/* --- 送信ボタン：矢印アイコン --- */
.submit {
  position: relative;
  display: inline-block;
}

.submit::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 25px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 31px;
  height: 1px;
  background: var(--submit-color);
}

.submit::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 26px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 10px;
  height: 5px;
  border-top: 1px solid var(--submit-color);
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}

.submit input[type="submit"]:hover {
  opacity: 0.8;
}

.flex-container {
  display: flex;
  justify-content: center;
}

/* --- 下段フォーム：会社名・お問い合わせ詳細欄 --- */
.form-block-bottom {

  .company,
  .inquiry-details {
    width: 100% !important;

    dl {
      flex-direction: column;
      gap: 0.5rem;

      dt,
      dd {
        width: 100% !important;
      }
    }

    textarea {
      box-sizing: border-box;
    }
  }
}



/* 20260916 フォーム追加 */
/*.form-block {
  display: none;
}
*/

footer {
  background-color: inherit !important;
}

footer a {
  color: inherit !important;
}

footer .footer-contact {
  display: none;
}