@charset "UTF-8";
/* CSS Document */

/*----- PAGE-HEADER -----*/

.gentleman header.page-header{
	background-image: url("../../../images/_assets-page/entry/img-cover-gentleman-sp.webp");
}

.ladies header.page-header{
	background-image: url("../../../images/_assets-page/entry/img-cover-ladies-sp.webp");
}

@media screen and (min-width: 768px) {
	
	.gentleman header.page-header{
		background-image: url("../../../images/_assets-page/entry/img-cover-gentleman-pc.webp");
	}
	
	.ladies header.page-header{
		background-image: url("../../../images/_assets-page/entry/img-cover-ladies-pc.webp");
	}
	
}

/*----- PAGE-CONTENT -----*/

#entry div.content{
	width:100%;
	margin:0 auto;
	max-width: 1080px;
	
	box-sizing: border-box;
	padding:10px;
}

#entry div.form-content{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#fff;
	color:#222;
	
	border-radius:5px;
}

#entry div.form-content-child{
	margin-bottom:20px;
}

#entry div.form-content-child:last-child{
	margin-bottom:0;
}

@media screen and (min-width: 768px) {
	
	#entry div.content{
		padding:20px;
	}
	
	#entry div.form-content{
		padding:20px;
	}
	
	#entry div.form-content-child{
		margin-bottom:40px;
	}
	
}

/*----- FORM-CONTENT -----*/

.form-content p.caption{
	margin-bottom:20px;
}

.form-content h3{
	font-size:1.5rem;
	line-height:60px;
	
	box-sizing: border-box;
	padding-left:30px;
	
	position: relative;
}

.form-content h3::before{
	display:block;
	content:"";
	
	width:20px;
	height:1px;
	
	background-color:#000;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
}

.form-content div.row{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	
	box-sizing: border-box;
	padding-bottom:10px;
	border-bottom:solid 1px #888;
	margin-bottom:10px;
}

.form-content div.row p.que{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	padding-left:60px;
	
	/*background-color:#f0f0f0;*/
	color:#222;
	
	position: relative;
}

.form-content div.row p.que::before{
	display:block;
	content:"";
	
	width:40px;
	height:20px;
	
	font-size:0.6rem;
	line-height:20px;
	
	text-align: center;
	
	background-color:#000;
	color:#fff;
	
	border-radius:2.5px;
	
	position: absolute;
	top:12.5px;
	left:10px;
}

.form-content div.row p.must::before{
	content:"必須";
	
	background-color:#f44;
}

.form-content div.row p.extra::before{
	content:"任意";
	
	background-color:#44f;
}

.form-content div.row div.ans{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	/*background-color:#f8f8f8;*/
	color:#222;
}

.form-content div.row div.ans p.note{
	font-size:0.8rem;
	line-height:1.75em;
	color:#444;
	
	margin-top:10px;
}

