@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Averia+Serif+Libre:wght@400;700&display=swap');
/* ===================================================
	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: 1200px;  background: url(../img/bg01.jpg);  color: #000;}


  
  .font_en { font-family: 'Averia Serif Libre', sans-serif;}

#customer_header,
#customer_footer {
	min-width: 1200px; color: #811919;
	font-size: 16px; font-weight: normal; line-height: 2;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3","Hiragino Kaku GothicPro","Osaka","Verdana","Helvetica","Arial","ＭＳ Ｐゴシック", sans-serif;
	-webkit-text-size-adjust: 100%; position: relative; letter-spacing: .08em;
	font-feature-settings: "palt";
}

#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 { color: #811919; text-decoration: none;}
#customer_header a:hover,
#customer_footer a:hover { color: #811919; text-decoration: none;}
#customer_header a:hover img,
#customer_footer a:hover img { opacity: 0.75;}

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

#customer_header .ver_sp,
#customer_footer .ver_sp { display: none;}

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

@media screen and (hover: hover) {
	#customer_header a:hover,
	#customer_footer a:hover { color: #811919;}
	#customer_header a:hover img,
	#customer_footer a:hover img { opacity: 0.75;}
}


@media screen and (orientation:landscape) {
	body { width: 100%;}
}
@media screen and (max-width: 768px) {
	body { min-width: 0;}

	#customer_header .ver_pc,
	#customer_footer .ver_pc { display: none;}
	#customer_header .ver_sp,
	#customer_footer .ver_sp { display: inline;}
}

@media screen and (max-width: 600px) {
	#customer_header,
	#customer_footer { font-size: 15px; min-width: 0; line-height: 1.8 !important;}
	#customer_header .sp,
	#customer_footer .sp { display: block;}
	#customer_header .br_sp,
	#customer_footer .br_sp { display: inline;}
	#customer_header .pc,
	#customer_footer .pc { display: none !important;}
}


/* ---------------------------------------------------
	Base Layout
------------------------------------------------------ */
/* コンテンツ幅 */
#customer_header .inner_lg,
#customer_footer .inner_lg { width: 1400px; max-width: 92%; margin: 0 auto;}
#customer_header .inner_md,
#customer_footer .inner_md { width: 1200px; max-width: 92%; margin: 0 auto;}
#customer_header .inner_sm,
#customer_footer .inner_sm { width: 1100px; max-width: 92%; margin: 0 auto;}

#customer_header .cmn_linkbtn01,
#customer_footer .cmn_linkbtn01 { display: flex; justify-content: center; align-items: center; font-size: 20px; font-weight: bold; width: 480px; max-width: 100%; padding: 12px 0; border: 1px solid #8d3a38; border-radius: 30px; transition: background-color .3s, color .3s;}

@media screen and (hover: hover) {
	#customer_header .cmn_linkbtn01:hover,
	#customer_footer .cmn_linkbtn01:hover { background: #f1eada;}
}

@media screen and (max-width: 600px) {
	#customer_header .cmn_linkbtn01,
	#customer_footer .cmn_linkbtn01 { width: 80%; font-size: 17px; padding: 10px 0;}
}



/* Header
------------------------------------------------------ */
#customer_header #gnav_top { display: flex; justify-content: center; padding: 10px 0; position: absolute; top: 0; left: 0; width: 100%; z-index: 9999; transition: opacity .5s; opacity: 1;}
#customer_header #gnav_top.close { left: 0!important;}
#customer_header #gnav_top #gnav_logo { order: 1; padding: 0 70px; width: 316px; box-sizing: border-box;}
#customer_header #gnav_top #gnav_logo img { height: 156px;}
#customer_header #gnav_top #gnav_logo span:nth-of-type(2) { display: none;}
#customer_header #gnav_top ul { display: flex; padding: 40px 0 0; font-size: 15px; width: calc(50% - 158px);}
#customer_header #gnav_top ul li + li { margin-left: 40px;}
#customer_header #gnav_top ul li a { padding-bottom: 5px; transition: color .3s;}
#customer_header #gnav_top ul li a:hover { text-decoration: none;}
#customer_header #gnav_top #gnav_main01 { order: 0; justify-content: flex-end;}
#customer_header #gnav_top #gnav_main02 { order: 3; justify-content: flex-start;}
#customer_header #gnav_top #gnav_main02 #gn_07 a { border-bottom: 1px dashed #811919; transition: border-color .3s;}

