@charset "UTF-8";


/* ::::::::::::::::::::::::::::::::: HEADER ::::::::::::::::::::::::::::::::: */


header.mainHeader {
	height: 160px;
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	background: #FFF;
	transition: opacity 0.4s ease;
	z-index: 1010;
}
header.mainHeader img.small {
	display: none;
}
header.mainHeader div.siteTitle {
	width: 136px;
	height: 94px;
	position: absolute;
	left: 50px;
	top: 30px;
	z-index: 2;
}
header.mainHeader ul.mainList {
	position: absolute;
	width: 70%;
	right: 200px;
	bottom: 25px;
	text-align: right;
}
header.mainHeader ul.mainList li {
	position: relative;
	display: inline-block;
	font-size: 16px;
	padding: 0 1.9%;
	vertical-align: top;
}
header.mainHeader ul.mainList li::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 7px;
	width: 1px;
	height: 14px;
	background: #ccc;
}
header.mainHeader ul.mainList li:first-child::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 7px;
	width: 1px;
	height: 14px;
	background: #ccc;
}
header.mainHeader ul.mainList li a {
	position: relative;
	line-height: 30px;
	color: #2b3034;
	display: block;
	z-index: 1;
	overflow: visible;
}
header.mainHeader ul.mainList li a:hover {
	color: #777;
}
header.mainHeader ul.mainList li.active a {
	position: relative;
}
header.mainHeader ul.mainList li.active a::after {
	position: absolute;
	border-bottom: 1px solid #2b3034;
	width: 100%;
	content: "";
	left: 0;
	bottom: 0;
	margin: 0 auto;
}

header.mainHeader ul.subList {
  position: absolute;
  width: 500px;
  text-align: right;
  right: 586px;
  top: 20px;
}
header.mainHeader ul.subList li {
  display: inline-block;
  font-size: 13px;
	font-weight: 500;
  vertical-align: top;
  padding: 0 0 0 30px;
  margin: 0 0 0 15px;
  background: url(../img/common/mark_head_subList_gray.svg) no-repeat left center;
  background-size: 22px 6px;
}
header.mainHeader ul.subList li a {
  color: #808080;
}
header.mainHeader ul.subList li a:hover {
  text-decoration: underline;
}

header.mainHeader h1.h1Text {
  display: block;
  position: absolute;
	width: 40%;
  text-align: right;
  right: 450px;
  top: 45px;
	font-size: 13px;
	font-weight: 500;
	color: #808080;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック', sans-serif !important;
}



header.mainHeader div.officialSnsBlock {
	position: absolute;
	width: 160px;
	right: 20px;
	bottom: 25px;
	display: flex;
	justify-content: space-between;
}
header.mainHeader div.officialSnsBlock p {
	color: #808080;
	font-size: 14px;
	font-weight: 500;
	line-height: 25px;
}
header.mainHeader div.officialSnsBlock ul.snsList {
	height: 25px;
}
header.mainHeader div.officialSnsBlock ul.snsList li {
	display: inline-block;
	position: relative;
	width: 25px;
	height: 25px;
}
header.mainHeader div.officialSnsBlock ul.snsList li a img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}


header.mainHeader button.menuBtn {
	display: none;
}

