@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 dt,
#customer_footer dt { font-weight: normal;}

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


/* ===================================================
	Custom CSS
	※ 予約番自体のコンテンツに影響するのを避けるため、
	　必ず #customer_header または #customer_footer からの継承で記述してください。
====================================================== */
body { min-width: 1200px; background: #fff; color: #000;}

#customer_header,
#customer_footer {
	font-size: 16px; font-weight: normal; line-height: 1.5;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	-webkit-text-size-adjust: 100%; position: relative;
	font-feature-settings: "palt"; letter-spacing: 0.08em;
}

#customer_header .gothic,
#customer_footer .gothic {
	font-family: "Yu Gothic Medium", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
}

#customer_header #header_wrap,
#customer_header #nav_wrap,
#customer_footer #footer_wrap {
	padding: 0; margin: 0;
}

#customer_header #header,
#customer_header #gnav ul,
#customer_footer #footer {
	width: 1100px; max-width: 100%; padding: 0; margin: 0 auto;
	-webkit-box-sizing: border-box; box-sizing: border-box;
}

#customer_header a,
#customer_footer a { box-sizing: border-box; color: #000; text-decoration: none; transition: opacity .5s; }
#customer_header a:hover,
#customer_footer a:hover { opacity: .6; }

#customer_header .inner_lg,
#customer_footer .inner_lg { width: 1600px !important; max-width: 92% !important; margin: 0 auto; }
#customer_header .inner_md,
#customer_footer .inner_md { width: 1400px !important; max-width: 92% !important; margin: 0 auto; }
#customer_header .inner_sm,
#customer_footer .inner_sm { width: 1200px !important; max-width: 92% !important; margin: 0 auto; }

#customer_header img,
#customer_footer img { max-width: 100%;}

#customer_header .ofi,
#customer_footer .ofi { object-fit: cover; }
#customer_header .sp,
#customer_footer .sp { display: none;}

@media screen and (orientation:landscape) {
	body { width: 100%;}
}
@media screen and (max-width: 768px) {
	body { min-width: 0; font-size: 14px; }
	#customer_header,
	#customer_footer { font-size: 14px; }

	#customer_header .pc,
	#customer_footer .pc { display: none !important; }
	#customer_header .sp,
	#customer_footer .sp { display: inline;}
}


/* ---------------------------------------------------
	Common Parts
------------------------------------------------------ */
#customer_header .logo,
#customer_footer .logo {
	display: inline-block;
	padding: 4px 0 4px 75px;
	font-size: 33px;
	line-height: 1.3;
	background: url(../img/logo.png)no-repeat center left/65px;
	transition: color .5s, background .5s, opacity .5s;
}
#customer_header .logo span,
#customer_footer .logo span {
	display: block;
	padding-left: .25em;
	font-size: clamp(12px, 1vw, 15px);
	letter-spacing: .12em;
}
#customer_header .logo.wh,
#customer_footer .logo.wh {
	color: #fff;
	background-image: url(../img/logo_w.png);
}
#customer_header .logo.bl,
#customer_footer .logo.bl {
	color: #1e679e;
	background-image: url(../img/logo_bl.png);
}

#customer_header .acc_language {
	width: 165px;
	border: 1px solid #868686;
	box-sizing: border-box;
	text-align: center;
}
#customer_header .acc_language .acc_tit {
	position: relative;
	padding: 5px 20px 5px 5px;
	font-size: 14px;
	color: #333;
	background-color: rgba(255 255 255/90%);
}
#customer_header .acc_language .acc_tit:hover {
	cursor: pointer;
}
#customer_header .acc_language .acc_tit::after {
	position: absolute;
	top: calc(50% - 4px);
	right: 20px;
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	background: url(../img/arrow_btm.svg)no-repeat center center/contain;
	transition: .5s;
}
#customer_header .acc_language[open] .acc_tit::after {
	transform: rotate(-180deg);
}
#customer_header .acc_language .acc_contents {
	border-top: 1px solid #868686;
}
#customer_header .acc_language .acc_contents li {
	border-bottom: 1px solid #868686;
}
#customer_header .acc_language .acc_contents li a {
	display: block;
	padding: 5px;
	color: #000;
	background-color: rgba(255 255 255/80%);
	text-align: center;
	transition: background-color .5s;
}
/* Safari */
#customer_header ::-webkit-details-marker {
	display: none !important;
}
#customer_header .lang_link,
#customer_footer .lang_link {
	display: flex;
	justify-content:center;
}
#customer_header .lang_link li+li,
#customer_footer .lang_link li+li {
	border-left: 1px solid #fff;
}
#customer_header .lang_link a,
#customer_footer .lang_link a {
	display: block;
	padding: 0 12px;
	color: #fff;
}
#customer_header .cmn_btn_01,
#customer_footer .cmn_btn_01 {
	display: block;
	width: 240px;
	line-height: 60px;
	color: #fff;
	background-color: #a68a4b;
	text-align: center;
}
#customer_header .cmn_btn_01::after,
#customer_footer .cmn_btn_01::after {
	content: '>';
	margin: 0 -8px 0 8px;
}
#customer_header .re_link li:last-child,
#customer_footer .re_link li:last-child {
	margin-top: 1em;
}
#customer_header .re_link li:last-child a,
#customer_footer .re_link li:last-child a {
	font-size: 14px;
}
#customer_header .re_link li:last-child a::before,
#customer_footer .re_link li:last-child a::before {
	content: '>';
	margin-right: 8px;
}
#customer_header .pt_tel {
	display: flex;
	align-items:center;
}
#customer_header .pt_tel .tel-link {
	font-size: 25px;
}
#customer_header .pt_tel .sm {
	font-size: 15px;
}

