.contact{
  padding:70px 0;
  background:#fff;
}

.contact__inner{
  width:min(92%,980px);
  margin:0 auto;
}

.contact .sub__h2{
  margin:0 0 28px;
  text-align:center;
  font-size:22px;
  font-weight:700;
  letter-spacing:.12em;
  color:#222;
}

.contact__list{
  margin:0 0 28px;
}

.contact__list dt{
  margin:0 0 10px;
  font-size:15px;
  font-weight:700;
  color:#111;
}

.contact__list dt span,
.note__list span{
  color:#d70000;
  margin-right:4px;
}

.contact__list dd{
  margin:0;
}

.e_txt > p,
.e_txt .wpcf7-form-control-wrap{
  display:block;
  margin-bottom:12px;
}

.contact input,
.contact select,
.contact textarea{
  width:100%;
  padding:15px 18px;
  border:1px solid #ddd;
  border-radius:8px;
  background:#fff;
  color:#222;
  font-size:16px;
  box-sizing:border-box;
}

.contact textarea{
  min-height:220px;
  resize:vertical;
}

.contact input:focus,
.contact select:focus,
.contact textarea:focus{
  outline:none;
  border-color:#111;
  box-shadow:0 0 0 3px rgba(0,0,0,.06);
}

.contact__note{
  margin-top:40px;
  padding:28px;
  background:#fafafa;
  border-radius:14px;
  color:#222;
}

.contact__note .check{
  margin:0 0 20px;
  line-height:2;
}

.note__list{
  margin:0;
  padding-left:1.2em;
}

.note__list li{
  margin-bottom:10px;
  line-height:1.9;
}

.contact__submit{
  margin-top:35px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}

.contact__submit p{
  width:100%;
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}

.contact__submit br{
  display:none;
}

.contact__submit .buttons,
.contact input[type="submit"]{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:360px;
  height:56px;
  padding:0 20px;
  border:none;
  border-radius:60px;
  background:#111;
  color:#fff;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  box-sizing:border-box;
  transition:.3s;
}

.contact__submit .buttons:hover,
.contact input[type="submit"]:hover{
  background:#333;
}

.contact .is-submit,
.contact input.is-submit,
.contact .is-back,
.contact .js-confirm-area{
  display:none !important;
}

.contact.is-confirm .contact__box{
  display:none;
}

.contact.is-confirm .check,
.contact.is-confirm .note__list,
.contact.is-confirm .js-confirm-btn{
  display:none !important;
}

.contact.is-confirm .js-confirm-area{
  display:block !important;
}

.contact.is-confirm .is-submit,
.contact.is-confirm input.is-submit,
.contact.is-confirm .is-back{
  display:flex !important;
}
.contact.is-confirm .is-back{
  background:#fff !important;
  color:#111 !important;
  border:1px solid #111 !important;
}

.contact.is-confirm .is-back:hover{
  background:#f5f5f5 !important;
}

.contact.is-confirm input.is-submit{
  background:#111 !important;
  color:#fff !important;
}

.contact.is-confirm .contact__note{
  margin-top:30px;
  padding:0;
  background:transparent;
}

.contact.is-confirm .contact__submit{
  margin-top:0;
}

.contact-confirm{
  margin-top:35px;
  padding:25px;
  background:#fafafa;
  border:1px solid #e5e5e5;
  border-radius:14px;
  color:#222;
}

.contact-confirm h3{
  margin:0 0 25px;
  text-align:center;
  font-size:22px;
  font-weight:700;
}

.contact-confirm dl{
  margin:0;
  padding:15px 0;
  border-bottom:1px solid #ddd;
}

.contact-confirm dl:last-child{
  border-bottom:none;
}

.contact-confirm dt{
  margin:0 0 8px;
  font-weight:700;
}

.contact-confirm dd{
  margin:0;
  line-height:1.9;
  white-space:pre-wrap;
}

.is-back{
  background:#888 !important;
  color:#fff !important;
}

.contact-thanks{
  padding:70px 0;
  background:#fff;
}

.contact-thanks__inner{
  width:min(92%,850px);
  margin:50px auto;
  padding:45px 25px;
  text-align:center;
  border:1px solid #eee;
  border-radius:14px;
  box-sizing:border-box;
}

.contact-thanks__title{
  margin:0 0 25px;
  font-size:24px;
  line-height:1.5;
  color:#111;
}

.contact-thanks__lead{
  margin:0 0 20px;
  line-height:2;
}

.contact-thanks__text{
  margin:0;
  color:#666;
  line-height:1.9;
}

.contact-thanks__btn{
  margin-top:40px;
}

.contact-thanks__btn a{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:100%;
  max-width:280px;
  height:56px;
  border-radius:60px;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  transition:.3s;
}

@media (min-width:768px){

  .contact{
    padding:100px 0;
  }

  .contact .sub__h2{
    margin-top:110px;
    margin-bottom:70px;
    font-size:28px;
  }

  .contact-confirm{
    padding:35px;
  }

  .contact-confirm dl{
    display:flex;
    align-items:flex-start;
  }

  .contact-confirm dt{
    width:180px;
    margin-bottom:0;
  }

  .contact-confirm dd{
    flex:1;
  }

  .contact__submit{
    flex-direction:row;
    justify-content:center;
    gap:18px;
  }

  .contact__submit p{
    flex-direction:row;
    justify-content:center;
    gap:18px;
  }

  .contact__submit .buttons,
  .contact input[type="submit"]{
    width:260px;
  }

  .contact-thanks{
    padding:100px 0;
  }

  .contact-thanks__inner{
    padding:65px;
    margin:180px auto;
  }

  .contact-thanks__title{
    font-size:30px;
  }
}