@charset "UTF-8";
form#mailformpro dl dt {
float:none;
    width: auto;
    clear: both;
    font-size: inherit;
    padding: inherit;
    text-align: inherit;
    border-top: none;
    margin: auto;
}
form#mailformpro dl dd {
    border-top: none;
    margin: auto;
    padding: inherit;
    font-size: inherit;
    line-height: inherit;
    text-align: inherit;
}


.stepwrap {
	position:relative;
	margin: 0 auto;
	width: 100px;
}

.top-form {
padding:4em 1em;
background:rgba(51,51,51,.1);
}

@media(min-width:768px){

#form{
width:760px;
margin:auto;
max-width:100%;
}
#sform{
width:560px;
margin:auto;
max-width:100%;
}
}

.chatmes {
  text-align:left;
}
.chatmes{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  
  justify-content: space-between;
  margin-bottom: 10px;
}
.chatmes figure{
  margin: 0;
  width: 95px;
  height: 130px;
  box-sizing: border-box;
  overflow: hidden;
}
.chatmes figure img{
  display: block;
  width: auto;
}
.chatmes figure img {
    display: block;
    width: 100%;
}
.chatmes p{
  width: calc(100% - 150px);
  padding: 16px 24px;
  position: relative;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  margin-bottom: 8px;
  line-height: 1.5;
  background:#fff;
}
.chatmes p:before{
  display: block;
  content: "";
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 12px 12px 0;
  border-color: transparent #fff transparent transparent;
}
.chatmes strong{
  font-family:"ヒラギノ角ゴ Pro W6";
  font-weight: bold;
  color:red;
}
.chatmes strong span{
  font-family:"ヒラギノ角ゴ Pro W6";
  font-weight: bold;
  color: #cc3434;
}
@media(max-width:414px){
  .chatmes{
    margin-bottom: 0;
  }
  .chatmes figure{
    width: 60px;
    height: 85px;
  }
  .chatmes p{
    width: calc(100% - 80px);
    padding: 12px;
    font-size: 14px;
  }
  .chatmes p:before{
  }
}
#form{ }
#form .step{
	padding-bottom:3px;
	text-align: center;
	position:relative;
	counter-reset:number;
	margin-bottom:15px;
}
#form .step li{
	display: inline-block;
	background: #d3d3d3;
	color:#fff;
	width: 18px;
	height: 18px;
	font-weight: bold;
	margin:0 5px;
	position:relative;
	line-height:1;
	border-radius:10px;
}
#form .step li span {
	display:block;
	position:absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	font-size: 0.66rem;
	line-height:1;
	z-index: 101;
}
#form .step li:before {
	content:"";
	width:0px;
	display:block;
	position:absolute;
	top:8px;
	height:3px;
    right: 0;
	line-height:1;
}
#form .step li.active{
	background:none;
}
#form .step li.active:before {
	width: 30px;
	background:#c5b37f;
}
#form .step li:first-child:before {
	display:none;
}

#form .step:before {
	content:"";
	display:block;
	height:3px;
	width:60px;
	background:#d3d3d3;
	position:absolute;
	left:50%;
	top:8px;
	transform: translateX( -50%);
}
#form .step li.active{
	background:#c5b37f;
}
#form dl{
	color:#000;
	padding:0px 0 10px;
}
#form dl:last-of-type{
	border-bottom: none;
}
#form dl dt{
	font-size: 1.06rem;
	font-weight: bold;
	text-align: left;
	width: 100%;
	margin-bottom:10px;
	box-sizing: border-box;
}
#form dl dt.hissu:after{
	content:"必須";
  font-size: 0.73rem;
  font-weight: normal;
  color: #fff;
  
  background: #cc0000;
  margin-left: 13px;
  display: inline-block;
  padding: 3px 4px;
  line-height: 1em;
  top: -1px;
  position: relative;
}
#form dl dd{
	width: 100%;
}
#form dl dd input[type="radio"]{
	display: none;
}
#form dl dd input[type="checkbox"]{
	display: none;
}
#form dl dd input[type="text"],#form dl dd input[type="email"],#form dl dd input[type="tel"],#form dl dd input[type="password"]{
	border-radius: 10px;
	box-sizing:border-box;
	border:solid 1px #ccc;
	font-size:16px;
	padding:16px;
	width:100%;
	max-width:100%;
	height:auto;
}

#form dl dd ul {
  display: -webkit-flex;
  display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content:space-between;
}

#form dl dd ul li {
width:49%;
margin-bottom:10px;
}
#form dl dd label{
	border-radius: 50px;
	border:solid 1px #5186ec;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing:border-box;
	line-height:1.5;
	padding:0 15px;
	height: 55px;
	width:100%;
}
#form dl dd label:last-of-type{ margin-right:0;}

#form dl dd select{
	background: #fff;
	border-radius: 10px;
	border:solid 1px rgba(0,0,0,0.2);
	box-sizing:border-box;
	font-size: 1.0rem;
	line-height:1.5;
	margin-left: 0;
	height: 60px;
	width:100%;box-sizing: border-box;
max-width: 100% !important;
}

#form dl dd textarea{
	background: #fff;
	border-radius: 10px;
	border:solid 1px rgba(0,0,0,0.2);
	box-sizing:border-box;
	font-size: 1.0rem;
	line-height:1.5;
	margin-left: 0;
	height: 200px !important;
	width:100% !important;