@media screen and (max-width: 768px) {
	#customer_header .logo,
	#customer_footer .logo { padding: 0 0 0 55px; font-size: 24px; background-size: contain; }
	#customer_header .logo span,
	#customer_footer .logo span {
		font-size: 12px;
	}
	#customer_header .acc_language {
		width: 130px;
	}
	#customer_header .acc_language .acc_tit {
		font-size: 12px;
	}
	#customer_header .acc_language .acc_tit::after {
		right: 10px;
	}
	#customer_header .acc_language .acc_contents li a {
		font-size: 14px;
	}
	#customer_header .lang_link a,
	#customer_footer .lang_link a {
		padding: 0 8px;
		font-size: 14px;
	}
}
@media screen and (hover: hover) {
	#customer_header .acc_language .acc_contents li a:hover {
		opacity: 1;
		background-color: rgba(255 255 255/100%);
	}
	#customer_header .cmn_btn_02:hover,
	#customer_footer .cmn_btn_02:hover {
		opacity: 1;
		color: #fff;
		transition: color .5s cubic-bezier(0.550, 0.055, 0.675, 0.190);
	}
	#customer_header .cmn_btn_02:hover::before,
	#customer_footer .cmn_btn_02:hover::before {
		width: 100%;
	}
	#customer_header .cmn_btn_02:hover::after,
	#customer_footer .cmn_btn_02:hover::after {
		background-image: url(../img/arrow_skew_w.svg);
		transition: background .2s .5s cubic-bezier(0.550, 0.055, 0.675, 0.190);
	}
}

/* ---------------------------------------------------
	Header
------------------------------------------------------ */
@keyframes anim_fix {
	0% { transform: translateY(-100%); }
	100% { transform: translateY(0); }
}
@keyframes anim_top {
	0% { transform: translateY(0); position: fixed; }
	30% { opacity: 0; }
	50% { transform: translateY(-100%); }
	51% { transform: translateY(0); }
	100% { position: absolute; opacity: 1; }
}