#customer_header #gnav_sns { position: fixed; bottom: 15px; left: 0; z-index: 999; width: 3%;}
#customer_header #gnav_sns a { display: flex; flex-direction: column; justify-content: center; align-items: center; font-size: 10px; width: 100%;}
#customer_header #gnav_sns a span { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; margin-top: 5px;}


#customer_header #gnav_top.fixed {
	position: fixed; top:0; left: 0; z-index: 999; min-width: 1200px; justify-content: space-between; align-items: center; padding: 5px 3%;
	-webkit-animation: menu_scroll .8s forwards; animation: menu_scroll .8s forwards; transform: translateY(-100%); background: url(../img/bg01.jpg);
}
#customer_header #gnav_top.fixed #gnav_logo { order: 0; padding: 0; width: 220px;}
#customer_header #gnav_top.fixed #gnav_logo span:first-of-type { display: none;}
#customer_header #gnav_top.fixed #gnav_logo span:nth-of-type(2) { display: block;}

#customer_header #gnav_top.fixed ul { padding: 0; width: auto;}
#customer_header #gnav_top.fixed ul li + li { margin-left: 30px;}
#customer_header #gnav_top.fixed #gnav_main01 { margin-left: auto;}
#customer_header #gnav_top.fixed #gnav_main02 { justify-content: flex-end; margin-left: 30px;}
#customer_header #gnav_top.fixed #gnav_main02 #gn_07 a { border-bottom: none; background: #7a2c2a; padding: 10px 25px; border-radius: 20px; color: #fff; transition: background-color .3s;}

#customer_header #gnav_top.fixed.close { -webkit-animation: menu_close .3s forwards; animation: menu_close .3s forwards; transform: translateY(0); opacity: 0; transition: opacity .5s;}
@media screen and (hover: hover) {
	#customer_header #gnav_top ul li a:hover { color: #b1837f; text-decoration: none;}
	#customer_header #gnav_top #gnav_main02 #gn_07 a:hover { border-color: transparent;}
	#customer_header #gnav_top.fixed #gnav_main02 #gn_07 a:hover { background: #a73f3c; opacity: 1;}
}

@-webkit-keyframes menu_scroll {
	0% { transform: translateY(-100%);}
	100% { transform: translateY(0);}
}
@keyframes menu_scroll {
	0% { transform: translateY(-100%);}
	100% { transform: translateY(0);}
}

@-webkit-keyframes menu_close {
	0% { transform: translateY(0);}
	100% { transform: translateY(-100%);}
}
@keyframes menu_close {
	0% { transform: translateY(0);}
	100% { transform: translateY(-100%);}
}

@media screen and (max-width: 600px) {
	#customer_header #h_logo { position: absolute; top: 10px; left: 2%; z-index: 1;}
	#customer_header #h_logo img { width: 40vw; height: inherit;}
	#customer_header #gnav:target { opacity: 1; pointer-events: all;}
	#customer_header #gnav { position: fixed; width: 100%; height: 100vh; top: 0; left: 0; padding: 20px 4% 80px; box-sizing: border-box; background: #fff; overflow: scroll; z-index: 10000; opacity: 0; pointer-events: none; transition: opacity .5s;}
	
	#customer_header #gnav_top { display: block; position: static; padding: 0;}
	#customer_header #gnav_top #gnav_logo { text-align: center; width: 100%; padding: 0;}
	#customer_header #gnav_top #gnav_logo img { width: 30vw;}
	#customer_header #gnav_top ul { width: 100%; display: block; padding: 0;}
	#customer_header #gnav_top ul li { border-bottom: 1px solid #ece3e0;}
	#customer_header #gnav_top ul li a { display: block; padding: 8px 10px;}
	#customer_header #gnav_top ul li + li { margin-left: 0;}
	#customer_header #gnav_top #gnav_main01 { margin-top: 20px;}
	#customer_header #gnav_top #gnav_main01 li:last-of-type a { border-bottom: none;}

  #customer_header #gnav_reserve { margin-top: 35px; background: #f1ece3; border-radius: 10px; padding: 15px 4%;}
  #customer_header #gnav_reserve dl { text-align: center;}
  #customer_header #gnav_reserve .reserve { padding: 0 0 20px;}
  #customer_header #gnav_reserve .reserve dt { font-size: 24px;}
  #customer_header #gnav_reserve .reserve dd a:first-of-type { display: block; padding: 10px 0; color: #fff; background: #8d3a38; font-size: 17px; text-align: center; margin: 5px 0 0; border-radius: 5px;}
  #customer_header #gnav_reserve .reserve dd a:nth-of-type(2) { display: inline-block; margin: 10px auto 0; text-decoration: underline;}
  #customer_header #gnav_reserve .contact { border-top: 1px solid #d7cebd; padding: 15px 0 0;}
  #customer_header #gnav_reserve .contact dt { font-weight: bold;}
  #customer_header #gnav_reserve .contact dd .tel-link { font-weight: bold; font-size: 22px; display: flex; align-items: center; justify-content: center;}
  #customer_header #gnav_reserve .contact dd .tel-link img { margin-right: 10px;}

  #customer_header #close_top { position: absolute; top: 15px; right: 15px;}
  #customer_header #close_bot { display: block; border: 1px dashed #7e3634; text-align: center; padding: 12px; position: relative; margin-top: 40px; letter-spacing: 0.3em;}
  #customer_header #close_bot img { position: absolute; left: 20px; top: calc(50% - 9px);}
  #customer_header .active #gnav { opacity: 1; pointer-events: all;}
}