header.mainHeader ul.bookingList {
	width: 478px;
	height: 80px;
	position: absolute;
	right: 0;
	top: 0;
	/* bottom: 0; */
	display: flex;
}
header.mainHeader ul.bookingList li.booking {
	display: table-cell;
	vertical-align: top;
}
header.mainHeader ul.bookingList li a {
	background: #8e835b;
	color: #FFF;
	display: block;
	font-size: 14px;
}
header.mainHeader ul.bookingList li button {
	color: #FFF;
	line-height: 80px;
	height: 80px;
	display: block;
	font-size: 16px;
	width: 100%;
	background: #412210 url(../img/common/mark_calender_white.svg) no-repeat 20% 50%;
	background-size: 17px 17px;
	text-indent: 10px;
}
header.mainHeader ul.bookingList li button.open {
	background: #412210 url(../img/common/mark_close.svg) no-repeat 20% 50%;
	background-size: 14px 14px;
}
header.mainHeader ul.bookingList li.booking {
	width: 201px;
}
header.mainHeader ul.bookingList li.blandLink {
	width: 120px;
}
header.mainHeader ul.bookingList li.blandLink a {
	color: #FFF;
	display: block;
	background: #c9a063;
	font-size: 16px;
	line-height: 1.4;
	height: 80px;
	padding: 17px 0;
	box-sizing: border-box;
}
header.mainHeader ul.bookingList li.restaurant{
    width: 237px;
    border-left: 1px #fff solid;
}
header.mainHeader ul.bookingList li.restaurant button{
    background: #412210 url(../img/common/mark_calender_white.svg) no-repeat 14% 50%;
}
header.mainHeader ul.bookingList li.restaurant button span{}


        .c-header__reservation-restaurant-box {
            width: 300px;
            padding: 20px;
            background-color: #fff;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
            box-sizing: border-box;
            position: fixed;
            right: 31px;
            z-index: 9999;
            top: 95px;
            /* position: relative; */
        }
   .c-header__reservation-restaurant-box::before{
content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 12.5px 13px 12.5px;
    border-color: transparent transparent #fff;
    position: absolute;
    top: -13px;
    right: 61px;

   }
        
        #tc-widget {
            width: 100% !important;
        }

        /* タイトル */
        .c-header__reservation-title {
            text-align: center;
            font-size: 20px;
            font-weight: bold;
            color: #b8860b; 
            margin-bottom: 25px;
        }
        
        /* 1. カスタム店舗選択フィールドのラッパー (全フィールドの基準) */
        .custom-shop-select-wrapper {
            margin-bottom: 10px !important;
            border: 1px solid #ccc;
            border-radius: 4px;
            /* padding: 0 10px; */
            height: 48px;
            display: flex;
            align-items: center;
            width: 100%;
            box-sizing: border-box;
            position: relative;
        }
        
        /* カスタムプルダウンメニューのスタイル */
        #shop-select-menu {
            width: 100%;
            padding: 0 0 0 5px !important; 
            font-size: 16px;
            border: none;
            background-color: transparent;
            appearance: none; 
            color: #333;
            flex-grow: 1;
            height: 100%; 
            line-height: normal; 
        }
        
        /* アイコンの色とサイズ */
        .custom-icon-shop {
            width: 20px !important;
            height: 20px !important;
            fill: #6a1b9a; /* 店舗アイコンは紫色 */
            margin-right: 10px;
            padding: 15px;
        }
        
        /* 💡 修正点: カスタム矢印の色を #888 に強制し、外部の影響を打ち消す */
        .custom-icon-arrow {
            width: 20px;
            height: 20px;
            fill: #888 !important;
            position: absolute;
            right: 15px;
        }

        /* 2. 外部ウィジェットのスタイル調整 */
        
        /* 💡 チラつき最小化のための表示制御 */
        #tc-widget-display-area {
            min-height: 192px;
            opacity: 1;
            transition: opacity 0.1s ease-out;
            display: none;
        }
        #tc-widget-display-area.hidden {
            opacity: 0;
        }

        /* ウィジェットのデフォルトヘッダーを非表示 */
        #tc-widget-display-area .tc-header {
            display: none !important;
        }
        
        /* フォームの親要素の調整 */
        #tc-widget-display-area .tc-body {
            background: transparent !important;
            border: none !important;
            padding: 0 !important;
            box-sizing: border-box;
            display: none;
        }
        
        /* 各入力フィールドのラッパーのスタイルをカスタムフィールドと完全に一致させる */
        #tc-widget-display-area .tc-date,
        #tc-widget-display-area .tc-time,
        #tc-widget-display-area .tc-ppl {
            margin-bottom: 10px !important;
            float: none !important;
            width: 100% !important;
            border: 1px solid #ccc;
            border-radius: 4px;
            padding: 0 10px;
            height: 48px !important;
            display: flex;
            align-items: center;
            box-sizing: border-box;
            position: relative;
        }
        
        /* ウィジェット内のアイコンの位置と色を調整 */
        #tc-widget-display-area .tc-icon {
            fill: #6a1b9a; /* 日付・時間・人数アイコンは紫色 */
            margin-top: 0 !important; 
            margin-right: 10px;
            float: none !important; 
            width: 20px !important;
            height: 20px !important;
        }

        /* ウィジェット内の入力フィールド（日付・時間・人数）の入力欄を調整 */
        #tc-widget-display-area .tc-wrap-input {
            flex-grow: 1;
            display: flex;
            align-items: center;
            height: 100%;
        }
        
        #tc-widget-display-area select, 
        #tc-widget-display-area input[type='text'] {
            border: none !important; 
            background-color: transparent !important;
            height: 100% !important; 
            padding: 0 0 0 5px !important; 
            box-shadow: none !important;
            line-height: normal; 
            width: 100% !important;
        }
        
        /* ⬇️ ウィジェット生成フィールドの矢印をカスタム矢印に統一 (共通クラスに適用) */
        #tc-widget-display-area .tc-date::after,
        #tc-widget-display-area .tc-time::after,
        #tc-widget-display-area .tc-ppl::after {
            content: '';
            display: block;
            width: 20px;
            height: 20px;
            background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path fill='%23888' d='M443.5 162.6l-7.1-7.1c-4.7-4.7-12.3-4.7-17 0L224 351 28.5 155.5c-4.7-4.7-12.3-4.7-17 0l-7.1 7.1c-4.7 4.7-4.7 12.3 0 17l211 211.1c4.7 4.7 12.3 4.7 17 0l211-211.1c4.8-4.7 4.8-12.3.1-17z'/></svg>") no-repeat center;
            background-size: contain;
            margin-left: auto; 
        }
        /* ウィジェット内のデフォルト矢印を非表示 */
        #tc-widget-display-area .tc-date .tc-icon-cal + .tc-wrap-input + span {
            display: none; 
        }
        #tc-widget-display-area .tc-time select,
        #tc-widget-display-area .tc-ppl select {
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
        }


        /* ボタンの配置とスタイル */
        #tc-widget-display-area .tc-wrap-book {
            display: none !important;
        }
        .custom-submit-button {
            background-color: #adadad; 
            color: #fff;
            font-weight: bold;
            padding: 10px 0;
            border: none;
            border-radius: 4px;
            width: 100%;
            cursor: pointer;
            margin-top: 15px; 
            font-size: 16px;
            box-sizing: border-box;
        }

		  /* ボタンのスタイル */
        #custom-submit-button {
            background-color: #adadad;
            color: #fff;
            font-weight: bold;
            padding: 10px 0;
            border: none;
            border-radius: 4px;
            width: 100%;
            cursor: pointer;
            margin-top: 15px;
            font-size: 16px;
            box-sizing: border-box;
            display: block;
        }

        /* 閉じるボタンのデザイン (フォーム枠内に配置) */
        #close-modal-button {
            background: none;
            border: none;
            color: #333; 
            font-size: 16px;
            font-weight: bold;
            padding: 10px 0 0; /* 上のボタンとの余白を調整 */
            cursor: pointer;
            display: block; /* 中央配置しやすくするためブロック要素に */
            width: 100%;
            text-align: center;
        }
        
        #close-modal-button::after {
            content: ' ✕'; 
            color: #b8860b; 
            font-size: 18px;
            font-weight: normal;
        }

