@charset "utf-8";


/* --------------------------------------------------------------------------------
	タグ
-------------------------------------------------------------------------------- */
html {
	
}
body {
	margin: 0;
	padding: 0;
	line-height: 1.5;
	text-size-adjust: 100%;
	
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	color: #000;
}

img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

address{
	font-style: normal;
}


/* --------------------------------------------------------------------------------
	共通
-------------------------------------------------------------------------------- */
.common {
	text-align: left;
	font-size: 0.938vw;
	box-sizing: border-box;
}

.common * {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	box-sizing: border-box;
}

.common h1,
.common h2,
.common h3,
.common h4,
.common h5,
.common h6 {
	font-size: 1em;
}
.common ol,
.common ul {
	list-style: none;
}
.common table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 1em;
}
.common a,
.common a:link,
.common a:visited {
	text-decoration: none;
	color: #000;
	-webkit-tap-highlight-color: rgba(0,0,0,0.1);
	tap-highlight-color: rgba(0,0,0,0.8);
}
.common a:hover,
.common a:active {
	text-decoration: underline;
}

.common img {
	display: block;
	max-width: 100%;
	height: auto;
}

input,
select,
textarea {
	outline: none !important;
	box-shadow: none !important;
}


/* --------------------------------------------------------------------------------
	共通クラス
-------------------------------------------------------------------------------- */
.clear {
	clear:both;
}
br.clear {
	display: block;
	margin: 0;
	padding: 0;
	clear: both;
	height: 0;
	border: none;
	visibility: hidden;
	font-size: 0;
}
.clearfix::after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height:1%;
}
* html .clearfix {
	height:1%;
	/*\*//*/
	height:auto;
	overflow:hidden;
	/**/
}

.font-cabin,
.font-cabin * {
	font-family: 'Cabin', sans-serif;
	font-weight: 700;
}
.font-fugaz-one,
.font-fugaz-one * {
	font-family: 'Fugaz One', sans-serif;
}


/* --------------------------------------------------------------------------------
	デバイスごとの表示・非表示
-------------------------------------------------------------------------------- */
.device-sp{
	display: none;
}
.device-sp-inline {
	display: none;
}
.device-pc {
	display: block;
}
.device-pc-inline {
	display: inline;
}


/* --------------------------------------------------------------------------------
	container
-------------------------------------------------------------------------------- */
#container {
}


/* --------------------------------------------------------------------------------
	header
-------------------------------------------------------------------------------- */
#header {
}

/* ----------------------------------------
header-inner
---------------------------------------- */
#header .header-inner {
	padding: 0 0 1vw;
}

/* ----------------------------------------
ヘッダーコンテンツ
---------------------------------------- */
#header .h-contents {
	overflow: hidden;
}

/* ----------------------------------------
ロゴ
---------------------------------------- */
#header .h-logo {
	position: absolute;
	z-index: 2;
	
	top: -3vw;
	left: -2vw;
}
#header .h-logo a {
	display: flex;
	justify-content: center;
	
	width: 25vw;
	height: 25vw;
	border-radius: 25vw;
	background: #fff;
}
#header .h-logo a img {
	display: block;
	width: 8vw;
}


/* ----------------------------------------
検索ボタン・ナビゲーション
---------------------------------------- */
#header .h-search-nav {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 1.5vw 4.2vw 0 0;
}

/* ----------------------------------------
検索ボタン
---------------------------------------- */
#header .h-search {
	padding: 0 2.5vw 0 0;
}
#header .h-search table.gsc-search-box td.gsc-input {
	padding-right: 0.2vw !important;
}
#header .h-search .gsc-control-cse {
	padding: 0 !important;
}
#header .h-search form.gsc-search-box{
	margin-bottom: 0 !important;
}
#header .h-search table.gsc-search-box{
	margin-bottom: 0 !important;
	width: 20vw;
}
#header .h-search .gsc-search-button-v2{
	border-color: #C2A73F !important;
	background-color: #C2A73F !important;
	padding: 0 1.5vw !important;
	height: 2.2vw;
}
#header .h-search .gsib_a {
	padding: 0 0.5vw !important;
	height: 2.2vw;
}
#header .h-search .gsc-input {
	font-size: 1vw !important;
}
#header .h-search .gsc-search-button {
	margin: 0 !important;
}
/* ----------------------------------------
ナビゲーション
---------------------------------------- */
#header .h-nav {
}
#header .h-nav ul {
	display: flex;
	width: 100%;
	
	justify-content: flex-end;
}
#header .h-nav ul li {
	padding: 0 1vw 0 0;
}
#header .h-nav ul li a {
	display: block;
	
	padding: 0 0.6vw 0 0.8vw;
	font-size: 0.781vw;
	background: url("../images/common/menu-arrow.svg") no-repeat 0 0.42vw;
	background-size: 0.3vw auto;
}