/* ---------------------------------------------------
	sp_nav
------------------------------------------------------ */

#customer_header #sp_nav { display: none;}

@media screen and (max-width: 600px) {
	#customer_header #sp_nav { display: block; width: 100%; position: fixed; bottom: 0; left: 0; background: #f0ead9; border-top: 1px solid #ccb6b6; z-index: 9999;}
	#customer_header #sp_nav ul,
	#customer_header #sp_nav a { display: flex; width: 100%; letter-spacing: normal;}
	#customer_header #sp_nav li { width: 22%; padding-bottom: env(safe-area-inset-bottom);}
	#customer_header #sp_nav li + li { border-left: 1px solid #ccb6b6;}
	#customer_header #sp_nav ul li:nth-of-type(3) { width: 34%;}
	#customer_header #sp_nav ul li:nth-of-type(3) a { background: #7a2c2a; color: #fff;}
	#customer_header #sp_nav a,
	#customer_header #sp_nav .tel-link {
		display: flex; flex-direction: column; align-items: center; justify-content: center;
		padding: 10px 0; color: #811919; font-size: 14px; height: 100%; box-sizing: border-box;
	}
	#customer_header #sp_nav a:hover { text-decoration: none;}
	#customer_header #sp_nav img { opacity: 1;}
}

@media screen and (max-width: 340px) {
	#customer_header #sp_nav a,
	#customer_header #sp_nav .tel-link { font-size: 12px;}
}



/* ---------------------------------------------------
	Main img
------------------------------------------------------ */
#customer_header #main_img { width: 94%; padding: 130px 0 40px; margin: 0 auto; text-align: center; position: relative;}
#customer_header #main_img::before { content: ''; display: block; width: 300px; height: 300px; background: url(../img/bg01.jpg); position: absolute; top: -90px; left: calc(50% - 150px); border-radius: 50%; z-index: 1;}
#customer_header #main_img .img_wrap { border-radius: 10px; overflow: hidden;}
#customer_header #main_img .img_wrap h1 {
	font-size: 24px; display: flex; justify-content: center; align-items: center; padding-top: 70px; box-sizing: border-box; width: 100%; height: 100%; color: #811919;
}
#customer_header #main_img .img_wrap h1 .font_en { font-size: 80px; font-weight: bold; display: block; line-height: 1.2;}

/* breadcrumb */
#customer_header #breadcrumb { font-size: 10px; text-align: right; display: flex; flex-direction: column; position: absolute; bottom: 65px; right: -1.5%; transform: translateX(50%);}
#customer_header #breadcrumb li { line-height: 1.6; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; list-style: none;}
#customer_header #breadcrumb li:before { content: '-'; margin: 5px 0;}
#customer_header #breadcrumb li:first-child:before { display: none;}
#customer_header #breadcrumb li a { transition: opacity .3s;}
@media screen and (hover: hover) {
	#customer_header #breadcrumb li a:hover { opacity: .75;}
}

