/*==============================================================
　お問い合わせフォーム
==============================================================*/

.contact {
  .cont {
    padding: 80px 32px;

    @media screen and (max-width: 991px) {
      padding: 40px 16px;
    }
  }

  .box {
    max-width: 1000px;
    margin: 0 auto;
  }

  .item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }

  .des {
    text-align: center;
  }

  .mw_wp_form {
    width: 100%;
  }

  .contact_table {
    width: 100%;
    padding: 40px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);

    @media screen and (max-width: 991px) {
      padding: 24px 16px;
    }
  }

  .contact_table table {
    width: 100%;
  }

  & tbody {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 40px;

    @media screen and (max-width: 768px) {
      gap: 16px;
    }

    & tr {
      display: flex;
      align-items: center;
      gap: 16px;

      @media screen and (max-width: 991px) {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
      }

      &.message-flex {
        display: flex;
        align-items: flex-start !important;
      }

      & th {
        flex: 1;
        position: relative;
        padding-left: 3rem;
        color: #333;

        @media screen and (max-width: 991px) {
          padding-left: 0rem;
          width: 100%;
        }

        &.contact-message {
          margin-top: 4px;
        }

        .req {
          color: #fff;
          font-weight: 600;
          display: inline-block;
          background: #d30606;
          padding: 5px 7px;
          border-radius: 4px;
          position: absolute;
          left: 0;
          top: 52%;
          font-size: 12px;
          transform: translateY(-50%);

          @media screen and (max-width: 991px) {
            left: unset;
            right: 6px;
            top: 50%;
          }
        }

        .unreq {
          color: #fff;
          font-weight: 600;
          display: inline-block;
          padding: 5px 7px;
          border-radius: 4px;
          position: absolute;
          left: 0;
          top: 52%;
          font-size: 12px;
          transform: translateY(-50%);
          background: rgb(114, 114, 114);

          @media screen and (max-width: 991px) {
            left: unset;
            right: 6px;
            top: 50%;
          }
        }

        .message-req {
          color: #fff;
          font-weight: normal;
          display: inline-block;
          background: #d30606;
          padding: 5px 7px;
          border-radius: 4px;
          position: absolute;
          left: 0;
          top: 14px;
          font-size: 12px;
          transform: translateY(-50%);

          @media screen and (max-width: 991px) {
            left: unset;
            right: 6px;
            top: 50%;
          }
        }
      }

      & td {
        flex: 3;

        @media screen and (max-width: 768px) {
          width: 100% !important;
        }

        .form-control {
          width: 100%;
          padding: 8px 12px;
          font-size: 16px;
          border: 1px solid #e9e9e9;
          border-radius: 6px;
          background: #fff;
          transition:
            border-color 0.3s ease,
            box-shadow 0.3s ease;
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

          @media screen and (max-width: 768px) {
            width: 100% !important;
          }
        }

        .form-control:focus {
          outline: none;
          border-color: #5383fd;
          box-shadow: 0 0 0 3px rgba(83, 131, 253, 0.2);
        }

        .form-control::placeholder {
          color: #aaa;
          font-size: 14px;
        }
      }
    }
  }
}

.mw_wp_form_confirm .contact_table td {
  background: #f7f9fc;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid #e3e8f0;
}

.mw_wp_form_confirm .contact_table td p {
  margin: 0;
}

.mw_wp_form_confirm .contact_table td input[type="hidden"] {
  display: none;
}

.btn-wrap {
  text-align: center;
  margin-top: 40px;
}

.btn {
  display: inline-block;
  padding: 12px 24px;
  background: linear-gradient(135deg, #ff9100, #ffbb00);
  color: #fff;
  border-radius: 10px;
  width: 100%;
  max-width: 180px;
  text-align: center;
}

.submit-container.contact-confirm {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-top: 40px;

  @media screen and (max-width: 768px) {
    flex-direction: column;
    gap: 0px;
    margin-top: 0px;
    align-items: center;
  }
}

.contact-confirm .message-req {
  top: 50%;

  @media screen and (max-width: 768px) {
    top: 70% !important;
  }
}

.flex-radio {
  display: flex;
  gap: 16px;

  @media all and (max-width: 768px) {
    display: flex !important;
    align-items: center;
  }
}

.radio-btn label {
  padding-left: inherit !important;
}

.mwform-radio-field-text {
  color: #333;
}

span.mwform-radio-field.horizontal-item {
  display: contents;
}

.w-length-360 {
  max-width: 360px !important;
  width: 100%;
}

.w-length-280 {
  width: 280px !important;
}

.w-length-210 {
  width: 210px !important;
}

.w-length-180 {
  width: 180px !important;
}

.w-length-120 {
  width: 120px !important;
}

.w-length-90 {
  width: 90px !important;
}