header.mainHeader div.lang {
	position: relative;
	height: 80px;
	line-height: 80px;
	position: absolute;
	right: 466px;
	top: 0;
	cursor: pointer;
}
header.mainHeader div.lang .langOpenBtn {
	position: relative;
	font-size: 16px;
	padding: 0 40px;
	box-sizing: border-box;
	color: #412210;
	text-decoration: underline;
	text-align: right;
}
header.mainHeader div.lang .langOpenBtn::before {
	position: absolute;
	content: '';
	right: 70px;
	bottom: 0;
	top: 0;
	margin: auto;
	background: url(../img/common/mark_langage.svg) no-repeat 50% 50%;
	background-size: 17px 17px;
	width: 17px;
	height: 17px;
	transition: all 0.2s;
}
header.mainHeader div.lang .langOpenBtn.on::before {
	transform: rotate(40deg);
}
header.mainHeader ul.headerLangList {
	display: none;
	position: absolute;
	background: #3c4145;
	color: #FFF;
	font-size: 13px;
	width: 140px;
	right: 0;
	top: 80px;
	border-radius: 10px;
}
header.mainHeader ul.headerLangList li {
	display: block;
	border-bottom: 1px solid #2b3034;
	height: auto;
	line-height: 1.7;
	padding: 15px 0;
}
header.mainHeader ul.headerLangList li:last-child {
	border: none;
}
header.mainHeader ul.headerLangList li span {
	font-weight: bold;
}
header.mainHeader ul.headerLangList li a {
	background: none;
	text-decoration: underline;
	color: #BBB;
}
header.mainHeader ul.headerLangList li a:hover {
	color: #999;
}


header.mainHeader.small {
	position: fixed;
	height: 80px;
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.05);
}
header.mainHeader.small div.siteTitle {
	width: 322px;
	height: 28px;
	position: absolute;
	left: 18px;
	top: 28px;
}
header.mainHeader.small img.small {
	display: inherit;
}
header.mainHeader.small img.large {
	display: none;
}
header.mainHeader.small ul.mainList {
	display: none;
}
header.mainHeader.small ul.subList {
	display: none;
}
header.mainHeader.small h1.h1Text {
	display: none;
}
header.mainHeader.small div.officialSnsBlock {
	display: none;
}

header.mainHeader.small button.menuBtn {
	display: block;
}
header.mainHeader.small ul.bookingList {
	right: 90px;
}

header.mainHeader.small div.lang {
	position: relative;
	height: 80px;
	line-height: 80px;
	position: absolute;
	right: 424px;
	top: 0;
	cursor: pointer;
}



@media screen and (max-width: 1320px) {
	header.mainHeader div.siteTitle {
		left: 30px;
	}
	header.mainHeader ul.mainList {
	}
}
@media screen and (max-width: 1200px) {
	header.mainHeader.small div.siteTitle {
		left: 15px;
	}
	header.mainHeader.small ul.mainList li {
		padding: 0 7px;
		font-size: 14px;
	}
}
@media screen and (max-width: 1150px) {
	header.mainHeader ul.mainList li {
		padding: 0 10px;
	}
}

@media screen and (max-width: 979px) {
	/* HEADER */
	header.spHeader {
		height: 60px;
		width: 100%;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 1010;
		background: #FFF;
		box-shadow:0px 0px 5px 0px rgba(0,0,0,0.05);
	}
	header.spHeader div.siteTitle {
		height: 50px;
		padding: 10px 0 0 4%;
		text-align: left;
	}


}


