
/* ==============================================================================
	CSS for touch-screen : common.css
============================================================================== */

/* ----------------------------------------------------------
  Common Settings : css-reset
---------------------------------------------------------- */
html{
font-family: Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
overflow-y:scroll;
-webkit-text-size-adjust:none;
-webkit-font-smoothing: antialiased;
-webkit-backface-visibility:hidden;
backface-visibility:hidden;
}

body,div,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,form,fieldset,legend,input,textarea,pre,code,blockquote,th,td{
margin:0;
padding:0;
}

div,h2,h3,h4,h5,h6,p,li,dt,dd,pre,code,blockquote,th,td{
word-break:break-all;
}

br{
letter-spacing:0;
}

fieldset,img{
border:0;
}

li{
list-style:none;
}

caption,th{
text-align:left;
}

h1,h2,h3,h4,h5,h6,th{
font-size:100%;
font-weight:normal;
font-style:normal;
}

input,textarea,select{
font-family:inherit;
font-size:inherit;
font-weight:inherit;
color:#333;
}

input[type="submit"]{
cursor:pointer;
}

select{
background-color:#ffffff !important;
}

address,caption,cite,code,dfn,var{
font-style:normal;
font-weight:normal;
}

abbr,acronym{
border:0;
font-variant:normal;
}

del,u{
text-decoration:none;
}

/*=================================================
 * CSS MAIN
 * ================================================= */

body{
	text-align	: center;
	font-size	: 12px;
	line-height	: 16px;
	font-family: Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
	-webkit-text-size-adjust: 100%;
	scrollbar-face-color: #ffffff;
	scrollbar-3dlight-color: #553f09;
	scrollbar-highlight-color: #ffffff;
	scrollbar-shadow-color: #ffffff;
	scrollbar-darkshadow-color: #553f09;
	scrollbar-arrow-color: #553f09;
	scrollbar-track-color: #ffffff;
	-webkit-font-smoothing: subpixel-antialiased;
}

a{
	text-decoration	: none;
}

a:hover{
	text-decoration: none;
}

h1,h2,h3{
	font-size	: 13px;
}

ul{
	list-style-type	: none;
}

li{
	margin		: 0px;
	padding		: 0px;
}

table{
	font-size	: 13px;
}

table tr{
	vertical-align	: top;
}

em{
	font-style		: normal;
}


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

body{
	position: relative;
	color: #000;
	background: #f5f5f5;
}

header,
nav,
main,
footer{
	position: relative;
	z-index: 2;
	width: 750px;
	margin: 0 auto;
}

body:before{
	content: '';
	width: 750px;
	height: 100%;
	position: fixed;
	z-index: -2;
	top: 0;
	left: calc(50% - 375px);
	background: #fff;
}


/** header **/

header{
	position: relative;
	width: 750px;
	height: calc(100vh - 80px);
	-webkit-height: calc(100lvh - 80px);
	min-height: 600px;
	margin: 0 auto;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

header .topimg{
	width: 100%;
	height: 100%;
	background: url(../img/all/header.png?t=20250625) no-repeat 50% 50%;
	background-size: 320px auto;
}
@media screen and (max-width: 750px) {
	header .topimg{
		background-size: 280px auto;
	}
}

header h1{
	width: 100%;
	font-size: 10px;
	line-height: 12px;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 10px;
	left: 0;
}


/** nav **/

nav{
	position: -webkit-sticky; /* Safari */
	position: sticky;
	top: 0;
	left: 0;
	z-index: 9999;
}

nav .menu{
	display: flex;
	justify-content: flex-end;
	width: 100%;
	font-size: 0;
	line-height: 0;
	margin: 0 auto;
	padding: 0 0 0 80px;
	background: url(../img/all/nav_bg.png) no-repeat #49332d;
	background-size: 80px auto;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

nav .menu a{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 25%;
	height: 80px;
	background: #fff;
	border-right: 1px solid #f8f4e9;
}
nav .menu a:last-of-type{	border-right: none;}
nav .menu a img{
	width: 100%;
	max-width: 100px;
	height: auto;
}

/** main **/

main{
	display: block;
	text-align: left;
	overflow: hidden;
	background: #fff;
}

.bnr{
	font-size: 0;
	line-height: 0;
	padding: 50px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.bnr a{
	display: block;
	margin: 0 0 20px 0;
	text-align: center;
}
.bnr a img{
	width: 100%;
	max-width: 500px;
	height: auto;
	box-shadow: 0 0 10px 0 #ccc;
}
.bnr a:last-of-type{	margin-bottom: 0;}

@media screen and (max-width: 750px) {
	.bnr{ padding: 30px 15px;}
	.bnr a{margin: 0 0 15px 0;}
}


/*******************************
ABOUT
*******************************/

#about{
	text-align: center;
	padding: 50px;
	background: url(../img/all/about_bg.jpg) no-repeat;
	background-size: cover;
}

#about h3{	margin-bottom: 50px;}

#about p{
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 25px;
	margin: 0 0 50px 0;
}

#about div{
	font-size: 0;
	line-height: 0;
}
#about div img{
	width: 100%;
	height: auto;
}
@media screen and (max-width: 750px) {
	#about{
		padding: 30px 15px;
	}
	#about h3{	margin-bottom: 15px;}
	#about p{
		margin: 0 0 15px 0;
	}
}


