/**
 * File page-contact.css
 * Usage: page-contact.php(お問い合わせページ)のスタイルを定義します。
*/

.bl_contactformWrap {
  padding-top: 49px;
  padding-inline: 30px;
  font-family: 'NotoSansJP', sans-serif;
}

.wpcf7-form-control {
  width: 100%;
  background: #faf5f1;
  appearance: none;
  display: block;
  padding: 20px;
  border: none;
  border-radius: 3px;
}

.wpcf7-form-control:has(.el_formCheck) {
  background: transparent;
  margin-top: 24px;
  padding: 0;
}

.el_formSelect {
  background-image: url(../../vector/chevron-down.svg);
  background-repeat: no-repeat;
  color: var(--text_main);
  background-position: right 16px center;
}

.el_formSelect.el_formSelect option:first-child {
  color: grey;
}

.el_formSelect.el_formSelect:invalid {
  color: grey;
}

.wpcf7-form-control:has(.el_formCheck) {
  margin-top: 40px;
}

.el_formCheck[type='checkbox'] {
  position: relative;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  border: 1px solid #ab8b8c;
  background: #faf5f1;
  vertical-align: -5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.el_formCheck[type='checkbox']:checked:before {
  position: absolute;
  top: 4px;
  left: 14px;
  transform: rotate(45deg);
  height: 19px;
  border-right: 3px solid #ab8b8c;
  border-bottom: 3px solid #ab8b8c;
  content: '';
  border-radius: 5px;
}

.el_formCheck[type='checkbox']:checked:after {
  position: absolute;
  top: 15px;
  left: 3px;
  transform: rotate(45deg);
  width: 8px;
  border-right: 3px solid #ab8b8c;
  border-bottom: 3px solid #ab8b8c;
  content: '';
  border-radius: 5px;
}

label:has(.el_formCheck) a {
  text-decoration: underline;
  font-weight: 500;
}

label:has(.el_formCheck) .el_asterisk {
  margin-inline-start: 8px;
}

label:has(.el_formCheck) .wpcf7-list-item-label {
  font-size: 14px;
  display: inline;
}

.wpcf7-list-item {
  margin: 0;
}

.wpcf7-form-control:focus-visible {
  outline: #ab8b8c 1px solid;
}

.wpcf7-form-control::placeholder,
.wpcf7-form-control option[value=''] {
  color: #808080;
}

.wpcf7-form-control.el_formSubmit {
  display: flex;
  padding: 0;
}

.bl_btnCont {
  flex-direction: column;
}

.el_btn_long {
  margin-top: 64px;
  height: 50px;
  background: #4d4d4d;
  border-radius: 37px;
  font-size: 16px;
  color: #fff;
  width: 280px;
  justify-content: center;
}

.bl_contactAsterisk {
  padding-top: 24px;
  display: flex;
  flex-direction: row;
  gap: 4px;
  align-items: center;
  font-size: 14px;
}

.el_asterisk {
  display: inline-block;
  width: fit-content;
  color: #fff;
  background: #ab8b8c;
  padding-inline: 8px;
  font-size: 10px;
  font-weight: 400;
  border-radius: 9px;
  height: 17px;
}

.el_notStrict {
  color: #ab8b8c;
  background: #fff;
}

.bl_contactform {
  margin-top: 64px;
  font-family: 'NotoSansJP', sans-serif;
  font-size: 18px;
  font-weight: 400;
}

.bl_contactform label:not(:first-of-type) {
  padding-top: 40px;
}

.bl_contactform label {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  padding-bottom: 16px;
}

.ly_faq {
  background: transparent;
}

@media screen and (width >= 768px) {
  .bl_contactformWrap.hp_containerWidth {
    padding-top: 18.5vh;
    max-width: 960px;
    padding-inline-start: 130px;
    padding-inline-end: 30px;
    margin-inline: auto;
  }

  .bl_contactform {
    margin-top: 116px;
    padding-bottom: 18.5vh;
  }

  .bl_contactAsterisk {
    padding-top: 40px;
  }

  .bl_contactform label:not(:first-of-type) {
    padding-top: 60px;
  }

  .bl_contactform label {
    gap: 16px;
  }

  .bl_btnCont {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }

  .ly_faq {
    padding-top: 0px;
  }

  .bl_faqCont {
    padding-top: 80px;
    border-top: 1px solid #e6ddd3;
  }
}

.bl_thanks_title{
font-size:1.5em;
font-weight:medium;
text-align:center;
}

.bl_thanks_text{
margin-top:3em;
text-align:center;
line-height:2;
padding-bottom:10em;
}

@media screen and (max-width :768px) {
.bl_thanks_title{
text-align:left;
}

.bl_thanks_text{
text-align:left;
}
}


