/*=================================================
 * CSS for PC
 * ================================================= */

main{
}

#system{	padding-top: 70px; padding-bottom: 50px;}

.topimg{
	font-size: 0;
	line-height: 0;
	text-align: center;
	margin: 0 0 50px 0;
}


/** caution **/

.caution{
	position: relative;
	width: 870px;
	text-align: left;
	background: url(img/caution.png) no-repeat 85px 50% #fff;
	border-radius: 10px;
	margin: 0 auto 50px auto;
	padding: 20px 20px 20px 250px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.caution:after{
	content: '';
	width: 60px;
	height: 100%;
	background: #3ec0f5;
	border-radius: 10px 0 0 10px;
	position: absolute;
	top: 0;
	left: 0;
}

.caution h3{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 30px;
	line-height: 34px;
	color: #ff68b5;
	margin: 0 0 15px 0;
}

.caution p{
	font-size: 16px;
	line-height: 25px;
}

.caution span{
	display: inline-block;
	vertical-align: top;
	font-family: "FontA";
	font-size: 16px;
	line-height: 25px;
	color: #fff;
	position: absolute;
	z-index: 2;
	top: 68px;
	left: -20px;
	-webkit-transform: rotate(90deg);
	   -moz-transform: rotate(90deg);
	    -ms-transform: rotate(90deg);
	     -o-transform: rotate(90deg);
	        transform: rotate(90deg);
}


/** sys **/

#sys{
	background: #fff;
	padding: 70px 0;
}

#sys .s_title{	margin-bottom: 30px;}

#sys .sysbox{
	width: 1000px;
	background: #fff6fa;
	border-radius: 10px;
	margin: 0 auto 30px auto;
	padding: 50px 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#sys .sysbox h4{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 26px;
	line-height: 30px;
	margin: 0 0 20px 0;
}
#sys .sysbox dl{
	position: relative;
	display: table;
	width: 100%;
	font-size: 0;
	line-height: 0;
	table-layout: fixed;
}
#sys .sysbox dd:after{
	content: '';
	width: 350px;
	height: 2px;
	background: #d4d4d4;
	position: absolute;
	top: calc(50% - 1px);
	left: calc(50% - 175px);
}

#sys .sysbox dt,
#sys .sysbox dd{
	display: table-cell;
	vertical-align: middle;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 40px;
	line-height: 60px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#sys .sysbox dt{
	color: #ff68b5;
	text-align: right;
	padding-right: 200px;
}

#sys .sysbox dd{
	text-align: left;
	padding-left: 200px;
}

#sys .sysbox .boxtxt{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 26px;
	margin: 30px 0 0 0;
}

#sys .sysbox .ex{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 28px;
	line-height: 30px;
	margin: 10px 0 0 0;
}

#sys .sysbox .ex em{color: #ff68b5;}
#sys .sysbox .ex span{color: #e0e7e9;}

#sys .card{
	width: 1000px;
	text-align: left;
	background: url(img/card.png) no-repeat calc(100% - 150px) 55px #fff6fa;
	background-size: 250px auto;
	border-radius: 10px;
	margin: 0 auto;
	padding: 50px 150px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#sys .card h4{
	font-family: "FontA";
	font-size: 40px;
	line-height: 46px;
	color: #ff68b5;
}
#sys .card p{
	font-size: 16px;
	line-height: 25px;
}


/** other **/

.other{
	display: flex;
	align-items: stretch;
	align-content: flex-start;
	justify-content: center;
	font-size: 0;
	line-height: 0;
	padding: 50px 25px;
}

.other_in{
	width: calc(50% - 50px);
	margin: 0 25px;
	background: #fff;
	border-radius: 10px;
	padding: 30px 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#res > p{
	font-size: 16px;
	line-height: 25px;
	text-align: center;
	margin: 30px 0;
}

.res_bt{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	justify-content: center;
}

.res_bt a{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 200px;
	height: 55px;
	color: #fff;
	border-radius: 5px;
	margin: 5px 5px;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;
}
.res_bt a:hover{
	text-decoration: none;
	opacity: 0.7;
	filter: alpha(opacity=70);
}

.res_bt a p{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 20px;
}
.res_bt a p em{
	display: inline-block;
	vertical-align: top;
	font-size: 12px;
	line-height: 18px;
}

.res_bt a span{
	font-size: 34px;
	line-height: 34px;
	margin-right: 5px;
}

