@charset "UTF-8";

/*///////////////////////////////////////////////////////////////////////

SP【〜519px】

///////////////////////////////////////////////////////////////////////*/

/*-------------------------------------------------
general (sp)
------------------------------------------------*/
.contact .fa-asterisk {
  color: #ef5289;
}


/*-------------------------------------------------
.heading (sp)
------------------------------------------------*/
.contact .heading p {
  line-height: 1.8;
  letter-spacing: .02em;
}
.contact .heading p + p {
  margin: .8em 0 0;
}


/*-------------------------------------------------
.form-area (sp)
------------------------------------------------*/
.contact .form-area {
  margin: 40px 0 0;
}

.contact .form-area .parts +.parts {
  margin: 24px 0 0;
}
.contact .form-area .parts label {
  letter-spacing: .04em;
}
.contact .form-area .parts label .fa-asterisk {
  margin: 0 0 0 4px;
}
.contact .form-area .parts .field {
  margin: 14px 0 0;
  line-height: 1.6;
}
.contact .form-area input[type="text"],
.contact .form-area input[type="email"] {
  width: 100%;
  padding: .8em;
  border-radius: 4px;
  border: #ccc 1px solid;
  background-color: #f9f9f9;
}

.contact .form-area textarea {
  resize: none;
  width: 100%;
  height: 130px;
  padding: .8em;
  border-radius: 4px;
  border: #ccc 1px solid;
  background-color: #f9f9f9;
  line-height: 1.6;
}

.contact .form-area input:focus,
.contact .form-area textarea:focus {
  outline: none;
}

/* .contact_complete */
.contact.contact-complete .form-area .thanks-txt p {
  line-height: 2;
}
.contact.contact-complete .form-area .thanks-txt p + p {
  margin: 1em 0 0;
}
.contact.contact-complete .form-area .thanks-txt p:nth-child(1) {
  font-size: 16px;
  font-weight: 600;
}

/* .btn-area */
.contact .wpcf7-spinner {
  display: none;
}
.contact .form-area .btn-area p {
  width: 100%;
  margin: 40px 0 0;
}
.contact .form-area .btn-area p .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 22px 0;
  border: #ccc 1px solid;
  border-radius: 4px;
  letter-spacing: .4em;
  text-align: center;
}

/* エラー表示 */
.wpcf7-not-valid-tip {/*入力エリア下*/
  margin-top: 10px;
  font-size: clamp(14px, 4.375vw, 15px);
}
.wpcf7 form.invalid .wpcf7-response-output {
  margin: 0 0 30px;
  padding: 14px;
  border: #ef5289 1px solid;
  background-color: #ffeef0;
  line-height: 1.8;
}

/* reCAPTCHA */
.contact .recaptcha {
  margin: clamp(30px, 9.375vw, 50px) 0 0;
  text-align: center;
}
.contact .recaptcha p {
  font-size: 13px;
  line-height: 1.6;
}
.contact .recaptcha p + p {
  margin: .4em 0 0;
}
.contact .recaptcha p a {
  text-decoration: underline;
}
.grecaptcha-badge {
  visibility: hidden;
}





/*///////////////////////////////////////////////////////////////////////

Tablet【520〜959px】

///////////////////////////////////////////////////////////////////////*/
@media screen and (min-width: 520px) {

/*-------------------------------------------------
.form-area (tb)
------------------------------------------------*/
.contact .form-area .parts +.parts {
  margin: 30px 0 0;
}

}





/*///////////////////////////////////////////////////////////////////////

PC【960px〜】

///////////////////////////////////////////////////////////////////////*/
@media screen and (min-width: 960px) {

/*-------------------------------------------------
.form-area (pc)
------------------------------------------------*/
.contact .form-area {
  margin: 50px 0 0;
}

.contact .form-area .parts +.parts {
  margin: 40px 0 0;
}

/* .btn-area */
.contact .form-area .btn-area {
  margin: 50px 0 0;
}


}