#customer_header #header_wrap {
	position: relative;
}
#customer_header #g_header {
	width: 100%;
	min-width: 1200px;
	display: flex;
	justify-content: space-between;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 11;
	color: #fff;
	transition: background-color .5s;
}
#customer_header #g_header .logo {
	align-self: center;
	margin: 0 0 0 3%;
	padding: 4px 0 4px min(5.5%, 80px);
	font-size: clamp(25px, 2vw, 33px);
	background-size: contain;
	white-space: nowrap;
}
#customer_header .hd_nav {
	position: relative;
	display: flex;
    align-items: flex-start;
	justify-content: flex-end;
}
#customer_header .hd_nav>* {
	transition: opacity .5s;
}
#customer_header .hd_nav .pt_tel {
	width: 100%;
	margin: 10px 240px 0 0;
}
#customer_header .hd_nav .pt_tel.sp {
	display: none;
}
#customer_header .hd_nav>ul {
	position: absolute;
	right: 285px;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	width: min(65%, 660px);
	padding-top: 10px;
}
#customer_header .hd_nav>ul li+li {
	margin-left: 48px;
}
#customer_header .hd_nav>ul li a {
	position: relative;
	padding-bottom: 8px;
}
#customer_header .hd_nav>ul li a::before {
	content: '';
    width: 100%;
    height: 1px;
    background: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: scaleX(0);
    transition: transform .5s;
}
#customer_header .hd_nav a {
	font-size: 18px;
	color: #fff;
}
#customer_header .hd_nav .acc_language {
	position: absolute;
	top: 13px;
	right: 285px;
	z-index: 2;
}
#customer_header .hd_nav .btn_col {
	display: flex;
	align-self: flex-start;
	min-width: auto;
}
#customer_header .hd_nav .btn_col a {
	text-align: center;
}
#customer_header .hd_nav .btn_col a:hover {
	opacity: 1;
}
#customer_header .hd_nav .btn_col .reserve {
	width: 166px;
	line-height: 80px;
	display: block;
	background-color: #a08441;
	transition: background-color .5s, opacity .3s;
}
#customer_header .open_menu {
	position: relative;
	width: 80px;
	height: 80px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	transition: opacity .5s;
	background-color: #826a12;
	overflow: hidden;
	font-size: 0 !important;
}
#customer_header .open_menu::before,
#customer_header .open_menu .bar::before,
#customer_header .open_menu .bar::after {
	content: '';
	display: block;
	width: 38px;
	height: 1.5px;
	border-radius: 2px;
	background-color: #fff;
	transition: transform .5s, width .5s, opacity .3s, left .5s;
}
#customer_header .open_menu::before {
	margin-bottom: 22px;
}
#customer_header .open_menu .bar::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
}

#customer_header #header_wrap:target .open_menu::before,
#customer_header #header_wrap:target .open_menu .bar::before,
#customer_header #header_wrap:target .open_menu .bar::after {
	width: 43px;
}
@keyframes menu-bar {
	100% { height: 0; }
}
#customer_header #header_wrap:target .open_menu .bar::before {
	left: 100%;
	opacity: 0;
	animation: menu-bar .8s forwards;
}
#customer_header #header_wrap:target .open_menu::before {
	transform: translateY(12px) rotate(45deg);
}
#customer_header #header_wrap:target .open_menu .bar::after {
    transform: translateY(-12px) rotate(-45deg);
}
/* close */
#customer_header .close_menu {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 101;
	width: 80px;
	height: 80px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	transition: opacity .5s;
	background-color: #826a12;
	overflow: hidden;
	font-size: 0 !important;
}
#customer_header .close_menu::before,
#customer_header .close_menu .bar::before,
#customer_header .close_menu .bar::after {
	content: '';
	display: block;
	width: 38px;
	height: 1.5px;
	border-radius: 2px;
	background-color: #fff;
	transition: transform .5s, width .5s, opacity .3s, left .5s;
}
#customer_header .close_menu::before {
	margin-bottom: 22px;
}
#customer_header .close_menu .bar::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
}
#customer_header #header_wrap:target .close_menu::before,
#customer_header #header_wrap:target .close_menu .bar::before,
#customer_header #header_wrap:target .close_menu .bar::after {
	width: 43px;
}
#customer_header #header_wrap:target .close_menu .bar::before {
	left: 100%;
	opacity: 0;
	animation: menu-bar .8s forwards;
}
#customer_header #header_wrap:target .close_menu::before {
	transform: translateY(12px) rotate(45deg);
}
#customer_header #header_wrap:target .close_menu .bar::after {
    transform: translateY(-12px) rotate(-45deg);
}