/* ::::::::::::::::::::::::::::::::: FOOTER ::::::::::::::::::::::::::::::::: */


footer.mainFooter {
	position: relative;
}

footer.mainFooter,
footer.mainFooter a {
	color: #d6cfcb;
}


footer.mainFooter div.bnWrap {
	background: #e6e6e6;
	padding: 30px 0;
}

@media screen and (max-width: 979px) {
	footer.mainFooter div.bnWrap {
		padding: 30px 0;
	}
}
footer.mainFooter div.bnWrap div.inner {
	width: 990px;
	margin: 0 auto;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.bnWrap div.inner {
		width: auto;
	}
}
footer.mainFooter div.bnWrap div.footerBannerSlick {
	position: relative;
}
footer.mainFooter div.bnWrap div.footerBannerSlick::after {
	content: "";
	clear: both;
	display: block;
}
footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-prev,
footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-next {
	position: absolute;
	width: 40px;
	height: 40px;
	bottom: 20px;
	overflow: hidden;
	text-indent: -999px;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-prev,
	footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-next {
		width: 32px;
		height: 32px;
		bottom: 16px;
	}
}
footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-prev:hover,
footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-next:hover {
	opacity: 0.7;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-prev:hover,
	footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-next:hover {
		opacity: 1;
	}
}
footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-prev {
	left: -60px;
	background: url(../img/common/vector_circle_left_gray.svg) no-repeat center left;
	background-size: 40px 40px;
}
@media screen and (max-width: 1160px) {
	footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-prev {
		left: 0;
		bottom: 10px;
	}
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-prev {
		left: 15px;
		bottom: 30%;
		background: url(../img/common/vector_circle_left_gray.svg) no-repeat center left;
		background-size: 32px 32px;
	}
}
footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-next {
	right: -60px;
	background: url(../img/common/vector_circle_right_gray.svg) no-repeat center left;
	background-size: 40px 40px;
}
@media screen and (max-width: 1160px) {
	footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-next {
		right: 0;
		bottom: 10px;
	}
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.bnWrap div.footerBannerSlick button.slick-next {
		right: 15px;
		bottom: 30%;
		background: url(../img/common/vector_circle_right_gray.svg) no-repeat center left;
		background-size: 32px 32px;
	}
}
footer.mainFooter div.bnWrap ul {
	width: 990px;
	margin: auto;
}
@media screen and (max-width: 1160px) {
	footer.mainFooter div.bnWrap ul {
		width: 890px;
	}
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.bnWrap ul {
		width: 70%
	}
}
footer.mainFooter div.bnWrap ul li {
	width: 226px;
	float: left;
	_zoom: 1;
	overflow: hidden;
	padding: 0 15px;
}
@media screen and (max-width: 1160px) {
	footer.mainFooter div.bnWrap ul li img {
		width: 100%;
		height: auto;
	}
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.bnWrap ul li img {
		width: 100%;
		height: auto;
	}
}

footer.mainFooter div.mainWrap {
	background: #412210;
}

footer.mainFooter div.listWrap01 {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.listWrap01 {
	}
}
footer.mainFooter div.listWrap01 .inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 20px 50px;
	box-sizing: border-box;
	width: 90%;
	margin: 0 5% 0;
	text-align: left;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.listWrap01 .inner {
		display: block;
		width: auto;
		margin: 0;
		padding: 20px 15px;
	}
}
footer.mainFooter div.listWrap01 ul.footLinkList {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.listWrap01 ul.footLinkList {
		margin-bottom: 20px;
	}
}
footer.mainFooter div.listWrap01 ul.footLinkList li a {
	display: block;
	padding: 2px 10px;
	box-sizing: border-box;
	font-size: 14px;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.listWrap01 ul.footLinkList li a {
		font-size: 12px;
		text-decoration: underline;
	}
}
footer.mainFooter div.listWrap01 ul.footLinkList li a:hover {
	text-decoration: underline;
}

footer.mainFooter div.listWrap01 ul.snsList {
	height: 25px;
}
@media screen and (max-width: 1250px) {
	footer.mainFooter div.listWrap01 ul.snsList {
		width: 100%;
		margin-top: 10px;
	}
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.listWrap01 ul.snsList {
		height: auto;
	}
}
footer.mainFooter div.listWrap01 ul.snsList li {
	display: inline-block;
	padding: 0 0 0 10px;
	position: relative;
	width: 25px;
	height: 25px;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.listWrap01 ul.snsList li {
		padding: 0 0 0 8px;
	}
}
footer.mainFooter div.listWrap01 ul.snsList li a img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}


