/*-------------------------------
イントロ
-------------------------------*/
#contact_intro .intro_title {
  font-family: var(--ff-maru);
  font-size: var(--fs-intro-title);
  text-align: center;
  margin-bottom: 1em;
}
#contact_intro .tool_list {
  display: flex;
  flex-wrap: wrap;
  counter-reset: count 0;
  width: fit-content;
  margin: 0 auto;
  gap: 0.5em 1em;

  & li {
    font-family: var(--ff-maru);
    font-size: var(--fs-bl-title);

    &::before {
      display: inline-flex;
      content: counter(count);
      counter-increment: count 1;
      font-size: 80%;
      width: 1em;
      height: 1em;
      justify-content: center;
      align-items: center;
      border: 0.1rem solid;
      border-radius: 50%;
    }
  }
}
#contact_intro .text {
  font-family: var(--ff-maru);
  font-size: var(--fs-bl-title);
  width: fit-content;
  margin: 0 auto;
}
#contact_intro .tool_btn_list {
  counter-reset: count 0;
  margin-top: 5rem;
  @media (min-width:768px) {
    display: flex;
    justify-content: space-between;
    gap: 1em;
    margin-top: 7rem;
  }

  & li {
    max-width: 40rem;
    margin: 0 auto 1.6rem;
    border-radius: 1rem;
    @media (min-width:768px) {
      width: 31%;
      margin: 0;
    }
    & a {
      display: flex;
      color: #FFF;
      font-family: var(--ff-maru);
      font-size: var(--fs-bl-title);
      line-height: 1.5;
      align-items: center;
      height: 3.7em;
      padding-right: 0.7em;
      gap: 0 0.5em;
      transform: rotate(0.05deg);
      @media (min-width:768px) {
        font-size: clamp( 1.6rem, calc( -0.11707317073170742rem + 2.2357723577235773vw ), 2.7rem );
      }

      &::before {
        display: block;
        content: "";
        width: 26%;
        height: 1.5em;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
      }
      .text_wrap {
        width: 73%;
      }
    }
    &:nth-child(1) {
      background: #109EE6;
      & a::before {
        background-image: url(/assets/img/common/icon_tel.svg);
      }
    }
    &:nth-child(2) {
      background: #00B900;
      & a::before {
        background-image: url(/assets/img/common/icon_line.svg);
      }
    }
    &:nth-child(3) {
      background: #F45F3A;
      & a::before {
        background-image: url(/assets/img/common/icon_mail.svg);
      }
    }

  }
}
/*-------------------------------
フォーｆム
-------------------------------*/
.form_item {
  display: block;
  max-width: 100rem;
  margin: 0 auto;
  @media (min-width:768px) {
    display: flex;
    padding: 1em;
  }
  & dt {
    display: block;
    font-family: var(--ff-maru);
    margin-bottom: 0.5em;
    transform: rotate(0.05deg);
    @media (min-width:768px) {
      width: 25%;
      margin-bottom: 0;
    }
  }
  & dd {
    @media (min-width:768px) {
      width: 70%;
    }
  }
}
.form_item + .form_item {
  margin-top: 2.5rem;
  @media (min-width:768px) {
    margin-top: 0;
  }
}
.input_area .form_item dt::after {
  display: inline-block;
  color: #FFF;
  content:"必須";
  font-family: 'Noto Sans JP', Meiryo, "メイリオ", YuGothic, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  margin-left: 0.5em;
  padding: 0 0.5em;
  background: var(--key-color);
}
input[type=text],
input[type=date],
input[type=tel],
input[type=email] {
  font-size: inherit;
  line-height: 2;
  width: 100%;
  border: 1px solid #847B6E;
}
textarea {
  font-size: inherit;
  width: 100%;
  height: 10em;
  border: 1px solid #847B6E;
}
.error_message {
  color: #e50012;
}
.privacy_wrap p {
  width: fit-content;
  margin: 0 auto;
}
.recaptcha {
  margin-top: 1em;
}
.recaptcha a {
  font-size: inherit;
}
.btn_wrap .btn {
  font-size: var(--fs-normal);
  margin: 0 auto;
  transition: 0.4s all ease;
  cursor: pointer;
} 
.btn_wrap .wpcf7-spinner {
  position: absolute;
  right: 0;
  top: 100%;
}
.confirm_area {
  display: none;
}
.confirm_area .block_title {
  text-align: center;
  margin-bottom: 2em;
}
.confirm_area .form_info_confirm {
  max-width: 83rem;
  margin: 0 auto 2em;
  @media (min-width:768px) {
    padding-left: 1em;
  }
}
.confirm_area .form_item {
  margin-bottom: 7rem;
  padding: 0;
  border-bottom: 0.1rem solid var(--gray);
}
.confirm_area .btn_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 7%;

  .back_btn {
    margin: 0 0 1em;
    background: var(--gray);
    border: 1px solid var(--gray);
    &:hover {
      color:var(--gray);
      background: #FFF;
    }
  }
  .send_btn {
    margin: 0 0 1em;
  }
} 
/*-----------------------------------------------
送信完了ページ
-----------------------------------------------*/
.page_thanks section p {
  width: fit-content;
  margin: 0 auto;
}