@charset "UTF-8";
/****************************************Page-contact**************************************/
main.contact-main section {
  padding-bottom: 0;
}
main.contact-main section p.contact-text {
  width: 90%;
  margin: 0 auto 70px;
}
main.contact-main section h2.form_main-title02 {
  background-color: #0090ff;
  color: #fff;
  max-width: 500px;
	text-align: center;
  padding: 22px 0;
  margin: 0 auto;
  font-size: 2rem;
}

@media screen and (max-width: 900px) {
  main.contact-main section p.contact-text {
    margin: 20px auto 60px;
  }
}
@media screen and (max-width: 600px) {
  main.contact-main section p.contact-text {
    margin: 20px auto 50px;
  }
}
@media screen and (max-width: 475px) {
  main.contact-main section p.contact-text {
    margin-bottom: 45px;
  }
}
/* form */
.contact-form {
  border-top: 6px solid #0090ff;
  background: #e3f3ff;
  width: 100%;
  padding-bottom: 100px;
}

form.wpcf7-form {
  max-width: 1140px;
  width: 90%;
  padding-top: 70px;
  margin: auto;
}
form.wpcf7-form label[for] {
  cursor: default;
}

form p.form-item {
  display: flex;
  align-items: center;
  align-content: center;
  margin-bottom: 40px;
}
form label.l-label, form label.m-label {
  display: flex;
  align-items: center;
  align-content: center;
  width: 200px;
  margin-right: 20px;
  word-break: keep-all;
  justify-content: space-between;
}
form label.label-big {
  width: 200px;
}

@media screen and (max-width: 1100px) {
  form .form-item label.l-label-big {
    width: 200px;
  }
}
@media screen and (max-width: 1024px) {
  form p.form-item {
    padding-top: 0;
  }
  form label.l-label, form label.m-label {
    width: 200px;
    display: flex;
    justify-content: space-between;
    margin-right: 20px;
  }
}
@media screen and (max-width: 900px) {
	form.wpcf7-form {
	  padding-top: 60px;
	  margin: auto;
	}
  form p.form-item {
    display: block;
    margin: 40px auto;
  }
  form p.form-item_flex {
    display: flex;
  }
  form label.l-label, form label.m-label {
    display: flex;
    justify-content: space-between;
    width: 165px;
  }
  form label.label-big {
    width: 180px;
  }
}
@media screen and (max-width: 560px) {
	form.wpcf7-form {
	  padding-top: 50px;
	  margin: auto;
	}
  form label.l-label, form label.m-label {
    margin-bottom: -5px;
    display: flex;
    justify-content: normal;
    width: 150px;
  }
  form label.label-big {
    width: 180px;
  }
  form p.form-item_flex {
    display: block;
  }
}
span.p-red {
  color: #fff;
  background-color: #D42D25;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 30px;
}

@media screen and (max-width: 768px) {
  span.p-red {
    font-size: 0.9rem;
    width: 50px;
    height: 25px;
  }
}
@media screen and (max-width: 560px) {
  span.p-red {
    margin-left: 10px;
  }
}
.wpcf7 input[type=text] {
  border: 1px solid #DDDDDD;
  background: #fff;
  height: 45px;
  width: 62vw;
  padding: 1rem;
}
.wpcf7 input[type=email] {
  border: 1px solid #DDDDDD;
  background: #fff;
  height: 45px;
  width: 62vw;
  padding: 1rem;
}
.wpcf7 input[type=tel] {
  border: 1px solid #DDDDDD;
  background: #fff;
  height: 45px;
  width: 62vw;
  padding: 1rem;
}
.wpcf7 input[type=checkbox] {
  margin-top: 0;
}
.wpcf7 textarea {
  border: 1px solid #DDDDDD;
  background: #fff;
  height: 200px;
  width: 62vw;
  padding: 1rem;
}

@media screen and (min-width: 1250px) {
  .wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel],
.wpcf7 textarea {
    max-width: 750px;
    width: 60vw;
  }
}
@media screen and (max-width: 900px) {
  .wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel],
.wpcf7 textarea {
    width: 90vw;
  }
}
/* お問い合わせ内容 */
form.wpcf7-form p.form-item_ck {
  display: flex;
  align-items: flex-end;
}
form.wpcf7-form #category {
  display: flex;
  word-break: keep-all;
  cursor: default;
}
form.wpcf7-form #category > span.wpcf7-list-item.first {
  margin-right: 35px;
}

