@charset "UTF-8";
/* メールフォームプロ reset */
form#mailformpro {
  padding: 0px;
}
.mfp_element_text,
.mfp_element_number, 
.mfp_element_select-one, 
.mfp_element_email, 
.mfp_element_tel, 
.mfp_element_textarea, 
.mfp_element_date, 
.mfp_element_password {
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
}
.mfp_element_all {
  max-width: none;
}
form#mailformpro label {
  border-radius: 0;
  margin: 0;
}
form#mailformpro label.mfp_not_checked {
  padding: 0;
  border: none;
}
form#mailformpro label.mfp_checked {
  padding: 0;
  border: none;
  background: none;
  box-shadow: none;
}
.mfp_element_submit {
  appearance: none;
  background: none;
  border: none;
  text-shadow: none;
}
.mfp_element_submit:hover {
  box-shadow: none;
  background: none;
}
div.mfp_err {
  line-height: 1;
}
/* /メールフォームプロ reset */

footer .link__wrap {
  display: none;
}
.footer__content {
  background: none;
}

.contact__content__wrap .lead__text {
  font-weight: bold;
}

.form__item__container {
  border: 1px solid #C8C8C8;
}
.form__item__wrap + .form__item__wrap {
  border-top: 1px solid #C8C8C8;
}
.form__item__label {
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  font-weight: bold;
}
.form__item__label i.req__mark {
  color: #FF0000;
  font-style: normal;
  font-size: 0.8em;
}
.form__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}
.mfp_element_text,
.mfp_element_number,
.mfp_element_email, 
.mfp_element_tel, 
.mfp_element_textarea {
  background-color: #DCDCDC;
}
.submit__btn__wrap button {
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #0064A0;
  color: #fff;
  font-weight: bold;
}
.mfp_element_submit:hover {
  background-color: #0064A0;
}

/* thanks */
.to__top a {
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #0064A0;
  color: #fff;
  font-weight: bold;
}

@media (max-width: 767px) {
  .contact__content__wrap .lead__text {
    font-size: 16px;
  }
  .contact__content__wrap .att__text {
    font-size: 14px;
    margin-top: 13px;
  }

  .form__wrap {
    margin-top: 16px;
  }
  .form__item__label {
    padding: 10px 12px 10px;
    border-bottom: 1px solid #C8C8C8;
    font-size: 16px;
  }
  .form__item {
    flex: 1;
    min-height: 60px;
    padding: 12px 12px;
  }
  .form__item__label:has(.mfp_element_textarea) {
    min-height: 240px;
  }
  .form__item:has(.mfp_element_textarea) {
    min-height: 240px;
  }
  .mfp_element_text,
  .mfp_element_number,
  .mfp_element_email, 
  .mfp_element_tel {
    width: 400px;
    max-width: 100%;
    height: 36px;
    font-size: 16px;
  }
  .mfp_element_textarea {
    width: 100%!important;
    min-height: 220px!important;
    font-size: 16px;
    padding: 0.2em 0.5em;
  }
  .form__item__fx {
    display: flex;
    gap: 0 3em;
  }
  form#mailformpro .form__item label {
    display: flex;
    align-items: center;
    gap: 0 0.5em;
  }
  .submit__btn__wrap {
    margin-top: 57px;
  }
  .submit__btn__wrap button {
    width: 200px;
    height: 60px;
    font-size: 20px;
    border-radius: 6px;
  }

  /* thanks */
  .to__top {
    margin-top: 57px;
  }
  .to__top a {
    width: 200px;
    height: 60px;
    font-size: 16px;
    border-radius: 6px;
  }
}

@media (min-width: 768px) {
  .contact__content__wrap .lead__text {
    font-size: 16px;
  }
  .contact__content__wrap .att__text {
    font-size: 14px;
    margin-top: 13px;
  }

  .form__wrap {
    margin-top: 16px;
  }
  .form__item__wrap {
    display: flex;
  }
  .form__item__label {
    padding: 10px 10px 10px 33px;
    width: 192px;
    min-height: 60px;
    border-right: 1px solid #C8C8C8;
    font-size: 16px;
  }
  .form__item {
    flex: 1;
    min-height: 60px;
    padding: 12px 20px;
  }
  .form__item__label:has(.mfp_element_textarea) {
    min-height: 120px;
  }
  .form__item:has(.mfp_element_textarea) {
    min-height: 120px;
  }
  .mfp_element_text,
  .mfp_element_number,
  .mfp_element_email, 
  .mfp_element_tel {
    width: 400px;
    max-width: 100%;
    height: 36px;
    font-size: 16px;
  }
  .mfp_element_textarea {
    width: 100%!important;
    min-height: 96px!important;
    font-size: 16px;
    padding: 0.2em 0.5em;
  }
  .form__item__fx {
    display: flex;
    gap: 0 3em;
  }
  form#mailformpro .form__item label {
    display: flex;
    align-items: center;
    gap: 0 0.5em;
  }
  .submit__btn__wrap {
    margin-top: 57px;
  }
  .submit__btn__wrap button {
    width: 200px;
    height: 60px;
    font-size: 20px;
    border-radius: 6px;
  }

  /* thanks */
  .to__top {
    margin-top: 57px;
  }
  .to__top a {
    width: 200px;
    height: 60px;
    font-size: 16px;
    border-radius: 6px;
  }
}