@charset "UTF-8";
:root {
  --inner-scale: 1;
  --vw-base: calc(1600 / var(--inner-scale));
  --inner: 1260;
  --inner-1600: 1600px;
}
@media screen and (max-width: 767px) {
  :root {
    --vw-base: 375;
    --inner-scale: 1;
    --inner: 315;
  }
}

/* ===============================
  お問い合せ
=============================== */
.contact-us__container {
  padding: calc(85 * 100vw / var(--vw-base)) 0 calc(270 * 100vw / var(--vw-base));
}
@media (max-width: 767px) {
  .contact-us__container {
    padding: calc(50 * 100vw / var(--vw-base)) 0 calc(100 * 100vw / var(--vw-base));
  }
}

.contact-us__message {
  font-size: calc(18 * 100vw / var(--vw-base));
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
}
@media (max-width: 767px) {
  .contact-us__message {
    font-size: calc(14 * 100vw / var(--vw-base));
  }
}

.contact-us__note {
  font-size: calc(18 * 100vw / var(--vw-base));
  font-weight: 400;
  line-height: 2.4444444444;
  margin-top: 4.5em;
  position: relative;
  padding-left: 1.5em;
}
.contact-us__note::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: #80b44b;
  width: 1.3em;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .contact-us__note {
    font-size: calc(14 * 100vw / var(--vw-base));
    line-height: 1.5;
  }
  .contact-us__note::before {
    top: 10%;
    transform: unset;
    width: 1em;
  }
}

.contact-us__content {
  margin-top: calc(40 / var(--inner) * 100%);
  background: #e6e6e6;
  border-radius: calc(25 * 100vw / var(--vw-base));
  padding: calc(60 / var(--inner) * 100%);
}
@media (max-width: 767px) {
  .contact-us__content {
    padding: calc(50 / var(--inner) * 100%) calc(15 / var(--inner) * 100%);
  }
}

.contact-us__items {
  display: flex;
  flex-wrap: wrap;
}
.contact-us__items dt, .contact-us__items dd {
  font-size: calc(18 * 100vw / var(--vw-base));
  font-weight: 400;
  border-bottom: 1px solid #595757;
}
.contact-us__items dt:first-of-type, .contact-us__items dd:first-of-type {
  border-top: 1px solid #595757;
}
@media (max-width: 767px) {
  .contact-us__items {
    display: block;
  }
  .contact-us__items dt, .contact-us__items dd {
    font-size: calc(14 * 100vw / var(--vw-base));
  }
  .contact-us__items dt {
    border-bottom: none;
  }
  .contact-us__items dd:first-of-type {
    border-top: none;
  }
}

.contact-us__label,
.contact-us__field {
  padding: 2.16em 0;
}

.contact-us__label {
  width: calc(360 * 100vw / var(--vw-base));
  padding-left: 2em;
  padding-right: 3em;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 767px) {
  .contact-us__label {
    width: 100%;
    padding: 1.5em 0;
  }
}

.contact-us__label--required {
  position: relative;
}
.contact-us__label--required::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.5em;
  transform: translateY(-50%);
  background: #80b44b;
  width: 1em;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .contact-us__label--required {
    padding-left: 1.5em;
  }
  .contact-us__label--required::before {
    left: 0;
    width: 1em;
  }
}

.contact-us__field {
  width: calc(100% - (360 * 100vw / var(--vw-base)));
}
.contact-us__field input[type=text],
.contact-us__field input[type=tel],
.contact-us__field input[type=email],
.contact-us__field select,
.contact-us__field textarea {
  font: inherit;
  font-family: inherit;
  color: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  width: 100%;
  border: 1px solid #4d4d4d;
  background: #fff;
  padding: 0.2em 0.5em;
  font-size: calc(18 * 100vw / var(--vw-base));
  font-weight: 400;
  border-radius: 0;
}
.contact-us__field textarea {
  resize: vertical;
  min-height: 293px;
}
@media (max-width: 767px) {
  .contact-us__field {
    width: 100%;
    padding: 0 0 1.5em 0;
  }
  .contact-us__field input[type=text],
.contact-us__field input[type=tel],
.contact-us__field input[type=email],
.contact-us__field select,
.contact-us__field textarea {
    font-size: calc(14 * 100vw / var(--vw-base));
  }
}

.contact-us__select {
  width: calc(280 * 100vw / var(--vw-base));
  position: relative;
}
.contact-us__select::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.6em;
  transform: translateY(-50%);
  background: url(../img/icon_arrow04.svg) no-repeat center center/contain;
  width: 0.8em;
  aspect-ratio: 14/10;
}
@media (max-width: 767px) {
  .contact-us__select {
    width: 100%;
  }
}

