@charset "UTF-8";

/* スムーススクロール設定 */
html {
  /* scroll-behavior: smooth; */
}
  
/* contact form 7 のエラー表示のデザイン調整 ------------------------------------------------- */
.inquiry__box:has(.inquiry__require) {
  align-items: flex-start;
}

.wpcf7 .wpcf7-not-valid-tip {
  font-size: 2.56vw;
  color: #F30000;
  display: block;
  margin-top: 3px;
}

@media (min-width: 576px) {
  .wpcf7 .wpcf7-not-valid-tip {
    font-size: min(1.69vw, 13px);
  }
}

.wpcf7 .inquiry__box:has(.wpcf7-not-valid-tip) {
  color: #F30000;
}

.wpcf7 .inquiry__box:has(.wpcf7-not-valid-tip) input,
.wpcf7 .inquiry__box:has(.wpcf7-not-valid-tip) select {
  border-color: #F30000;
}

.wpcf7 form .wpcf7-response-output {
  margin-top: 5vw;
  text-align:center;
  color: #F30000;
  padding:0;
  line-height: 1.5;
}

@media (min-width: 576px) {
  .wpcf7 form .wpcf7-response-output {
    margin-top: min(2.47vw, 19px);
  }
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  border: none !important;
}

/* 計画：ラジオボタン */
.inquiry__radio-list {
  display: flex;
  flex-direction: column;
  gap: 5.9vw;
}
@media (min-width: 576px) {
  .inquiry__radio-list {
    gap: min(2.6vw, 20px) 0;
    flex-wrap: wrap;
    height: min(14.23vw, 82px);
  }
}

.inquiry__radio-list .wpcf7-list-item {
  margin-left: 0;
}
@media (min-width: 576px) {
  .inquiry__radio-list .wpcf7-list-item {
    width: min(35.16vw, 270px);
  }
}

.inquiry__radio-list .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: min(0.91vw, 7px);
  font-size: 3.59vw;
}
@media (min-width: 576px) {
  .inquiry__radio-list .wpcf7-list-item label {
    font-size: min(1.56vw, 12px);
  }
}

.inquiry__radio-list .wpcf7-list-item input {
  margin: 0;
  width: 3.59vw;
  height: 3.59vw;
}
@media (min-width: 576px) {
  .inquiry__radio-list .wpcf7-list-item input {
    width: min(1.82vw, 14px);
    height: min(1.82vw, 14px);
  }
}

/* 予算: チェックボックス */
.inquiry__checkbox-list {
  display: flex;
  flex-direction: column;
  gap: 5.9vw;
}
@media (min-width: 576px) {
  .inquiry__checkbox-list {
    flex-wrap: wrap;
    flex-direction: row;
    gap: min(2.47vw, 19px) 0;
  }
}

.inquiry__checkbox-list .wpcf7-list-item {
  margin-left: 0;
}
@media (min-width: 576px) {
  .inquiry__checkbox-list .wpcf7-list-item {
    width: min(35.16vw, 270px);
  }
}

.inquiry__checkbox-list .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 1.5vw;
  font-size: 3.59vw;
}
@media (min-width: 576px) {
  .inquiry__checkbox-list .wpcf7-list-item label {
    font-size: min(1.56vw, 12px);
    gap: min(0.91vw, 7px);
    width: min(35.16vw, 270px);
  }
}

.inquiry__checkbox-list .wpcf7-list-item input {
  margin: 0;
  width: 3.85vw;
  height: 3.85vw;
  border-radius: 0.51vw;
}
@media (min-width: 576px) {
  .inquiry__checkbox-list .wpcf7-list-item input {
    width: min(1.95vw, 15px);
    height: min(1.95vw, 15px);
    border-radius: min(0.26vw, 2px);
  }
}

/* 興味関心: チェックボックス 並び方が異なるため */
.inquiry__interest-checkbox-list-wrapper .inquiry__checkbox-list {
  display: flex;
  flex-direction: column;
  gap: 5.9vw;
}
@media (min-width: 576px) {
  .inquiry__interest-checkbox-list-wrapper .inquiry__checkbox-list {
    flex-wrap: wrap;
    flex-direction: column;
    gap: min(2.47vw, 19px) 0;
    height: min(39vw, 225px);
  }
}