@media screen and (hover: hover) {
	#customer_header .hd_nav>ul li a:hover::before {
		transform: scaleX(1);
	}
	#customer_header .hd_nav .btn_col .reserve:hover {
		background-color: #bb9844;
	}
}
@media screen and (max-width: 768px) {
	#customer_header #g_header {
		min-width: 0;
	}
	#customer_header #g_header .logo {
		align-self: center;
		margin: 0 0 0 1.8vw;
		padding-left: 40px;
		font-size: 18px;
		background-size: 33px;
	}
	#customer_header #g_header .logo span { font-size: 9px; }
	#customer_header .hd_nav>* {
		transition: opacity .3s;
	}
	#customer_header .hd_nav a {
		font-size: 14px;
	}
	#customer_header .hd_nav .acc_language {
		top: min(18vw, 85px);
		right: 6%;
	}
	#customer_header .hd_nav .pt_tel {
		width: 33.3%;
		margin: 0;
		font-size: 16px;
		text-align: center;
	}
	#customer_header .hd_nav .pt_tel.pc {
		display: none;
	}
	#customer_header .hd_nav .pt_tel.sp {
		display: flex;
	}
	#customer_header .hd_nav .pt_tel .tel-link {
		display: block;
		width: min(15vw, 60px);
        line-height: min(15vw, 60px);
		font-size: 14px;
		background-color: #1e679e;
	}
	#customer_header .hd_nav .btn_col>a {
		width: min(15vw, 60px);
	}
	#customer_header .hd_nav .btn_col .reserve {
		width: min(15vw, 60px);
		line-height: min(15vw, 60px);
	}
	#customer_header .open_menu {
		height: min(15vw, 60px);
		line-height: 1.5;
	}
	#customer_header .open_menu::before,
	#customer_header .open_menu .bar::before,
	#customer_header .open_menu .bar::after {
		width: 25px;
	}
	#customer_header .open_menu::before {
		margin-bottom: 16px;
	}
	#customer_header #header_wrap:target .open_menu::before,
	#customer_header #header_wrap:target .open_menu .bar::before,
	#customer_header #header_wrap:target .open_menu .bar::after { width: 33px; }
	#customer_header #header_wrap:target .open_menu::before { transform: translateY(9px) rotate(45deg); }
	#customer_header #header_wrap:target .open_menu .bar::after { transform: translateY(-9px) rotate(-45deg); }

	/* .close_menu */
	#customer_header .close_menu {
		width: min(15vw, 60px);
		height: min(15vw, 60px);
	}
	#customer_header .close_menu::before,
	#customer_header .close_menu .bar::before,
	#customer_header .close_menu .bar::after {
		width: 25px;
	}
	#customer_header .close_menu::before {
		margin-bottom: 16px;
	}
	#customer_header #header_wrap:target .close_menu::before,
	#customer_header #header_wrap:target .close_menu .bar::before,
	#customer_header #header_wrap:target .close_menu .bar::after { width: 33px; }
	#customer_header #header_wrap:target .close_menu::before { transform: translateY(9px) rotate(45deg); }
	#customer_header #header_wrap:target .close_menu .bar::after { transform: translateY(-9px) rotate(-45deg); }
}

/* ---------------------------------------------------
	G-nav
------------------------------------------------------ */
#customer_header #gnav_wrap {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
    height: 100vh;
    overflow: scroll;
	opacity: 0;
	pointer-events: none;
	filter: blur(8px);
	transition: filter .4s, opacity .6s;
}
#customer_header #header_wrap:target #gnav_wrap {
	filter: blur(0);
	opacity: 1;
	pointer-events: auto;
	color: #fff;
	background-color: #111b3a;
}
#customer_header #gnav_wrap #gnav::before {
	content: '';
	display: block;
	width: calc(100% - 770px);
	min-height: 100vh;
	background: url(../img/menu_bg.jpg)no-repeat center/cover;
}
#customer_header #gnav {
	display: flex;
}
#customer_header #gnav .container {
	width: 770px;
	max-width: 100%;
	padding: 160px 5.2% 80px !important;
	box-sizing: border-box;
}
#customer_header #gnav .container>ul {
	font-size: 15px;
}
#customer_header #gnav .container>ul li a {
	color: #fff;
}
#customer_header #gnav .menu {
	display: flex;
    flex-direction: column;
    flex-wrap: wrap;
	align-content: space-between;
    height: calc(5*(1.5em + 1.5* 1em));
	padding: 0 20px;
}
#customer_header #gnav .menu li {
	margin-bottom: 1.5em;
}
#customer_header #gnav .pt_tel a {
	color: #fff;
}
#customer_header #gnav .lang_link {
	border-top: 1px solid rgba(255 255 255/50%);
	margin-top: 20px;
	padding-top: 30px;
}
#customer_header #gnav .re_link {
	margin-top: 65px;
}
#customer_header #gnav .re_link a {
	display: block; 
	width: 240px; 
	margin: 0 auto; 
	text-align: center;
}
#customer_header #gnav .re_link .cmn_btn_01 {
	transition: background-color .5s;
}
#customer_header #gnav [class$="_col"] {
	display: flex;
	justify-content:center;
}
#customer_header #gnav .logo_col {
	margin: 40px 0 20px;
}

