@charset "UTF-8";
::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}
::selection {
	background: #b3d4fc;
	text-shadow: none;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}
audio, canvas, iframe, img, svg, video {
	vertical-align: middle;
}
fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}
textarea {
	resize: vertical;
}
.browserupgrade {
	margin: 0.2em 0;
	background: #ccc;
	color: #000;
	padding: 0.2em 0;
}
.hidden {
	display: none !important;
}
.sr-only {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
	/* 1 */
}
.sr-only.focusable:active, .sr-only.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	white-space: inherit;
	width: auto;
}
.invisible {
	visibility: hidden;
}
.clearfix:before, .clearfix:after {
	content: " ";
	/* 1 */
	display: table;
	/* 2 */
}
.clearfix:after {
	clear: both;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
@media print {
	*, *:before, *:after {
		background: transparent !important;
		color: #000 !important;
		-webkit-box-shadow: none !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	a, a:visited {
		text-decoration: underline;
	}
	a[href]:after {
		content: " ("attr(href) ")";
	}
	abbr[title]:after {
		content: " ("attr(title) ")";
	}
	a[href^="#"]:after, a[href^="javascript:"]:after {
		content: "";
	}
	pre {
		white-space: pre-wrap !important;
	}
	pre, blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	thead {
		display: table-header-group;
	}
	tr, img {
		page-break-inside: avoid;
	}
	p, h2, h3 {
		orphans: 3;
		widows: 3;
	}
	h2, h3 {
		page-break-after: avoid;
	}
}
/*g_menu*/
header {
	position: fixed;
	display: block;
	top: 0;
	z-index: 1002;
	background-color: white;
	width: 100%;
	height: 70px;
}
main {
	margin-top: 70px;
	text-align: center;
}
.g_menu_nav-sub li {
	margin-bottom: 1em;
	padding: 1em 0;
	font-size: .8em;
	background-color: #a0b1bd;
	border: solid 2px #a0b1bd;
}
.g_menu_nav-sub li:nth-child(2) {
	background-color: white;
	color: #a0b1bd;
}
.g_menu_nav-sub li:nth-child(3) {
	background-color: unset;
	border: none;
}
.g_menu_nav-sub li:last-child a {
	border-bottom: solid 1px white;
}
@media screen and (max-width: 768px) {
	.g_menu_button * {
		margin: 0;
		padding: 0;
		outline: none;
		border: none;
		font: inherit;
		font-family: inherit;
		font-size: 100%;
		font-style: inherit;
		font-weight: inherit;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		text-align: left;
		text-decoration: none;
		list-style: none;
	}
	.g_menu_button {
		display: block;
		padding: 0;
		width: 40px;
		height: 26px;
		position: relative;
		background: none;
		border: none;
		text-align: center;
		letter-spacing: 0.1em;
		cursor: pointer;
		outline: none;
	}
	.g_menu_button .g_menu_bar {
		display: block;
		width: 40px;
		height: 3px;
		transition: all 0.2s;
		transform-origin: 0% 0%;
		transform: translateY(-50%);
		position: absolute;
		left: 0;
	}
	.g_menu_button .g_menu_bar1 {
		top: 0;
	}
	.g_menu_button .g_menu_bar2 {
		top: 50%;
	}
	.g_menu_button .g_menu_bar3 {
		top: 100%;
	}
	.g_menu_button.active .g_menu_bar {
		width: 36.77px;
		left: 8px;
	}
	.g_menu_button.active .g_menu_bar1 {
		transform: rotate(0.7853981634rad) translateY(-50%);
		top: 0px;
	}
	.g_menu_button.active .g_menu_bar2 {
		opacity: 0;
	}
	.g_menu_button.active .g_menu_bar3 {
		transform: rotate(-0.7853981634rad) translateY(-50%);
		top: calc(100% - 0px);
	}
	.g_menu_button.active .g_menu_menu_text {
		display: none;
	}
	.g_menu_button.active .g_menu_close {
		display: block;
	}
	.g_menu_text {
		width: 100%;
		position: absolute;
		bottom: -20px;
		left: 0;
		text-align: center;
		font-size: 10px;
	}
	.g_menu_close {
		letter-spacing: 0.08em;
		display: none;
	}
	/*+++ Default Button Color +++*/
	.g_menu_button {
		color: #a0b1bd;
	}
	.g_menu_button .g_menu_bar {
		background-color: #a0b1bd;
	}
	/* === Hambuerger Button's Style End === */
	.g_menu_menu .g_menu_button, .g_menu_menu g_menu_nav-sub {
		/*+++ Hamburger Button Position +++*/
		position: fixed;
		top: 16px;
		right: 16px;
		z-index: 1001;
	}
	.g_menu_menu a {
		color: inherit;
		text-decoration: none;
	}
	.g_menu_menu a:visited {
		color: inherit;
	}
	.g_menu_menu .g_menu_bg {
		width: 100%;
		height: 100%;
		position: fixed;
		z-index: 999;
		display: none;
		top: 0;
		left: 0;
	}
	.g_menu_menu .g_menu_nav_wrapper {
		width: 100%;
		height: calc(100% - 70px);
		transition: all 0.2s;
		transform: translate(100%);
		position: fixed;
		top: 70px;
		right: 0;
		z-index: 1000;
		background-color: #333333c8;
		color: white;
		letter-spacing: .1em;
		font-size: 20px;
		text-align: center;
		overflow: scroll;
	}
	.g_menu_menu .g_menu_nav_wrapper.open {
		transform: translate(0);
	}
	.g_menu_menu.left .g_menu_button {
		right: auto;
		left: 32px;
	}
	.g_menu_nav_wrapper {
		transform: translate(-312px);
		right: auto;
		left: 0;
	}
	.g_menu_nav_wrapper.open {
		transform: translate(0);
	}
	/*+++ Default Navigation CSS +++*/
	.g_menu_nav {
		padding-top: 3rem;
	}
	.g_menu_nav-sub {
		padding-top: 1em;
	}
	.g_menu_nav li {
		margin-bottom: 1rem;
	}
	.g_menu_nav li.ig img {
		width: 1em;
		height: auto;
	}
	.g_menu_nav li.cart img {
    width: 1.6em;
    }
	.g_menu_nav_wrapper ul {
		width: calc(100% - 2em);
	}
}
@media screen and (min-width: 769px) {
	.headerInr {
		display: flex;
		max-width: 1100px;
		justify-content: space-between;
		margin: auto;
	}

	.g_menu_menu {
		flex-basis: calc(100% - 160px);
		box-sizing: border-box;
		letter-spacing: .1em;
		font-size: 0.8rem;
	}
	.g_menu_nav, .g_menu_nav-sub {
		display: flex;
		justify-content: space-around;
		align-items: center;
	}
	.g_menu_nav {
		flex-basis: calc(100% - 30% - 15%);
	}
	.g_menu_nav-sub {
		flex-basis: 30%;
		flex-flow: row wrap;
		justify-content: space-between;
		margin-top: 5px;
		margin-right: 0;
		padding-right: 1%;
		font-size: 1.2em;
	}
	.g_menu_nav_wrapper {
		display: flex;
		justify-content: flex-end;
	}
	.g_menu_nav_wrapper li a {
		display: grid;
	}
	.g_menu_nav li.ig img {
		width: 1em;
		height: auto;
		filter: brightness(1) invert(.8);
	}
	.g_menu_nav li.cart img {
		width: 1.7em;
		height: auto;
		filter: brightness(0.9) invert(0.8);
	}
	.g_menu_nav-sub li:last-child {
		flex-basis: 100%;
		padding: .4em 0 0;
	}
	.g_menu_nav-sub li {
		flex-basis: calc(50% - .5em);
		margin: 0;
	}
	.g_menu_nav-sub li a {
		color: #9fb1bd;
	}
	.g_menu_nav-sub li {
		padding: 0.5rem 0;
	}
	.g_menu_nav-sub li:first-child a {
		color: white;
	}
	.g_menu_nav-sub li:last-child a {
		text-align: right;
		text-decoration: underline;
		font-size: 1.1em;
	}
}
/*common*/
main, a {
	font-size: 16px;
	color: #3e3a39;
	text-align: center;
	line-height: 1.4;
	text-decoration: none;
	font-feature-settings: "palt";
}
a {
	font-size: unset;
}
p {
	margin: auto;
}
img, video {
	width: 100%;
	max-width: 100%;
	height: auto;
}
iframe {
	width: 100%;
	max-width: 100%;
}
.pc {
	display: none;
}
.sp {
	display: block;
}
section {
	padding: 4em 0 3em;
	letter-spacing: .12em;
}
.inner {
	width: calc(100% - 1em);
	max-width: 1100px;
	margin: auto;
}
ol, ul, dd {
	list-style: none;
	margin: auto;
	padding: 0;
}
h1, h2 {
/*	font-family: 'Jomolhari', serif;*/
	font-family:Arial, Helvetica, "sans-serif"
	letter-spacing: 1px;
}
h1 {
	display: table;
	flex-basis: 160px;
	margin: 10px 10px 0px 15px;
	text-align: left;
	font-size: 1.56em;
	width: 180px;
}
h1 span {
	display: block;
	text-align: left;
	font-size: .4em;
	font-family: 'Great Vibes', cursive;
}
h2 {
	font-size: 2.6em;
	letter-spacing: .1em;
	margin: 0 auto 1em;
}
h3, p.disc {
	font-size: 1em;
	letter-spacing: 0.22em;
	line-height: 1.8em;
	font-weight: normal;
}
ol li, ul li, figure, th, td {
	box-sizing: border-box;
}
.flex {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.flex.sa {
	justify-content: space-around;
}
.flex.fs {
	justify-content: flex-start;
}
.flex.ce {
	justify-content: center;
}
.flex.fb1-2 > li, .flex.fb1-2 > div, .flex.fb1-2 > figure {
	flex-basis: calc(100% / 1);
	padding: .5rem;
}
.flex.fb2 > li, .flex.fb2 > div, .flex.fb2 > figure {
	flex-basis: calc(100% / 2);
}
.flex.fb3 > li, .flex.fb3 > div, .flex.fb3 > figure {
	flex-basis: calc(100% / 3);
	padding: .2rem;
}
.flex.fb3-4 > li, .flex.fb3-4 > div, .flex.fb3-4 > figure {
	flex-basis: calc(100% / 3);
	padding: .2rem;
}

@media screen and (min-width: 568px) {
	.flex.fb1-2 > li, .flex.fb1-2 > div, .flex.fb1-2 > figure {
		flex-basis: calc(100% / 2);
		padding: .5rem;
	}
	.flex.fb3-4 > li, .flex.fb3-4 > div, .flex.fb3-4 > figure {
	flex-basis: calc(100% / 4);
	padding: .3rem;
}
}
.p130 {
	font-size: 130%;
}
.p120 {
	font-size: 120%;
}
.p110 {
	font-size: 110%;
}
.p80 {
	font-size: 80%;
}
.p70 {
	font-size: 70%;
}
.p60 {
	font-size: 60%;
}
.disc {
	font-weight: bold;
}
.bg-white {
	background-color: white;
}
.note {
	font-size: 0.86em;
	margin-top: 2em;
	color: white;
	text-align: left;
}
.note::before {
	content: "※";
}
/*アコーディオン*/
.acc-btn {
	position: relative;
	display: flex;
	align-items: center;
}
.acc-btn::after {
	content: "";
	display: inline-flex;
	position: absolute;
	width: 0.9em;
	height: 1em;
	right: 1em;
	background: url(../img/common/arrow.svg) no-repeat center;
	background-size: contain;
	transition: .5s;
}
.acc-btn.active::after {
	transform: rotate(-180deg);
}
/*concept*/
section#concept {
	width: calc(100% - 1em);
	margin: auto;
	padding-top: 1em;
	line-height: 1.8em;
}
section#concept .disc {
	margin-bottom: 2rem;
	font-weight: lighter;
	margin-top: 3em;
	margin-bottom: 0em;
}
section#concept .sub_disc {
    letter-spacing: 0.1em;
    line-height: 1.8;
    font-size: .9em;
}
section#concept .flex {
    margin-top: 2em;
    padding-bottom: 2em;
}
section#concept figure {
	/* margin-bottom: 1em; */
	margin: 0;
}
section#concept figure:first-child {
	/* margin-top: 2em; */
}
.btnArr {
    display: flex;
    justify-content: center;
    align-items: center;
    border: solid 3px #9fb1bd;
    width: 100%;
    max-width: 300px;
    margin: 2em auto;
    padding: .3em 0;
    font-size: 1.6em;
    font-weight: bold;
    color: #9fb1bd;
    letter-spacing: 0.2em;
    position: relative;
}
.btnArr:after {
	content: "";
	display: inline-block;
	background: url( "../img/common/arrow2b.png") no-repeat center,center;
	background-size: contain;
	width: .8em;
	height: .8em;
	position: absolute;
	right: 1em;
}
#concept .inner figure:last-of-type .btnArr,
#photo .btnArr {
    background-color: #9fb1bd;
    color: white;
}
#concept .inner figure:last-of-type .btnArr:after,
#photo .btnArr:after {
	content: "";
	background: url( "../img/common/arrow2w.png") no-repeat center,center;
	background-size: contain;
}
#photo .btnArr:after {
	transform: rotate(270deg);
}
/*home*/
#home .inner p:nth-of-type(2) {
    color: white;
    margin: 2em auto 0;
    letter-spacing: .2em;
    text-align: left;
}
/*photo*/
#photo .inner p:nth-of-type(2) {
    margin: 2em auto 0;
    letter-spacing: .2em;
    text-align: left;
}
#photo h2 {
    margin-bottom: 0;
}
#photo .disc {
    font-weight: bold;
    margin-bottom: 2em;
}
#photo .disc span {
    display: block;
    font-size: .7em;
    letter-spacing: .1em;
}
#photo .btnArr {
    font-size: 1em;
    flex-flow: wrap row;
}
#photo .btnArr span {
    font-size: 0.9em;
    margin-bottom: 0.3em;
}
/*plan*/
main#pageTop > section:nth-child(odd) {
	width: 100%;
	/* height: 1200px; */
	padding: 6em 0;
	background-color: #a0b1bd;
}
main#pageTop > section:nth-child(odd) h2 {
	color: white;
}
section#plan h3 {
	color: white;
}
section#plan h3 {
	margin: 1.5em auto 1em;
}
section#plan .bg-white {
	display: block;
	padding: 1.2em 0;
	font-size: 1.37em;
	margin: 0 auto;
}

