@charset "UTF-8";
/*------------------------------
CONTACT
------------------------------*/
@media (min-width: 768px) {
  .contact__title img {
    height: clamp(0px, 50 * var(--rate-vw), 50px * var(--cap));
  }
}

.contact__content {
  margin-bottom: clamp(0px, 170 * var(--rate-vw), 170px * var(--cap));
}

.contact__heading {
  font-size: clamp(0px, 24 * var(--rate-fz), 24px * var(--cap));
  font-weight: 700;
  line-height: 1.6;
  font-family: "Zen Old Mincho", serif;
}
@media (max-width: 767px) {
  .contact__heading {
    font-size: clamp(0px, 20 * var(--rate-fz), 20px * var(--cap));
  }
}

.contact__form {
  margin-top: clamp(0px, 64 * var(--rate-vw), 64px * var(--cap));
}
@media (max-width: 767px) {
  .contact__form {
    margin-top: clamp(0px, 30 * var(--rate-vw), 30px * var(--cap));
  }
}

.contact__items dt:nth-of-type(n + 2) {
  margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
}

.contact__label {
  font-size: clamp(0px, 16 * var(--rate-fz), 16px * var(--cap));
  font-weight: 700;
  line-height: 1.6;
  font-family: "Zen Old Mincho", serif;
}

.contact__required {
  display: inline-block;
  font-size: clamp(0px, 12 * var(--rate-vw), 12px * var(--cap));
  font-weight: 400;
  line-height: 1.6;
  color: #C43A4A;
  background: #FBE9E8;
  border-radius: 0.3em;
  padding: 0 0.3em;
  margin-left: 0.6em;
}

.contact__field {
  margin-top: clamp(0px, 4 * var(--rate-vw), 4px * var(--cap));
}
.contact__field input[type=text],
.contact__field input[type=tel],
.contact__field input[type=email],
.contact__field textarea {
  font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
  font-weight: 400;
  line-height: 1.8;
  font-family: inherit;
  color: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  width: 100%;
  border: 1px solid #D2D1CF;
  background: #fff;
  padding: 0.8em;
  border-radius: 0.57em;
}
.contact__field input[type=text]::-moz-placeholder, .contact__field input[type=tel]::-moz-placeholder, .contact__field input[type=email]::-moz-placeholder, .contact__field textarea::-moz-placeholder {
  color: #8B8985;
  font-size: clamp(0px, 14 * var(--rate-vw), 14px * var(--cap));
  font-weight: 400;
  line-height: 1.8;
}
.contact__field input[type=text]::placeholder,
.contact__field input[type=tel]::placeholder,
.contact__field input[type=email]::placeholder,
.contact__field textarea::placeholder {
  color: #8B8985;
  font-size: clamp(0px, 14 * var(--rate-vw), 14px * var(--cap));
  font-weight: 400;
  line-height: 1.8;
}
.contact__field textarea {
  resize: vertical;
  min-height: 248px;
}

.contact__note {
  display: block;
  font-size: clamp(0px, 12 * var(--rate-fz), 12px * var(--cap));
  font-weight: 400;
  line-height: 1.6;
  margin-top: 0.57em;
}

.contact__option {
  display: inline-block;
  font-size: clamp(0px, 12 * var(--rate-vw), 12px * var(--cap));
  font-weight: 400;
  line-height: 1.6;
  color: #3E3A39;
  background: #E1DEDB;
  border-radius: 0.3em;
  padding: 0 0.3em;
  margin-left: 0.6em;
}

.contact__choices {
  display: flex;
  gap: clamp(0px, 16 * var(--rate-vw), 16px * var(--cap));
}
@media (max-width: 767px) {
  .contact__choices {
    flex-wrap: wrap;
  }
}

.contact__radio-custom {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.contact__radio-custom:has(input[type=radio]:checked) .contact__radio {
  background: #3A3A3A;
}
.contact__radio-custom:has(input[type=radio]:checked) .contact__radio::after {
  display: block;
}
.contact__radio-custom input[type=radio] {
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  width: 0;
  height: 0;
}

.contact__radio {
  display: inline-block;
  width: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
  aspect-ratio: 1/1;
  border: 1px solid #D2D1CF;
  border-radius: 50%;
  position: relative;
  margin-right: 0.5em;
}
.contact__radio::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 33%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #fff;
  transition: background-color 0.3s, border-color 0.3s;
  display: none;
}

.contact__privacy {
  margin-top: clamp(0px, 40 * var(--rate-vw), 40px * var(--cap));
  font-size: clamp(0px, 16 * var(--rate-fz), 16px * var(--cap));
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
  font-family: "Zen Old Mincho", serif;
}
.contact__privacy a {
  color: #268A9F;
  text-decoration: underline;
}
@media (max-width: 767px) {
  .contact__privacy {
    text-align: left;
    font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
  }
}

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

.contact__button {
  color: #000;
  cursor: pointer;
  position: relative;
  font-size: clamp(0px, 20 * var(--rate-fz), 20px * var(--cap));
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
  padding: 0.5em 2.7em;
  border: 1px solid #3A3A3A;
  border-radius: 2.8em;
  background: #fff;
}
.contact__button input {
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
@media (max-width: 767px) {
  .contact__button {
    font-size: clamp(0px, 16 * var(--rate-fz), 16px * var(--cap));
  }
}

/*------------------------------
THANKS
------------------------------*/
@media (min-width: 768px) {
  .thanks__title img {
    height: clamp(0px, 50 * var(--rate-vw), 50px * var(--cap));
  }
}

.thanks__content {
  padding-bottom: clamp(0px, 220 * var(--rate-vw), 220px * var(--cap));
}

.thanks__heading {
  font-size: clamp(0px, 24 * var(--rate-fz), 24px * var(--cap));
  font-weight: 700;
  line-height: 1.8;
  font-family: "Zen Old Mincho", serif;
}
@media (max-width: 767px) {
  .thanks__heading {
    font-size: clamp(0px, 18 * var(--rate-fz), 18px * var(--cap));
  }
}

.thanks__text {
  margin-top: clamp(0px, 60 * var(--rate-vw), 60px * var(--cap));
  font-size: clamp(0px, 16 * var(--rate-fz), 16px * var(--cap));
  font-weight: 400;
  line-height: 2.1;
  font-family: "Noto Serif JP", serif;
  letter-spacing: -0.05em;
}
@media (max-width: 767px) {
  .thanks__text {
    margin-top: clamp(0px, 30 * var(--rate-vw), 30px * var(--cap));
    font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
  }
}

.thanks__visual {
  margin-top: clamp(0px, 170 * var(--rate-vw), 170px * var(--cap));
  width: 89%;
}
@media (max-width: 767px) {
  .thanks__visual {
    margin-top: clamp(0px, 100 * var(--rate-vw), 100px * 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=contact.css.map */