/* CSS Document */

#form{
	padding-top: 0;
	}
	#form > *+*{
		margin-top: 2em;
		}

#step{}
	#step ul{
		display: table;
		width: calc(100% + 2em);
		margin: 0 -1em;
		table-layout: fixed;
		border-spacing: 1em 0;
		}
	#step li{
		position: relative;
		display: table-cell;
		vertical-align: middle;
		padding: 1em;
		background: #f2f2f2;
		text-align: center;
		}
	#step li:after{
		content: "";
		position: absolute;
		right: -1.4em;
		top: 50%;
		width: 0;
		height: 0;
		margin-top: -0.5em;
		border: 0.5em solid transparent;
		border-left-color: #ffc700;
		}
	#step li:last-child:after{
		content: none;
		}
	#step li.now{
		background:#28477a;
		color: #fff;
		font-weight:bold;
		}

#notice{
	margin-bottom: 1em;
	}

#policy{
	text-align: center;
	}

#agreement{
	margin-top: 1em;
	font-size: 1.1em;
	text-align: center;
	}
	#agreement.err{
		border: none !important;
		background: none !important;
		}
		#agreement.err label{
			background: #fff0f3;
			border: 2px solid #e0002a;
			}
	#agreement label{
		display: inline-block;
		padding: 0.5em 0.8em;
		padding-left: 2.5em;
		border: 2px solid rgba(0,0,0,0);
		font-weight: bold;
		}
		#agreement label:before,
		#agreement label:after{
			margin-left: 0.5em;
			}

#captcha{
	justify-self: center;
	}
	#captcha .captcha-holder{
		border-color: #ff0000;
		border-width: 2px;
		width: 280px;
		margin: 0 auto;
		}
	#captcha .captcha-success{
		border-color: #5bd25b;
		}

#submit{
	text-align: center;
	}
	#submit button{
		padding: 1em;
		border: none;
		font-weight: bold;
		line-height: 1em;
		text-align: center;
		}
	#submit #btnConfirm{
		background: #28477a;
		color: #fff;
		}
	#submit #btnModify{
		background: #ccc;
		}
	#submit #btnSend{
		background: #28477a;
		color: #fff;
		}
	#submit #btnConfirm.lsf-error-btn{
		pointer-events: none;
		background: #e0002a;
		}
#thanks{
	padding-top: 0;
	}
	#thanks h4,
	#thanks p {
		text-align: center;
		}
	#thanks h4{
		font-weight: 700;
		margin-top: 2em;
		}
	#thanks h4 + p{
		margin-top: 1.5em;
		}

.acids{}
	.acids:after{
		content: "必須";
		color: #e0002a;
		font-weight: bold;
		}

.entry{
	border-bottom: 1px solid #ccc;
	}
	.entry dt{
		position: relative;
		border-top: 1px solid #ccc;
		color: #53504B;
		font-weight: bold;
		}
	.entry small{
		display: block;
		margin-top: 0.5em;
		font-size: 0.8em;
		line-height: 1.2em;
		}
	.entry .acids:after{
		position: absolute;
		right: 0;
		top: 0;
		padding: 0.4em;
		background: #e0002a;
		color: #fff;
		font-size: 0.8em;
		font-weight: normal;
		line-height: 1em;
		}

.lsf-modify{}
	.lsf-modify .entry dt{
		padding-right: 4em;
		}


/* for mobile */
@media (max-width: 767px) {
/*767以下px*/
#step{}
	#step li{
		padding: 0.5em 1em;
		font-size: 1.2rem;
		line-height: 1.4em;
		}
#submit{}
	#submit button{
		width: 100%;
		margin: 0;
		}
	#submit button+button{
		margin-top: 0.5em;
		}
#policy p{
	text-align: left;
	}
#thanks{}
	#thanks h4 + p{
		font-size: 1.4rem;
		line-height: 1.4em;
		}
.entry{
	margin: 0 -1em;
	}
	.entry dt,
	.entry dd{
		padding: 0 1em;
		}
	.entry dt{
		padding-top: 0.8em;
		}
	.entry dd{
		padding-bottom: 0.8em;
		}
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
#step{}
	#step ul{
		width: calc(100% + 40px);
		margin: 0 -20px;
		border-spacing: 20px 0;
		}
	#step li{}
	#step li:after{
		right: -25px;
		margin-top: -10px;
		border: 10px solid transparent;
		}
#submit{
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	}
	#submit button{
		width: auto;
		margin: 0;
		}
		#submit button+button{
			margin-left: 1em;
			}
.entry{
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	}
	.entry dt,
	.entry dd{
		padding: 0.5em 0;
		border-top: 1px solid #ccc;
		}
	.entry dt{
		width: 15em;
		font-weight: bold;
		}
	.entry dd{
		width: calc(100% - 15em);
		padding: 0.5em;
		}
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
#policy{}
	#policy .leftFloat{
		width:38%;
		}
	#policy .rightFloat{
		position:relative;
		width:60%;
		margin-top: 0;
		}
}


@media (min-width: 1200px) {
/*1200px以上*/
#step{}
	#step ul{
		padding: 0 100px;
		}
}


/* ie */
@media all and (-ms-high-contrast: none){}