.form-content div.ans ul.birth{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.form-content div.ans ul.birth li{
	display:block;
	
	box-sizing: border-box;
	padding-right:10px;
}

.form-content div.ans ul.birth li:nth-child(1):after{
	content:"年";
	
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.form-content div.ans ul.birth li:nth-child(2):after{
	content:"月";
	
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.form-content div.ans ul.birth li:nth-child(3):after{
	content:"日";
	
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.form-content div.ans ul.size{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.form-content div.ans ul.size li{
	display:block;
	
	box-sizing: border-box;
	padding-right:10px;
}

.form-content div.ans ul.size li:nth-child(1):before{
	content:"B";
	
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 5px;
}

.form-content div.ans ul.size li:nth-child(2):before{
	content:"W";
	
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 5px;
}

.form-content div.ans ul.size li:nth-child(3):before{
	content:"H";
	
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 5px;
}

.form-content div.ans ul.size li > input{
	width:60px;
}

.form-content div.ans ul.row{
	display:flex;
	flex-flow: row wrap;
	align-items:stretch;
	justify-content: flex-start;
	
	width:100%;
}

.form-content div.ans ul.row li{
	display:block;
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
}

.form-content div.ans ul.row li label{
	display:inline-block;
	
	box-sizing: border-box;
	padding-left:50px;
	
	position: relative;
	transition:0.25s;
}

.form-content div.ans ul.row li label:hover{
	color:#fd5e53;
	cursor: pointer;
}

.form-content div.ans ul.row li input{
	display:none;
}

.form-content div.ans ul.radio li label::before{
	display:block;
	content:"";
	
	width:30px;
	height:30px;
	
	background-color:#F8F8F8;
	
	border-radius:30px;
	
	position: absolute;
	top:0;
	bottom:0;
	left:10px;
	
	margin:auto 0;
}

.form-content div.ans ul.radio li label::after{
	display:block;
	content:"";
	
	width:20px;
	height:20px;
	
	background-color:#fd5e53;
	
	border-radius:20px;
	
	position: absolute;
	top:0;
	bottom:0;
	left:15px;
	
	margin:auto 0;
	
	opacity: 0;
	
	transition:0.25s;
}

.form-content div.ans ul.radio li input[type="radio"]:checked ~ label::after{
	opacity: 1.0;
}

.form-content div.ans ul.check li label::before{
	display:block;
	content:"";
	
	width:30px;
	height:30px;
	
	background-color:#F8F8F8;
	
	border-radius:2.5px;
	
	position: absolute;
	top:0;
	bottom:0;
	left:10px;
	
	margin:auto 0;
}

.form-content div.ans ul.check li label::after{
	display:block;
	content:"";
	
	width:30px;
	height:30px;
	
	background-color:#fd5e53;
	background-image: url("../../../images/_assets-page/_assets-common/icon-check-white.webp");
	background-repeat: no-repeat;
	background-size:15px;
	background-position:center;
	
	border-radius:2.5px;
	
	position: absolute;
	top:0;
	bottom:0;
	left:10px;
	
	margin:auto 0;
	
	opacity: 0;
	
	transition:0.25s;
}

.form-content div.ans ul.check li input[type="checkbox"]:checked ~ label::after{
	opacity: 1.0;
}

@media screen and (min-width: 768px) {
	
	.form-content div.row p.que{
		width:240px;
	}
	
	.form-content div.row div.ans{
		width:calc(100% - 240px);
	}
	
	.form-content div.ans ul.row li{
		width:auto;
	}
	
	.form-content div.ans ul.full li{
		width:100%;
	}
	
}

/*/////-----KIYAKU-----/////*/

.kiyaku{
	width:100%;
}

.kiyaku div.statement{
	width:100%;
	height:360px;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f8f8f8;
	color:#222;
	
	margin:10px 0;
	border-radius:2.5px;
}

.kiyaku div.statement div.inner{
	width:100%;
	height:100%;
	
	overflow: scroll;
}

.kiyaku div.statement div.inner > div{
	margin-bottom:10px;
}

.kiyaku div.statement div.inner > div > div{
	margin-bottom:10px;
}

.kiyaku div.statement div.inner h5{
	font-size:1.15rem;
	line-height:40px;
	font-weight:700;
	
	box-sizing: border-box;
	padding-left:30px;
	
	position: relative;
}

.kiyaku div.statement div.inner h5::before{
	display:block;
	content:"";
	
	width:20px;
	height:1px;
	
	background-color:#222;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
}

.kiyaku div.statement div.inner h6{
	font-size:1.0rem;
	line-height:40px;
	
	font-weight:700;
}

.kiyaku div.statement div.inner ul.num li{
	box-sizing: border-box;
	padding-left:20px;
	
	position: relative;
}

.kiyaku div.statement div.inner ul.num li::before{
	display:block;
	content:"0";
	
	position: absolute;
	top:0;
	left:0;
}

.kiyaku div.statement div.inner ul.num li:nth-child(1)::before{
	content:"1";
}

.kiyaku div.statement div.inner ul.num li:nth-child(2)::before{
	content:"2";
}

.kiyaku div.statement div.inner ul.num li:nth-child(3)::before{
	content:"3";
}

.kiyaku div.statement div.inner ul.num li:nth-child(4)::before{
	content:"4";
}

.kiyaku div.statement div.inner ul.num li:nth-child(5)::before{
	content:"5";
}

.kiyaku div.statement div.inner ul.num li:nth-child(6)::before{
	content:"6";
}

.kiyaku div.statement div.inner ul.num li:nth-child(7)::before{
	content:"7";
}

.kiyaku div.statement div.inner ul.num li:nth-child(8)::before{
	content:"8";
}

.kiyaku div.statement div.inner ul.num li:nth-child(9)::before{
	content:"9";
}

.kiyaku div.statement div.inner ul.num li:nth-child(10)::before{
	content:"10";
}

.kiyaku div.statement div.inner ul.fee{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.kiyaku div.statement div.inner ul.fee li{
	width:120px;
	
	text-align: center;
	
	margin-right:2.5px;
}

.kiyaku div.statement div.inner ul.fee li span.que{
	display:block;
	
	background-color:#fff;
	
	margin-bottom:2.5px;
}

.kiyaku div.statement div.inner ul.fee li span.ans{
	display:block;
	
	background-color:#fff;
}

@media screen and (min-width: 768px) {
	
	.kiyaku div.statement{
		padding:20px;
	}
	
}

/*/////-----CAUTION-----/////*/

.caution li{
	box-sizing: border-box;
	padding-left:15px;
	
	position: relative;
	
	margin-bottom:5px;
}

.caution li.attention{
	color:#f44;
}

.caution li::before{
	display:block;
	content:"・";
	
	position: absolute;
	top:0;
	left:0;
}

/*/////-----LICENSE-----/////*/

.license ul.thumbnail{
	box-sizing: border-box;
	padding:20px 0;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.license ul.thumbnail li{
	width:100%;
	margin-bottom:10px;
}

.license ul.thumbnail li:last-child{
	margin-bottom:0;
}

.license ul.thumbnail li img{
	width:100%;
	vertical-align: bottom;
}

.license ul.prof-thum{
	box-sizing: border-box;
	padding:20px 0;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	max-width: 720px;
}

.license ul.prof-thum li{
	width:calc(100%/3);
	
	box-sizing: border-box;
	padding:2.5px;
}


.license ul.profile li{
	width:calc(100%/3);
	
	box-sizing: border-box;
	padding:2.5px;
	
	margin-bottom:0;
}

.license ul.profile li img{
	width:100%;
	vertical-align: bottom;
}

@media screen and (min-width: 768px) {
	
	.license ul.thumbnail li{
		width:320px;
	}
	
	.license ul.thumbnail li:nth-child(1){
		margin-right:10px;
	}
	
	.license ul.thumbnail li:nth-child(2){
		margin-left:10px;
	}
	
}

/*/////-----BTN-ACTION-----/////*/

.btn-action{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: center;
	
	width:100%;
}

.btn-action > p{
	width:calc(50% - 10px);
	max-width: 240px;
}

.btn-action > p:nth-child(1){
	margin-right:10px;
}

.btn-action > p:nth-child(2){
	margin-left:10px;
}

.btn-action-confirm{
	width:100%;
	text-align: center;
}

.btn-action-confirm p.btn-submit{
	width:100%;
	margin:0 auto;
	max-width: 240px;
}

.btn-action-confirm p.note{
	display:block;
	width:100%;
	
	font-size:0.8rem;
	line-height:1.75em;
	
	color:#f44;
	
	text-align: left;
	
	box-sizing: border-box;
	padding:0 10px;
	
	margin-top:10px;
}

@media screen and (min-width: 768px) {
	
	.btn-action-confirm p.note{
		text-align: center;
	}
	
}

/*/////-----APPROVAL-----/////*/

.approval{
	width:100%;
	
	box-sizing: border-box;
	padding:20px 0;
}

.approval input[type="checkbox"]{
	display:none;
}

.approval label{
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 10px;
	padding-left:50px;
	border:solid 1px #fd5e53;
	
	font-size:1.15rem;
	line-height:50px;
	
	background-color:#fd5e53;
	color:#fff;
	
	border-radius:2.5px;
	
	position: relative;
	
	transition:0.25s;
}

.approval label:hover{
	background-color:#fff;
	color:#fd5e53;
	
	cursor: pointer;
}

.approval label::before{
	display:block;
	content:"";
	
	width:30px;
	height:30px;
	
	background-color:#F8F8F8;
	
	border-radius:2.5px;
	
	position: absolute;
	top:0;
	bottom:0;
	left:10px;
	
	margin:auto 0;
}

.approval label::after{
	display:block;
	content:"";
	
	width:30px;
	height:30px;
	
	background-color:#fd5e53;
	background-image: url("../../../images/_assets-page/_assets-common/icon-check-white.webp");
	background-repeat: no-repeat;
	background-size:15px;
	background-position:center;
	
	border-radius:2.5px;
	
	position: absolute;
	top:0;
	bottom:0;
	left:10px;
	
	margin:auto 0;
	
	opacity: 0;
	
	transition:0.25s;
}

.approval input[type="checkbox"]:checked ~ label::after{
	opacity: 1.0;
}

/*----- MESSAGE-COMPLETE -----*/

.message{
	width:100%;
	
	background-color:#fff;
	
	box-sizing: border-box;
	padding:10px;
}

.message div.post-content{
	width:100%;
	margin:0 auto;
	max-width: 1080px;
	
	box-sizing: border-box;
	padding:40px 30px;
	
	background-color:#fff;
	color:#222;
}

.message div.inner{
	width:100%;
	position: relative;
}

.message div.inner span.design-top-left{
	display:block;
	
	width:80px;
	height:80px;
	
	position: absolute;
	top:-30px;
	left:-20px;
	
	background-image: url("../../../images/_assets-page/gentleman/design-frame-message.webp");
	background-repeat: no-repeat;
	background-size: 80px;
	background-position: top left;
}

.message div.inner span.design-top-right{
	display:block;
	
	width:80px;
	height:80px;
	
	position: absolute;
	top:-30px;
	right:-20px;
	
	background-image: url("../../../images/_assets-page/gentleman/design-frame-message.webp");
	background-repeat: no-repeat;
	background-size: 80px;
	background-position: top left;
	
	transform: rotate(90deg);
}

.message div.inner span.design-bottom-right{
	display:block;
	
	width:80px;
	height:80px;
	
	position: absolute;
	bottom:-30px;
	right:-20px;
	
	background-image: url("../../../images/_assets-page/gentleman/design-frame-message.webp");
	background-repeat: no-repeat;
	background-size: 80px;
	background-position: top left;
	
	transform: rotate(180deg);
}

.message div.inner span.design-bottom-left{
	display:block;
	
	width:80px;
	height:80px;
	
	position: absolute;
	bottom:-30px;
	left:-20px;
	
	background-image: url("../../../images/_assets-page/gentleman/design-frame-message.webp");
	background-repeat: no-repeat;
	background-size: 80px;
	background-position: top left;
	
	transform: rotate(270deg);
}

.message h4{
	font-size:1.25rem;
	line-height:1.5em;
	
	text-align: center;
	
	margin-bottom:20px;
}

.message p{
	font-size:0.8rem;
	line-height:1.75em;
	
	margin-bottom:10px;
}

.message h5{
	font-size:1.15rem;
	line-height:1.5em;
	
	text-align: center;
	
	color:#fd5e53;
	
	text-decoration: underline;
	text-underline-offset: 0.25rem;
	
	margin-top:10px;
}

@media screen and (min-width: 768px) {
	
	.message{
		padding:20px;
	}
	
	.message div.post-content{
		padding:40px;
	}
	
	.message div.inner span.design-top-left{
		top:-30px;
		left:-30px;
	}
	
	.message div.inner span.design-top-right{
		top:-30px;
		right:-30px;
	}
	
	.message div.inner span.design-bottom-left{
		bottom:-30px;
		left:-30px;
	}
	
	.message div.inner span.design-bottom-right{
		bottom:-30px;
		right:-30px;
	}
	
	.message h4{
		font-size:1.5rem;
		line-height:1.75em;
	}
	
	.message h4 br{
		display:none;
	}
	
	.message p{
		font-size:1.0rem;
		line-height:1.75em;
	}
	
	.message h5{
		font-size:1.25rem;
		line-height:1.75em;
	}
	
	.message h5 br:nth-child(1){
		display:none;
	}
	
}
