@charset "UTF-8";
:root {
  --base_wid: 1440;
  --header_h: 120px;
}
@media screen and (max-width: 999px) {
  :root {
    --header_h: 74px;
  }
}
@media (max-width: 767px) {
  :root {
    --base_wid: 390;
  }
}

/**************************************************
* ページ: フォーム
**************************************************/
.c-form {
  padding: 80px 40px;
  border: 1px solid #E8E8E8;
  border-radius: 16px;
}
@media (max-width: 767px) {
  .c-form {
    padding: 40px 3%;
  }
}

.c-form__message {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4;
  text-align: center;
}
@media (max-width: 767px) {
  .c-form__message {
    font-size: min(1.6rem, 4.1025641026vw);
  }
}

.c-form__items {
  display: flex;
  flex-wrap: wrap;
}
.c-form__items dt, .c-form__items dd {
  font-size: 1.6rem;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .c-form__items dt:nth-of-type(n + 2), .c-form__items dd:nth-of-type(n + 2) {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  .c-form__items {
    display: block;
  }
}

.c-form__label {
  width: 30%;
  font-weight: 600;
  align-self: center;
  padding-left: 20px;
}
@media (max-width: 767px) {
  .c-form__label {
    width: 100%;
  }
  .c-form__label:nth-of-type(n + 2) {
    margin-top: 30px;
  }
}

.c-form__input {
  width: 70%;
  background: #F6F6F6;
  font-weight: 500;
}
.c-form__input input[type=text],
.c-form__input input[type=tel],
.c-form__input input[type=email],
.c-form__input textarea,
.c-form__input select {
  font-family: inherit;
  font-size: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  width: 100%;
  border: none;
  background: #eee;
  border-radius: 8px;
  padding: 10px 15px;
}
.c-form__input input[type=text]::-moz-placeholder, .c-form__input input[type=tel]::-moz-placeholder, .c-form__input input[type=email]::-moz-placeholder, .c-form__input textarea::-moz-placeholder, .c-form__input select::-moz-placeholder {
  color: #ccc;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
  color: #828282;
}
.c-form__input input[type=text]::placeholder,
.c-form__input input[type=tel]::placeholder,
.c-form__input input[type=email]::placeholder,
.c-form__input textarea::placeholder,
.c-form__input select::placeholder {
  color: #ccc;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
  color: #828282;
}
.c-form__input textarea {
  resize: vertical;
  min-height: 180px;
}
@media (max-width: 767px) {
  .c-form__input {
    width: 100%;
    margin-top: 10px;
  }
}

.c-form__label--start {
  align-self: flex-start;
  padding-top: 16px;
}

.c-form__label--required {
  position: relative;
}
.c-form__label--required::before {
  content: "＊";
  position: absolute;
  top: 5px;
  left: 0;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  color: #FF1818;
}

.c-form__radio {
  display: flex;
  align-items: center;
  padding: 20px 16px;
  padding-left: 40px;
}
.c-form__radio label {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  color: #828282;
}
.c-form__radio label:nth-child(n+2) {
  margin-left: 40px;
}
.c-form__radio label:has(input[type=radio]:checked) {
  color: #2F2F2F;
}
.c-form__radio label:has(input[type=radio]:checked) .c-form__radio-item {
  border: 2px solid #1890FF;
}
.c-form__radio label:has(input[type=radio]:checked) .c-form__radio-item::after {
  display: block;
}
.c-form__radio input[type=radio] {
  opacity: 0;
  -webkit-appearance: unset;
     -moz-appearance: unset;
          appearance: unset;
  margin: 0;
  width: 0;
  height: 0;
}
.c-form__radio.type2 {
  padding: 10px 15px;
}
.c-form__radio .wpcf7-list-item:nth-child(n+2) {
  margin-left: 40px;
}
@media (max-width: 767px) {
  .c-form__radio {
    display: block;
    padding: 20px 16px;
  }
  .c-form__radio label:nth-child(n+2) {
    margin-left: 0;
    margin-top: 20px;
  }
  .c-form__radio .wpcf7-list-item:nth-child(n+2) {
    margin-left: 0;
    margin-top: 20px;
  }
}

.c-form__radio--center {
  justify-content: center;
}

.c-form__radio-item {
  display: inline-block;
  width: 24px;
  aspect-ratio: 1/1;
  border: 2px solid #ddd;
  background: #fff;
  border-radius: 50%;
  position: relative;
  margin-right: 8px;
  flex-shrink: 0;
}
.c-form__radio-item::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 14px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #1890FF;
  transition: background-color 0.3s, border-color 0.3s;
  display: none;
}

.c-form__salect {
  position: relative;
}
.c-form__salect::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  background: url(../img/icon_arrow1.png) no-repeat center center/contain;
  width: 1em;
  aspect-ratio: 32/32;
}