.contact-us__post-code {
  display: flex;
  align-items: center;
}
.contact-us__post-code .add-btn {
  font-size: calc(18 * 100vw / var(--vw-base));
  font-weight: 400;
  color: #fff;
  background: #2e9559;
  border-radius: 5px;
  height: 100%;
  padding: 0.4em 0.7em;
  margin-left: 1.2em;
}
@media (max-width: 767px) {
  .contact-us__post-code {
    display: block;
  }
  .contact-us__post-code .add-btn {
    margin-left: 0;
    margin-top: 1em;
    text-align: center;
  }
}

.contact-us__post-code-field {
  display: flex;
  align-items: center;
  position: relative;
  padding-left: calc(30 * 100vw / var(--vw-base));
}
.contact-us__post-code-field::before {
  content: "〒";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-size: calc(18 * 100vw / var(--vw-base));
  font-weight: 400;
}

.contact-us__post-code01 {
  width: calc(87 * 100vw / var(--vw-base));
}

.contact-us__post-code02 {
  width: calc(112 * 100vw / var(--vw-base));
  margin-left: calc(40 * 100vw / var(--vw-base));
  position: relative;
}
.contact-us__post-code02::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(-20 * 100vw / var(--vw-base));
  transform: translate(-50%, -50%);
  background: #595757;
  width: calc(12 * 100vw / var(--vw-base));
  height: 1px;
}

.contact-us__address-field {
  display: flex;
  align-items: center;
  font-size: calc(18 * 100vw / var(--vw-base));
  font-weight: 400;
}
.contact-us__address-field:nth-child(n+2) {
  margin-top: calc(10 * 100vw / var(--vw-base));
}
.contact-us__address-field:first-child input[type=text] {
  width: calc(120 * 100vw / var(--vw-base));
}
.contact-us__address-field label {
  width: calc(80 * 100vw / var(--vw-base));
}
.contact-us__address-field input[type=text] {
  width: calc(100% - (80 * 100vw / var(--vw-base)));
}
@media (max-width: 767px) {
  .contact-us__address-field {
    font-size: calc(14 * 100vw / var(--vw-base));
  }
}

.contact-us__privacy {
  font-size: calc(18 * 100vw / var(--vw-base));
  font-weight: 400;
  line-height: 1.7222222222;
}
@media (max-width: 767px) {
  .contact-us__privacy {
    font-size: calc(14 * 100vw / var(--vw-base));
  }
}

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

.contact-us__checkbox {
  display: inline-block;
  width: 1.67em;
  height: 1.67em;
  border: 1px solid #4d4d4d;
  background: #fff;
  position: relative;
  margin-right: 1em;
}
.contact-us__checkbox::after {
  content: "";
  position: absolute;
  top: 40%;
  left: 70%;
  transform: translate(-50%, -50%);
  display: block;
  background: url(../img/icon_checkmark.svg) no-repeat center center/cover;
  width: 2em;
  aspect-ratio: 30/20;
  display: none;
}

.contact-us__privacy-text {
  margin-top: 1.3em;
  font-feature-settings: "palt";
}

.contact-us__submit {
  margin-top: calc(90 * 100vw / var(--vw-base));
}
@media (max-width: 767px) {
  .contact-us__submit {
    margin-top: calc(40 * 100vw / var(--vw-base));
  }
}

@media (min-width: 768px) {
  .c-formBt-submit {
    margin-left: calc(30 * 100vw / var(--vw-base));
  }
}
@media (max-width: 767px) {
  .c-formBt-submit {
    margin-top: calc(15 * 100vw / var(--vw-base));
  }
}

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

.thanks__container {
  padding: calc(130 * 100vw / var(--vw-base)) 0 calc(320 * 100vw / var(--vw-base));
}
@media (max-width: 767px) {
  .thanks__container {
    padding: calc(60 * 100vw / var(--vw-base)) 0 calc(100 * 100vw / var(--vw-base));
  }
}

.thanks__message {
  font-size: calc(20 * 100vw / var(--vw-base));
  font-weight: 400;
  line-height: 2;
  text-align: center;
}
@media (max-width: 767px) {
  .thanks__message {
    font-size: calc(14 * 100vw / var(--vw-base));
  }
}

.thanks__button {
  margin-top: calc(80 / var(--inner) * 100%);
}
.thanks__button a {
  display: block;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .thanks__button {
    margin-top: calc(40 / var(--inner) * 100%);
  }
}

.invalid-caution { /* バリデーションエラーメッセージ */
  width: 100%;
  color: #C1262D;
  font-size: calc(16 * 100vw / var(--vw-base));
}

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=con] .contact-us__select::after {
  display: none;
}

[data-form-mode=in] .is-con {
  display: none !important;
}
/*# sourceMappingURL=contact-us.css.map */