/* 問い合わせページ用 */
.site_container.page {
  .page_content {
    .content_main {
      width: 820px;
      .h2_tit_01.no_line {
        text-align: center;
        &::before,
        &::after {
          background: none;
        }
      }
      /* CF7 共通 */
      .wpcf7 {
        p {
          font-weight: 700;
          font-size: 1.4rem;

          small {
            /* font-weight: 500; （必要時に有効化） */
          }
        }

        .icon {
          color: #fff;
          width: 45px;
          height: 20px;
          text-align: center;
          line-height: 20px;
          font-weight: normal;

          &.hissu {
            background: #ea0105;
            font-size: 1.1rem;
            display: inline-block;
            line-height: 2;
            margin-left: .5rem;
          }
        }

        /* フォーム要素 */
        input[type=text],
        input[type=email],
        input[type=tel],
        textarea,
        select {
          border: 1px solid #ccc;
          padding: 5px 12px;
          min-height: 40px;
          display: block;
          width: 100%;
          font-size: 1.4rem;
          position: relative;
          background: #fff;
          margin-top: 1rem;
        }

        textarea {
          padding: 1.2rem;
        }

        .wpcf7-list-item-label {
          font-weight: 500;

          a:link,
          a:visited {
            text-decoration: underline;
            color: var(--color-primary);
          }
        }

        /* 1) 各 label をブロック化して上下余白を効かせる */
        .wpcf7-form {
          label {
            display: block;
            margin: 0 0 1rem;
          }
          label + label {
            margin-top: 2rem;
          }
        }

        /* select の矢印カスタム */
        .wpcf7-form-control-wrap[data-name="your-type"] {
          position: relative;
          display: inline-block;
          width: 100%;

          &::after {
            content: "";
            position: absolute;
            top: 55%;
            right: 1.5rem; /* 右端から固定 */
            width: 8px;
            height: 8px;
            border-right: 2px solid #1e376e;
            border-bottom: 2px solid #1e376e;
            transform: translateY(-50%) rotate(45deg);
            pointer-events: none;
            display: block;
          }

          .wpcf7-select {
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            width: 100%;
            padding-right: calc(1.5rem + 2rem);
          }
        }

        /* エラーメッセージの位置変更 */
        .wpcf7-form-control-wrap {
          display: flex;
          flex-direction: column;
        }

        .wpcf7-not-valid-tip {
          order: 0; /* 項目の前に表示（flex内） */
          margin-bottom: 0.25em;
          display: inline-block;
        }
      }

      /* 内容確認ページ（テーブル風） */
      .c-form {
        display: table;
        width: 100%;
        border-collapse: collapse;
        position: relative;

        .form_wrap {
          display: table-row;
        }

        .form_wrap p {
          font-weight: 500;
          margin-bottom: 0;
        }

        .form_label,
        .form_input {
          display: table-cell;
          padding: 1.5rem;
          border: 1px solid #ccc;
          vertical-align: middle;
        }

        .form_label {
          width: 40%;
          background-color: #f5f5f5;
        }
        .form_input {
          width: auto;
        }
      }

      p.note {
        font-size: 1.6rem;
        font-weight: 500;
        margin-bottom: 4rem;
      }

      /* 送信完了ページ */
      .contact-thanks {
        .box {
          border: 1px solid #ccc;
          border-radius: 0;
          background: #f5f5f5;
          padding: 2.5rem 3.5rem;

          p {
            font-feature-settings: "palt";
            margin-bottom: 0;
          }
        }
      }

      /* フォームのボタン類 */
      .btn_area {
        position: relative;
        display: flex;
        left: 12rem;

        &.entry {
          width: 37rem;
          left: 26rem;
          margin-top: 0;
        }

        &.correct {
          width: 47rem;
          margin-top: 4rem;
        }

        &.thanks {
          left: 0;
          margin-top: 4rem;

          .btn_form.btn_submit {
            background-color: #969696;
            color: #fff;
            width: 18rem;
            height: 4rem;
          }
          .btn_form.btn_arr {
            top: 50%;
            right: 29rem;
          }
        }
      }

      .btn_form {
        margin: 0 auto;
        align-items: center;
        background: #fff;
        border: 1px solid var(--color-border);
        border-radius: 4.8rem;
        color: var(--color-text);
        font-size: 1.6rem;
        height: 4.8rem;
        padding: 0;
        position: relative;
        width: 28rem;

        &.btn_arr {
          background: var(--btn-arr-background);
          border-radius: 14px;
          display: block;
          height: 1.4rem;
          position: absolute;
          transform: translateY(-50%);
          transition: right 0.5s ease; /* スムーズに動く */
          width: 3rem;
        }

        /* 位置初期値（文脈別） */
        .correct &.btn_arr {
          top: 23%;
          right: 2rem;
        }
        .entry &.btn_arr {
          right: 11rem;
          top: 36%;
        }

        /* ホバー時に右へ移動 */
        &.btn_submit:hover ~ .btn_arr {
          right: 1.5rem;
        }
        .entry &.btn_submit:hover ~ .btn_arr {
          right: 10.5rem;
        }
        .thanks &.btn_submit:hover ~ .btn_arr {
          right: 28.5rem;
        }

        &.btn_correct {
          background-color: #969696;
          color: #fff;
          font-size: 1.5rem;
          margin-right: 3rem;
          width: 16rem;
          height: 4rem;
        }

        &.btn_submit {
          /*
          background-color: #c8c8c8;
          color: #fff;
          height: 4rem;
          width: 20rem;
          */

          &:disabled {
            background-color: #969696;
            color: #666;
            cursor: not-allowed;
            opacity: 0.6;

            ~ .btn_arr {
              display: none;
            }
          }
        }

        &.btn_back_top {
          background-color: #969696;
        }

        &:hover {
          opacity: .7;
          cursor: pointer;
        }
      }

      /* レスポンシブ対応（スマホ） */
      @media screen and (max-width: 600px) {
        width: auto;
        .btn_form {
          /* width: 74vw; （必要なら有効化） */
          height: 12.8vw;
        }

      .h2_tit_01.no_line {
        margin-top: 8vw;
      }




        .btn_area {
          width: min-content;
          margin: 4rem auto 0;
          left: 0;

          &.entry,
          &.correct {
            width: min-content;
            text-align: center;
            left: 0;

            p {
              margin-bottom: 0;
            }
          }

          &.correct {
            margin-bottom: 4rem;
            margin-top: 0;
          }

          /* thanks */
          &.thanks {
            .btn_form.btn_arr {
              right: 7%;
              top: 6.9vw;
            }
          }
        }

        /* ホバー時の矢印位置（スマホ） */
        .btn_form.btn_submit:hover ~ .btn_arr {
          right: 9%;
        }
        .entry .btn_form.btn_submit:hover ~ .btn_arr {
          right: 9%;
        }
        .thanks .btn_form.btn_submit:hover ~ .btn_arr {
          right: 6%;
        }

        .btn_form.btn_correct {
          margin-right: 0;
          top: 32vw;
        }
        .correct .btn_form.btn_arr {
          top: 16.8vw;
          right: 10%;
        }
        .entry .btn_form.btn_arr {
          right: 10%;
          top: 6.5vw;
        }

        /* 確認ページ（ブロック化） */
        .c-form {
          .form_wrap,
          .form_label,
          .form_input {
            display: block;
            width: 100%;
            border-top: none;
          }

          > .form_wrap:not(:first-child) > .form_label {
            border-top: none;
          }
          > .form_wrap:first-child > .form_label {
            border-top: 1px solid #ccc;
          }

          .form_label:not(first-of-type) {
            /* 必要なら調整 */
          }
        }

        /* インプット幅調整 */
        .wpcf7 {
          input[type=text],
          input[type=email],
          input[type=tel],
          textarea,
          select {
            width: 100%;
          }

          .wpcf7-form-control-wrap[data-name="your-type"]::after {
            top: 7.5vw;
            right: 4vw;
          }
        }

        .contact-thanks {
          .box {
            padding: 1rem;
          }
        }
      }
    } /* .content_main */
  } /* .page_content */
} /* .site_container.page */
