@charset "utf-8";


/* ===============================================
# Contact
=============================================== */

/* area_tel
----------------------------------------------- */
.area_form + .area_tel{
  margin-top: 80px;
}
.area_tel .box_tel{
  border: 1px solid #b0b8bb;
  border-radius: 32px;
  overflow: hidden;
}
.area_tel .ttl_tel{
  background: #e6ecee;
  font-size: 2.2rem;
  font-family: var(--font-set-jp);
  font-weight: 700;
  text-align: center;
  padding: 14px 20px;
  border-bottom: 1px solid #b0b8bb;
}
.area_tel .list_tel{
  display: flex;
  justify-content: space-between;
  padding: 32px 0 46px;
}
.area_tel .list_tel li{
  width: 33.33%;
}
.area_tel .list_tel li + li{
  border-left: 1px solid #b0b8bb;
}
.area_tel .list_tel li > p{
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
.area_tel .list_tel li > a{
  font-family: var(--font-set-en);
  font-weight: 600;
  font-size: 3.2rem;
  font-size: clamp(2.8rem,3.353vw,3.2rem);
  text-align: center;
  display: block;
  color: #000;
  line-height: 1.5;
}
@media screen and (max-width :834px){
  .area_form + .area_tel{
    margin-top: 64px;
  }
  .area_tel .ttl_tel{
    font-size: 1.7rem;
    padding: 9px 10px;
  }
  .area_tel .list_tel{
    flex-direction: column;
    padding: 18px 13.84vw 17px;
  }
  .area_tel .list_tel li{
    width: 100%;
  }
  .area_tel .list_tel li + li{
    border-left: none;
    border-top: 1px solid #b0b8bb;
    margin-top: 20px;
    padding-top: 16px;
  }
  .area_tel .list_tel li > p{
    font-size: 1.6rem;
  }
  .area_tel .list_tel li > a{
    font-size: 2.6rem;
    line-height: 1.2;
  }
}

/* area_step
----------------------------------------------- */
.area_step .list_step{
  display: flex;
}
.area_step .list_step li{
  width: 33.33%;
  border: 1px solid #000;
  text-align: center;
  font-size: 1.8rem;
  padding: 14px 0;
  padding-left: 20px;
  position: relative;
}
.area_step .list_step li:nth-child(1)::before,
.area_step .list_step li:nth-child(2)::before,
.area_step .list_step li:nth-child(1)::after,
.area_step .list_step li:nth-child(2)::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 0px;
  height: 0px;
  border-color: transparent #000;
  border-style: solid;
  border-width: 32px 0px 32px 19px;
  right: -20px;
  z-index: 1;
}
.area_step .list_step li:nth-child(1)::after,
.area_step .list_step li:nth-child(2)::after{
  border-color: transparent #fff;
  right: -19px;
}
.area_step .list_step li:first-child{
  width: 32.638%;
  padding-left: 10px;
  border-radius: 18px  0 0 18px;
  border-right: none;
}
.area_step .list_step li:not(:first-child):not(:last-child){
  border-left: none;
  border-right: none;
}
.area_step .list_step li:last-child{
  width: 34.027%;
  padding-left: 30px;
  border-radius: 0 18px 18px 0;
  border-left: none;
}
.area_step .list_step li.is_active{
  background-color: #000;
  color: #fff;
}
.area_step .list_step li.is_active:nth-child(1)::after,
.area_step .list_step li.is_active:nth-child(2)::after{
  border-color: transparent #000;
}
.area_step .list_step li.is_past{
  background-color: #e6ecee;
  color: #6f777b;
  border-color: #b0b8bb;
}
.area_step .list_step li.is_past:nth-child(1)::before,
.area_step .list_step li.is_past:nth-child(2)::before,
.area_step .list_step li.is_past:nth-child(1)::after,
.area_step .list_step li.is_past:nth-child(2)::after{
  border-color: transparent #b0b8bb;
}
.area_step .list_step li.is_past:nth-child(1)::after,
.area_step .list_step li.is_past:nth-child(2)::after{
  border-color: transparent #e6ecee;
}
.area_step .list_step li .no{
  font-family: var(--font-set-en);
  font-weight: 600;
  margin-right: 8px;
}
.area_step +*{
  margin-top: 50px;
}
@media screen and (max-width :834px){
  .area_step .list_step li{
    font-size: 1.2rem;
    line-height: 1;
    padding: 9px 0 12px;
    padding-left: 13px;
    width: 32.857%;
  }
  .area_step .list_step li:first-child{
    padding-left: 0;
    width: 31.428%;
  }
  .area_step .list_step li:last-child{
    padding-left: 10px;
    width: 35.714%;
  }
  .area_step .list_step li .no{
    display: block;
    margin-right: 0;
    margin-bottom: 5px;
  }
  .area_step .list_step li:nth-child(1)::before,
  .area_step .list_step li:nth-child(2)::before,
  .area_step .list_step li:nth-child(1)::after,
  .area_step .list_step li:nth-child(2)::after{
    border-width: 26px 0px 25px 14px;
    right: -14px;
  }
  .area_step .list_step li:nth-child(1)::after,
  .area_step .list_step li:nth-child(2)::after{
    right: -13px;
  }
}

