@charset "UTF-8";
/* =====================
  お問い合わせ
 ======================= */
/** -------------------- 入力ページ -------------------- **/
.contact-lead {
  text-align: center;
  margin-bottom: 4.167%;
  font-size: 125%;
}

.contact-form {
  padding: 9.375% 12.5%;
  background: #E3F4FA;
  border-radius: 1.5em;
}

.contact-form-dl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 0 1fr;
  grid-template-columns: auto 1fr;
  gap: 0;
  font-size: 125%;
}
.contact-form-dl dt {
  padding: 2.4em 0 2em;
  border-top: 1px solid var(--c_border);
  font-weight: 700;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
.contact-form-dl dt:first-of-type {
  padding-top: 0.4em;
  border-top: 0;
}
.contact-form-dl dt .req {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #C74D4D;
  color: var(--c_wht);
  padding: 0 0.8em;
  border-radius: 100px;
}
.contact-form-dl dd {
  padding: 2em 0 2em 1.6em;
  border-top: 1px solid var(--c_border);
}
.contact-form-dl dd:first-of-type {
  padding-top: 0;
  border-top: 0;
}
.contact-form-dl dd a {
  text-decoration: underline;
  text-underline-offset: 0.25em;
  text-decoration-thickness: 1px;
}

.contact-form-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.6em;
     -moz-column-gap: 0.6em;
          column-gap: 0.6em;
}

.contact-form-address > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2em;
     -moz-column-gap: 2em;
          column-gap: 2em;
}
.contact-form-address > div + div {
  margin-top: 1.2em;
}
.contact-form-address label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: 4em;
}

.contact-form-privacy {
  text-indent: -1em;
  padding-left: 1em;
  display: block;
}

.contact-form-submit {
  margin-top: 2.5%;
  text-align: center;
}
.contact-form-submit button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-transition: var(--anim);
  transition: var(--anim);
  cursor: pointer;
}

form input[type=text], form input[type=email], form input[type=tel] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  font-family: var(--font_ja);
  font-size: 100%;
  background: var(--c_wht);
  border: 0;
  padding: 0.4em;
}
form input[type=checkbox] {
  font-size: 100%;
  width: 1em;
  height: 1em;
  margin: 0 0.5em 0 0;
}
form textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100% !important;
  height: 11.8em !important;
  font-family: var(--font_ja);
  font-size: 100%;
  background: var(--c_wht);
  border: 0;
  padding: 0.4em;
}

/** -------------------- 確認モーダル -------------------- **/
#mfp_overlay h4 {
  text-align: center;
  margin-bottom: 1em;
}
#mfp_overlay #mfp_confirm_table {
  width: 100%;
}
#mfp_overlay #mfp_confirm_table th, #mfp_overlay #mfp_confirm_table td {
  padding: 0.4em 0.2em;
}
#mfp_overlay .mfp_buttons {
  margin-top: 1em;
  text-align: center;
}
#mfp_overlay .mfp_element_button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 200px;
  font-family: var(--font_ja);
  font-size: 100%;
  background: var(--c_blue);
  color: var(--c_wht);
  border-radius: 100px;
  padding: 0.2em 1.6em 0.4em;
  border: 2px solid var(--c_blue);
  margin: 0 0.8em;
  -webkit-transition: var(--anim);
  transition: var(--anim);
  cursor: pointer;
}
#mfp_overlay .mfp_element_button:hover {
  opacity: 0.7;
}
#mfp_overlay #mfp_button_cancel {
  background: var(--c_border);
  border-color: var(--c_border);
}

/** -------------------- 完了ページ -------------------- **/
.thanks-txt {
  text-align: center;
}
.thanks-txt p + p {
  margin-top: 2em;
}

/* タブレット
  ------------------------ */
@media (max-width: 1079px) {
  .contact-lead {
    font-size: 20px;
  }
  .contact-form {
    padding: 9.375% 40px;
  }
  .contact-form-dl {
    font-size: 20px;
  }
  .contact-form-address > div {
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
  }
}
/* スマホ
  ------------------------ */
@media (max-width: 699px) {
  /** -------------------- 入力ページ -------------------- **/
  .contact {
    overflow: hidden;
  }
  .contact-lead {
    font-size: 16px;
    margin-bottom: 30px;
  }
  .contact-form {
    padding: 40px 0;
    border-radius: 0;
    position: relative;
  }
  .contact-form:before {
    content: "";
    width: 100vw;
    height: 100%;
    background: #E3F4FA;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: -1;
  }
  .contact-form-dl {
    display: block;
    font-size: 16px;
  }
  .contact-form-dl dt {
    padding: 24px 0 12px;
    border: 0;
    -webkit-column-gap: 12px;
       -moz-column-gap: 12px;
            column-gap: 12px;
  }
  .contact-form-dl dt:first-of-type {
    padding-top: 0;
  }
  .contact-form-dl dt .req {
    padding: 0 12px;
  }
  .contact-form-dl dd {
    padding: 0 0 24px;
    border: 0;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
  }
  .contact-form-address > div {
    -webkit-column-gap: 12px;
       -moz-column-gap: 12px;
            column-gap: 12px;
  }
  .contact-form-address > div + div {
    margin-top: 8px;
  }
  /** -------------------- 確認モーダル -------------------- **/
  #mfp_overlay #mfp_confirm_table {
    font-size: 14px;
  }
  #mfp_overlay #mfp_confirm_table th, #mfp_overlay #mfp_confirm_table td {
    display: block;
    text-align: center;
    padding: 4px;
  }
  #mfp_overlay .mfp_element_button {
    margin: 8px;
  }
  /** -------------------- 完了ページ -------------------- **/
  .thanks-txt {
    text-align: left;
  }
}