max-width: 100% !important;
}
#form dl dd input[type="radio"]:checked + label{
	border:solid 1px #5186ec;
	background: #5186ec;
	color:#fff;
}

#form dl dd input[type="checkbox"]:checked + label{
	border:solid 1px #5186ec;
	background: #5186ec;
	color:#fff;
}
#form dl dd  input[type="num"] {
	width:50% !important;
	max-width:50% !important;
}
#form dl dd input::placeholder {
  color: #999;
}



/* Edge */
#form dl dd input::-ms-input-placeholder {
  color: #999;
}

#form .btn{
	text-align: center;
	padding:5px 0 0;
}
#form .btn {
}
#form .btn .nxtbtn{
	display:block;
	background: #4286f5 url("../assets/img/arrow1.png") no-repeat 94% center;
	background-size: 8px auto;
	box-shadow:0px 5px 3px rgba(236,236,236,.6);
	border-radius: 50px;
	color:#fff;
	font-size: 1.0rem;
	font-weight: bold;
	padding:16px 0;
	text-align:center;
	text-decoration: none;
	width: 100%;
	text-shadow:none !important;
	margin: 20px auto 0;
}
#form .btn .pvbtn{
	display:inline-block;
	color:#555;
	border-bottom:solid 3px #eee;
	border-radius: 50px;
	font-size:0.8em;
	font-weight: normal;
	padding:8px;
	text-decoration: none;
	border:none;
	text-align:center;
	margin:10px auto 0;
}
/* btn */
.nextbtn {
  -webkit-appearance: none;
  border: none;
  width: 80%;
  max-width: 500px;
  margin: 0 auto 10px;
  display: block;
  text-align: center;
  color: #fff!important;
  background: #4286f5 url(arrow.svg) no-repeat 90% center;
  background-size: 7px auto;
  padding: 15px;
  font-weight: bold;
  font-size: 18px;
  border-radius: 50px;
  color: #fff;
	text-shadow:none !important;
}
@media(max-width:414px){
  .nextbtn{
    width: 100%;
    padding: 12px;
    font-size: 16px;
  }
}
#success{
	padding:60px 0;
}
.pn {
	background:#fff;
	border-radius: 0;
	padding: 40px 60px;
	box-sizing: border-box;
	display: none;
	box-shadow:0px 0px 5px rgba(000,000,000,.1);
}
.current {
	display:block;
}

.error_msg {
	width:100%;
	display:none;
	color:red;
	font-size:12px;
	text-align:left;
	margin-left: 15px;
}

.check-text{
	font-size: 0.8rem;
	text-align: center;
	margin: 20px 0 0px;
}
.check-text a{
	text-decoration: underline;
}

@media(max-width:767px){
	#form dl{
		display: block;
		padding: 0 0 3px;
	}
	#form dl dt{
		font-size: 0.9rem;
		margin: 5px 0;
		padding-left: 0;
		width: 100%;
	}
	#form dl dt.hissu:after{
		font-size: 0.65rem;
		top: -1px;
		margin-left: 8px;
		padding: 2px 5px;
	}
	#form dl dd{
		font-size: 0.8rem;
		margin:0 5px 5px 0;
		width: 100%;
	}
	#form dl dd label{
		box-sizing: border-box;
		margin:0 5px 5px 0;
		height: 38px;
	}
	#form dl dd select{
		font-size: 0.8rem;
		margin:0 5px 5px 0;
		width: 100%;
		height: 46px;
	}
	#form dl dd input[type="text"], #form dl dd input[type="email"], #form dl dd input[type="tel"]{
		border-radius: 4px;
		font-size: 0.8rem;
		padding: 12px 10px;
		margin-left: 0;
	}

	#form .btn .nxtbtn{
		background-size: 6px;
		border: none;
		box-sizing: border-box;
		margin: 6px 0;
		padding: 10px 0;
		width: 100%;
	}
	#form .btn .pvbtn{
		margin-top: 0;
	}

	.pn{
		border-radius: 10px;
		padding:10px 16px;
	}
	.error_msg{
		margin-left: 0;
	}
	.check-text{
		font-size: 0.73rem;
		text-align: center;
		margin: 10px 0 0;
		line-height: 1.25em;
	}
}

@media(max-width:376px){
	#form dl dd label,
	#form dl dd input[type="radio"]:checked + label,
	#form dl dd input[type="radio"] + label,
	#form dl dd input[type="checkbox"]:checked + label,
	#form dl dd input[type="checkbox"] + label{
font-size: 14px;
letter-spacing: -1px;
	}
}
#form .dayinput dt {
font-size:0.8em;
}
#form .dayinput dt span{
	color:red;
	padding-left: 0.5em;
}
#form .dayinput dd{
	padding:0.5em 0 1em;
	  display: -webkit-flex;
  display: flex !important;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: space-between;
 -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
 align-items: center; /* 縦方向中央揃え */	
}
#form .dayinput dd input[type="text"]{
	width: 45% !important;
	height: 40px !important;
	border-radius: 5px;
	border: 1px solid #8c8c8c;
	margin:0 !important;
}
#form .dayinput dd select{
	width: 45%;
	height: 40px !important;
	padding:0 10px !important;
	margin:0 !important;
}
@media(max-width:600px){
	#form dl dd label{
		font-size: 13px;
		padding:0.3em;
		line-height: 1.4em;
	}
	#form .dayinput dd input[type="text"]{
	font-size: 13px !important;
	}
	#form .dayinput dd select{
	height: 40px !important;
		margin-top:0 !important;
}
}