@media screen and (max-width: 560px) {
  form.wpcf7-form p.form-item_ck {
    display: block;
  }
}
.wpcf7-list-item input {
  margin-right: 10px;
}
#gender > span.wpcf7-list-item.first {
  margin-right: 20px;
}

form.wpcf7-form span.birth-group {
  display: flex;
}

select {
  border: 1px solid #ccc;
  background: #fff;
  width: 60px;
  height: 35px;
  margin-right: 5px;
  text-align: center;
}

#month, #day {
  width: 40px;
  margin-left: 10px;
}

@media screen and (max-width: 560px) {
  form.wpcf7-form span.birth-group {
    display: flex;
  }
}
@media screen and (max-width: 330px) {
  select {
    width: 50px;
  }
}
/* 住所 */
form p.form-item-address {
  display: flex;
  align-items: flex-start;
}

form label.addr-label {
  margin-top: 7px;
}
form span.address-item {
  display: block;
  margin: -20px 0;
  width: 580px;
}
form span.address-item label.label-address {
  word-break: keep-all;
  margin-bottom: 20px;
  padding-right: 25px;
  position: relative;
  top: -7px;
}
form span.address-item label.label-address-big {
  padding-right: 12px;
  margin-bottom: 20px;
}
form .p-post_p {
  margin-left: 20px;
  font-size: 15px;
  margin-bottom: 20px;
  word-break: keep-all;
  position: relative;
  top: -8px;
}

@media screen and (max-width: 900px) {
  form p.form-item-address {
    display: block;
  }
  form span.address-item {
    width: 90%;
  }
}
@media screen and (max-width: 600px) {
  form span.address-item {
    max-width: 600px;
  }
}
.wpcf7-form-control-wrap input#zip {
  width: 100px;
  margin-bottom: 20px;
}
.wpcf7-form-control-wrap input#pref,
.wpcf7-form-control-wrap input#city,
.wpcf7-form-control-wrap input#addr {
  width: 200px;
  margin-bottom: 20px;
}
.wpcf7-form-control-wrap input#zip,
.wpcf7-form-control-wrap input#pref,
.wpcf7-form-control-wrap input#city {
  margin-bottom: 20px;
}

@media screen and (max-width: 560px) {
  .wpcf7 .form-item-address {
    display: block;
  }
  .wpcf7 span.p-post_p {
    margin-left: 10px;
  }

  form label.addr-label {
    position: unset;
  }
}
@media screen and (max-width: 425px) {
  .wpcf7 span.p-post_p {
    display: none;
  }
}
/* メール */
@media screen and (max-width: 1030px) {
  .email-label {
    margin-right: auto;
  }
}
/****** 送付希望資料 > 免許種類 *******/
form p.form-item_big {
  margin: 20px auto 35px;
  align-items: baseline;
}
form p.form-item_big label.label-big {
  width: 220px;
}
form span.car {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  max-width: 700px;
}
form span.car span.wpcf7-list-item {
  width: 135px;
  line-height: 2.5;
  display: flex;
  align-items: center;
}
form span.car span.wpcf7-list-item input {
  margin-right: 5px;
}

@media screen and (min-width: 1140px) {
  form p.form-item_big {
    margin: 35px auto 40px;
    display: flex;
    align-items: baseline;
  }
}
@media screen and (max-width: 1040px) {
  form span.checkbox-group {
    width: 75%;
  }
}
@media screen and (max-width: 998px) {
  form span.car span.wpcf7-list-item {
    width: 145px;
  }
}
@media screen and (max-width: 900px) {
  form p.form-item_big {
    display: block;
  }
  form span.checkbox-group {
    margin-top: 15px;
    max-width: 750px;
  }
}
@media screen and (max-width: 483px) {
  form span.checkbox-group span.car {
    justify-content: space-around;
  }
}
@media screen and (max-width: 330px) {
  .wpcf7 span.checkbox-group span.car {
    justify-content: normal;
  }
}
/* 内容、備考欄 */
form p.form-item_big02 {
  display: flex;
  align-items: flex-start;
}