@media screen and (hover:hover) {
	#customer_header #gnav .re_link .cmn_btn_01:hover { opacity: 1; background-color: #bb9844; transition: background-color .5s;}
}
@media screen and (max-width: 768px) {
	#customer_header #gnav .container { padding: 100px 6% 120px !important; }
	#customer_header #gnav .menu { flex-direction: row; justify-content: space-between; height: auto; padding: 0; }
	#customer_header #gnav .menu li { width: calc((100% - 50px)/ 2); border-bottom: 1px solid rgba(255 255 255/50%); margin-bottom: 0; }
	#customer_header #gnav .menu li a { display: flex; height: 100%; padding: .75em 0; }
	#customer_header #gnav .pt_tel { display: none; }
	#customer_header #gnav .lang_link { margin-top: 35px; padding-top: 0; border-top: none; }
	#customer_header #gnav .re_link { margin-top: 45px; }
	#customer_header #gnav .re_link a { width: 100%; }
	#customer_header #gnav .re_link .cmn_btn_01 { line-height: 50px; }
}


/* Main img
------------------------------------------------------ */
#customer_header #main_img {
	position: relative;
	width: 100%;
	padding: 0;
	background-color: #000;
}
#customer_header #main_img>picture .ofi {
	width: 100%;
	height: auto;
	opacity: .9;
}
#customer_header .cmn_tit_main {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
	padding-bottom: 50px;
	box-sizing: border-box;
	color: #fff;
}
#customer_header .cmn_tit_main h1 {
	font-size: 45px;
}

@media screen and (max-width: 768px) {
	#customer_header #main_img>picture .ofi {
		height: auto;
		min-height: 360px;
	}
	#customer_header .cmn_tit_main h1 {
		font-size: 32px;
	}
}


/* breadcrumb
------------------------------------------------------ */
#customer_header #breadcrumb {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 50px;
	padding: 15px 100px;
	box-sizing: border-box;
	background-color: #fff;
}
#customer_header #breadcrumb li { display: inline-block; }
#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 { padding: 15px 4%; }
}


/* ---------------------------------------------------
	Footer
------------------------------------------------------ */
#customer_footer #footer_wrap {
	padding: 90px 0 80px;
	color: #fff;
	background-color: #111b3a;
}
#customer_footer #footer {
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	line-height: 1.8;
}
#customer_footer address {
	margin: 25px 0 0;
	font-size: 15px;
	line-height: 1.8 !important;
}
#customer_footer #f_add .tel-link { color: #fff; }
#customer_footer #footer .re_link {
	position: relative;
	z-index: 1;
	margin-top: 35px;
}
#customer_footer #footer .re_link li:last-child a {
	color: #fff;
}
#customer_footer #f_nav {
	width: 50%;
	font-size: 15px;
}
#customer_footer #f_nav .menu {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-content: space-between;
	height: calc(5*(1em + 1.8* 1em));
}
#customer_footer #f_nav .menu li {
	margin-bottom: 1em;
}
#customer_footer #f_nav .menu a {
	display: inline-block;
	color: #fff;
	padding-left: 1em;
    text-indent: -0.8em;
}
#customer_footer #f_nav .menu a::before {
	position: relative;
	left: 0;
	content: '-';
	margin-right: 5px;
	transition: left .5s;
}
#customer_footer #f_nav .lang_link {
	margin-top: 30px;
}
#customer_footer #copy {
	width: 100%;
	opacity: .3;
	font-size: 14px;
	text-align: right;
}

@media screen and (hover: hover) {
	#customer_footer #f_nav .menu a:hover::before {
		left: -5px;
	}
}
@media screen and (min-width: 769px) {
	#customer_footer #f_nav .lang_link {
		justify-content: flex-end;
	}
	#customer_footer #copy {
		position: absolute;
		bottom: 0;
	}
}
@media screen and (max-width: 768px) {
	#customer_footer #footer_wrap { padding: 40px 0 15px; }
	#customer_footer #footer { flex-direction: column; }
	#customer_footer address { margin-top: 18px; }
	#customer_footer #f_add { order: 2; display: flex; flex-direction: column; align-items: center; margin-top: 40px;}
	#customer_footer #f_nav { order: 1; width: 100%; margin: 0 auto; }
	#customer_footer #f_nav .menu { width: 88%; height: auto; flex-direction: row; justify-content: space-between; margin: 0 auto; }
	#customer_footer #f_nav .menu li { width: 49%; }
	#customer_footer #copy { order: 3; transform: none; margin-top: 45px; font-size: 12px; text-align: center; }
	#customer_footer #footer .re_link { width: 100%; }
	#customer_footer #footer .re_link .cmn_btn_01 { width: 100%; line-height: 50px; }
	#customer_footer #footer .re_link li:last-child { text-align: center; }
}


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



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