/* ----------------------------------------------------------------------
お問い合わせフォーム
---------------------------------------------------------------------- */
#contact.inner{max-width:1200px;margin-top: -5rem;}
#contact .progress_area {
	margin-bottom: 4rem;
}

#contact .progress_area .progressbar {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: relative;
	margin-bottom: 1.5rem;
	margin-top: 5rem;
}

#contact .progress_area .progressbar li {
	width: 20rem;
	font-size: 1.6rem;
	font-weight:bold;
	color:#808080;
	position: relative;
	text-align: center;
	top: 0;
}

#contact .progress_area .progressbar li:first-child::after {
	content: none;
}

#contact .progress_area .progressbar li::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	margin: 8px auto 2px auto;
	background: url(../images/contact_progressbar_check.svg) no-repeat center center/contain;
}
#contact .progress_area .progressbar li.active{
	color:#063681;
}
#contact .progress_area .progressbar li.active::before {
	background-image: url(../images/contact_progressbar_check_active.svg);
}

#contact .progress_area .progressbar li::after {
	content: "";
	width: 100%;
	height: 2px;
	background-color: #b6b7b8;
	position: absolute;
	top: 6px;
	margin: 10px 0 0 0;
	left: -50%;
	z-index: -1;
}

#contact .progress_area p {
	text-align: center;
	line-height: 2;
	font-size:1.8rem;
	font-weight:bold;
}

#contact .contact_wrapper .form_wrapper {
  margin-bottom: 15rem;
}
#contact .contact_wrapper .form_wrapper input, #contact .contact_wrapper .form_wrapper textarea, #contact .contact_wrapper .form_wrapper select {
  line-height: 1.7;
  font-size: 1.6rem;
  padding: 1.8rem 3rem;
  background-color: #e6ecf2;
  border-radius: 8px;
}
#contact .contact_wrapper .form_wrapper .mwform-radio-field input{
	 width:unset;
}
#contact .contact_wrapper .form_wrapper .mwform-radio-field{
	padding: 1.8rem 0; display:inline-block;
}
#contact .contact_wrapper .form_wrapper input::placeholder, #contact .contact_wrapper .form_wrapper textarea::placeholder, #contact .contact_wrapper .form_wrapper select::placeholder {
  color: #B1B1B1;
}
#contact .contact_wrapper .form_wrapper select {
	-moz-appearance: menulist;
  -webkit-appearance: menulist;
	cursor:pointer;
}
#contact .contact_wrapper .form_wrapper .select_wrapper {
  position: relative;
}
#contact .contact_wrapper .form_wrapper .select_wrapper::after {
  content: "";
  height: 1rem;
  width: 1rem;
  position: absolute;
  right: 1.2rem;
  top: 3rem;
  transform: translatey(-50%);
  background-image: url(../images/select_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}
#contact .contact_wrapper .form_wrapper textarea {
  width: 100%;
}
#contact .contact_wrapper .form_wrapper .required {
  display: inline-block;
  color: #FFF;
	background:#c1272d;
   font-weight: bold;
  margin-left: 1.2rem;
  position:absolute;
  right:40px;
	line-height: 3rem;
    width: 6rem;
    text-align: center;
    border-radius: 8px;
}
#contact .contact_wrapper .form_wrapper dl {
  display: flex; 
  padding:1rem 0;
}

