@charset "utf-8";
/* ===================================================
	Reset
====================================================== */
#customer_header *,
#customer_footer * { -webkit-box-sizing: content-box; box-sizing: content-box;}

#customer_header h1,
#customer_header h2,
#customer_header h3,
#customer_header h4,
#customer_header h5,
#customer_header h6,
#customer_footer h1,
#customer_footer h2,
#customer_footer h3,
#customer_footer h4,
#customer_footer h5,
#customer_footer h6 { margin: 0;}

#customer_header ul,
#customer_header ol,
#customer_header li,
#customer_footer ul,
#customer_footer ol,
#customer_footer li { padding: 0; margin: 0; list-style-type: none;}

#customer_header dl,
#customer_footer dl { padding: 0; margin: 0;}

#customer_header p,
#customer_footer p { padding: 0; margin: 0;}


/* ===================================================
	Custom CSS
	※ 予約番自体のコンテンツに影響するのを避けるため、
	　必ず #customer_header または #customer_footer からの継承で記述してください。
====================================================== */
body { min-width: 1170px; min-height: 100vh; background:url(../img/bg1.gif); color: #464121; position: relative; }

#customer_header,
#customer_footer {
	font-size: 16px; font-weight: normal; line-height: 1.5;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; letter-spacing: 0.3px;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

input,
select,
textarea { font-size: 13px;}

a { color: #000; text-decoration: none;}

@media screen and (orientation:landscape) {
	html,
	body { width: 100%;}
}

@media screen and (max-width: 600px) {
	body { min-width: 0; letter-spacing: 0;}
	body,
	input,
	select,
	textarea { font-size: 16px;}
	br.pc { display: none;}
}

@media screen and (min-width: 600px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

@media screen and (min-width: 601px) {
	a:hover { color: #000; text-decoration: underline;}
	a:hover img { opacity: 0.75; filter: alpha(opacity=75); -moz-opacity: 0.75;}
}

#webc_con .webc_pagetop { display: none; }

/* Header
------------------------------------------------------ */
#customer_header #header_wrap {
	width: 100%;
	min-width: 1170px;
	min-height: 143px;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../img/h_bg.png)repeat-x center top;
}
#customer_header #header h1 {
	align-self: center;
	padding: 5px 15px;
	margin: 0 auto 0 0;
}
#customer_header #header h1 a.sp { display: none; }
#customer_header #header,
#customer_header #header .h_link,
#customer_header #header .h_link > * { display: -webkit-flex; display: -ms-flex; display: flex;}
#customer_header #header .h_link { margin: 0 0 0 auto; }
#customer_header #header .h_link a#s_nav_ai{
	background: #000; width: 156px;
}
#customer_header #header {
	justify-content: space-between;
	width: 100%;
	min-width: 1100px;
	top: 0;
	left: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	
}
#customer_header #header .logo {
	margin: -23px 0 0 -63px;
	position: absolute;
	top: 50%;
	left: 50%;
}
#customer_header #header .h_link .tel-link {
	display: block;
	align-self: center;
	padding-right: 25px;
}
#customer_header #header .h_link {
	margin: 0 0 0 auto;
}
#customer_header #header .h_link > * {
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#customer_header #header .h_link a:not([class]) {
	width: 250px;
/*	position: relative;*/
	background:url(../img/reserve_btn.png)no-repeat center #8e2f34;
	color: #fff;
	font-size: 18px;
}
#customer_header #header .h_link a:not([class]):hover {
	text-decoration: none;
	opacity: 0.8; }
#customer_header #header .open_menu {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 90px;
	padding: 10px 25px;
	background: #fff;
	color: #766262;
	cursor: pointer;
	font-size: 11px;
	line-height: 1;
}
#customer_header #header .open_menu:hover { text-decoration: none;}
#customer_header #header .open_menu * { pointer-events: none;}
#customer_header #header .open_menu > span { height: 20px; width: 100%; margin: 0 0 7px; position: relative;}
#customer_header #header .open_menu span span {
	display: block; width: 30px; height: 2px;
	position: absolute; left: 50%; background: #766262;
	-webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%);
	-webkit-transition: all 0.6s; -o-transition: all 0.6s; transition: all 0.6s;
}
#customer_header #header .open_menu span span:first-child { top: 0;}
#customer_header #header .open_menu span span:nth-child(2) { top: 50%; margin-top: -1px;}
#customer_header #header .open_menu span span:last-child { top: calc(100% - 2px);}