/*******************************
system
*******************************/

#system{
	padding: 50px 0;
	color: #fff;
	background: #685049;
}
#system .s_title{
	margin-bottom: 50px;
	color: #fff;
	background: url(../img/all/s_title_w.png) no-repeat top center;
	background-size: 30px auto;
}

#system .sysimg,
#system .ladies_menu{
	padding: 0 50px;
}

#system .sysimg{
	margin-bottom: 20px;
}
#system .ladies_menu{
	margin-bottom: 40px;
}

#system .sysbox{
	position: relative;
	font-size: 0;
	line-height: 0;
	margin-bottom: 50px;
}
#system .sysbox:nth-of-type(odd){	margin-left: 50px;}
#system .sysbox:nth-of-type(even){	margin-right: 50px;}

#system .sysbox:after{
	content: '';
	width: 131px;
	height: 131px;
	background: url(../img/all/sys_logo.png) no-repeat;
	background-size: 131px;
	position: absolute;
	top: -15px;
}
#system .sysbox:nth-of-type(odd):after{	left: -15px;}
#system .sysbox:nth-of-type(even):after{	right: -15px;}

#system .sysbox img{
	width: 100%;
	height: auto;
}

#system .sysbox h4{
	width: 100%;
	height: 135px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	text-shadow: 5px 5px 15px rgba(104, 80 ,73, 0.5);
	padding: 0 0 0 135px;
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
}
#system .sysbox:nth-of-type(odd) h4{	padding-left: 135px;}
#system .sysbox:nth-of-type(even) h4{	padding-left: 35px;}

#system .sysbox h4 em{
	width: 100%;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 50px;
	line-height: 60px;
	text-indent: -10px;
}
#system .sysbox h4 span{
	font-family: "FontA";
	font-size: 16px;
	line-height: 20px;
}

#system .sysbox div{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: calc(100% - 60px);
	height: calc(100% - 165px);
	text-align: center;
	background: rgba(255, 255, 255, 0.9);
	position: absolute;
	z-index: 2;
	bottom: 30px;
	left: 30px;
}
#system .sysbox div .price{
	width: 100%;
	font-size: 46px;
	font-weight: bold;
	line-height: 70px;
	color: #ff6600;
}
#system .sysbox div .price em{	font-size: 70px;}
#system .sysbox div .ext{
	width: 100%;
	font-size: 28px;
	line-height: 30px;
	color: #333;
	margin: 0 0 10px 0;
}
#system .sysbox div span{
	font-size: 16px;
	line-height: 24px;
	background: #685049;
	border-radius: 12px;
	padding: 0 15px;
}