#contact .contact_wrapper .form_wrapper dl dt {
  width: 30%;
  min-width: 26rem;
  font-size:1.8rem;
  font-weight: bold;
  padding: 1.5rem 0;
  position:relative;
}
#contact .contact_wrapper .form_wrapper dl dd{
	width:70%;
}
#contact .contact_wrapper .form_wrapper dl dd input {
  width: 100%;
}
#contact .contact_wrapper .form_wrapper dl dd input.tel{
	width:22rem;
}
#contact .contact_wrapper .form_wrapper .nameWrapper {
  display: flex;
  align-items: center;
	gap:1rem;
}
#contact .contact_wrapper .form_wrapper .nameWrapper input {
  width:unset;
}
#contact .contact_wrapper .form_wrapper .message {
  margin-top: 2rem;
  text-align: center;
  line-height: 2;
}
#contact .contact_wrapper .form_wrapper .message a {
  color: #0071BA;
  text-decoration: underline;
}
#contact .contact_wrapper .form_wrapper .message a:hover {
  text-decoration: none;
}
#contact .contact_wrapper .form_wrapper .check_agree {
  text-align: center;
	font-weight:bold;
  margin-inline: auto;
  margin-top: 2rem;
	font-size:1.8rem; 
}
#contact .contact_wrapper .form_wrapper .check_agree .mwform-checkbox-field-text{
	font-weight:bold;
}
#contact .contact_wrapper .form_wrapper .bottomButton {
  text-align: center;
  margin-top: 5rem;
}
#contact .contact_wrapper .bottomButton input,#contact .contact_wrapper .bottomButton button {
	background-color:#063681;
 background: url(../images/arrow_white.svg) no-repeat center right 2rem/20px 20px, #063681;
  border: solid 1px #063681;
  color: #FFF;
  display: grid;
  align-items: center;
  font-weight: bold;
  border-radius: 8px;
  height: 6rem;
  padding: 0 3rem;
  position: relative;
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  overflow: hidden;
	width:32rem;
  transition: all 0.3s;
	margin:0 auto;
}
#contact .contact_wrapper .bottomButton input[name="submitBack"]{
	background: #ffffff;
    margin-bottom: 2rem;
    color: #063681;
    font-weight: normal;
}
#contact .contact_wrapper .contact_tel_wrapper {
  max-width: 1200px;
  margin-inline: auto;
}
#contact .contact_wrapper .contact_tel_wrapper .flex .contact_tel {
  display: flex;
  gap: 6rem;
}
#contact .contact_wrapper .contact_tel_wrapper .flex .contact_tel picture {
  width: 55%;
}
#contact .contact_wrapper .files{display:flex;flex-wrap:wrap;gap:20px 0;}
#contact .contact_wrapper .files > div{width:50%;}
#contact .contact_wrapper .files > div input[type="file"]{width:calc(100% - 30px);}
#contact .contact_wrapper .plans .mwform-radio-field:first-of-type::after{content:"おすすめ";font-size:1.4rem;padding:2px 5px;background:#FADB43;color:#00558a;margin-left:10px;}
#contact .contact_wrapper .form_wrapper dl .note{font-size:1.4rem;margin-top:5px;}
#contact a.button::after{right:2rem;}
.mwform-tel-field input[type="text"], .mwform-zip-field input[type="text"]{width:10rem;}
#contact #zip{width:16rem;}
#contact .contact_wrapper .form_wrapper .mw_wp_form_confirm  dl dd{padding:1.5rem 0;}
#contact .mw_wp_form.mw_wp_form_complete{text-align:center;}
#contact .mw_wp_form.mw_wp_form_complete h2{
	font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 3rem;
    margin-top: 10rem;
}
#contact .questionnaire{
	margin-top:10rem;	margin-bottom:10rem;	
}
#contact .contact_wrapper .form_wrapper .questionnaire dl{gap:2rem;}
#contact .contact_wrapper .form_wrapper .questionnaire dl dt,#contact .contact_wrapper .form_wrapper .questionnaire dl dd{
	width:unset;
}
#contact .privacy-policy{
	margin-top: 5rem;
    border: solid 1px #CCC;
    border-radius: 8px;
    padding: 3rem 4rem;
}
#contact .privacy-policy p{
	margin-bottom:3rem;
}
#contact .privacy-policy p.mb0{
	margin-bottom:0;
}
#contact .privacy-policy ul{
	padding-left:2rem;
}
#contact .privacy-policy ul li{
	list-style:disc;
}

#privacy-policy.inner{
	max-width:1200px;
}
#privacy-policy h3{
    font-size: 3.2rem;
    font-weight: 700;
    margin-top: 3rem;
    letter-spacing: 0.04em;
}
#privacy-policy ul{
	padding-left:3rem;
}
#privacy-policy ul li{
	list-style:disc;
}