.res_bt a.res_bt_line{	background: #00b900;}
.res_bt a.res_bt_line span{
	width: 30px;
	height: 30px;
	font-size: 0;
	line-height: 0;
	background: url(img/prof_bt_line.png) no-repeat;
	background-size: 30px auto;
}
.res_bt a.res_bt_mail{	background: #ff861d;}
.res_bt a.res_bt_tel{	background: #ff68b5;}
.res_bt a.res_bt_line + a.res_bt_mail + a.res_bt_tel{width: 410px;}
@media screen and (min-width: 1830px) {
	.res_bt a.res_bt_tel{	margin-top: 0;}
}

#rece p{
	font-size: 16px;
	line-height: 25px;
	text-align: center;
	margin-top: 90px;
}


/** access **/

#access{
	background: #fff;
	margin: 0 0 50px 0;
	padding: 50px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#access .s_title{	margin-bottom: 50px;}

.access_in{
	display: flex;
	align-items: stretch;
	align-content: flex-start;
	justify-content: flex-start;
}
.access_l{
	width: 450px;
	margin: 0 50px 0 0;
	background: url(../img/all/h_logo.png) no-repeat 70px calc(100% - 10px);
	background-size: 270px auto;
}
.access_l dl{
	font-size: 16px;
	line-height: 20px;
	text-align: left;
	padding: 25px 0;
	border-bottom: 1px dotted #ddd;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.access_l dl:first-of-type{	border-top: 1px dotted #ddd;}
.access_l dt{
	position: relative;
	color: #87576c;
	padding: 0 0 0 25px;
}
.access_l dt span{
	font-size: 18px;
	line-height: 20px;
	position: absolute;
	top: 0;
	left: 0;
}
.access_l dd{
	padding: 0 0 0 25px;
}
.access_l dl:first-of-type dd a{
	color: #ff3399;
	text-decoration: underline;
}

.access_r{
	width: calc(100% - 500px);
}
.access_r iframe{
	width: 100%;
	height: 450px;
}


/** parking **/

#parking{
	width: 1200px;
	margin: 0 auto 50px auto;
	padding: 50px;
	background: #fff;
	border-radius: 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#parking .s_title{	margin-bottom: 50px;}
#parking dl{
	display: table;
	width: 800px;
	font-size: 0;
	line-height: 0;
	margin: 0 auto;
	border-bottom: 1px dotted #ddd;
}
#parking dl:first-of-type{	border-top: 1px dotted #ddd;}
#parking dt,
#parking dd{
	display: table-cell;
	vertical-align: top;
	font-size: 16px;
	line-height: 20px;
	text-align: left;
	padding: 25px 0;
}
#parking dt{
	width: 130px;
	color: #87576c;
}
#parking dd{}
#parking dd ul{}
#parking dd li{
	margin: 0 0 15px 0;
}
#parking dd li p:nth-of-type(1){
	position: relative;
	padding: 0 0 0 18px;
}
#parking dd li p:nth-of-type(1) span{
	display: inline-block;
	vertical-align: top;
	position: absolute;
	top: 0;
	left: 0;
}
#parking dd li p:nth-of-type(2),
#parking .park_add p:nth-of-type(2){
	position: relative;
	font-size: 13px;
	line-height: 18px;
	margin: 10px 0 0 0;
	padding: 0 0 0 18px;
}
#parking dd li p:nth-of-type(2) span,
#parking .park_add p:nth-of-type(2) span{
	display: inline-block;
	vertical-align: top;
	color: #ff0000;
	position: absolute;
	top: 0;
	left: 0;
}


/** rule **/