@media screen and (max-width: 600px) {
	#customer_header #main_img { width: 100%; border-radius: 0; padding: 0; }
	#customer_header #main_img::before { content: none;}
	#customer_header #main_img .img_wrap { border-radius: 0;}
	#customer_header #main_img .img_wrap picture img { min-height: 300px;}
	#customer_header #main_img .img_wrap h1 { font-size: 18px; padding: 80px 0 20px;}
	#customer_header #main_img .img_wrap h1 .font_en { font-size: 46px; line-height: 1;}

	#customer_header #breadcrumb { display: none;}
}



/* ---------------------------------------------------
	Footer
------------------------------------------------------ */
#customer_footer #footer_wrap { background: #fff;}
#customer_footer #fnav_wrap { margin: 50px 0 0; padding: 0 0 90px; border-top: 1px solid #caaeae;}
#customer_footer #f_nav .acc_tit { display: none;}
#customer_footer #f_nav ul { display: flex; justify-content: center; align-items: center; padding: 40px 0 0;}
#customer_footer #f_nav ul li + li { margin-left: 45px;}
#customer_footer #f_nav ul li a { border-bottom: 1px solid transparent; transition: border-color .3s; display: inline-block; line-height: 1.4;}
#customer_footer #f_nav ul+ul { padding: 20px 0 0;}
#customer_footer #f_reserve { margin-top: 75px; background: #f9f7f3; border-radius: 10px; padding: 20px; display: flex; justify-content: space-between; box-sizing: border-box;}
#customer_footer #f_reserve dl { width: 50%; text-align: center; display: flex; flex-direction: column; justify-content: center; padding: 15px 0 30px;}
#customer_footer #f_reserve .reserve { border-right: 1px solid #ece3e0;}
#customer_footer #f_reserve .reserve dt { font-size: 46px; font-weight: normal; line-height: 2;}
#customer_footer #f_reserve .reserve dd a:first-of-type { display: block; width: 410px; border-radius: 10px; margin: 0 auto; text-align: center; background: #8d3a38; color: #fff; font-size: 20px; padding: 26px 0; transition: background-color .3s;}
#customer_footer #f_reserve .reserve dd a:nth-of-type(2) { display: block; text-align: center; margin-top: 20px;}
#customer_footer #f_reserve .contact dt { font-size: 20px; font-weight: bold; line-height: 2;}
#customer_footer #f_reserve .contact dd .tel-link { display: inline-block; font-size: 36px; line-height: 2; pointer-events: none; margin: 0 0 2px;}

#customer_footer #flogo_wrap {
	padding: 70px 0 120px;
	background-image : linear-gradient(to right, #7e3634, #7e3634 3px, transparent 3px, transparent 15px); background-size: 15px 3px; background-position: left top; background-repeat: repeat-x;
}
#customer_footer #flogo_wrap > div { display: flex; justify-content: space-between; align-items: center;}
#customer_footer #flogo_wrap #f_logo { display: flex;}
#customer_footer #flogo_wrap #f_logo .logo { margin-right: 45px;}
#customer_footer #flogo_wrap #f_logo .address { padding: 20px 0 0; line-height: 2.2;}
#customer_footer #flogo_wrap #copyright { width: 1200px; max-width: 92%; margin: 0 auto; margin-top: 15px; color: #ceb6b6; font-size: 12px; text-align: right;}
#customer_footer #flogo_wrap #f_logo .address .bnr_line { display: block; width: 100px;}
#customer_footer #flogo_wrap #f_logo .address .tel-link { line-height: 2; pointer-events: none;}
#customer_footer #flogo_wrap #f_logo .address address { margin-bottom: 0; line-height: 1.8;}
#customer_footer #f_nav #fnav .footclose { display: none;}

@media screen and (hover: hover) {
	#customer_footer #f_nav ul li a:hover { border-color: #811919; text-decoration: none;}
	#customer_footer #f_reserve .reserve dd a:first-of-type:hover { background: #a73f3c;}
	#customer_footer #f_reserve .reserve dd a:nth-of-type(2):hover { text-decoration: underline;}
}

