@charset "UTF-8";
/* =====================
  お問い合わせ
 ======================= */
/** -------------------- 入力ページ -------------------- **/
.contact .req {
  color: #FF0000;
  font-weight: 700;
}
.contact .contact-lead {
  text-align: center;
  margin: 1.5rem 0;
  font-weight: 500;
  line-height: 1.75;
}
.contact .contact-tel {
  margin: 4rem auto;
  max-width: 59rem;
  border: 2px dotted var(--c_border);
  border-radius: 2.4rem;
  padding: 0.8rem;
}
.contact .contact-tel-header {
  background: var(--c_green);
  color: var(--c_wht);
  border-radius: 2.4rem 2.4rem 0 0;
  padding: 1.6rem;
}
.contact .contact-tel-ttl {
  text-align: center;
  font-weight: 700;
  line-height: 1.75;
}
.contact .contact-tel-body {
  background: var(--c_wht);
  border-radius: 0 0 2.4rem 2.4rem;
  text-align: center;
  padding: 1.6rem;
}
.contact .contact-tel-num {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 0.8rem;
     -moz-column-gap: 0.8rem;
          column-gap: 0.8rem;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.26;
}
.contact .contact-tel-num:before {
  content: "";
  background: url(../img/contact/icon_tel.png) no-repeat center/contain;
  width: 1.9rem;
  height: 2.4rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.contact .contact-tel-sub {
  font-weight: 500;
  lnie-height: 1.75;
  margin-top: 0.8rem;
}
.contact .contact-form {
  font-weight: 500;
  line-height: 1.75;
}
.contact .contact-form-dl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(auto, 32rem) 0 1fr;
  grid-template-columns: minmax(auto, 32rem) 1fr;
  gap: 0;
}
.contact .contact-form-dl dt {
  padding: 5.6rem 0 4rem;
  border-bottom: 1px solid rgba(112, 112, 112, 0.46);
}
.contact .contact-form-dl dt:before {
  content: "●";
}
.contact .contact-form-dl dt .req {
  margin-left: 0.8rem;
}
.contact .contact-form-dl dd {
  padding: 4rem 0;
  border-bottom: 1px solid rgba(112, 112, 112, 0.46);
}
.contact .contact-form input[type=text], .contact .contact-form input[type=tel], .contact .contact-form input[type=email] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  font-family: var(--font_ja);
  font-size: 100%;
  font-weight: 500;
  color: var(--c_text);
  background: var(--c_wht);
  border: 1px solid var(--c_border);
  border-radius: 0.5rem;
  padding: 1.6rem;
}
.contact .contact-form input[type=text]::-webkit-input-placeholder, .contact .contact-form input[type=tel]::-webkit-input-placeholder, .contact .contact-form input[type=email]::-webkit-input-placeholder {
  color: #BEBEBE;
}
.contact .contact-form textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  font-family: var(--font_ja);
  font-size: 100%;
  font-weight: 500;
  color: var(--c_text);
  background: var(--c_wht);
  border: 1px solid var(--c_border);
  border-radius: 0.5rem;
  padding: 1.6rem;
}
.contact .contact-form textarea::-webkit-input-placeholder {
  color: #BEBEBE;
}
.contact .contact-form select {
  width: 100%;
  font-family: var(--font_ja);
  font-size: 100%;
  font-weight: 500;
  color: var(--c_text);
  background: var(--c_wht);
  border: 1px solid var(--c_border);
  border-radius: 0.5rem;
  padding: 1.6rem;
}
.contact .contact-form .wpcf7-radio, .contact .contact-form .wpcf7-acceptance, .contact .contact-form .wpcf7-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 2em;
  padding-top: 1.6rem;
}
.contact .contact-form .wpcf7-radio .wpcf7-list-item, .contact .contact-form .wpcf7-acceptance .wpcf7-list-item, .contact .contact-form .wpcf7-checkbox .wpcf7-list-item {
  margin: 0;
}
.contact .contact-form .wpcf7-radio label, .contact .contact-form .wpcf7-acceptance label, .contact .contact-form .wpcf7-checkbox label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  cursor: pointer;
}
.contact .contact-form-privacy {
  text-align: center;
  margin: 6rem 0;
}
.contact .contact-form-privacy-txt {
  margin-bottom: 1.6rem;
}
.contact .contact-form-privacy-txt a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.contact .contact-form-privacy-check .wpcf7-acceptance {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.contact .contact-form-action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem 2.4rem;
}
.contact .contact-form-action button, .contact .contact-form-action .wpcf7-submit {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-family: var(--font_ja);
  cursor: pointer;
  -webkit-transition: var(--anim);
  transition: var(--anim);
}
.contact .contact-form-action button:disabled, .contact .contact-form-action .wpcf7-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-response-output {
  display: none;
}

#confirm-area,
#thanks-area {
  display: none;
}

/** -------------------- 完了ページ -------------------- **/
.thanks .thanks-txtbox {
  text-align: center;
  font-weight: 500;
  line-height: 2;
  margin: 8rem 0;
}
.thanks .thanks-txtbox p + p {
  margin-top: 2em;
}

@media (min-width: 699px) {
  #confirm-area .contact-form-dl dt {
    padding-top: 4rem;
  }
}
/* タブレット
  ------------------------ */
/* スマホ
  ------------------------ */
@media (max-width: 699px) {
  /** -------------------- 入力ページ -------------------- **/
  .contact .contact-tel {
    padding: 6px;
  }
  .contact .contact-tel-header {
    padding: 16px 8px;
  }
  .contact .contact-tel-body {
    padding: 16px 8px;
  }
  .contact .contact-form-dl {
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
  }
  .contact .contact-form-dl dt {
    padding: 0 0 12px;
    border: 0;
  }
  .contact .contact-form-dl dd {
    padding: 0 0 16px;
  }
  .contact .contact-form-dl dd + dt {
    margin-top: 16px;
  }
  .contact .contact-form input[type=text], .contact .contact-form input[type=tel], .contact .contact-form input[type=email] {
    font-size: 16px;
  }
  .contact .contact-form textarea {
    font-size: 16px;
  }
  .contact .contact-form select {
    font-size: 16px;
  }
  .contact .contact-form .wpcf7-radio, .contact .contact-form .wpcf7-acceptance, .contact .contact-form .wpcf7-checkbox {
    padding-top: 0;
  }
  .contact .contact-form-privacy {
    margin: 32px 0;
  }
  .contact .contact-form-action {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .contact .contact-form-action .cmn-btn01--white {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  /** -------------------- 完了ページ -------------------- **/
  .thanks .thanks-txtbox {
    text-align: left;
    line-height: 1.75;
    margin: 40px 0;
  }
}