section#plan .tableTab tr.ttl th {
	background-color: #8d8886;
	font-size: 1.375em;
	color: white;
	font-family: 'Jomolhari', serif;
	letter-spacing: .2em;
	align-items: baseline;
	padding: 0.14em 0;
}
section#plan .tableTab span.tle {
	font-size: 1.8em;
}
section#plan .tableTab tr.ttl th.active {
    background-color: #3e3a39;
}
section#plan .tableTab th[scope="row"], section#plan td {
	background-color: white;
	min-height: 3.55em;
	font-size: 1.125em;
	letter-spacing: 1px;
}
section#plan .tableTab span {
    /* flex-basis: 100%; */
    font-weight: normal;
}
section#plan .tableTab th span.p70 {
    flex-basis: 100%;
}
/*テーブルタブ共通*/
.tableTab {
    width: 100%;
}
.tableTab tr {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    vertical-align: middle;
}
.tableTab tr.ttl th {
    flex-basis: calc(100% / 4 - 1px);
}
.tableTab tr th, .tableTab tr td {flex-basis: calc(100% / 2 - 1px);margin-bottom: 3px;}
.tableTab .planNA {
	display: none;
}
.tableTab tr th, .tableTab tr td {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
@media screen and (min-width: 568px) {
section#plan .tableTab tr.ttl th {
    display: block;
    background-color: #3e3a39;
    flex-basis: calc(100% / 5 - 1px);
    pointer-events: none;
}
.tableTab tr th, .tableTab tr td {
    flex-basis: calc(100% / 5 - 1px);
    margin-bottom: 1px;
}
}




