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

#reserve p.caption{
	margin-bottom:20px;
}

#reserve div.attention{
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f0f0f0;
	color:#000;
	
	margin-bottom:20px;
}

#reserve div.attention h6{
	font-size:0.8rem;
	line-height:1.75em;
	font-weight:bold;
}

#reserve div.attention ul{
	font-size:0.8rem;
	line-height:1.75em;
}

#reserve div.attention ul li{
	box-sizing: border-box;
	padding-left:15px;
	
	position: relative;
}

#reserve div.attention ul li:before{
	display:block;
	content:"・";
	
	position: absolute;
	top:0;
	left:0;
}

#reserve p.btn-backtohome{
	width:100%;
	margin:0 auto 20px;
	
	text-align: center;
}

#reserve p.btn-backtohome a{
	display:inline-block;
	
	width:240px;
	
	font-size:1.0rem;
	line-height:50px;
	font-weight:bold;
	
	text-align: center;
	
	box-sizing: border-box;
	
	background-color:#048;
	color:#fff;
	
	border-radius:5px;
	
	background-image: url("../images/icon-arrow-right.png");
	background-repeat: no-repeat;
	background-size:15px;
	background-position: center right 10px;
}

#reserve p.btn-backtohome a:hover{
	opacity: 0.8;
	text-decoration: none;
}

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

.form-content{
	box-sizing: border-box;
	padding:10px;
	
	background-color:#fff;
	color:#000;
	
	width:100%;
	margin:0 auto 20px;
	
	border-radius:5px;
}

.form-content div.row{
	margin-bottom:20px;
}

.form-content div.row p.que{
	font-size:1.0rem;
	line-height:40px;
	font-weight:bold;
	
	box-sizing: border-box;
	padding-left:45px;
	
	position: relative;
	
	background-color:#048;
	color:#fff;
}

.form-content div.row p.que span.note{
	display:inline-block;
	
	font-size:0.6rem;
	line-height:30px;
	font-weight: normal;
	
	box-sizing: border-box;
	padding:0 5px;
}

.form-content div.row p.que:before{
	display:block;
	content:"任意";
	width:30px;
	height:15px;
	
	font-size:0.6rem;
	line-height:15px;
	font-weight:bold;
	
	border-radius:2.5px;
	
	text-align: center;
	
	background-color:#f88;
	color:#fff;
	
	position: absolute;
	top:0;
	bottom:0;
	left:10px;
	
	margin:auto 0;
}

.form-content div.row p.que.must:before{
	display:block;
	content:"必須";
	width:30px;
	height:15px;
	
	font-size:0.6rem;
	line-height:15px;
	font-weight:bold;
	
	border-radius:2.5px;
	
	text-align: center;
	
	background-color:#f44;
	color:#fff;
	
	position: absolute;
	top:0;
	bottom:0;
	left:10px;
	
	margin:auto 0;
}

.form-content div.row div.ans{
	box-sizing: border-box;
	padding:15px 10px;
	
	background-color:#f0f0f0;
	color:#000;
}

.form-content div.row div.ans span.note{
	display:inline-block;
	
	font-size:0.6rem;
	line-height:1.75em;
	
	box-sizing: border-box;
	padding:0 5px;
}

.form-content div.row div.ans p{
	margin-bottom:10px;
}

.form-content div.row div.ans p:last-child{
	margin-bottom:0;
}

.form-content ul.vertical li{
	display:block;
	width:100%;
	
	margin-bottom:10px;
	
	font-size:1.0rem;
	line-height:30px;
	
	box-sizing: border-box;
	padding-left:30px;
	
	position: relative;
}

.form-content ul.vertical li:last-child{
	margin-bottom:0;
}

.form-content ul.vertical li label{
	display:block;
	width:100%;
	height:30px;
	max-width: 240px;
	
	position: absolute;
	top:0;
	left:0;
	
	/*background-color:#000;*/
	
	z-index: 10;
}

.form-content ul.vertical li label:hover{
	cursor: pointer;
}

.form-content ul.vertical li label:before{
	display:block;
	content:"";
	
	width:20px;
	height:20px;
	
	box-sizing: border-box;
	border:solid 1px #ccc;
	
	background-color:#fff;
	
	position: absolute;
	top:0;
	left:0;
	bottom:0;
	
	margin:auto 0;
	
	border-radius:50px;
}

.form-content ul.vertical li label:after{
	display:none;
	content:"";
	
	width:12px;
	height:12px;
	
	box-sizing: border-box;
	
	background-color:#048;
	
	position: absolute;
	top:0;
	left:4px;
	bottom:0;
	
	margin:auto 0;
	
	border-radius:50px;
}

.form-content ul.vertical li input[type="radio"]:checked ~ label:after{
	display:block;
}

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

@media only screen and (min-width: 760px){
	
	.form-content ul.castchoice{
		justify-content: flex-start;
	}
	
}

.form-content ul.castchoice li{
	display:inline-block;
	width:120px;
	
	margin-right:10px;
	
	text-align: center;
	
	box-sizing: border-box;
	padding-top:30px;
	
	position: relative;
}

.form-content ul.castchoice li span.note{
	display:inline-block;
	
	font-size:0.8rem;
	line-height:20px;
	font-weight:bold;
}

.form-content ul.castchoice li label{
	display:block;
	width:100%;
	height:30px;
	
	position: absolute;
	top:0;
	left:0;
	
	/*background-color:#000;*/
	
	z-index: 10;
}

.form-content ul.castchoice li label:hover{
	cursor: pointer;
}

.form-content ul.castchoice li label:before{
	display:block;
	content:"";
	
	width:20px;
	height:20px;
	
	box-sizing: border-box;
	border:solid 1px #ccc;
	
	background-color:#fff;
	
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	
	margin:auto;
	
	border-radius:50px;
}

.form-content ul.castchoice li label:after{
	display:none;
	content:"";
	
	width:12px;
	height:12px;
	
	box-sizing: border-box;
	
	background-color:#048;
	
	position: absolute;
	top:0;
	left:0;
	bottom:0;
	right:0;
	
	margin:auto;
	
	border-radius:50px;
}

.form-content ul.castchoice li input[type="radio"]:checked ~ label:after{
	display:block;
}