@media screen and (max-width: 750px) {
	#system{
		padding: 30px 0;
	}
	#system .s_title{	margin-bottom: 30px;}
	#system .sysimg,
	#system .ladies_menu{
		padding: 0 15px;
		margin-bottom: 15px;
	}
	
	#system .sysbox{
		position: relative;
		font-size: 0;
		line-height: 0;
		margin-bottom: 13vw;
	}
	#system .sysbox:nth-of-type(odd){	margin-left: 15px;}
	#system .sysbox:nth-of-type(even){	margin-right: 15px;}

	#system .sysbox:after{
		content: '';
		width: 70px;
		height: 70px;
		background: url(../img/all/sys_logo.png) no-repeat;
		background-size: 70px;
		position: absolute;
		top: -10px;
	}
	#system .sysbox:nth-of-type(odd):after{	left: -10px;}
	#system .sysbox:nth-of-type(even):after{	right: -10px;}

	#system .sysbox img{
		width: 100%;
		height: auto;
	}
	#system .sysbox h4{
		width: 100%;
		height: 65px;
		text-shadow: 2px 2px 3px rgba(104, 80 ,73, 0.8);
	}
	#system .sysbox:nth-of-type(odd) h4{	padding-left: 65px;}
	#system .sysbox:nth-of-type(even) h4{	padding-left: 15px;}

	#system .sysbox h4 em{
		font-size: 6vw;
		line-height: 1;
		text-indent: 0;
	}
	#system .sysbox h4 span{
		font-size: 11px;
		line-height: 18px;
		text-indent: 5px;
	}
	#system .sysbox div{
		width: calc(100% - 30px);
		height: auto;
		padding: 15px 0;
		top: 20vw;
		left: 15px;
		bottom: auto;
	}
	#system .sysbox div .price{
		font-size: 5vw;
		line-height: 1;
	}
	#system .sysbox div .price em{	font-size: 8vw;}
	#system .sysbox div .ext{
		font-size: 14px;
		line-height: 20px;
		margin: 0;
	}
	#system .sysbox div span{
		font-size: 12px;
		line-height: 20px;
		border-radius: 10px;
		padding: 0 10px;
	}
}

#service{
	padding: 0 50px;
}
#service h4{
	text-align: center;
	margin: 0 0 30px 0;
}
#service h4 em{
	display: block;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 26px;
	line-height: 30px;
	margin: 0 0 5px 0;
}
#service h4 span{
	display: inline-block;
	vertical-align: top;
	font-size: 10px;
	line-height: 16px;
	color: #685049;
	background: #fff;
	border-radius: 8px;
	padding: 0 10px;
}

#service p:nth-of-type(1){
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 25px;
	text-align: center;
	margin: 0 0 30px 0;
}

#service p:nth-of-type(1) em{
	font-size: 20px;
	line-height: 35px;
}

#service p:nth-of-type(2){
	position: relative;
	font-size: 12px;
	line-height: 20px;
	text-align: left;
	padding: 0 0 0 20px;
}
#service p:nth-of-type(2) span{
	position: absolute;
	top: 0;
	left: 0;
	color: #ff6666;
}

@media screen and (max-width: 750px) {
	#service{
		padding: 0 15px;
	}
	#service h4{
		margin: 0 0 15px 0;
	}
	#service h4 em{
		font-size: 22px;
	}
	#service p:nth-of-type(1){
		font-size: 12px;
		margin: 0 0 15px 0;
	}
}


/*******************************
qa
*******************************/

#qa{
	text-align: center;
	padding: 50px;
	background: url(../img/all/qa_bg.jpg) no-repeat;
	background-size: cover;
}

#qa h3{	margin-bottom: 50px;}

.qabox{
	position: relative;
	text-align: left;
	padding: 20px 0;
	border-bottom: 1px solid #fff;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.qabox:first-of-type{	padding-top: 0;}

.qabox .acdbt{
	position: relative;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 22px;
	line-height: 30px;
	text-align: left;
	color: #685049;
	padding: 5px 0 5px 50px;
}

.qabox .acdbt span{
	width: 40px;
	font-size: 16px;
	line-height: 40px;
	text-align: center;
	color: #fff;
	background: #685049;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.qabox .acdbox{
	position: relative;
	font-size: 14px;
	line-height: 25px;
	text-align: left;
	margin: 5px 0 0 0;
	padding: 8px 0 0 50px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.qabox .acdbox:before{
	content: 'A';
	width: 40px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 40px;
	text-align: center;
	color: #fff;
	background: #5da96d;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

@media screen and (max-width: 750px) {
	#qa{
		padding: 30px 15px
	}
	#qa h3{	margin-bottom: 15px;}
	.qabox .acdbt{
		font-size: 18px;
		line-height: 25px;
		padding-top: 7.5px;
		padding-bottom: 7.5px;
	}
	.qabox .acdbox{
		font-size: 13px;
		line-height: 20px;
		padding-top: 10px;
		padding-bottom: 5px;
	}
}


#recruit{
	background: #dfe8fd;
}

#recruit .rec_bt{
	padding: 5px 15px 30px 15px;
	text-align: center;
}
#recruit .rec_bt a{
	display: inline-block;
	border-radius: 5px;
	width: 45%;
	max-width: 250px;
	margin: 0 5px;
}