#customer_header:target #header .open_menu span span { top: 50% !important;}
#customer_header:target #header .open_menu span span:first-child {
	-webkit-transform: translateX(-50%) rotate(-45deg);
	-ms-transform: translateX(-50%) rotate(-45deg);
	transform: translateX(-50%) rotate(-45deg);
}
#customer_header:target #header .open_menu span span:nth-child(2),
#customer_header:target #header .open_menu span span:last-child {
	margin: 0;
	-webkit-transform: translateX(-50%) rotate(45deg);
	-ms-transform: translateX(-50%) rotate(45deg);
	transform: translateX(-50%) rotate(45deg);
}
#customer_header #header .close_menu { width: 90px; height: 100%; position: absolute; top: 0; right: 0; display: none;}
#customer_header:target #header .close_menu { display: block;}

@media screen and (max-width: 768px) {
	#customer_header #header { width: 100%; }
}

@media screen and (max-width: 600px) {
	#customer_header #header_wrap {
		min-width: auto;
		min-height: auto;
		background: #fff;
		position: static;
	}
	#customer_header #header {
		min-width: 0;
	}
	#customer_header #header h1 {
		max-width: 250px;
		padding: 15px 0;
		margin: 0 auto;
	}
	#customer_header #header h1 img { display: block; width: 100%; }
	#customer_header #header h1 a.pc { display: none; }
	#customer_header #header h1 a.sp { display: block; }
	#customer_header #header .h_link { display: none;}
}


/* G-nav
------------------------------------------------------ */
#customer_header #gnav {
	width: 340px;
	height: 0;
	position: absolute;
	top: 63px;
	right: 0;
	z-index: 1000;
	background: rgba(255,255,255,0.96);
	overflow: hidden;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.75s;
	-o-transition: all 0.75s;
	transition: all 0.75s;
}
#customer_header:target #gnav {
	height: 100%;
	overflow: auto;
/*	-webkit-overflow-scrolling: touch;*/
}
#customer_header #gnav #gnav_inner { position: relative; }
#customer_header #gnav #gnav_inner > img {
	display: block;
	width: auto;
	margin: 0 auto;
}
#customer_header #gnav ul { padding: 60px 30px 40px;}
#customer_header #gnav ul li { font-size: 17px; letter-spacing: 0.1em; border-bottom: 1px solid #e1e0de;}
#customer_header #gnav ul li:not(.small) {
	background: url(../img/gnav_arrow.png)no-repeat right 10px center;
}
#customer_header #gnav ul li a { padding: 15px 0 15px 34px; display: block; color: #000;}
#customer_header #gnav ul li a:hover {
	text-decoration: none;
	background: url(../img/gnav_arrow.png)no-repeat right 10px center,#fbf1f1;
}
#customer_header #gnav ul li.small {
	font-size: 13px;
	border-bottom: 1px dashed #e1e0de;
	line-height: 1.3;
}
#customer_header #gnav ul li.small a {
	padding: 11px 0 8px 34px;
}
#customer_header #gnav ul li.small a:hover {
	background: #fbf1f1;
}

#customer_header #gnav p { padding-bottom: 10px; }
#customer_header #gnav ul + div { padding: 0 30px 40px; }
#customer_header #gnav .close_menu,
#customer_header #gnav #gn_home { display: none;}