footer.mainFooter div.listWrap02 .inner {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding: 50px;
	box-sizing: border-box;
	width: 90%;
	margin: 0 5% 0;
	text-align: left;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.listWrap02 .inner {
		display: block;
		width: auto;
		margin: 0;
		padding: 20px 15px 40px;
		text-align: center
	}
}
footer.mainFooter div.listWrap02 h2 {
	font-size: 11px;
	margin-bottom: 30px;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック', sans-serif!important;
	line-height:1.7;
	letter-spacing: 0;
	color: #d6cfcb;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.listWrap02 h2 {
		margin-bottom: 20px;
	}
}
footer.mainFooter div.listWrap02 .footTitle {
	font-size: 17px;
	font-weight: bold;
	margin-bottom: 30px;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.listWrap02 .footTitle {
		margin-bottom: 20px;
		font-size: 16px;
	}
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.listWrap02 .footText  {
		margin-bottom: 20px;
	}

}
footer.mainFooter div.listWrap02 .footText span {
	display: block;
	font-size: 12px;
}

footer.mainFooter div.listWrap02 div.line1,
footer.mainFooter div.listWrap02 div.line2,
footer.mainFooter div.listWrap02 div.line3 {
	margin-right: 30px;
	margin-top: auto;
	margin-bottom: auto;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.listWrap02 div.line1,
	footer.mainFooter div.listWrap02 div.line2,
	footer.mainFooter div.listWrap02 div.line3 {
		margin-right: 0;
	}
	footer.mainFooter div.listWrap02 div.line3 {
		margin-bottom: 30px;
	}
}

footer.mainFooter div.listWrap02 .tel {
	font-size: 12px;
	display: inline-block;
	text-align: left;
}
footer.mainFooter div.listWrap02 .tel a {
	padding: 0 0 0 30px;
	background: url(../img/common/mark_tel.svg) no-repeat 0 60%;
	background-size: 17px 22px;
	font-size: 28px;
	letter-spacing: 0;
}
footer.mainFooter div.listWrap02 .tel span {
	display: block;
	font-size: 12px;
	padding-left: 30px;
}

footer.mainFooter div.groupWrap {
	padding: 50px 50px 0;
	box-sizing: border-box;
	width: 90%;
	margin: 0 5% 0;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.groupWrap {
		padding: 40px 15px 80px;
		box-sizing: border-box;
		width: 100%;
		margin: 0;
	}
}
footer.mainFooter .groupHotel {
	text-align: left;
	margin-bottom: 30px;
}
@media screen and (max-width: 979px) {
	footer.mainFooter .groupHotel {
		margin-bottom: 20px;
	}
}
footer.mainFooter .groupHotel dl {
	overflow: hidden;
	display: inline-block;
	color: #2b3034;
}
footer.mainFooter .groupHotel dl dt {
	font-size: 12px;
	font-weight: bold;
	float: left;
	margin-right: 15px;
}
footer.mainFooter .groupHotel dl dd {
	position: relative;
	font-size: 12px;
	float: left;
}
footer.mainFooter .groupHotel dl dd + dd {
	position: relative;
	padding-left: 15px;
}
footer.mainFooter .groupHotel dl dd + dd::before {
	position: absolute;
	content: '|';
	color: #2b3034;
	left: 5px;
	bottom: 0;
}
footer.mainFooter .groupHotel dl dd a {
	color: #2b3034;
}
footer.mainFooter .groupHotel dl dd.last {
	margin-right: 20px;
}
footer.mainFooter .groupHotel dl dd.last {
	margin-right: 20px;
}
footer.mainFooter .footMenu02 {
	text-align: left;
	padding: 20px 0;
	border-top: 1px solid #e6e6e6;
	border-bottom: 1px solid #e6e6e6;
	line-height: 1;
	box-sizing: border-box;
}
footer.mainFooter .footMenu02 li {
	display: inline;
	margin-right: 5px;
	padding-right: 7px;
	border-right: 1px solid #666666;
}
@media screen and (max-width: 979px) {
	footer.mainFooter .footMenu02 li {
		position: relative;
		display: block;
		margin-right: 0;
		padding-right: 0;
		border-right: none;
		margin: 5px 0;
		padding-left: 15px;
	}
	footer.mainFooter .footMenu02 li::before {
		position: absolute;
		content: '・';
		color: #2b3034;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
	}
}
footer.mainFooter .footMenu02 li a {
	color: #2b3034;
	font-size: 12px;
}

footer.mainFooter .groupLogo {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 20px 0;
	box-sizing: border-box;
}
footer.mainFooter .groupLogo li {
	margin: auto 10px;
}
@media screen and (max-width: 979px) {
	footer.mainFooter .groupLogo li {
		margin: auto
	}
}
footer.mainFooter .groupLogo li a {
	display: block;
	margin: 10px;
}


footer.mainFooter div.bottomBar {
	background: #e6e6e6;
	position: relative;
	padding: 17px;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.bottomBar {
	}
}
footer.mainFooter div.bottomBar p.copyright {
	color: #8e7c71;
	font-size: 12px;
}
@media screen and (max-width: 979px) {
	footer.mainFooter div.bottomBar p.copyright {
		font-size: 10px;
	}
}
footer.mainFooter p.pageTop {
	display: none;
	background: #412210;
	width: 55px;
	height: 55px;
	position: fixed;
	right: 0;
	bottom: 120px;
	z-index: 1000
}
@media screen and (max-width: 979px) {
	footer.mainFooter p.pageTop {
		display: block;
		position: absolute;
		top: -80px;
		left: 0;
		right: 0;
		bottom: auto;
		margin: auto;
	}
}
footer.mainFooter p.pageTop a {
	display: block;
	width: 55px;
	height: 55px;
	background: url(../img/common/mark_pagetop.svg) no-repeat 50% 50%;
	background-size: 10px 13px;
}