@media screen and (max-width: 600px) {
	#customer_footer #fnav_wrap { padding: 30px 0;}
	#customer_footer #fnav { display: none;}
	#customer_footer #f_nav:target #fnav { display: block;}
	#customer_footer #f_nav:not(:target) #fnav .footclose{ display: none;}
	#customer_footer #f_nav:target #fnav .footclose{ display: block; position: absolute; top: 0; left: 0; width: 100%; text-align: center; padding: 10px 15px 10px 10px; text-decoration: none; background: #fff; box-sizing: border-box;}
	#customer_footer #f_nav:target #fnav .footclose::before { content: ''; display: block; width: 10px; height: 10px; background: #811919; clip-path: polygon(100% 0, 0 0, 50% 100%); position: absolute; right: 15px; top: calc(50% - 5px); transition: transform .3s;}
	#customer_footer #f_nav { position: relative; border: 1px solid #7e3634;}
	#customer_footer #f_nav .acc_tit { display: block; text-align: center; padding: 10px 15px 10px 10px; position: relative; text-decoration: none;}
	#customer_footer #f_nav .acc_tit::before { content: ''; display: block; width: 10px; height: 10px; background: #811919; clip-path: polygon(100% 0, 0 0, 50% 100%); position: absolute; right: 15px; top: calc(50% - 5px); transition: transform .3s;}
  #customer_footer #f_nav .acc_tit.active::before { transform: rotate(180deg);}
  #customer_footer #f_nav ul { display: block; padding: 0 15px;}
  #customer_footer #f_nav ul li + li { margin-left: 0; margin-top: 5px;}
  #customer_footer #f_nav ul+ul { padding: 5px 15px 15px;}

  #customer_footer #f_reserve { margin-top: 30px; display: block; padding: 20px 4%;}
  #customer_footer #f_reserve dl { width: 100%;}
  #customer_footer #f_reserve .reserve { border-right: 0; border-bottom: 1px solid #ece3e0; padding: 0 0 17px;}
  #customer_footer #f_reserve .reserve dt { font-size: 24px; line-height: 1.8;}
  #customer_footer #f_reserve .reserve dd a:first-of-type { width: 100%; font-size: 16px; padding: 13px 0;}
  #customer_footer #f_reserve .reserve dd a:nth-of-type(2) { margin-top: 13px;}
  #customer_footer #f_reserve .contact { padding: 15px 0 0;}
  #customer_footer #f_reserve .contact dt { font-size: 17px;}
  #customer_footer #f_reserve .contact dd .tel-link { font-size: 24px; line-height: 1.4; pointer-events: inherit;}
  #customer_footer #f_reserve .contact dd .tel-link > span { display: flex; justify-content: center; align-items: center;}
  #customer_footer #f_reserve .contact dd .tel-link > span span:nth-of-type(2) { margin-right: 10px;}
  #customer_footer #f_reserve .contact dd .tel-link > span span:nth-of-type(2) img { vertical-align: text-bottom;}

  #customer_footer #flogo_wrap { padding: 30px 0 130px; background-image : linear-gradient(to right, #7e3634, #7e3634 2px, transparent 2px, transparent 8px); background-size: 8px 2px;}
  #customer_footer #flogo_wrap > div { display: block;}
  #customer_footer #flogo_wrap #f_logo { display: block; text-align: center;}
  #customer_footer #flogo_wrap #f_logo .logo { margin-right: 0; margin-bottom: 15px;}
  #customer_footer #flogo_wrap #f_logo .logo img { width: 33vw; height: inherit;}
  #customer_footer #flogo_wrap #f_logo .address { padding: 0; line-height: 1.8;}
  #customer_footer #flogo_wrap #f_logo .address p span { display: inline-block;}
  #customer_footer #flogo_wrap #f_logo .address .bnr_line { margin: 10px auto 0;}
  #customer_footer #flogo_wrap #f_logo .address .bnr_line img { height: inherit;}
  #customer_footer #flogo_wrap #f_bnr { margin-top: 15px; text-align: center;}
  #customer_footer #flogo_wrap #f_bnr img { width: 100%; height: inherit;}
  #customer_footer #flogo_wrap #copyright { width: 100%; text-align: center;}
  #customer_footer #flogo_wrap #f_logo .address .tel-link { pointer-events: inherit;}
}
@media screen and (max-width: 480px) {
}



/* clear
------------------------------------------------------ */

#header:after,
#nav_wrap:after,
#gnav ul:after,
#contents_wrap:after,
#footer:after { content: "."; display: block; height: 0px; clear: both; visibility: hidden; font-size: 0;}


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



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