/*--------------------------- 
contact-form style
----------------------------- */

.contact-form {
  margin-top: min(5vw, 50px);
}

.contact-form__header-img {
  width: 88%;
  margin: min(3.5vw, 35px) auto 0;
}

.contact-form__content {
  display: flex;
  flex-direction: column;
  margin-top: min(6vw, 60px);
}

.contact-form__content-text {
  font-size: clamp(0.75rem, 1.286vw, 1.125rem);
  line-height: 2;
  text-align: center;
}

.contact-form__content-btn-box {
  display: flex;
  gap: min(5vw, 50px);
  justify-content: center;
  align-items: center;
  margin-top: min(5vw, 50px);
}

.contact-form__content-btn-box2 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: min(4vw, 40px);
}

/* contact-form7 */

.contact-form7 {
  margin: min(6vw, 60px) 0;
  background-color: #ffd000;
}

.contact-form7__content {
  padding: min(7vw, 70px) 0 min(8vw, 80px);
}

.contact-form7__content-text {
  font-size: clamp(0.8rem, 1.429vw, 1.25rem);
  line-height: 1.5;
  color: #56b0e5;
  text-align: center;
}

.contact-form7__list {
  display: flex;
  flex-direction: column;
  gap: min(2vw, 20px);
  margin: min(4vw, 40px) auto 0;
  max-width: 650px;
  width: 90%;
}

.contact-form7__item {
  display: flex;
  gap: min(2vw, 20px);
  border-bottom: 1px solid #000;
  padding: 0 min(2vw, 20px) min(3vw, 30px);
  align-items: center;
}
.contact-form7__item--radio label {
  padding-left: 1em;
}

.contact-form7__item--textarea {
  align-items: flex-start;
}
.contact-form7__item--textarea label {
  padding-top: 1em;
}

.contact-form7__item label {
  font-size: clamp(0.75rem, 1.286vw, 1.125rem);
  width: 9em;
}
.contact-form7__item label span {
  color: red;
}

.contact-form7__item span {
  font-size: clamp(0.75rem, 1.286vw, 1.125rem);
  flex: 1;
}

.contact-form7__item input {
  padding: 5px;
}

.contact-form7__about {
  margin: min(4vw, 40px) auto 0;
  border: 1px solid #000;
  padding: min(3vw, 20px);
  border-radius: 20px;
  max-width: 650px;
  width: 90%;
}

.contact-form7__about label {
  font-size: clamp(0.7rem, 1.142vw, 1rem);
}
.contact-form7__about p {
  font-size: clamp(0.7rem, 1vw, 0.8125rem);
  line-height: 1.5;
  padding-top: 5px;
}
.contact-form7__btn {
  position: relative;
  overflow: hidden;
  transform: translate(-50%, 0);
  left: 50%;
  margin-top: min(5vw, 50px);
}

.contact-form7__btn-input,
.contact-form7__btn input[type='submit' i] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  margin: 0;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.contact-form7__list input[type='text'],
.contact-form7__list input[type='email'],
.contact-form7__list input[type='tel'],
.contact-form7__list input[type='date'] {
  width: 100%;
  padding: min(1.07vw, 1.5rem);
  font-size: clamp(0.75rem, 1.286vw, 1.125rem);
}
.contact-form7__list textarea {
  width: 100%;
  height: 20em;
  padding: min(1.07vw, 1.5rem);
  font-size: clamp(0.75rem, 1.286vw, 1.125rem);
  line-height: 1.5;
}

.wpcf7-spinner {
  display: none;
}
.wpcf7-not-valid-tip {
  font-size: clamp(0.65rem, 1vw, 0.875rem);
  padding-top: 10px;
}

/* お問い合わせ完了ページ */
.contact-form--thanks {
  margin-bottom: min(10vw, 100px);
}

/*--------------------------------
	TB用
----------------------------------- */
@media all and (max-width: 768px) {
}

/*--------------------------------
	SP用
----------------------------------- */
@media all and (max-width: 530px) {
  .contact-form {
    margin-top: min(5.81vw, 25px);
  }
  .contact-form__header-img {
    width: 82.5%;
    margin: min(4.65vw, 25px) auto 0;
  }
  .contact-form__content {
    margin-top: min(5.81vw, 25px);
  }
  .contact-form__content-text {
    font-size: min(4.65vw, 1.25rem);
  }
  .contact-form__content-btn-box {
    flex-direction: column;
    gap: min(6.98vw, 30px);
    margin: min(9.3vw, 40px) auto 0;
    width: min(100%, 360px);
  }

  .contact-form__content-btn-box2 {
    margin-top: min(6.98vw, 30px);
  }

  /* contact-form7 */
  .contact-form7 {
    margin: min(11.63vw, 50px) 0;
  }

  .contact-form7__content {
    padding: min(11.63vw, 55px) 0 min(11.63vw, 55px);
  }
  .contact-form7__content-text {
    font-size: min(3.72vw, 1rem);
  }

  .contact-form7__list {
    width: 100%;
    gap: min(5.12vw, 22px);
    margin: min(11.63vw, 50px) auto 0;
  }
  .contact-form7__item {
    flex-direction: column;
    align-items: flex-start;
    border-bottom: none;
    padding: 0;
    gap: min(3.49vw, 15px);
  }

  .contact-form7__item label {
    font-size: min(3.72vw, 1rem);
    width: auto;
    padding-top: 0;
  }

  .contact-form7__item--radio {
    flex-direction: row;
    align-items: center;
  }
  .contact-form7__item span {
    font-size: min(3.72vw, 1rem);
    width: 100%;
  }
  .contact-form7__list input[type='text'],
  .contact-form7__list input[type='email'],
  .contact-form7__list input[type='tel'],
  .contact-form7__list input[type='date'] {
    padding: min(2.33vw, 10px);
    font-size: min(3.72vw, 1rem);
  }

  .contact-form7__about {
    width: 100%;
    padding: min(3.49vw, 15px);
  }
  .contact-form7__about label {
    font-size: min(3.26vw, 0.94rem);
  }
  .contact-form7__about p {
    font-size: min(2.79vw, 0.81rem);
    padding-top: min(2.33vw, 0.63rem);
  }

  .contact-form7__btn {
    margin-top: min(5.81vw, 25px);
    width: 100%;
  }
  .contact-form7__list textarea {
    padding: min(2.33vw, 1rem);
    font-size: min(3.72vw, 1rem);
  }
  .wpcf7-not-valid-tip {
    font-size: min(3.26vw, 0.88rem);
    padding-top: min(2.33vw, 10px);
  }
  span.wpcf7-radio {
    display: flex;
    width: min(60%, 155px);
  }

  /* お問い合わせ確認ページ*/
  .contact-form--confirm .contact-form7__item {
    border-bottom: 1px solid #000;
    padding-bottom: 1em;
    gap: min(3.49vw, 10px);
  }
  .contact-form--confirm .contact-form7__item--radio {
    flex-direction: column;
    align-items: start;
  }
  .contact-form--confirm .contact-form7__item--radio label {
    padding-left: 0;
  }
}