.inquiry__privacy--recaptcha {
  line-height: 1.75;
  margin-top: 10vw;
}
@media (min-width: 576px) {
  .inquiry__privacy--recaptcha {
    padding-left: 0;
    margin-top: min(25px, 4.34vw);
  }
}

.inquiry__privacy--recaptcha span{
  display: inline-block;
}

.wpcf7-spinner {
  display: none;
}


/* 確認画面 ------------------------------------------------- */
.inquiry--confirm {
  padding-bottom: 15vw;
}
@media (min-width: 576px) {
  .inquiry--confirm {
    padding-bottom: min(12.15vw, 70px);
  }
}
.inquiry--confirm .inquiry__sub-section-title {
  font-weight: bold;
  color: #312D2C;
  font-size: 3.59vw;
  letter-spacing: 0.09em;
  margin-top: 10.86vw; 
  font-family: "新ゴ B", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;  
}
@media (min-width: 576px) {
  .inquiry--confirm .inquiry__sub-section-title {
    margin-top: min(6.38vw, 49px);
    font-size: min(1.95vw, 15px);
    margin-left: min(3.65vw, 28px);
    margin-bottom: max(-0.78vw, -6px);
  }
}
.inquiry--confirm .inquiry__wrapper-1 {
  margin-top: 4.5vw;
}
@media (min-width: 576px) {
  .inquiry--confirm .inquiry__wrapper-1 {
    margin-top: min(4.95vw, 38px);
  }
}

.inquiry--confirm .inquiry__title {
  margin-top: 5vw;
  margin-bottom: 1.5vw;
}
@media (min-width: 576px) {
  .inquiry--confirm .inquiry__title {
    margin: 0;
    flex-shrink: 0;
  }
}
.inquiry--confirm .inquiry__description {
  line-height: 1.5;
}

.inquiry--confirm .inquiry__box {
  gap: 20px;
}
@media (min-width: 576px) {
  .inquiry--confirm .inquiry__box {
    gap: 30px;
  }
}

.inquiry--confirm .inquiry__button-wrapper {
  display: flex;
  gap: 5vw;
}
@media (min-width: 576px) {
  .inquiry--confirm .inquiry__button-wrapper {
    gap: calc(8.68vw, 50px);
  }
}

.inquiry__submit {
  padding-left: 0;
}
.inquiry__submit.wpcf7-previous {
  border: #9C8478 2px solid;
  background-color: white;
  color: #312D2C;
}


.inquiry--confirm .wpcf7-spinner {
  display: none;
}

.wpcf7 form .wpcf7-response-output {
  border: none;
}

/* Thanksページ用  ------------------------------------------------- */

main {
  /* header 70px + footer 222px = 292px, 292px*100vw/375px */
  min-height: max(110vw, calc(100vh - 77.866vw));
}

@media (min-width: 576px) {
  main {
    /* header 72px + footer 215px = 287px, 287px*100vw/576px */
    min-height: calc(100vh - min(49.826vw, 287px));
  }
}

.inquiry__thanks-message {
  font-size: 5.5vw;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.4;
  text-align: center;
  color: #454649;
  padding-top: 14vw;
}
@media (min-width: 576px) {
  .inquiry__thanks-message {
    font-size: min(4.34vw, 25px);
    padding-top: min(9.11vw, 70px);
    padding-left: min(20px,3.47vw);
  }
}

.inquiry__link-button {
  padding: 0;
  font-size: 4.62vw;
  letter-spacing: -0.1em;
  color: #fff;
  border: none;
  background-color: #9C8478;
  border-radius: 7.18vw;
  margin-inline:auto;
  width: 89.74vw;
  height: 12.31vw;
  margin-top: 6.2vw;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top:10vw;
}

@media (min-width: 576px) {
  .inquiry__link-button {
    width: min(51.82vw, 398px);
    height: min(7.55vw, 58px);
    font-size: min(2.34vw, 18px);
    margin-top: min(10.4vw, 60px);
  }
}  