@media screen and (max-width: 600px) {
	#customer_header #gnav {
		width: 100%;
		height: 0;
		padding: 0 4%;
		position: fixed;
		top: 0;
		overflow: auto;
		background: #fff;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-overflow-scrolling: touch;
		transform: translate(0);
		transition-delay: 0s;
	}
	#customer_header #gnav:target { height: 100%; padding: 0 4%; }

	#customer_header #gnav ul { padding: 30px 0; box-sizing: border-box; }
	#customer_header #gnav ul li { font-size: 16px;}
	#customer_header #gnav ul li a { padding: 10px 0 10px 34px; }
	#customer_header #gnav #gn_home { display: block; }
	#customer_header #gnav ul li.small { font-size: 14px; }
	#customer_header #gnav ul li.small br { display: none;}
	#customer_header #gnav ul li.small a { padding: 6px 0 3px 34px;}
	#customer_header #gnav ul+div { text-align: center; font-size: 14px;}

	#customer_header #gnav .close_menu {
		display: block;
		background: none!important;
		border: none;
	}
	#customer_header #gnav .close_menu { cursor: pointer;}
	#customer_header #gnav .close_menu span:before,
	#customer_header #gnav .close_menu span:after {
		content: '';
		width: 30px;
		height: 2px;
		position: absolute;
		left: 0; }
	#customer_header #gnav .close_menu span:before { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg);}
	#customer_header #gnav .close_menu span:after { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg);}

	#customer_header #gnav ul li:not(.small) {
		background: url(../img/gnav_arrow.png)no-repeat 15px center;
	}
	#customer_header #gnav ul li a:hover {
		background: url(../img/gnav_arrow.png)no-repeat 15px center #fbf1f1;
	}
	#customer_header #gnav #close_top {
		width: 30px;
		height: 30px;
		padding: 0;
		text-align: center;
		position: absolute;
		top: 10px;
		right: 0;
	}
	#customer_header #gnav #close_top span {
		width: 30px;
		height: 0;
		padding: 30px 0 0;
		position: absolute;
		top: 0;
		right: 0;
		overflow: hidden;
	}
	#customer_header #gnav #close_top a:hover {
		background: none;
}
	#customer_header #gnav #close_top a:after { content: none;}
	#customer_header #gnav #close_top span:before,
	#customer_header #gnav #close_top span:after { background: #787878; margin: -2px 0 0; top: 50%;}
	#customer_header #gnav #close_bot a {
		padding: 5px; margin: 20px auto 0; background: #000;
		border: 1px solid #555; color: #fff; text-align: center;
	}
	#customer_header #gnav #close_bot span { display: inline-block; padding: 0 0 0 20px; position: relative;}
	#customer_header #gnav #close_bot span:before,
	#customer_header #gnav #close_bot span:after { margin: -2px 0 0; top: 50%; background: #fff;}

	#customer_header #gnav li a { padding: 10px 0 10px 34px; }
	#customer_header #gnav li a:after { right: 15px;}
	#customer_header #gnav li a:hover { background: rgba(204,204,204,0.25); text-decoration: none;}
	#customer_header #gnav li:nth-last-child(2) a { border-bottom: none; border-radius: 0 0 8px 8px;}
}

@media screen and (max-width: 400px) {
	#customer_header #gnav ul li.small br { display: block; }
}


/* Main img
------------------------------------------------------ */
#customer_header #main_img {
	height: 300px;
	background: url(../img/tit_bg.jpg)no-repeat center;
	background-size: cover;
}
#customer_header #main_tit {
	width: 100%;
	padding: 120px 0 0;
	color: #fff;
	text-shadow: 0 0 15px #000,0 0 15px #000,0 0 15px #000,0 0 15px #000;
	text-align: center;
	line-height: 1.1;
}
#customer_header #main_tit .eng {
	display: inline-block;
	position: relative;
	font-size: 20px;
	text-shadow: 0 0 15px #000,0 0 15px #000,0 0 15px #000,0 0 15px #000;
}
#customer_header #main_tit span:not(.eng) {
	display: block;
	font-size: 48px;
	letter-spacing: 5px;
}
#customer_header #main_img > img {
	width: auto; min-width: 100%; max-width: none; min-height: 610px; position: absolute; left: 50%; top: 50%; z-index: -1;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

@media screen and (max-width: 600px) {
	#customer_header #main_img {height: 195px;}
	#customer_header #main_tit { padding: 65px 0 50px;}
	#customer_header #main_tit .eng { font-size: 16px;}
	#customer_header #main_tit span:not(.eng) { font-size: 32px; }
	#customer_header #main_img > img { min-height: 350px;}
}


/* breadcrumb
------------------------------------------------------ */
#customer_header #breadcrumb { width: 1100px; max-width: 100%; margin: 5px auto 25px; font-size: 12px; text-align: right;}
#customer_header #breadcrumb li { display: inline-block; line-height: 1.6;}
#customer_header #breadcrumb li:before { content: '>'; margin: 0 5px;}
#customer_header #breadcrumb li:first-child:before { display: none;}

@media screen and (max-width: 768px) {
	#customer_header #breadcrumb { display: none;}
}


/* Footer
------------------------------------------------------ */
#customer_footer #footer_wrap { min-width: 1170px;}
#customer_footer #page_top { position: fixed; right: 20px; bottom: 15px; z-index: 10;}
#customer_footer #page_top .sp { display: none; }
#customer_footer #f_logo { padding-bottom: 35px; background: url(../img/f_bg.jpg)no-repeat center top; background-size: cover; text-align: center; color: #fff;}
#customer_footer #f_logo p { padding: 280px 0 65px;}
#customer_footer #f_logo>a img { margin-right: 40px;}
#customer_footer #f_logo address { padding: 20px 0;}
#customer_footer #f_logo address span { display: inline-block; margin-left: 0.5em;}
#customer_footer #f_logo ul { font-size: 0;}
#customer_footer #f_logo ul li { display: inline-block; margin-left: 20px;}