#recruit .rec_bt a img{ vertical-align: middle;}
#recruit .rec_bt a.bt_tel{ background: #ff5a00;}
#recruit .rec_bt a.bt_line{ background: #00b900;}

@media screen and (max-width: 750px) {
	#recruit .rec_bt{ padding: 5px 5px 20px 5px;}
}

/** footer **/

footer{
	position: relative;
	width: 750px;
	text-align: center;
	color: #685049;
	overflow: hidden;
	padding: 200px 0 0 0;
	background: url(../img/all/flogo.png) no-repeat 50% 50px #fff;
	background-size: 160px auto;
}

footer h2{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	margin: 0 0 5px 0;
}

footer .finfo{
	font-size: 12px;
	line-height: 18px;
	margin: 0 0 20px 0;
}

footer #copyright{
	font-family: "FontA";
	font-size: 11px;
	line-height: 20px;
	color: #685049;
	padding: 0 0 100px 0;
}
footer .finfo a,
footer #copyright a{	color: #685049;}


/** page-top **/

#page-top{
	display: none;
	width: 750px;
	vertical-align: top;
	font-size: 0;
	line-height: 0;
	text-align: center;
	position: fixed;
	z-index: 9999;
	bottom: 0;
	left: calc(50% - 375px);
}

#page-top .fbt{
	width: 100%;
	display: flex;
	justify-content: center;
	font-size: 0;
	line-height: 0;
	padding: 0 10px;
	box-shadow: 0px -30px 0px 0px rgba(71, 52, 46, 0.5) inset;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#page-top .fbt_tel{
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: calc(100% - 75px);
	max-width: 270px;
	height: 70px;
	color: #fff;
	background: #ff5a00;
	border-radius: 3px 3px 0 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#page-top .fbt_tel span{
	width: 45px;
	height: 45px;
	font-size: 30px;
	line-height: 45px;
	text-align: center;
	box-shadow:0px 0px 0px 3px #fff inset;
	border-radius: 50%;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#page-top .fbt_tel p{
	font-size: 14px;
	line-height: 24px;
	margin-left: 5px;
}
#page-top .fbt_tel p em{
	display: inline-block;
	vertical-align: top;
	font-family: 'Noto Serif JP', serif;
	font-weight: 900;
	font-size: 24px;
	line-height: 28px;
	padding-top: 3px;
}

#page-top .fbt_line{
	width: 70px;
	height: 70px;
	font-size: 0;
	line-height: 0;
	margin-left: 5px;
	border-radius: 3px 3px 0 0;
	background: url(../img/all/fbt_line.png) #00b900;
	background-size: 70px auto;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}


#page-top a:hover{
	text-decoration: none;
	opacity: 0.8;
	filter: alpha(opacity=80);
}


/** rollover **/

.fade{
	display: inline-block;
	padding: 0;
	font-size: 0;
	line-height: 0;
}

.hover,
.fade input{
	-webkit-transition	: 0.3s ease-in-out;
	-moz-transition	: 0.3s ease-in-out;
	-o-transition	: 0.3s ease-in-out;
	transition		: 0.3s ease-in-out;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}

.hover:hover,
.fade input:hover{
	opacity: 0.8;
	filter: alpha(opacity=80);
}


.pc_none{	display: none;}



/** reserve **/