/*gallery*/
/*QA*/
section#qa dl {
	text-align: left;
	letter-spacing: .2em;
}
section#qa dl dt {
	background-color: white;
	padding: .7em 2em .7em 1em;
	margin-bottom: .5em;
	font-weight: bold;
}
section#qa dl dd {
	font-size: .875em;
	background-color: white;
	padding: 0 1em .7em 2em;
	line-height: 1.9;
	position: relative;
	top: -.6em;
}
section#qa dl dd a {
	display: table;
	font-size: 1em;
	margin-top: 1em;
	border-bottom: solid 1px;
}
/*shop*/
#shop-information {
    margin-bottom: 3em;
    width: calc(100% - 1em );
    margin: auto;
    color: white;
}
#shop-information h3 {
	font-size: 1.5em;
	letter-spacing: 0;
	font-weight: bold;
	text-align: left;
	margin-bottom: auto;
}
#shop-information a {
    color: white;
    text-decoration: underline;
}
#shop-information dl {
	line-height: 1.9;
	letter-spacing: .1em;
	font-size: .92em;
	text-align: left;
}
#shop-information dl dt {
	float: left;
}
#shop-information dl dd {
	width: calc(100% - 6em);
	margin-left: 6em;
}
#shop iframe {
    height: 50vh;
    -webkit-filter: grayscale(1);