/* --------------------------------------------------------------------------------
	floating
-------------------------------------------------------------------------------- */
#floating {
	position: fixed;
	z-index: 11;
	top: 0;
	right: 0;
	bottom: 0;
	
	width: 3.65vw;
	height: 100%;
	background: rgba(85, 190, 185, 0.9);
}


/********** floating-inner **********/
#floating .floating-inner {
	position: absolute;
	
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}



/* ----------------------------------------
ハンバーガーメニューボタン
---------------------------------------- */
/* ハンバーガーメニューのアイコン：ボタンの代わりに表示 */
#floating .menu-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	
	position: absolute;
	
	right: 0;
	top: 0;
	z-index: 200;
	
	width: 3.65vw;
	height: 5.7vw;
	padding: 0 0 1vw;
	
	cursor: pointer;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
#floating .menu-icon:hover {
	background: rgba(255, 255, 255, 0.2);
}

/* アイコン */
#floating .menu-icon .navicon {
	display: block;
	height: 0.175vw;
	width: 1.7vw;
	position: relative;
	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

/* アイコンの疑似要素 */
#floating .menu-icon .navicon:before,
#floating .menu-icon .navicon:after {
	content: "";
	display: block;
	border-radius: 0;
	height: 100%;
	width: 100%;
	position: absolute;
	background: #fff;
	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
/* メニューボタン */
#floating .floating-menu .menu-btn {
	position: relative;
	z-index: 1;
	display: none;
}
#floating .floating-menu .navicon:before {
	top: 0.4vw;
}

#floating .floating-menu .navicon:after {
	bottom: 0.3vw;
}


/***** メニューボタンのラベル *****/
#floating .floating-menu .menu-label-menu {
	position: absolute;
	bottom: 1.5vw;
	
	font-size: 0.677vw;
	color: #fff;
}
#floating .floating-menu .menu-label-close {
	display: none;
}


/* Hamburger menu button */
#floating input.menu-btn:checked ~ .floating-menu-contents {
	z-index: 100;
	
	width: 26vw;
}

/***** ハンバーガーメニューのアニメーション *****/
#floating .menu-btn:checked ~ .menu-icon {
	background: transparent;
}
#floating .menu-btn:checked ~ .menu-icon .navicon:before {
	transform: rotate(-45deg);
}

#floating .menu-btn:checked ~ .menu-icon .navicon:after {
	transform: rotate(45deg);
}

#floating .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
	top: 0;
	background: #fff;
}
#floating .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
	bottom: 0;
	background: #fff;
}

/* クローズの文字 */
#floating .menu-btn:checked ~ .menu-icon .menu-label-menu {
	display: none;
}
#floating .menu-btn:checked ~ .menu-icon .menu-label-close {
	display: block;
	
	position: absolute;
	bottom: 1.5vw;
	
	font-size: 0.677vw;
	color: #fff;
}
/* クローズ（×）のアイコン */
#floating .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
	top: 0;
	background: #fff;
}
#floating .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
	bottom:0;
	background: #fff;
}



#floating .menu-btn:checked ~ .menu-icon .navicon {
	background: rgba(255, 255, 255, 0);
	transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
/* ↑ハンバーガーメニューのアニメーションここまで↑ */

/* ----------------------------------------
ハンバーガーメニュー
---------------------------------------- */
#floating .floating-menu .floating-menu-contents {
	position: fixed;
	top: 0;
	bottom: 0;
	right: 3.65vw;
	z-index: -1;
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
	
	width: 0;
	height: auto;
	
	clear: both;
	background: #faf8f0;
	background-size: 43vw auto;
	
	
	transition: all 0.6s;
}

#floating .floating-menu .floating-menu-contents .floating-menu-contents-box {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	
	width: 26vw;
	height: 100%;
	padding: 4vw 0 0 4vw;
	
	overflow: auto;
}


/* ----------------------------------------
ハンバーガーcols
---------------------------------------- */
#floating .floating-cols {
}

/********** ★col-logo-info★ **********/
#floating .col-logo-info {
}

/* ロゴ */
#floating .floating-logo {
	padding: 0 0 1.5vw;
}
#floating .floating-logo a {
	display: block;
	width: 16vw;
}

/* 電話 */
#floating .floating-tel {
	padding: 0 0 2vw;
}
#floating .floating-tel .floating-tel-num {
	font-weight: 700;
	font-size: 1.25vw;
}
#floating .floating-tel .floating-tel-hours {
	font-size: 0.781vw;
}