@media screen and (max-width: 900px) {
  form p.form-item_big02 {
    display: block;
  }
  form p.form-item_big02 label.label-big {
    width: 100%;
  }
}
.wpcf7 .checkbox-privacy input {
  margin-top: -3px;
}
.wpcf7 .form-privacy {
  margin-bottom: -3px;
}
.wpcf7 .policy-p {
	margin-left: 240px;
}

.wpcf7 .policy-conf-p {
  margin-left: 240px;
  width: 60%;
  line-height: 1.7;
}
#wpcf7-f44-p45-o1 > form > p.policy-p > a {
  color: #D42D25;
}
@media screen and (max-width: 900px) {
  form.wpcf7-form p.form-privacy {
    margin-bottom: 20px;
  }
  form.wpcf7-form .policy-p, form.wpcf7-form .policy-conf-p {
    margin-left: 25px;
    width: 90%;
    font-size: 15px;
  }
}
@media screen and (max-width: 425px) {
  .wpcf7 .policy-p,
.wpcf7 .policy-conf-p {
    margin-left: 15px;
  }
}
.form-bottom {
  margin-top: 60px;
  padding-bottom: 30px;
  text-align: center;
  margin-bottom: -16px;
}
.form-bottom .form-bottom__button {
  color: #fff;
  background-color: #0050ff;
  width: 700px;
  height: 45px;
}

@media screen and (max-width: 768px) {
  .form-bottom {
    padding-bottom: 30px;
  }

  .form-bottom__button {
    max-width: 60%;
  }
}
/******************************************************必須ラベルエラーメッセージ******************************************************/
/* ”必須項目に入力してください”を消す */
div.screen-reader-response {
  display: none;
}

/* ”必須項目に入力してください”の文字の色を変える */
.wpcf7-not-valid-tip {
  display: block;
  margin: 8px 0;
  color: #dc3232;
  line-height: 2rem;
}

/* 入力内容に不備が見つかったときのメッセージのカスタマイズ（別バージョン）*/
.wpcf7 form.invalid .wpcf7-response-output {
  color: #dc3232;
  font-weight: 900;
  border: 1.5px solid #dc3232;
  border-radius: 2px;
  margin: 1.5em 0;
  padding: 0.5em 1em;
  text-align: center;
  font-size: 16px;
}

form.wpcf7-form.invalid p.form-item {
  align-items: flex-start;
}
form.wpcf7-form.invalid label.l-label, form.wpcf7-form.invalid label.m-label {
  align-items: flex-start;
  margin-top: 11px;
}
form.wpcf7-form.invalid label.l-label span.p-red, form.wpcf7-form.invalid label.m-label span.p-red {
  margin-top: -3px;
}
form.wpcf7-form.invalid p.form-item_flex {
  align-items: center;
  margin-top: 0;
}
form.wpcf7-form.invalid p.form-item-address {
  margin-bottom: 60px;
}
form.wpcf7-form.invalid .address-item label.label-address {
  top: 2px;
}
form.wpcf7-form.invalid .address-item span.p-post_p {
  margin-left: 10px;
  top: -8px;
  line-height: 5rem;
}
form.wpcf7-form.invalid .wpcf7-form-control-wrap span.addr .wpcf7-not-valid-tip {
  margin-top: -10px;
  margin-bottom: 30px;
}
form.wpcf7-form.invalid .wpcf7-form-control-wrap input#zip, form.wpcf7-form.invalid .wpcf7-form-control-wrap input#pref, form.wpcf7-form.invalid .wpcf7-form-control-wrap input#city, form.wpcf7-form.invalid .wpcf7-form-control-wrap input#addr {
  margin-bottom: 0;
}
form.wpcf7-form.invalid p.form-item_big .label-big {
  position: relative;
  top: 10px;
}
form.wpcf7-form.invalid p.form-privacy .label-big {
  margin-top: 0;
}
form.wpcf7-form.invalid p.form-privacy .label-big span.p-red {
  margin-top: -6px;
}

/* 送信済みメッセージの編集 */
.wpcf7 form.sent .wpcf7-response-output {
  color: #000;
  font-weight: 900;
  border: 3px solid #0050FF;
  border-radius: 2px;
  margin: 1.5em 0;
  padding: 0.5em 1em;
  font-size: 16px;
  text-align: center;
}/*# sourceMappingURL=form.css.map */
