@charset "UTF-8";
header{
  margin:0px 0 90px 0;
}

#main h2{
	line-height:normal;
	margin: 0 0 48px;
}
.ttl_area{
	text-align:center;
}
#contact_form,
.form_frame + form{
	background: #F2F2ED;
	margin: 0 calc(50% - 50vw) 0px;
	padding: 60px 0;
}

fieldset.attention{
  padding: 15px;
  margin: 0 auto 50px;
}
.contact legend{
  padding: 0 10px;
  font-size: 16px;
}
.contact .attention li strong{
  font-size: 32px;
}
.line_tel{
  display: flex;
  justify-content:space-around;
  margin: 0 0 50px 0;
}
.line,
.line_tel .tel{
  width: 50%;
}
.line img{
  width:100%;
  border-radius:10px;
}
.line_tel .tel{
  background:url(../parts/banner_call.png) no-repeat 30px center #54494B;
  border-radius: 10px;
  padding: 20px;
  text-align: center;
}
.line_tel .tel a{
  color:#fff;
}
.line_tel .tel .number{
  font-size:24px;
}
.form_frame{
	max-width: 1000px;
	margin: 0 auto;
	padding: 70px 130px;
	background: #fff;
}
.form_frame input,
.form_frame textarea{
  width: 100%;
  padding: 5px;
}
.form_frame textarea{
  min-height:100px;
}
.form_frame dl{
	display: flex;
	flex-wrap: wrap;
	margin: 0px auto;
	background: #fff;
	max-width: 1000px;
}
.form_frame dt{
  width:29%;
  border-bottom:dotted 2px #CCCCCC;
  padding: 20px 0 20px 0;
}
.form_frame dd{
  width:70%;
  border-bottom:dotted 2px #CCCCCC;
  padding: 20px 0 20px 0;
}
span.must,
.error{
  color:#c70505;
  font-weight: 600;
}
button{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}
.check{
	margin: 70px auto;
	max-width: 530px;
}
.check p{
  margin:0 0 20px 0;
}
.check p a,
.send_completely a{
  text-decoration: underline;
}
.contact #main a:first-child{
	display: inline-block;
	margin: 0 3px;
}
button.to_detail,
button.map{
  background:#54494B;
  color:#fff;
  max-width: 260px;
  display: block;
  padding: 10px 25px;
  margin:60px auto 0;
  border-radius: 10px;
}
.confirm_input{
  margin:0 auto;
}
.confirm_input h1,
.send_completely h1{
  text-align: center;
  margin: 0 0 40px 0;
}
.send_completely{
  min-height:300px;
}
.send_completely p{
  text-align:center;
  margin: 0 0 60px 0
}
.send_completely a{
  display: block;
  margin: 0 auto;
  width: 130px;
}
#button.step2{
  display: flex;
}

footer{
	margin-top:52px;
}
p.sp_tel{
  display: none;
}
@media screen and (max-width: 1024px) {
  header{
    margin:0;
  }
  header .inner{
    position: relative;
  }
  .form_frame dt,
  .form_frame dd{
    width:100%;
  }
  .form_frame dt{
    border-bottom:none;
    padding: 20px 0 0px 0;
  }
  #button.step2{
    display: flex;
  }
  .contact #main h2:after{
    position:static;
  }
  .line_tel{
    display: block;
  }
  .line,
  .line_tel .tel{
    width:100%;
  }
  .line{
    margin:0 0 20px 0;
  }
  p.sp_tel{
    display:block;
  }
  .form_frame{
	  padding:10px;
	  margin: 0 10px;
	 }
   #contact_form{
     padding:10px 0 50px;
   }
  .contact #main a{
		border: none;
		margin: 0 5px !important;
		width: auto;
	 }
	.check{
		margin: 70px 20px;
	}

	.send_completely{
		padding: 70px 0;
	}

}