/* SNS */
#floating .floating-sns {
}
#floating .floating-sns ul {
	display: flex;
}
#floating .floating-sns ul li {
	width: 1.7vw;
	margin: 0 0.6vw 0 0;
}
#floating .floating-sns ul li a {
	display: block;
}

/********** ★col-sitemap★ **********/
#floating .col-sitemap {
	padding: 0 0 2vw;
}

/********** サイトマップ **********/
#floating .col-sitemap .sitemap {
}
#floating .col-sitemap .sitemap .sitemap-box {
	padding: 0 0.9vw 0 0;
}
#floating .col-sitemap .sitemap ul {
}
#floating .col-sitemap .sitemap ul li {
	padding: 0 0 0.31vw;
}
#floating .col-sitemap .sitemap ul li.menu-item-top {
	padding-bottom: 1.2vw;
}
#floating .col-sitemap .sitemap ul li.menu-item-bottom {
	padding-top: 0.4vw;
}
#floating .col-sitemap .sitemap ul li a {
	display: block;
	padding: 0.2vw 0 0.2vw 0.8vw;
	font-size: 0.931vw;
	background: url("../images/common/menu-arrow.svg") no-repeat 0 0.6vw;
	background-size: 0.4vw auto;
}
#floating .col-sitemap .sitemap .sitemap-box2{
	padding: 1vw 0.9vw 1vw 0;
}
#floating .col-sitemap .sitemap .sitemap-box2 .sheading{
	padding: 0 0 1vw;
}

/********** 検索エンジン **********/
#floating .menu-search {
	margin: 0 0 1vw;
}
#floating .menu-search table.gsc-search-box td.gsc-input {
	padding-right: 0.2vw !important;
}
#floating .menu-search .gsc-control-cse {
	padding: 0 !important;
}
#floating .menu-search form.gsc-search-box{
	margin-bottom: 0 !important;
}
#floating .menu-search table.gsc-search-box{
	margin-bottom: 0 !important;
	width: 20vw;
}
#floating .menu-search .gsc-search-button-v2{
	border-color: #C2A73F !important;
	background-color: #C2A73F !important;
	padding: 0 1.5vw !important;
	height: 2.2vw;
}
#floating .menu-search .gsib_a {
	padding: 0 0.5vw !important;
	height: 2.2vw;
}
#floating .menu-search .gsc-input {
	font-size: 1vw !important;
}
#floating .menu-search .gsc-search-button {
	margin: 0 !important;
}

/********** ★col-reserve★ **********/
#floating .col-reserve {
	padding: 1.2vw 0 0;
}

/* ご予約はこちら */
#floating .floating-btn-reserve {
	display: flex;
	padding: 0 0 2.9vw;
}
#floating .floating-btn-reserve a {
	display: block;
	padding: 1.8vw 3.3vw 1.8vw 5.5vw;
	border: solid 0.15vw #00ada9;
	border-radius: 50vw;
	font-size: 0.938vw;
	font-weight: 700;
	color: #00ada9;
	background: #fff url("../images/common/icon-reserve.svg") no-repeat 3.4vw 50%;
	background-size: 1.7vw auto;
}

/* ----------------------------------------
Instagram・メール
---------------------------------------- */
#floating .floating-btns {
	margin: 6.3vw 0 2.6vw;
	padding: 0 0 2vw;
}
#floating .floating-btns a {
	display: flex;
	justify-content: center;
	
	margin: 0 auto;
	padding: 0.5vw 0;
}
#floating .floating-btns li a:hover {
	background: rgba(255, 255, 255, 0.2);
}
#floating .floating-btns img {
	width: 1.5vw;
}

/* ----------------------------------------
予約する
---------------------------------------- */
#floating .floating-btn-yoyaku {
	display: flex;
	
	margin: 0 0 auto;
	padding: 0 0 7.5vw;
}
#floating .floating-btn-yoyaku a {
	display: flex;
	align-items: center;
	justify-content: center;
	
	width: 100%;
	
	padding: 3vw 0 2vw;
	text-decoration: none;
	font-size: 0.938vw;
	color: #fff;
	background: transparent url("../images/common/float-reserve.svg") no-repeat 50% 1vw;
	background-size: 1.6vw auto;
	writing-mode: vertical-rl;
}
#floating .floating-btn-yoyaku a:hover {
	background-color: rgba(255, 255, 255, 0.2);
}


/* ----------------------------------------
↑ページトップボタン
---------------------------------------- */
#floating .float-pagetop {
	padding: 0 0 1vw;
}
#floating .float-pagetop a {
	display: flex;
	justify-content: center;
	
	padding: 0.8vw 0;
}
#floating .float-pagetop a:hover {
	background-color: rgba(255, 255, 255, 0.2);
}
#floating .float-pagetop a img {
	width: 2vw;
}