#customer_footer #footer { width: 1100px; padding: 50px 0 30px; margin: 0 auto;}
#customer_footer #footer #reserve_col { width: 890px; margin: 0 auto;}
#customer_footer #footer #reserve_col p { float: left; padding-right: 40px; margin-top: 15px; font-size: 14px;}
#customer_footer #footer #reserve_col .tel-link { float: left; margin-top: 15px;}
#customer_footer #footer #reserve_col .reserve { float: right;}

#customer_footer #footer #f_nav { padding: 70px 0 50px;}
#customer_footer #footer #f_nav ul { text-align: center;}
#customer_footer #footer #f_nav ul:nth-of-type(1) { width: 100%; padding-bottom: 10px; margin-bottom: 15px; border-bottom: 1px dashed #b5b5b5;}
#customer_footer #footer #f_nav ul li { display: inline-block; margin-left: 30px;}
#customer_footer #footer #f_nav ul:nth-of-type(1) li { padding-left: 15px; background: url(../img/f_arrow.png)no-repeat left center; font-size: 18px;}
#customer_footer #footer #f_nav ul:nth-of-type(2) li { font-size: 15px;}

#customer_footer #footer .bnr { padding-bottom: 30px; text-align: center;}

#customer_footer #copyright { clear: both; padding: 15px 0 0; text-align: center; font-size: 13px; color: #726b61; letter-spacing: 1px;}
#customer_footer #sp_nav { display: none;}

@media screen and (max-width: 768px) {
	#customer_footer #footer { width: 100%; }
}

@media screen and (max-width: 600px) {
	#customer_footer #footer_wrap { min-width: auto; padding-bottom: 61px;}
	#customer_footer #f_logo p { padding: 70px 0 50px;}
	#customer_footer #f_logo p img { width: 220px;}
	#customer_footer #f_logo>a img { width: 210px; margin-right: 3%;}
	#customer_footer #f_logo address { width: 92%; margin: 0 auto; font-size: 14px;}

	#customer_footer #footer { width: 92%; padding: 0 0 10px;}
	#customer_footer #page_top { width: 98%; margin: 0 auto; position: static; text-align: center; border-top: 1px solid #beb7b3;}
	#customer_footer #page_top .pc { display: none; }
	#customer_footer #page_top .sp { display: block; }
	#customer_footer #page_top a { display: block; padding: 4px 0 9px;}
	#customer_footer #page_top a img { vertical-align: middle;}
	#customer_footer #footer #reserve_col { width: 100%; text-align: center;}
	#customer_footer #footer #reserve_col p { float: none; padding: 0; margin: 30px 0 10px;}
	#customer_footer #footer #reserve_col .tel-link { float: none;}
	#customer_footer #footer #reserve_col .reserve { display: inline-block; float: none; margin-top: 20px;}

	#customer_footer #footer #f_nav { display: none;}

	#customer_footer #footer .bnr { padding: 25px 0 20px;}
	#customer_footer #footer .bnr img { width: 300px;}
	#customer_footer #copyright { padding: 0; font-size: 12px; letter-spacing: normal;}

	#customer_footer #sp_nav { display: block; width: 100%; position: fixed; bottom: 0; left: 0; z-index: 10; border-top: 1px solid #fff;}
	#customer_footer #sp_nav ul { display: table; width: 100%; table-layout: fixed; text-align: center;}
	#customer_footer #sp_nav ul li { display: table-cell; width: 20%; border-right: 1px solid #fff;}
	#customer_footer #sp_nav ul li a { display: block; padding: 10px;}
	#customer_footer #sp_nav ul li:nth-child(1) { background: #756c65;}
	#customer_footer #sp_nav ul li:nth-child(2) { background: #4e453f;}
	#customer_footer #sp_nav ul li:nth-child(3) { width: 40%; background: #813034;}
	#customer_footer #sp_nav ul li:nth-child(4) { background: #190a0b;}
    #customer_footer #sp_nav ul li:nth-child(5) { background: #fff;}  

	#customer_footer #sp_nav ul li img { height: 40px;}
}


/* clear
------------------------------------------------------ */
#footer #reserve_col:after { content: "."; display: block; height: 0px; clear: both; visibility: hidden; font-size: 0;}



/* ---------------------------------------------------
	更新履歴
------------------------------------------------------



------------------------------------------------------ */