/* area_form
----------------------------------------------- */
.area_form{
  margin-top: 60px;
}
.area_form .box_error{
  background-color: #ffe2e0;
  color: #ef2420;
  padding: 15px 18px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.area_form .box_error::before{
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background: url(/contact/img/ico_error.svg) no-repeat center/contain;
}
.area_form .form_contents{
  border-top: 1px solid #b0b8bb;
  border-bottom: 1px solid #b0b8bb;
  margin-top: 50px;
}
.area_form .form_contents + .form_contents{
  margin-top: 80px;
}
.area_form .form_contents > div{
  display: flex;
  align-items: center;
  padding: 32px 0;
}
.area_form .form_contents > div + div{
  border-top: 1px solid #b0b8bb;
}
.area_form .form_contents dt{
  width: 200px;
}
.area_form .form_contents dd{
  width: calc(100% - 200px);
  position: relative;
}
.area_form .form_contents dt .ico{
  background: #ef2420;
  color: #fff;
  border-radius: 4px;
  padding: 1px 8px 3px;
  font-size: 1.3rem;
  margin-left: 10px;
}
.area_form .form_contents input,
.area_form .form_contents textarea{
  background-color: #e6ecee;
  border: 1px solid #b0b8bb;
  border-radius: 8px;
  height: 48px;
  max-width: 478px;
  width: 100%;
  padding: 0 18px;
  outline: none;
  font-size: 1.6rem;
}
.area_form .form_contents input.is_large{
  max-width: 589px;
}
.area_form .form_contents input.is_middle{
  max-width: 478px;
}
.area_form .form_contents input.is_small{
  max-width: 300px;
}
.area_form .form_contents input.is_error{
  background-color: #ffe2e0;
  border: 1px solid #ef2420;
}
.area_form .form_contents input:focus,
.area_form .form_contents input:focus-visible,
.area_form .form_contents textarea:focus,
.area_form .form_contents textarea:focus-visible,
.area_form .form_contents select:focus,
.area_form .form_contents select:focus-visible{
  border: 1px solid #338fff;
  background-color: #fff;
  box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.15);
}
.area_form .form_contents textarea{
  max-width: calc(100% - 36px);
  height: 224px;
  padding: 18px;
  font-family: var(--font-set-jp);
  font-weight: 400;
  font-size: 1.6rem;
}
.area_form .form_contents select{
  padding: 15px 22px;
  border-radius: 8px;
  border: 1px solid #b0b8bb;
  max-width: 479px;
  width: 100%;
  background: url(/contact/img/ico_select.svg) no-repeat;
  background-size: 28px 32px;
  background-position: right 15px center;
  appearance: none;
  font-size: 1.6rem;
  outline: none;
  color: #000;
}
.area_form .form_contents .txt_error,
.area_form .txt_policy_error .txt_error{
  color: #ef2420;
  font-size: 1.4rem;
  line-height: 1.857;
  margin-top: 8px;
}
.area_form .txt_policy_error .txt_error {
  text-align: center;
}
.area_form .form_contents .txt_support{
  font-size: 1.4rem;
  line-height: 1.857;
  margin-top: 8px;
}
.area_form .form_contents .wrap_btn{
  display: flex;
}
.area_form .form_contents .btn_mail_test{
  font-family: var(--font-set-jp);
  font-weight: 500;
  background: #000;
  color: #fff;
  width: 188px;
  border-radius: 50px;
  padding: 0 0;
  margin-left: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  line-height: 1;
}
.area_form .form_contents .btn_mail_test::before{
  content: "";
  display: block;
  width: 18px;
  height: 12px;
  background: url(/contact/img/ico_mail.svg) no-repeat center/contain;
  margin-right: 8px;
}
.area_form .area_policy_box{
  overflow-y: scroll;
  height: 300px;
  border: 1px solid #b0b8bb;
  margin-top: 80px;
  padding: 34px 48px;
}
.area_form .area_policy_box .ttl_policy{
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
.area_form .area_policy_box .ttl_policy + .txt_policy{
  margin-top: 20px;
}
.area_form .area_policy_box .ttl_policy02{
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 26px;
}
.area_form .area_policy_box .ttl_policy02 + .txt_policy{
  margin-top: 8px;
}
.area_form .area_policy_check{
  background: #e6ecee;
  padding: 26px;
  margin-top: 50px;
}
.area_form .area_policy_check.is_error{
  background: #ffe2e0;
}
.area_form .area_policy_check .wrap_checkbox{
  display: flex;
  align-items: center;
  justify-content: center;
}
.area_form .area_policy_check .wrap_checkbox input[type="checkbox"]{
  width: 20px;
  height: 20px;
  margin-right: 12px;
}
.area_form .form_contents + .cmn_btn,
.area_form .area_policy_check + .cmn_btn,
.area_form .area_submit{
  margin-top: 64px;
}
.area_form .area_btn{
  display: flex;
  margin-top: 64px;
  gap: 30px;
  justify-content: center;
}
.area_form .area_btn .cmn_btn + .cmn_btn{
  margin-top: 0;
}
.area_form .area_btn .cmn_btn{
  margin: 0;
}

@media screen and (max-width :1152px) {
  .area_form .form_contents .txt_support.is_wrapbtn{
    padding-bottom: 50px;
  }
  .area_form .form_contents .btn_mail_test{
    position: absolute;
    bottom: 0;
    margin-left: 0;
    height: 40px;
    width: 182px;
  }
}
@media screen and (max-width :834px) {
  .area_form{
    margin-top: 36px;
  }
  .area_form .box_error{
    padding: 11px 14px;
    gap: 4px;
  }
  .area_form .box_error::before{
    width: 17px;
    height: 17px;
  }
  .area_form .form_contents{
    margin-top: 32px;
  }
  .area_form .form_contents + .form_contents{
    margin-top: 66px;
  }
  .area_form .form_contents > div{
    flex-direction: column;
    padding: 20px 0;
  }
  .area_form .form_contents dt,
  .area_form .form_contents dd{
    width: 100%;
  }
  .area_form .form_contents dd{
    margin-top: 8px;
  }
  .area_form .form_contents dt .ico{
    font-size: 1.2rem;
    padding: 1px 7px 2px;
    margin-left: 8px;
  }
  .area_form .form_contents input.is_small{
    max-width: 478px;
  }
  .area_form .form_contents .btn_mail_test::before{
    width: 12px;
    height: 8px;
    margin-right: 6px;
  }
  .area_form .form_contents .txt_support{
    font-size: 1.3rem;
  }
  .area_form .form_contents select{
    padding: 15px 16px;
  }
  .area_form .form_contents textarea{
    height: 122px;
  }
  .area_form .area_policy_box{
    margin-top: 64px;
    padding: 14px 19px 19px 19px;
    height: 320px;
  }
  .area_form .area_policy_box .ttl_policy{
    font-size: 1.5rem;
  }
  .area_form .area_policy_box .ttl_policy + .txt_policy{
    margin-top: 16px;
  }
  .area_form .area_policy_box .txt_policy{
    line-height: 1.785;
  }
  .area_form .area_policy_box .ttl_policy02{
    font-size: 1.5rem;
    margin-top: 11px;
  }
  .area_form .area_policy_box .ttl_policy02 + .txt_policy{
    margin-top: 3px;
  }
  .area_form .area_policy_check{
    margin-top: 40px;
    padding: 20px;
  }
  .area_form .area_policy_check .wrap_checkbox input[type="checkbox"]{
    width: 17px;
    height: 17px;
  }
  .area_form .area_btn{
    gap: 10px;
  }
}

/* area_form
----------------------------------------------- */
.txt_finish .cmn_catch{
  text-align: center;
  font-size: 2.2rem;
}
.txt_finish .cmn_catch + .cmn_p{
  margin-top: 30px;
  text-align: center;
}
@media screen and (max-width :834px){
  .txt_finish .cmn_catch{
    text-align: left;
    font-size: 1.7rem;
  }
  .txt_finish .cmn_catch + .cmn_p{
    margin-top: 20px;
    text-align: left;
  }
}