/* CSS Document */
@charset "utf-8";

@media screen and (min-width:769px){

.wrapper{
	width: 1000px;
	margin: 0 auto;
	padding: 45px 20px 55px 20px;
	background: #FFF;
}
h1{
	width: 500px;
	margin: 0 auto;
	font-size: 0;
	text-align: center;
}
h1 a{
}
h1 img{
	width: 100%;
}
h2{
	margin-top: 45px;
	padding: 7px 10px;
	background: #F39C12;
	font-size: 24px;
	color: #FFF;
	font-weight: bold;
	text-align: center;
}
h2.blue{
	background: #3498DB;
}
.table_box{
	margin-top: 15px;
}
.tel{
	width: 700px;
	margin: 50px auto 60px auto;
	border: 1px solid #E74090;
	border-top: none;
}
.tel .title{
	padding: 7px 10px;
	background: #E74090;
	font-size: 24px;
	color: #FFF;
	font-weight: bold;
	text-align: center;
}
.tel .inner{
	padding: 10px 15px;
}
.tel .number{
	font-family: 'Roboto', sans-serif;
	font-size: 60px;
	color: #E74090;
	font-weight: 700;
	text-align: center;
}
.tel .number:before{
	content: "TEL.";
	font-size: 30px;
}
.tel .number a{
	pointer-events: none;
	color: #E74090;
}
.tel p{
	margin-top: 5px;
	font-size: 13px;
	text-align: center;
}
.reserve_caution{
	margin-top: 30px;
	font-size: 13px;
	text-align: center;
}
.reserve_caution span{
	color: #D90000;
}
#reserve{
	margin-top: 35px;
}
#reserve table th{
	padding: 10px 10px 10px 40px;
	background: none;
	border-right: none;
	vertical-align: middle;
	text-align: left;
}
#reserve table tr:last-child th{
	padding: 20px 10px 10px 40px;
	vertical-align: top;
}
#reserve table td{
	padding: 20px 30px;
	border-color: #DDD;
	border-left: none;
	position: relative;
}
#reserve table td:before{
	content: "";
	width: 1px;
	height: calc(100% - 40px);
	background: #E74090;
	position: absolute; top: 20px; left: 0;
}
#reserve table th span.req:before,
#reserve table th span.opt:before{
	margin-left: 10px;
	padding: 2px 5px;
	border-radius: 5px;
	display: inline-block;
	vertical-align: middle;
	font-size: 13px;
	color: #FFF;
	text-align: center;
}
#reserve table th span.req:before{
	content: "必須";
	background: #D90000;
}
#reserve table th span.opt:before{
	content: "任意";
	background: #2980B9;
}
#reserve table input.short{
	width: 3em;
}
#reserve table select.short,
#reserve table input.medium{
	width: 4em;
}
#reserve table td.reserve{
	padding-top: 20px;
	font-size: 0;
}
#reserve table td.reserve div{
	margin: 0 15px 0 0;
	display: inline-block;
	vertical-align: middle;
	font-size: 14px;
}
#reserve table td.reserve div input,
#reserve table td.reserve div select{
	font-size: 16px;
}
#reserve table td.num{
	padding-top: 20px;
}
#reserve table td.num div{
	margin-top: 10px;
}
#reserve table td.num div:first-child{
	margin-top: 0;
}
#reserve table td div.check{
	font-size: 16px;
}
.policy{
	margin-top: 30px;
	padding: 20px;
	border: 1px solid #DDD;
	font-size: 15px;
}
.policy .title{
	font-weight: bold;
	text-align: center;
}
.policy p{
	margin-top: 10px;
	text-align: center;
}
.btn_box{
	margin-top: 45px;
	font-size: 0;
	text-align: center;
}
.btn_box button{
	width: 400px;
	padding: 20px;
	display: inline-block;
	background: #F39C12;
	border: none;
	outline: none;
	font-size: 19px;
	color: #FFF;
	font-weight: bold;
}
.btn_box button.confirm{
	width: 400px;
}
.btn_box button.back{
	margin-left: 20px;
	background: #CCC;
}


/* thanks */

.thanks{
	margin-top: 60px;
}
.thanks .title{
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}
.thanks p{
	margin-top: 25px;
	font-size: 15px;
	text-align: center;
}


/* footer */

footer{
	padding: 40px 0;
	font-size: 13px;
	text-align: center;
}

}