　	filter: grayscale(1);
}
#shop iframe:hover {
	transition: filter 0.6s ease;
	-webkit-filter: grayscale(.1) saturate(1);
	filter: grayscale(.1) saturate(1);
}
#shop #gmap > a {
	display: inline-block;
	margin-top: 1em;
	font-size: 13px;
	color: white;
}
/*CVbox*/
#inquiry, footer, footer a {
	background-color: #3e3a39;
	color: white;
}
#inquiry .inner {
	max-width: 800px;
}
#inquiry a {
	color: #a0b1bd;
}
#inquiry ul {
	padding: 2em 0;
}
#inquiry ul li {
	flex-basis: calc(100% / 2 - .5rem);
	max-width: 340px;
	background: white;
	border: solid 2px #a0b1bd;
	display: inline-flex;
	vertical-align: middle;
	justify-content: center;
	align-items: center;
	padding: 0.5rem 0;
}
#inquiry ul li:first-child {
	font-size: 1.5em;
}
#inquiry a .p70 {
	display: block;
	margin-top: 0.3em;
}
/*footer*/
footer {
	font-size: 13px;
	text-align: center;
	letter-spacing: .05rem;
	padding-bottom: 2em;
	line-height: 1.5;
}
footer ul.inner {
	border-top: solid 1px white;
	border-bottom: solid 1px white;
	margin-bottom: 3em;
	padding: .5em 0;
}
footer .inner li {
	max-width: 10em;
}
footer ul li a {
	font-size: 1em;
	border-bottom: solid 1px;
}
footer p {
	font-size: .85em;
}