/* MENU BUTTON */

button.menuBtn {
	width: 90px;
	height: 80px;
	color: #412210;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2100;
	cursor: pointer;
	font-size: 12px;
	background: #fff;
}
@media screen and (max-width: 979px) {
	button.menuBtn {
		position: fixed;
		width: 60px;
		height: 60px;
		font-size: 10px;
	}
}
button.menuBtn span.open,
button.menuBtn span.close {
	padding: 30px 0 0;
	display: block;
}
button.menuBtn span.close {
	display: none;
}
button.menuBtn span.line {
	width: 24px;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	border-top: 2px solid #412210;
	transition: all 0.2s ease;
}
button.menuBtn span.line1 {
  top: 18px;
}
@media screen and (max-width: 979px) {
	button.menuBtn span.line1 {
	  top: 16px;
	}
}
button.menuBtn span.line2 {
  top: 26px;
}
@media screen and (max-width: 979px) {
	button.menuBtn span.line2 {
	  top: 22px;
	}
}
button.menuBtn span.line3 {
  top: 34px;
}
@media screen and (max-width: 979px) {
	button.menuBtn span.line3 {
	  top: 28px;
	}
}
button.menuBtn.open span.open {
	display: none;
}
button.menuBtn.open span.close {
	display: block;
}
button.menuBtn.open span.line1 {
	top: 26px;
  transform: rotate(45deg);
}
@media screen and (max-width: 979px) {
	button.menuBtn.open span.line1 {
		top: 22px;
	}
}
button.menuBtn.open span.line2 {
  display: none;
}
button.menuBtn.open span.line3 {
	top: 26px;
  transform: rotate(-45deg);
}
@media screen and (max-width: 979px) {
	button.menuBtn.open span.line3 {
		top: 22px;
	}
}

/* MENU */
div.menuWrap {
	height: 0;
	overflow: hidden;
	position: fixed;
	width: 100%;
	right: 0;
	top: 160px;
	z-index: 2000;
	transition: height 0.3s ease;
}
@media screen and (max-width: 979px) {
	div.menuWrap {
		width: 100%;
		height: 100%;
		left: 100%;
		top: 60px;
		position: fixed;
	}
	div.menuWrap.on {
		left: 0;
	}
}
div.menuWrap.on {
	height: 100%;
	height: calc(100% - 160px);
}
@media screen and (max-width: 979px) {
	div.menuWrap.on {
		height: 100%;
		height: calc(100% - 60px);
	}
}
div.menuWrap.small {
	top: 80px;
}
@media screen and (max-width: 979px) {
	div.menuWrap.small {
		top: 60px;
	}
}
div.menuWrap.small.on {
	top: 80px;
  height: calc(100% - 80px);
}
@media screen and (max-width: 979px) {
	div.menuWrap.small.on {
		top: 60px;
		height: calc(100% - 60px)
	}
}

div.menuWrap div.base {
	position: absolute;
	width: 100%;
	height: 100%;
	overflow-y: auto;
	right: 0;
	top: 0;
	background: #f2f3f3;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.base {
		position: relative;
		transition: margin 0.4s ease;
		width: 95%;
		background: #fff;
		box-shadow: 0px 0px 5px rgba(52,57,61,0.2);
		margin: 0 0 0 100%;
		height: 100%;
	}
	div.menuWrap.on div.base {
		margin: 0 0 0 5%;
	}
}
div.menuWrap div.inside {
	width: 100%;
	height: 100%;
	margin: 0;
	transition: margin 0.4s ease;
	position: relative;
	z-index: 10;
	background: #f2f3f3;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.inside {
		background: #fff;
	}
}
div.menuWrap div.inside {
}

div.menuWrap div.inside .inner {
	overflow: hidden;
	width: 990px;
	margin: 0 auto;
	padding: 60px;
	box-sizing: border-box;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.inside .inner {
		width: 100%;
		padding: 0;
	}
}

div.menuWrap div.listWrap {
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap {
		display: block;
	}
}
div.menuWrap div.listWrap .left {
	width: 55%;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap .left {
		width: 100%;
	}
}
div.menuWrap div.listWrap .right {
	width: 40%;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap .right {
		width: 100%;
	}
}

div.menuWrap div.listWrap ul.list01 {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	text-align: left;
	margin-bottom: 30px;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap ul.list01 {
		display: block;
		margin: 30px 0;
	}
}
div.menuWrap div.listWrap ul.list01 li {
	position: relative;
	width: 50%;
	padding: 10px 0;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap ul.list01 li {
		width: 100%;
		border-bottom: 1px solid #ecddc7;
		padding: 12px 0;
	}
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap ul.list01 li:first-child {
		border-top: 1px solid #ecddc7;
	}
}

