@charset "UTF-8";
/* ===============================
  フォーム
=============================== */
.form-page__content {
  position: relative;
  padding: clamp(0px, 300 * var(--rate-vw), 300px * var(--cap)) 0 clamp(0px, 385 * var(--rate-vw), 385px * var(--cap));
  margin-top: calc(clamp(0px, 300 * var(--rate-vw), 300px * var(--cap)) * -1);
  background: url(../img/bg09.webp) no-repeat center center/cover, #fff;
}
.form-page__content::before {
  content: "";
  position: absolute;
  background: url(../img/bg.webp) no-repeat center bottom/cover;
  aspect-ratio: 490/129;
  max-height: 380px;
  width: 100%;
  left: 0%;
  bottom: 0%;
  -webkit-clip-path: polygon(0% clamp(0px, 300 * var(--rate-vw), 300px * var(--cap)), 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0% clamp(0px, 300 * var(--rate-vw), 300px * var(--cap)), 100% 0, 100% 100%, 0% 100%);
}
@media (max-width: 767px) {
  .form-page__content {
    margin-top: calc(clamp(0px, 80 * var(--rate-vw), 80px * var(--cap)) * -1);
    background: url(../img/bg09.webp) repeat-y center center/600% auto, #fff;
    padding-top: clamp(0px, 195 * var(--rate-vw), 195px * var(--cap));
    padding-bottom: clamp(0px, 260 * var(--rate-vw), 260px * var(--cap));
  }
  .form-page__content::before {
    max-height: unset;
    aspect-ratio: 490/140;
    width: 100%;
    left: 0%;
    bottom: 0%;
    -webkit-clip-path: polygon(0% clamp(0px, 80 * var(--rate-vw), 80px * var(--cap)), 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(0% clamp(0px, 80 * var(--rate-vw), 80px * var(--cap)), 100% 0, 100% 100%, 0% 100%);
  }
}

.form-page__wrapper {
  position: relative;
  width: calc(900 / 1070 * 100%);
  margin: 0 auto;
  padding: clamp(0px, 64 * var(--rate-vw), 64px * var(--cap));
  background: #fafafc;
}
@media (max-width: 767px) {
  .form-page__wrapper {
    width: 100%;
    padding: 0 2%;
  }
}

.form-page__message {
  font-size: clamp(0px, 24 * var(--rate-fz), 24px * var(--cap));
  font-weight: 600;
  line-height: 1.4;
}

.form-page__items {
  font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
  font-weight: 500;
  line-height: 1.7142857143;
}

.form-page__label {
  margin-top: clamp(0px, 26 * var(--rate-vw), 26px * var(--cap));
}

.form-page__required {
  color: #ff1010;
}

.form-page__field {
  margin-top: clamp(0px, 8 * var(--rate-vw), 8px * var(--cap));
}
.form-page__field input[type=text],
.form-page__field input[type=tel],
.form-page__field input[type=email],
.form-page__field textarea {
  font: inherit;
  font-family: inherit;
  color: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  width: 100%;
  border: 1px solid #4c6f7a;
  background: #fafafc;
  padding: 1em;
}
.form-page__field textarea {
  resize: vertical;
  min-height: 168px;
}

.form-page__privacy {
  margin-top: 5%;
}
.form-page__privacy label {
  font-size: clamp(0px, 16 * var(--rate-fz), 16px * var(--cap));
  font-weight: 400;
  line-height: 1.5;
  color: #666;
  margin-top: clamp(0px, 20 * var(--rate-vw), 20px * var(--cap));
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (max-width: 767px) {
  .form-page__privacy {
    margin-top: 12%;
  }
}

.form-page__privacy-heading {
  font-size: clamp(0px, 24 * var(--rate-fz), 24px * var(--cap));
  line-height: 1.4166666667;
  font-weight: 600;
}

.form-page__privacy-body {
  margin-top: clamp(0px, 20 * var(--rate-vw), 20px * var(--cap));
  padding: clamp(0px, 40 * var(--rate-vw), 40px * var(--cap));
  border: 1px solid #4c6f7a;
  height: 170px;
  overflow-y: scroll;
}
@media (max-width: 767px) {
  .form-page__privacy-body {
    padding: 3%;
  }
}

.form-page__privacy-text {
  font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
  font-weight: 600;
  line-height: 1.7142857143;
}
.form-page__privacy-text span {
  display: inline-block;
}

.contact__checkbox-custom {
  display: flex;
  align-items: center;
}
.contact__checkbox-custom:has(input[type=checkbox]:checked) .contact__checkbox::after {
  display: block;
}
.contact__checkbox-custom input[type=checkbox] {
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  width: 0;
  height: 0;
}

.contact__checkbox {
  display: inline-block;
  width: 24px;
  aspect-ratio: 1/1;
  border: 1px solid #ccc;
  position: relative;
  margin-right: clamp(0px, 16 * var(--rate-vw), 16px * var(--cap));
}
.contact__checkbox::after {
  content: "";
  position: absolute;
  border: solid 2px #000;
  border-top: 0;
  border-left: 0;
  width: 60%;
  aspect-ratio: 10/22;
  top: 0;
  left: 0;
  transform: translate(70%, -30%) rotate(45deg);
  z-index: 1;
  display: none;
}

.form-page__submit {
  margin-top: clamp(0px, 48 * var(--rate-vw), 48px * var(--cap));
  text-align: center;
}

.form-page__button {
  cursor: pointer;
  position: relative;
  background: #18222a;
  font-size: clamp(0px, 16 * var(--rate-fz), 16px * var(--cap));
  font-weight: 600;
  line-height: 1.625;
  color: #fff;
  padding: 0.9em 6.8em;
}
.form-page__button input {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.thanks__text {
  text-align: center;
  line-height: 1.6;
  font-size: clamp(0px, 20 * var(--rate-fz), 20px * var(--cap));
}

.invalid-caution { /* バリデーションエラーメッセージ */
  width: 100%;
  color: #C1262D;
  font-size: clamp(0px, 14 * var(--rate-vw), 14px * var(--cap));
}

p:nth-child(n+2 of .invalid-caution) {
  display: none;
}

.bt_acc {
  pointer-events: none;
  opacity: 0.5;
}
.bt_acc.act {
  pointer-events: auto;
  opacity: 1;
}

[data-form-mode=con] .is-in {
  display: none !important;
}
[data-form-mode=con] .is-con-po {
  pointer-events: none !important;
}
[data-form-mode=con] input:not([type=submit]), [data-form-mode=con] textarea, [data-form-mode=con] select, [data-form-mode=con] label {
  pointer-events: none !important;
}

[data-form-mode=in] .is-con {
  display: none !important;
}

.form-hidden {
  display: none;
}
/*# sourceMappingURL=form.css.map */