@media screen and (max-width: 320px) {
.g_menu_menu .g_menu_nav_wrapper {
	font-size: 16px;
}
main {
	font-size: 14px;
}
h3, p.disc {
    font-size: 1rem;
}
}
@media screen and (min-width: 568px) {
br.sp {
	display: none;
}
#shop .swiper-container {
	width: 50%;
	float: left;
	margin-bottom: 80px;
}
#shop-information dl dt {
	float: left;
}
#shop-information dl dd {
	width: calc(100% - 5.5em);
	margin-left: 5.5em;
}
#shop iframe {
	height: 40vh;
}
#shop-information {
	text-align: left;
	float: right;
	width: calc(50% - 1em);
}
}
@media screen and (min-width: 769px) {
body {
	font-size: 16px;
}
.pc {
	display: block;
}
.sp {
	display: none;
}
#shop iframe {
	height: 50vh;
}
#inquiry ul.inner {
	padding: 5em 0;
	justify-content: space-evenly;
}
footer ul.inner {
	font-size: 1.3em;
	}
}
@media screen and (min-width: 1024px) {
#shop-information {
	width: calc(50% - 3em);
}
}

/*page*/
/*privacy/index*/
.counterH {
    counter-reset: numH3 0;
}
ol.counterH h3:before {
    counter-increment: numH3 1;
    content: counter(numH3) ".";
}
ol.counterLi {
    counter-reset: numli 0;
    position: relative;
    font-size: .875em;
    width: calc(100% - 3em);
    max-width: 600px;
    margin: 2em;

}
ol.counterLi li {
    margin-left: .5em;
}
ol.counterLi li:before {
    position: absolute;
    left: -1em;
    counter-increment: numli 1;
    content: counter(numli) ".";
}
ul.disc {
    font-size: .875em;
    width: calc(100% - 3em);
    margin: 2em;
    list-style: disc;
    font-weight: normal;
}
ul.note {
    font-size: .875em;
    margin: auto;
    color: unset;
    width: calc(100% - 3em);
    position: relative;
}
ul.note:before {
    content: none;
}
ul.note li:before {
    content: "※";
    position: absolute;
    left: -1em;
}
.page h2 {
    font-size: 1.6em;
}