div.menuWrap div.listWrap ul.list01 li a {
	display: block;
	box-sizing: border-box;
	color: #c9a063;
	font-size: 28px;
	line-height: 28px;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap ul.list01 li a {
		display: block;
		font-size: 25px;
		padding: 0 20px;
	}
}
div.menuWrap div.listWrap ul.list01 li a span {
	display: block;
	font-size: 14px;
	line-height: 14px;
	margin-top: 10px;
	letter-spacing: 0;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap ul.list01 li a span {
		font-size: 13px;
		margin-top: 6px;
	}
}

div.menuWrap div.listWrap ul.list01 ul {
	margin: 20px 10px 10px;
	display: none;
}
div.menuWrap div.listWrap ul.list01 ul li {
	border: none;
	padding: 0 0 0 30px;
	position: relative;
}
div.menuWrap div.listWrap ul.list01 ul li:first-child {
	border-top: none;
}

div.menuWrap div.listWrap ul.list01 ul li::before {
	position: absolute;
	content: "";
	width: 4px;
	height: 4px;
	left: 15px;
	top: 10px;
	border-radius: 50%;
	border: 1px solid #c9a063;
}
div.menuWrap div.listWrap ul.list01 ul li a {
	padding: 0;
	font-size: 13px;
	line-height: 2;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap span.spToggleMenu {
		width: 25px;
		height: 25px;
		position: absolute;
		right: 5px;
		top: 24px;
		background: url(../img/common/mark_a_open.svg) no-repeat center center;
		background-size: 15px 15px;
		display: block;
		cursor: pointer;
	}
	div.menuWrap div.listWrap span.spToggleMenu.on {
		background-image: url(../img/common/mark_a_close.svg);
	}
}

div.menuWrap div.listWrap ul.list02 {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	width: 80%;
	text-align: left;
	margin: 30px 0;
	padding-right: 120px;
	padding-bottom: 30px;
	border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap ul.list02 {
		display: block;
		width: 100%;
		padding-right: 0;
		padding-bottom: 0;
		border-bottom: none;
		padding: 0 15px;
		box-sizing: border-box;
	}
}
div.menuWrap div.listWrap ul.list02 li {
	width: 50%;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap ul.list02 li {
		width: 100%;
	}
}
div.menuWrap div.listWrap ul.list02 li a {
	display: block;
	padding: 10px 0 10px 40px;
	font-size: 14px;
	box-sizing: border-box;
	color: #c9a063;
	background: url(../img/common/mark_menu_list_orange.svg) no-repeat 0 50%;
	background-size: 21px 5px;
	transition: all 0.2s ease;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap ul.list02 li a {
		font-size: 13px;
		padding: 2px 0 2px 30px;
	}
}
div.menuWrap div.listWrap ul.list02 li a:hover {
	background: url(../img/common/mark_menu_list_orange.svg) no-repeat 10px 50%;
	background-size: 21px 5px;
}

div.menuWrap div.listWrap p.address {
	margin-bottom: 20px;
	color: #c9a063;
	text-align: left;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap p.address {
		padding: 0 15px;
		font-size: 13px;
	}
}
div.menuWrap div.listWrap p.address span {
	display: block;
	font-size: 12px;
}
div.menuWrap div.listWrap p.googleLink {
	width: 100%;
	text-align: center;
	padding: 0 15px;
	box-sizing: border-box;
	margin: 20px 0;
}
div.menuWrap div.listWrap p.googleLink a {
	display: block;
	color: #c9a063;
	font-size: 13px;
	background:  url(../img/common/vector_line_right_orange.svg) no-repeat 92% 50%;
  background-size: 4px 7px;
	padding: 6px 10px;
	text-decoration: none;
	border: 1px solid #c9a063;
	box-sizing: border-box;
}
div.menuWrap div.listWrap ul.snsList {
	text-align: right;
	margin: 0 0 -30px;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap ul.snsList {
		text-align: center;
		padding: 0 15px;
		margin: 20px 0;
	}
}
div.menuWrap div.listWrap ul.snsList li {
	display: inline-block;
	padding: 0 0 0 10px;
	position: relative;
	width: 25px;
	height: 25px;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap ul.snsList li {
		padding: 0 0 0 8px;
	}
}
div.menuWrap div.listWrap ul.snsList li a img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

div.menuWrap div.listWrap .telWrap {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap .telWrap {
		padding: 0 15px;
		margin: 20px 0;
	}
}
div.menuWrap div.listWrap .tel {
	font-size: 12px;
  width: 100%;
	display: block;
	text-align: left;
	color: #c9a063;
}
div.menuWrap div.listWrap .tel + .tel {
}
@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap .tel + .tel {
		margin-left: 0;
	}
}
div.menuWrap div.listWrap .tel a {
	padding: 0 0 0 30px;
	background: url(../img/common/mark_tel_orange.svg) no-repeat 0 60%;
	background-size: 17px 22px;
	font-size: 28px;
	color: #c9a063;
	letter-spacing: 0;
}
div.menuWrap div.listWrap .tel span {
	display: block;
	font-size: 12px;
	padding-left: 30px;
}