.rule{
	width: 1200px;
	margin: 0 auto;
	padding: 50px;
	background: #fff;
	border-radius: 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.rule .s_title{	margin-bottom: 50px;}
.rule p{
	font-size: 16px;
	line-height: 25px;
	margin: 0 0 40px 0;
}
.rule p:last-child{	margin-bottom: 0;}
.rule ul{
	width: 500px;
	text-align: left;
	margin: 0 auto 50px auto;
}
.rule li{
	position: relative;
	font-size: 16px;
	line-height: 25px;
	text-align: left;
	padding: 12px 0 12px 30px;
	border-bottom: 1px dotted #ddd;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.rule li span{
	display: inline-block;
	vertical-align: top;
	font-size: 15px;
	line-height: 20px;
	color: #ff68b5;
	position: absolute;
	top: 13px;
	left: 5px;
}


.pc_none{	display: none;}


/*=================================================
 * CSS for SP
 * ================================================= */

@media screen and (max-width: 650px) {

	#system{	padding-top: 30px; padding-bottom: 20px;}

	.topimg{
		margin: 0 0 20px 0;
	}
	.topimg img{
		width: 100%;
		height: auto;
	}


	/** caution **/
	.caution{
		position: relative;
		width: auto;
		background: #fff;
		border-radius: 5px;
		margin: 0 10px 20px 10px;
		padding: 10px 10px 10px 50px;
	}
	.caution:after{
		content: '';
		width: 30px;
		height: 100%;
		border-radius: 5px 0 0 5px;
		position: absolute;
		top: 0;
		left: 0;
	}
	.caution h3{
		font-size: 24px;
		line-height: 30px;
		margin: 0 0 10px 0;
	}
	.caution p{
		font-size: 14px;
		line-height: 20px;
	}
	.caution span{
		font-size: 16px;
		line-height: 25px;
		position: absolute;
		z-index: 2;
		top: 48px;
		left: -35px;
	}

	/** sys **/
	#sys{
		padding: 20px 10px;
	}
	#sys .s_title{	margin-bottom: 0;}

	#sys .sysbox{
		width: auto;
		border-radius: 5px;
		margin: 0 0 20px 0;
		padding: 10px;
	}
	#sys .sysbox h4{
		font-size: 16px;
		line-height: 20px;
		text-align: center;
		margin: 0 0 10px 0;
	}
	#sys .sysbox dd:after{
		content: '';
		width: 50px;
		height: 2px;
		position: absolute;
		top: calc(50% - 1px);
		left: calc(50% - 25px);
	}
	#sys .sysbox dt,
	#sys .sysbox dd{
		font-size: 26px;
		line-height: 40px;
	}
	#sys .sysbox dt{
		text-align: left;
		padding-right: 10px;
	}
	#sys .sysbox dd{
		text-align: right;
		padding-left: 10px;
	}
	#sys .sysbox .boxtxt{
		font-size: 15px;
		line-height: 20px;
		margin: 10px 0 0 0;
	}

	#sys .sysbox .ex{
		font-size: 16px;
		line-height: 20px;
		margin: 10px 0 0 0;
	}

	#sys .card{
		width: auto;
		background: url(img/card.png) no-repeat 50% calc(100% - 20px) #fff6fa;
		background-size: 200px auto;
		border-radius: 5px;
		margin: 0;
		padding: 20px 10px 60px 10px;
	}
	#sys .card h4{
		font-family: "FontA";
		font-size: 40px;
		line-height: 46px;
	}
	#sys .card p{
		font-size: 14px;
		line-height: 20px;
	}


	/** other **/
	.other{
		display: block;
		padding: 20px 10px;
	}
	.other_in{
		width: auto;
		margin: 0 0 10px 0;
		border-radius: 5px;
		padding: 20px 10px;
	}
	.other_in:last-of-type{	margin-bottom: 0;}
	#res > p{
		font-size: 14px;
		line-height: 20px;
		text-align: center;
		margin: 20px 0;
	}
	.res_bt{
		display: block;
	}
	.res_bt a{
		display: flex;
		width: 200px;
		margin: 0 auto;
	}
	.res_bt a.res_bt_mail{	margin-top: 10px;}
	.res_bt a.res_bt_tel{	 margin-top: 10px;}
	.res_bt a.res_bt_line + a.res_bt_mail + a.res_bt_tel{width: 200px;}
	#rece p{
		font-size: 14px;
		line-height: 20px;
		text-align: center;
		margin-top: 0;
	}

	/** access **/
	#access{
		margin: 0 0 20px 0;
		padding: 20px 10px;
	}
	#access .s_title{	margin-bottom: 0;}
	.access_in{
		display: block;
	}
	.access_l{
		width: auto;
		margin: 0 0 10px 0;
		background: none;
	}
	.access_l dl{
		font-size: 14px;
		line-height: 20px;
		text-align: left;
		padding: 10px 0;
	}
	.access_l dt{
		position: relative;
		padding: 0 0 0 20px;
	}
	.access_l dt span{
		font-size: 15px;
		line-height: 20px;
		position: absolute;
		top: 0;
		left: 0;
	}
	.access_l dd{
		padding: 0 0 0 20px;
	}
	.access_r{
		width: auto;
	}
	.access_r iframe{
		width: 100%;
		height: 50vw;
	}


	/** parking **/

	#parking{
		width: auto;
		margin: 0 10px 20px 10px;
		padding: 20px 10px;
		border-radius: 5px
	}
	#parking .s_title{	margin-bottom: 0;}
	#parking dl{
		width: 100%;
	}
	#parking dt,
	#parking dd{
		display: table-cell;
		vertical-align: top;
		font-size: 13px;
		line-height: 20px;
		text-align: left;
		padding: 10px 0;
	}
	#parking dt{
		width: 100px;
	}
	#parking dd{}
	#parking dd ul{}
	#parking dd li{
		margin: 0 0 10px 0;
	}
	#parking dd li p:nth-of-type(1){
		position: relative;
		padding: 0 0 0 15px;
	}
	#parking dd li p:nth-of-type(1) span{
		display: inline-block;
		vertical-align: top;
		position: absolute;
		top: 0;
		left: 0;
	}
	#parking dd li p:nth-of-type(2),
	#parking .park_add p:nth-of-type(2){
		position: relative;
		font-size: 11px;
		line-height: 15px;
		margin: 5px 0 0 0;
		padding: 0 0 0 15px;
	}
	#parking dd li p:nth-of-type(2) span,
	#parking .park_add p:nth-of-type(2) span{
		display: inline-block;
		vertical-align: top;
		color: #ff0000;
		position: absolute;
		top: 0;
		left: 0;
	}


	/** rule **/
	.rule{
		width: auto;
		margin: 0 10px;
		padding: 20px 10px;
		border-radius: 5px
	}
	.rule .s_title{	margin-bottom: 0;}
	.rule p{
		font-size: 13px;
		line-height: 20px;
		margin: 0 0 10px 0;
	}
	.rule p:last-child{	margin-bottom: 0;}
	.rule ul{
		width: auto;
		margin: 0 0 15px 0;
	}
	.rule li{
		position: relative;
		font-size: 13px;
		line-height: 20px;
		text-align: left;
		padding: 10px 0 10px 30px;
	}
	.rule li span{
		position: absolute;
		top: 10px;
		left: 5px;
	}

	.pc_none{	display: inline;}
	.sp_none{	display: none;}
}