.page h3 {
    font-size: 1.1em;
    font-weight: 600;
    margin: 2em auto 1em;
}
.page .inner {
    text-align: left;
    line-height: 2;
    letter-spacing: 2px;
}

@media screen and (min-width: 769px) {
.page section {
    margin-bottom: 8em;
}
.page h2 {
    margin: 4em auto;
}
.page h3 {
    margin: 4em auto 1.5em;
}
}
/*reserve*/
section#reserve iframe {
    width: calc(100% - 1em);
    max-width: 1100px;
    height: 800px;
}
#reserve h2 {
    font-size: 2.2em;
}
@media screen and (max-width: 320px) {
section#reserve iframe {
    height: 800px;
}
}
@media screen and (min-width: 568px) {
section#reserve iframe {
    height: 800px;
}
}
@media screen and (min-width: 768px) {
section#reserve iframe {
    height: 800px;
}
#photo .btnArr {
    max-width: 460px;
}
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
#concept .inner figure:last-of-type .btnArr {
    margin-top: 3.2em;
}
}
@media screen and (min-width: 1024px) {
section#reserve iframe {
    display: block;
    padding-top: 2em;
    height: 800px;
    margin: auto;
}
#home .inner p:nth-of-type(2),#photo .inner p:nth-of-type(2){
    text-align: center;
}
section#concept .disc {
    font-size: 1.3em;
}
}

/*トップページオープンの案内*/
.notice {
    border: solid 1px #777777;
    max-width: 800px;
    width: 100%;
    padding: 1em 2em;
    margin-bottom: 6em;
    box-sizing: border-box;
    font-size: .9em;
}
/*どこにいれるのか？*/
section#concept figure figcaption {
    font-size: 0.9em;
    padding: 1em 0;
    text-align: left;
}

#reserve ol {
    width: calc(100% - 1em);
    max-width: 600px;
    margin: 3em auto 2em;
    letter-spacing: .1em;
    color: white;
    text-align: left;
    line-height: 2;
    font-weight: bold;
    border: solid 1px;
    padding: .5em;
    box-sizing: border-box;
}
@media screen and (min-width: 1024px) {
#reserve ol {
    margin-top: 5em;
    padding: 1em;
    font-size: 1.2em;
}
#photo .btnArr {
    margin-top: 4em;
}
}


/*20200514-nak reservation*/
#reserve .linkBtn a {
    margin: 3em auto 2em;
    display: inline-block;
    color: white;
    font-size: 1.3em;
    background: black;
    padding: 0.6em;
    width: calc(100% - 1em);
    max-width: 400px;
    box-shadow: 0.3em 0.3em;
    letter-spacing: 5px;
    transition: .7s;
    box-sizing: border-box;
}
#reserve .linkBtn a:hover {
    background: white;
    box-shadow: 0.3em 0.3em #000;
    color: #000;
}