@media screen and (max-width: 979px) {
	div.menuWrap div.listWrap ul.bnList {
		padding: 0 15px;
	}
}
div.menuWrap div.listWrap ul.bnList li {
	margin-bottom: 20px;
}
div.menuWrap div.listWrap ul.bnList li a {
	display: block;
}



div.menuWrap div.listWrap div.lang {
	position: relative;
	font-size: 13px;
	color: #c9a063;
	border: 1px solid #c9a063;
	margin: 0 15px;
}
div.menuWrap div.listWrap .langOpenBtn {
	padding: 10px;
	box-sizing: border-box;
	background: url(../img/common/vector_small_bottom_orange.svg) no-repeat 90% 50%;
	background-size: 7px 4px;
}
div.menuWrap div.listWrap .langOpenBtn.on {
	background: url(../img/common/vector_small_top_orange.svg) no-repeat 90% 50%;
	background-size: 7px 4px;
}

div.menuWrap div.listWrap .headerLangList {
	display: none;
}
div.menuWrap div.listWrap .headerLangList ul {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	border-top: 1px solid #c9a063;
	margin: 0 20px;
	padding: 20px 0;
	box-sizing: border-box;
}

div.menuWrap div.listWrap .headerLangList ul li {
	border: none;
	padding: 2px 0 2px 30px;
	position: relative;
}
div.menuWrap div.listWrap .headerLangList ul li::before {
	position: absolute;
	content: "";
	width: 4px;
	height: 4px;
	left: 15px;
	top: 0;
	bottom: 0;
	margin: auto;
	border-radius: 50%;
	border: 1px solid #c9a063;
}

div.menuWrap div.listWrap .headerLangList ul li a {
	display: block;
}

div.menuWrap div.listWrap p.blandLink {
	margin: 0 15px 10px 15px;
}
div.menuWrap div.listWrap p.blandLink a {
	display: block;
	color: #fff;
	font-size: 13px;
	background: #c9a063 url(../img/common/vector_line_right_white.svg) no-repeat 92% 50%;
	background-size: 4px 7px;
	padding: 10px 10px;
	text-decoration: none;
	border: 1px solid #c9a063;
	box-sizing: border-box;
}



@media screen and (max-width: 979px) {
	button.modalOpenBtn.sp {
	  width: 60px;
	  height: 60px;
	  background: #412210 url(../img/common/mark_calender_white.svg) no-repeat 50% 14px;
	  background-size: 17px 17px;
	  color: #FFF;
	  position: fixed;
	  right: 141px;
	  top: 0;
	  z-index: 2000;
	  cursor: pointer;
	  font-size: 10px;
	}
	button.modalOpenBtn.sp.open {
		background: #412210 url(../img/common/mark_close.svg) no-repeat 50% 14px;
		background-size: 14px 14px;
	}
	button.modalOpenBtn.sp span {
		padding: 30px 0 0;
		display: block;
	}
	button.restaurant.sp {
	  width: 80px;
	  height: 60px;
	  background: #412210 url(../img/common/mark_calender_white.svg) no-repeat 50% 14px;
	  background-size: 17px 17px;
	  color: #FFF;
	  position: fixed;
	  right: 60px;
	  top: 0;
	  z-index: 2000;
	  cursor: pointer;
	  font-size: 10px;
	}
	button.restaurant.sp.open {
		background: #412210 url(../img/common/mark_close.svg) no-repeat 50% 14px;
		background-size: 14px 14px;
	}
	button.restaurant.sp span {
		padding: 30px 0 0;
		display: block;
	}

	
	button.accessBtn {
	  width: 60px;
	  height: 60px;
	  background: url(../img/common/mark_pin.svg) no-repeat 50% 14px;
	  background-size: 13px 19px;
	  color: #412210;
	  position: fixed;
	  right: 200px;
	  top: 0;
	  z-index: 2000;
	  cursor: pointer;
	  font-size: 10px;
	}
	button.accessBtn a {
		display: block;
	  color: #412210;
	}
	button.accessBtn::before {
		position: absolute;
		content: '';
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 1px;
		height: 40px;
		background: #e6e6e6;
	}
	button.accessBtn span {
		padding: 30px 0 0;
		display: block;
	}
	button.telBtn {
	  width: 60px;
	  height: 60px;
	  background: url(../img/common/mark_phone.svg) no-repeat 50% 14px;
	  background-size: 10px 18px;
	  color: #412210;
	  position: fixed;
	  right: 258px;
	  top: 0;
	  z-index: 2000;
	  cursor: pointer;
	  font-size: 10px;
	}
	button.telBtn a {
		display: block;
		color: #412210;
	}

	button.telBtn span {
		padding: 30px 0 0;
		display: block;
	}
}
