/* CSS Document */

#form{
	margin-top: 2em;
	}

#step{
	margin-bottom: 2em;
	}
	#step ol{
		display: flex;
		grid-gap: 20px;
		list-style: none;
		}
	#step li{
		position: relative;
		display: grid;
		place-items: center;
		width: 50%;
		min-height: 4em;
		padding: 0.5em;
		background: #f2f2f2;
		color: #999;
		text-align:center;
		line-height: 1.5em;
		}
		#step li:before,
		#step li:after{
			content: "";
			position: absolute;
			top: 0;
			width: 16px;
			height: 100%;
			-webkit-mask-position: center;
			-webkit-mask-repeat: no-repeat;
			-webkit-mask-size: cover;
			background: #f2f2f2;
			}
		#step li:before{
			left: 0;
			-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 30 30"><polyline points="0 0, 30 0, 30 30, 0 30, 30 15" /></svg>');
			transform: translateX(-100%);
			}
		#step li:after{
			right: 0;
			-webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 30 30"><polyline points="0 0, 30 15, 0 30" /></svg>');
			transform: translateX(100%);
			z-index: 1;
			}
		#step li:first-child{}
			#step li:first-child:before{
				content: none;
				}
		#step li:last-child{}
			#step li:last-child:after{
				content: none;
				}
	#step .now{
		background: var(--theme-color);
		color: #fff;
		font-weight: bold;
		}
		#step .now:before,
		#step .now:after{
			background: var(--theme-color);
			}

#thanks{}
	#thanks .wrap{
		display: flex;
		flex-direction: column;
		align-items: center;
		}

#notice{
	margin-bottom: 1em;
	}

#policy{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 2em 0;
	}

#terms{
	height: 20em;
	margin-top: 1em;
	padding: 1em;
	border: 1px solid #ccc;
	overflow-y: scroll;
	}
	#terms div{
		margin: 2em 0;
		}
	#terms h3{
		font-size: 1.2em;
		font-weight: bold;
		}
		#terms h3+*{
			margin-top: 1em;
			}
	#terms h4{
		font-size: 1.1em;
		font-weight: bold;
		}
		#terms h4+*{
			margin-top: 0.5em;
			}
	#terms ul{
		margin-top: 1em;
		padding-left: 2em;
		}
	#terms li{
		line-height: 1.4em;
		}
	#terms li+li{
		margin-top: 0.5em;
		}
	#terms address{
		float: right;
		margin-top: 2em;
		padding-bottom: 1em;
		}

#agreement{
	font-size: 1.1em;
	}
	#agreement.err{
		border: none !important;
		background: none !important;
		}
		#agreement.err label{
			background: #fff0f3;
			border: 2px solid #e0002a;
			}
	#agreement label{
		padding: 0.8em;
		border: 2px solid rgba(0,0,0,0);
		font-weight: bold;
		}

#captcha{
	display: flex;
	justify-content: center;
	margin: 2em 0;
	}
	#captcha div+div{
		margin-top: auto;
		}
	#captcha .captcha-holder{
		width: 100%;
		border-color: #ff0000;
		border-width: 2px;
		}
	#captcha .captcha-success{
		border-color: #5bd25b;
		}

#submit{
	margin-top: 2em;
	}
	#submit button{
		padding: 1em 2em;
		border-radius: 2em;
		background: var(--theme-color);
		}
	#submit #btnModify{
		background: #ccc;
		}
	#submit #btnConfirm.lsf-error-btn{
		pointer-events: none;
		background: #e0002a;
		}

.acids{}
	.acids:after{
		content: "必須";
		color: #e0002a;
		font-weight: bold;
		}

.entry{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-bottom: 1px solid #ccc;
	}
	.entry dt,
	.entry dd{
		padding: 0.8em;
		border-top: 1px solid #ccc;
		line-height: 1.4em;
		}
	.entry dt{
		position: relative;
		width: 13em;
		border-top: 1px solid #ccc;
		background: #f2f2f2;
		color: #53504B;
		font-weight: bold;
		}
		.entry dt.acids{
			padding-right: 3em;
			}
	.entry dd{
		width: calc(100% - 13em);
		padding-right: 0;
		}
	.entry ul{
		display: grid;
		grid-gap: 0.5em;
		list-style: none;
		}
	.entry li{
		line-height: 1.4em;
		}
		.entry li:not(:has(input)){
			display: none;
			}
	.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;
		}

.err{
	background-color: #ffffcc;
	border: 2px solid #e0002a;
	}
	ul.err{
		padding: 0.5em;
		}

.lsf-modify{}
	.lsf-modify .entry dt{
		padding-right: 4em;
		}




/* for all */
@media (max-width: 1199px) {
/*1199px以下*/
}
@media (max-width: 991px) {
/*991px以下*/
}


/* for mobile */
@media (max-width: 767px) {
/*767以下px*/
}
@media (max-width: 767px) and (orientation:portrait) {
/*767px以下 縦向き*/
#step{}
	#step li{
		font-size: 0.8em;
		}
#submit{}
	#submit button{
		width: 100%;
		}
.entry{
	display: block;
	margin: 0 -1em;
	}
	.entry dt,
	.entry dd{
		width: 100%;
		padding: 0.8em 1em;
		}
	.entry dd{
		border: none;
		}
}
@media (max-width: 767px) and (orientation:landscape) {
/*767px以下 横向き*/
}
@media (max-width: 767px) and (orientation:portrait), (max-width: 575px) and (orientation:landscape) {
/*767px以下縦向き, 575px以下横向き*/
}
@media (min-width: 768px), (min-width: 576px) and (max-width: 767px) and (orientation:landscape) {
/*576px～767px横向き, 768px以上,*/
}
@media (min-width: 768px) and (max-width: 991px), (min-width: 576px) and (max-width: 767px) and (orientation:landscape) {
/*576px～767px横向き, 768px～991px*/
}


/* for tablet */
@media (min-width: 768px) {
/*768px以上*/
#policy{
	text-align: center;
	}
}
@media (min-width: 768px) and (max-width: 1199px) {
/*768px～1199px*/
}
@media (min-width: 768px) and (max-width: 991px) {
/*768px～991px*/
}


/* for PC */
@media (min-width: 992px) {
/*992px以上*/
.entry{}
	.entry dt{
		width: 15em;
		}
	.entry dd{
		width: calc(100% - 15em);
		}
}
@media (min-width: 992px) and (max-width: 1199px) {
/*992px～1199px*/
}
@media (min-width: 1200px) {
/*1200px以上*/
}


/* ie */
@media all and (-ms-high-contrast: none){
}