@media screen and (max-width: 1440px) {
  #contact .progress_area .illust._01 {
    left: 0;
    width: 22rem;
  }
  #contact .progress_area .illust._02 {
    right: 0;
    width: 20rem;
  }
}
@media screen and (max-width: 1024px) {
  #contact .h3_wrapper h3 span {
    margin-top: 1rem;
  }
  #contact .progress_area {
    margin-bottom: 8rem;
  }
  #contact .progress_area .illust._01, #contact .progress_area .illust._02 {
    display: none;
  }
	#contact dt a.button{font-size: 1.2rem;width:23rem;}
}
@media screen and (max-width: 820px) {
  #contact .br_pc {
    display: none;
  }
  #contact .br_sp {
    display: none;
  }
  #contact .br_tab {
    display: block;
  }
  #contact .progress_area {
    margin-bottom: 6rem;
  }
  #contact .contact_wrapper .form_wrapper dl dt {
    width: 34%;
    min-width: 22rem;
  }
  #contact .contact_wrapper .contact_tel_wrapper .flex .contact_tel {
    flex-direction: column;
    gap: 3rem;
    align-items: center;
  }
  #contact .contact_wrapper .contact_tel_wrapper .flex .contact_tel p {
    text-align: center;
  }
	#contact .contact_wrapper .files > div{width:100%;}
	#contact .mw_wp_form.mw_wp_form_complete h2{font-size:1.8rem;}
	#privacy-policy h3 {font-size: 1.8rem;}
}
@media screen and (max-width: 520px) {
	#contact.inner {    margin-top: 0rem;}
	.bottomButton input,.bottomButton button{
		width: 10rem; font-size: 1.4rem;
	}
  #contact .br_pc {
    display: none;
  }
  #contact .br_sp {
    display: block;
  }
  #contact .br_tab {
    display: none;
  }
  #contact .progress_area p {
    text-align: left; font-size:1.4rem; line-height:1.5;
  }
  #contact .progress_area .progressbar li {
    width: 90px;
  }
  #contact .contact_wrapper .form_wrapper dl {
    flex-direction: column; padding: 3rem 0;
  }
  #contact .contact_wrapper .form_wrapper dl dt {
    width: 100%;
    padding: 0 0 1rem;
  }
  #contact .contact_wrapper .form_wrapper dl dd {
    width: auto;
  }
	#contact .contact_wrapper .form_wrapper .mwform-radio-field{
		display:block; padding:0;margin:0;
	}
	#contact .contact_wrapper .form_wrapper .required{
		right:0; font-size:1.4rem; font-weight: normal;    margin-left: 1.2rem; width:5rem; border-radius:4px;
	}
  #contact .contact_wrapper .form_wrapper .message {
    text-align: left;
    font-size: 1.6rem;
    margin-top: 2.4rem;
    text-align: left;
  }
  #contact .contact_wrapper .form_wrapper .check_agree {
    font-size: 1.6rem;
    margin-top: 3rem;
  }
  #contact .contact_wrapper .form_wrapper .bottomButton {
    margin-top: 3.8rem;
  }
  #contact .contact_wrapper .contact_tel_wrapper .flex .contact_tel {
    flex-direction: column;
    gap: 2rem;
  }
  #contact .contact_wrapper .contact_tel_wrapper .flex .contact_tel picture {
    width: 100%;
  }
	#contact .mw_wp_form.mw_wp_form_complete{text-align:left;}
	#contact .contact_wrapper .form_wrapper .nameWrapper{		display:block;	}
	#contact .contact_wrapper .form_wrapper .nameWrapper .hasDatepicker{margin-bottom:1rem;}
}


@media (any-hover: hover) {
  #contact .contact_wrapper .bottomButton input:hover,#contact .contact_wrapper .bottomButton button:hover {
	  background-color: #fff;
	  background: url(../images/arrow_blue.svg) no-repeat center right 2rem/20px 20px, #FFF;
	  border-color: #00558A;
	  color: #00558A;
	}
	#contact .contact_wrapper .bottomButton input[name="submitBack"]{
		background: #ebebeb;
	}
}