#reserve{
	padding: 50px 85px;
	color: #fff;
	background: #685049;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#reserve .s_title{
	margin-bottom: 50px;
	color: #fff;
	background: url(../img/all/s_title_w.png) no-repeat top center;
	background-size: 30px auto;
}
.form{
	color: #333;
	background: #fff;
	border-radius: 5px;
	padding: 25px 40px 40px 40px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.rbox{
	text-align: left;
	padding: 15px 0;
	border-bottom: 1px dotted #ccc;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.rbox h4{
	position: relative;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 22px;
	color: #685049;
	margin: 0 0 5px 0;
	padding: 0 0 0 15px;
}
.rbox h4 span{
	font-size: 14px;
	line-height: 1;
	position: absolute;
	top: 4px;
	left: 0;
}

.rbox h4 .hissu{
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 30px;
	font-family		: Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
	font-size: 10px;
	line-height: 15px;
	text-align: center;
	color: #fff;
	background: #ff3333;
	border-radius: 2px;
	margin: 0 0 0 5px;
	top: 3px;
}

.rbox > p{
	font-size: 14px;
	line-height: 22px;
}

.rbox .sub{
	position: relative;
	font-size: 11px;
	line-height: 18px;
	margin: 5px 0 0 0;
	padding: 0 0 0 15px;
}
.rbox .sub span{
	color: #ff0000;
	position: absolute;
	top: 0;
	left: 0;
}
.rbox > ul{}
.rbox > ul li{
	font-size: 16px;
	line-height: 20px;
	margin: 0 0 10px 0;
}
.rbox > ul li:last-of-type{	margin-bottom: 0;}
.rbox > ul li input[type="checkbox"]{
	position: relative;
	bottom: -2px;
	width: 15px;
	height: 15px;
	font-size: 12px;
	line-height: 15px;
	text-align: center;
	border-radius: 0;
	color: #ccc;
	border: 1px solid #ccc;
	outline: none;
	cursor: pointer;
	margin-right: 5px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.submit{
	text-align: center;
	padding: 20px 0 0 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.submit p{
	font-size: 13px;
	line-height: 20px;
	text-align: center;
	padding: 0 0 20px 0;
}
.submit p span{	color: #ff0000;}

.w1{	width: 50%;}
.w2{	width: 100%;}
.w3{	width: 80px;}
.s3{	width: 65px;}

.form textarea{
	width: 100%;
	height: 150px;
	padding			: 7px 7px;
	font-size		: 16px;
	font-family		: Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
    vertical-align	: middle;
	border: 1px solid #ccc;
	border-radius	: 2px;
	-moz-border-radius	: 2px;
	-webkit-border-radius	: 2px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.form input[type="text"],
.form input[type="url"],
.form input[type="email"],
.form input[type="tel"],
.form input[type="password"],
.form input[type="number"]{
	padding			: 7px 7px;
	font-size		: 16px;
	font-family		: Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
	border: 1px solid #ccc;
	border-radius	: 2px;
	-moz-border-radius	: 2px;
	-webkit-border-radius	: 2px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.form input::placeholder,
.form textarea::placeholder{	color: #ccc;}
.form input:-ms-input-placeholder,
.form textarea:-ms-input-placeholder{	color: #ccc;}
.form input::-ms-input-placeholder,
.form textarea::-ms-input-placeholder{	color: #ccc;}

select{
	font-size: 16px;
	line-height: 20px;
	padding: 10px 20px 10px 10px;
	border: 1px solid #ccc;
	border-radius: 3px;
	font-family: Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.select{	padding-right: 30px;}
.select_bg{
	position: relative;
	display: inline-block;
}
.select_bg select{width: 115px;}
.select_bg.s2{	display: block;}
.select_bg.s2 select{width: 100%;}
.select_bg:before{
	content: '';
	display: inline-block;
	width: 20px;
	height: 40px;
	background: #999;
	border-radius: 0 3px 3px 0;
	pointer-events: none;
	position: absolute;
	top: 1px;
	right: 1px;
}
.select_bg:after{
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 4px 0 4px;
	border-color: #fff transparent transparent transparent;
	pointer-events: none;
	position: absolute;
	top: calc(50% - 4px);
	right: 7px;
}

.chk_bar input[type="checkbox"],
.chk_bar input[type="radio"]{	display: none;}

.chk_bar{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	border-radius: 15px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.chk_bar input[type="checkbox"] + label,
.chk_bar input[type="radio"] + label{
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: calc(100% / 5);
	height: 35px;
	font-size: 16px;
	line-height: 18px;
	text-align: center;
	border-radius: 0;
	color: #333;
	background: #fff;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	cursor: pointer;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.chk_bar input[type="checkbox"]:first-of-type + label,
.chk_bar input[type="radio"]:first-of-type + label{
	border-radius: 17.5px 0 0 17.5px;
	border-left: 1px solid #ccc;
}
.chk_bar input[type="checkbox"]:last-of-type + label,
.chk_bar input[type="radio"]:last-of-type + label{
	border-radius: 0 17.5px 17.5px 0;
}


@media screen and (max-width: 650px) {
	.chk_bar input[type="checkbox"] + label,
	.chk_bar input[type="radio"] + label{
		font-size: 10px;
		line-height: 12px;
	}
}

.chk_bar input[type="checkbox"]:checked + label,
.chk_bar input[type="radio"]:checked + label{
	color: #fff;
	background: #f9708b;
	box-shadow:none;
	-moz-box-shadow:none;
	-webkit-box-shadow:none;
}

.error,
.over{
	margin: 0;
	text-align: center;
	font-size: 14px;
	line-height: 18px;
}
.over_div{
	font-size: 16px;
	font-weight: bold;
	line-height: 20px;
	padding: 90px 0 20px 0;
}
.over{	padding: 0 0 80px 0;}

.error span{
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	line-height: 30px;
	color: #ff0000;
	padding: 80px 0;
}
.over span{
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	line-height: 30px;
	padding: 80px 0 0 0;
}

.error_text{
    display: inline-block;
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 20px;
    color: #ff0000;
    font-weight: bold;
}

.error_text:empty{ display: block; margin-bottom: 0;}

.error_block h4{
	color: #ff0000 !important;
	animation-name: indfade !important;
	animation-duration: 2.0s;
	animation-timing-function: ease-out;
	animation-delay: 0.0s;
	animation-iteration-count: infinite;
	animation-fill-mode: backwards;
}
@keyframes indfade {
	0%{
		opacity: 1.0;
		filter: alpha(opacity=100);
	}
	80% {
		opacity: 1.0;
		filter: alpha(opacity=100);
	}
	85% {
		opacity: 0.3;
		filter: alpha(opacity=30);
	}
	90% {
		opacity: 1.0;
		filter: alpha(opacity=100);
	}
	95% {
		opacity: 0.3;
		filter: alpha(opacity=30);
	}
	100%{
		opacity: 1.0;
		filter: alpha(opacity=100);
	}
}

.error_block input[type="text"],
.error_block input[type="email"],
.error_block input[type="tel"],
.error_block textarea{
    border-color: #ff0000 !important;
    background: #fff5f5 !important;
}

.capt_bg{
	padding-top: 20px;
	margin: 0 0 20px 0;
}

.capt{
	width: 280px;
	margin: 0 auto;
	padding: 0 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.capt div{
	width: 100%;
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: space-between;
	margin: 0 0 10px 0;
}

.capt div span{
	font-size: 34px;
	line-height: 40px;
}

.capt div input[type="text"]{
	width: 110px;
	padding: 7px;
	font-size		: 16px;
	line-height: 20px;
	font-family: Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
	border-radius: 3px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.capt p{
	font-size: 11px;
	line-height: 16px;
	text-align: left;
	padding: 0 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.capt p em{	color: #ff0000;}

.bt_main, .bt_main:hover{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 200px;
	height: 50px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	border: none;
	border-radius: 3px;
	background: #5da96d;
	-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;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

a.bt_main,
input.bt_main{
	-webkit-appearance: none;
}

a.bt_main:hover,
button.bt_main:hover,
input.bt_main:hover{
	cursor			: pointer;
	text-decoration: none;
	opacity: 0.7;
	filter: alpha(opacity=70);
}


@media screen and (max-width: 750px) {
	#reserve{
		padding: 30px 15px;
	}
	#reserve .s_title{	margin-bottom: 30px;}
	.form{
		padding: 15px;
	}
}


/** news **/

#news{
	padding: 50px;
}
#news ul{	margin-bottom: 20px;}
#news li{
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	font-size: 14px;
	line-height: 20px;
	padding: 15px 0;
	border-bottom: 1px dotted #ccc;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#news li p:nth-of-type(1){
	width: 130px;
}
#news li p:nth-of-type(2){
	width: calc(100% - 130px);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
}
#news li p:nth-of-type(2) a{	color: #ff5a00}
.news_bt{	text-align: center;}

@media screen and (max-width: 750px) {
	#news{
		padding: 30px 15px;
	}
	#news .s_title{	margin-bottom: 30px;}
}



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

@media screen and (max-width: 750px) {
	body:before{
		content:"";
		display:block;
		position:fixed;
		top:0;
		left:0;
		z-index:-1;
		width:100%;
		height:100vh;
		background: none;
	}
	a[href^="tel:"] { cursor: pointer;}
	a:hover{	text-decoration: none;}

	header,
	nav,
	main,
	footer{
		width: 100%;
		margin: 0;
	}
	header{	min-height: 0;}
	footer{	left: 0;}
	.opennav nav{	right: 0;}
	body:before,
	#page-top{
		width: 100%;
		left: 0;
	}
	.sp_none{	display: none;}
	.pc_none{	display: inline;}
}