/* --------------------------------------------------------------------------------
	wrapper
-------------------------------------------------------------------------------- */
#wrapper {
	padding: 0 0 7.8vw;
}




/* --------------------------------------------------------------------------------
	footer
-------------------------------------------------------------------------------- */
#footer {
	background: url("../images/common/f-bg_mono.png") no-repeat 0 100%;
	background-size: 100% auto;
}


/* ----------------------------------------
フッターティッカー
---------------------------------------- */
#footer .footer-ticker {
	position: relative;
	z-index: 10;
	
	padding: 0 0 6vw;
}
#footer .footer-ticker .ticker-item {
}
#footer .footer-ticker .ticker-item img {
	border-radius: 100%;
	width: 95%;
	margin: 0 auto;
}


/* ----------------------------------------
フッター outer・inner
---------------------------------------- */
/********** footer-outer **********/
#footer .footer-outer {
}

/********** footer-inner **********/
#footer .footer-inner {
}

/* ----------------------------------------
フッターコンテンツ
---------------------------------------- */
#footer .f-contents {
	width: 62.5vw;
	margin: 0 auto;
}


/* ----------------------------------------
cols
---------------------------------------- */
#footer .f-cols {
	display: flex;
	
	width: 100%;
}

/********** ★col-logo-info★ **********/
#footer .col-logo-info {
	width: 21.4vw;
}

/* ロゴ */
#footer .f-logo {
	padding: 0 0 1.5vw;
}
#footer .f-logo a {
	display: block;
	width: 16vw;
}
#footer .f-logo img {
	width: 16vw;
}

/* 電話 */
#footer .f-tel {
	padding: 0 0 2vw;
}
#footer .f-tel .f-tel-num {
	font-weight: 700;
	font-size: 1.25vw;
}
#footer .f-tel .f-tel-hours {
	font-size: 0.781vw;
}

/* SNS */
#footer .f-sns {
}
#footer .f-sns ul {
	display: flex;
}
#footer .f-sns ul li {
	width: 1.7vw;
	margin: 0 0.6vw 0 0;
}
#footer .f-sns ul li a {
	display: block;
}

/********** ★col-sitemap★ **********/
#footer .col-sitemap {
	display: flex;
	
	width: 28.5vw;
	padding: 0 0 6.5vw;
}

/********** サイトマップ **********/
#footer .col-sitemap .sitemap {
	display: flex;
	
	width: 100%;
	padding: 1vw 0 0;
}
#footer .col-sitemap .sitemap .sitemap-box {
	width: 9vw;
	padding: 0 0.9vw 0 0;
}
#footer .col-sitemap .sitemap .sitemap-box:nth-child(2) {
	width: 10vw;
}
#footer .col-sitemap .sitemap .sheading a{
	display: block;
	padding: 0.2vw 0 1vw;
	font-size: 0.781vw;
}
#footer .col-sitemap .sitemap ul {
}
#footer .col-sitemap .sitemap ul li {
	padding: 0 0 0.3vw;
}
#footer .col-sitemap .sitemap ul li.menu-item-top {
	padding: 0 0 1.1vw;
}
#footer .col-sitemap .sitemap ul li:last-child {
	padding-bottom: 0;
}
#footer .col-sitemap .sitemap ul li a {
	display: block;
	padding: 0.2vw 0 0.2vw 0.8vw;
	font-size: 0.781vw;
	background: url("../images/common/menu-arrow.svg") no-repeat 0 0.58vw;
	background-size: 0.3vw auto;
}


/********** ★col-reserve★ **********/
#footer .col-reserve {
	width: calc(100% - 15.7vw - 28.5vw);
	padding: 1.2vw 0 0;
}

/* ご予約はこちら */
#footer .f-btn-reserve {
	display: flex;
	justify-content: flex-end;
	padding: 0 0 2.9vw;
}
#footer .f-btn-reserve a {
	display: block;
	padding: 1.8vw 3.3vw 1.8vw 5.5vw;
	border: solid 0.15vw #00ada9;
	border-radius: 50vw;
	text-decoration: none;
	font-weight: 700;
	font-size: 0.938vw;
	color: #00ada9;
	background: #fff url("../images/common/icon-reserve.svg") no-repeat 3.4vw 50%;
	background-size: 1.7vw auto;
}

/* ※表示価格は全て税込みです。 */
#footer .f-txt-reserve {
	text-align: right;
	font-size: 0.731vw;
}


/********** コピーライト **********/
#footer .copyright {
	padding: 0 0 1.8vw;
	text-align: center;
}
#footer .copyright small {
	font-size: 0.625vw;
}