.c-form__policy {
  background: #fff;
}

.c-form__policy-text {
  border: 1px solid #828282;
  border-radius: 4px;
  padding: 10px 16px;
  height: 180px;
  overflow: scroll;
}

.c-form__policy-agree {
  margin-top: 16px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
.c-form__policy-agree a {
  color: #1890FF;
  text-decoration: underline;
}
.c-form__policy-agree input {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  margin: 0;
  margin-right: 0.5em;
  aspect-ratio: 1/1;
  width: 1.2em;
}
.c-form__policy-agree label {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .c-form__policy-agree label {
    justify-content: center;
  }
}

.c-form__submit {
  margin-top: 80px;
  text-align: center;
}

.c-form__button {
  cursor: pointer;
  position: relative;
}
.c-form__button input {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

/*------------------------------
ENTRY FORM
------------------------------*/
.entry__form {
  margin-top: 118px;
}
@media (max-width: 767px) {
  .entry__form {
    margin-top: 50px;
  }
}

.entry__button {
  margin-top: 120px;
  text-align: center;
}
@media (max-width: 767px) {
  .entry__button {
    margin-top: 60px;
  }
}

/*------------------------------
cf7
------------------------------*/
.wpcf7-response-output { /* エラー&送信完了テキスト */
  font-size: 16px;
  text-align: center;
}

.wpcf7-list-item {
  margin: 0;
}

.wpcf7-spinner {
  display: none !important;
}

/*------------------------------
CONTACT
------------------------------*/
.contact__box {
  margin: 40px 0;
  background: #F6F6F6;
}

@media (min-width: 768px) {
  .contact__policy {
    margin-top: 80px;
    width: 70%;
    margin-left: auto;
    text-align: left;
  }
}
@media (max-width: 767px) {
  .contact__policy {
    margin-top: 40px;
  }
}

.contactc__button {
  margin-top: 40px;
  text-align: center;
}

.contact .wpcf7-radio .wpcf7-list-item.last {
  position: relative;
}
.contact .wpcf7-radio .wpcf7-list-item.last::after {
  content: "";
  position: absolute;
  background: url(../img/icon_i.png) no-repeat center center/100%;
  aspect-ratio: 1/1;
  width: 1.3em;
  right: -1.1em;
  top: 50%;
  transform: translate(50%, -40%);
}
@media (max-width: 767px) {
  .contact .wpcf7-radio .wpcf7-list-item.last {
    padding-right: 10px;
  }
  .contact .wpcf7-radio .wpcf7-list-item.last::after {
    right: 0;
  }
}

#popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* グレー背景 */
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 9999;
  overflow: hidden; /* ここ大事、オーバーレイ自体はスクロール禁止 */
}

#popup-overlay.active {
  display: block;
  opacity: 1;
}

.popup {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 720px;
  max-width: 90%;
  max-height: 80vh; /* ここ！ ポップアップ内の最大高さ */
  overflow-y: auto; /* ここ！ ポップアップ内をスクロール可能にする */
  transform: translate(-50%, -50%);
  background: #fff;
  border: 1px solid #E8E8E8;
  border-radius: 16px;
  padding: 40px 80px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4;
}
@media (max-width: 767px) {
  .popup {
    padding: 40px 20px;
    font-size: 1.4rem;
    line-height: 2;
  }
}

.popup__title {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
@media (max-width: 767px) {
  .popup__title {
    line-height: 1.6;
  }
}

.popup__message {
  margin-top: 40px;
}

.popup__content {
  padding: 24px 0;
  border-top: 1px solid #E8E8E8;
  border-bottom: 1px solid #E8E8E8;
  margin-top: 40px;
}

.popup__info {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  line-height: 2;
}
.popup__info dt, .popup__info dd {
  width: 50%;
}
@media (max-width: 767px) {
  .popup__info dt, .popup__info dd {
    line-height: 2.4;
  }
  .popup__info dt {
    width: 60%;
  }
  .popup__info dd {
    width: 40%;
  }
}

.popup__note {
  margin-top: 40px;
}

.popup__button {
  margin-top: 40px;
  text-align: center;
}
.popup__button button {
  padding: 0.2em 0;
}

/*------------------------------
THANK YOU
------------------------------*/
.thanks__bpx {
  border: 1px solid #E8E8E8;
  border-radius: 16px;
  padding: 80px 0;
}

.thanks__message {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4;
  text-align: center;
}
@media (max-width: 767px) {
  .thanks__message {
    font-size: min(1.5rem, 3.8461538462vw);
  }
}

.thanks__button {
  margin-top: 120px;
  text-align: center;
}
@media (max-width: 767px) {
  .thanks__button {
    margin-top: 60px;
  }
}
/*# sourceMappingURL=form.css.map */