@charset "utf-8";
/*--------------------------------------------

	 BASE

--------------------------------------------*/
@-ms-viewport {
	width: auto;
	initial-scale: 1;
}

:root {
	--font-serif: 'Noto Serif JP', serif;
	--font-cormorant:  "Cormorant Garamond", serif;
	--c-inner-width:1200px;
	background-repeat:no-repeat;
}
html {
	font-size: 62.5%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	min-height: 100%;
}
body {
	width:100%;
	font-family: var(--font-serif);
	color: #000;
	font-size: 1.6rem;
	font-weight: 500;
	line-height:1.6;
	letter-spacing: 0.08em;
	background-color: #FBFCF8;
}
a {
	color:inherit;
	display: block;
	text-decoration: none;
}
table {
	width: 100%;
}
input,
button,
select,
textarea {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}
button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}
picture{
	display: block;
}
img {
	display: inline-block;
	vertical-align: middle;
	max-width: 100%;
	width: 100%;
	height: auto;
}
/*--------------------------------------------

	 FONT

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

	 CONPONENT

--------------------------------------------*/
.c--inner{
	margin:0 auto;
	padding:0 7.7%;
	max-width:var(--c-inner-width);
	width: 84.6%;
}
@media all and (min-width : 1025px ){
	.for_sp,.for_tbsp{
		display: none;
	}
}
/*--------------------------------------------

	 LOADING

--------------------------------------------*/
.loading{
	position: fixed;
	width: 100%;
	height: 100dvh;
	left: 0;
	top: 0;
	transition:opacity 1.2s;
	z-index: 20;
}
.loading.fade{
	opacity: 0;
}
.loading.out{
	display: none;
}
.loading--wrap {
	width: 100%;
	height: 100%;
	position:absolute;
}
.loading--white{
	z-index: 1;
	background-color: #fff;
}
.loading--black{
	background-color: #000;
	z-index: 2;
	opacity: 0;
	transition:opacity 1.6s;
}
.loading--black.active{
	opacity: 1;
}
.loading--logo{
	width:285px;
	height: 124.51px;
	position:absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
.loading--logo-white{
}
.loading--logo-svg .svg-elem-1 {
fill: transparent;
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
}
.loading--logo-svg.active .svg-elem-1 {
fill: rgb(26, 19, 17);
}
.loading--logo-svg .svg-elem-2 {
fill: transparent;
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
}
.loading--logo-svg.active .svg-elem-2 {
fill: rgb(26, 19, 17);
}
.loading--logo-svg .svg-elem-3 {
fill: transparent;
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s;
}
.loading--logo-svg.active .svg-elem-3 {
fill: rgb(26, 19, 17);
}
.loading--logo-svg .svg-elem-4 {
fill: transparent;
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s;
}
.loading--logo-svg.active .svg-elem-4 {
fill: rgb(26, 19, 17);
}
.loading--logo-svg .svg-elem-5 {
fill: transparent;
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2000000000000002s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2000000000000002s;
}
.loading--logo-svg.active .svg-elem-5 {
fill: rgb(26, 19, 17);
}
.loading--logo-svg .svg-elem-6 {
fill: transparent;
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s;
}
.loading--logo-svg.active .svg-elem-6 {
fill: rgb(190, 175, 96);
}
.loading--logo-svg .svg-elem-7 {
fill: transparent;
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4000000000000001s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4000000000000001s;
}
.loading--logo-svg.active .svg-elem-7 {
fill: rgb(190, 175, 96);
}
.loading--logo-svg .svg-elem-8 {
fill: transparent;
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
}
.loading--logo-svg.active .svg-elem-8 {
fill: rgb(26, 19, 17);
}
.loading--logo-svg .svg-elem-9 {
fill: transparent;
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
}
.loading--logo-svg.active .svg-elem-9 {
fill: rgb(26, 19, 17);
}
.loading--logo-svg .svg-elem-10 {
fill: transparent;
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7000000000000002s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7000000000000002s;
}
.loading--logo-svg.active .svg-elem-10 {
fill: rgb(26, 19, 17);
}
.loading--logo-svg .svg-elem-11 {
fill: transparent;
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
}
.loading--logo-svg.active .svg-elem-11 {
fill: rgb(26, 19, 17);
}
.loading--logo-svg .svg-elem-12 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9000000000000001s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9000000000000001s;
}
.loading--logo-svg.active .svg-elem-12 {
}
.loading--logo-svg .svg-elem-13 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s;
}
.loading--logo-svg.active .svg-elem-13 {
}
.loading--logo-svg .svg-elem-14 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s;
}
.loading--logo-svg.active .svg-elem-14 {
}
.loading--logo-svg .svg-elem-15 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s;
}
.loading--logo-svg.active .svg-elem-15 {
}
.loading--logo-svg .svg-elem-16 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s;
}
.loading--logo-svg.active .svg-elem-16 {
}
.loading--logo-svg .svg-elem-17 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4000000000000004s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4000000000000004s;
}
.loading--logo-svg.active .svg-elem-17 {
}
.loading--logo-svg .svg-elem-18 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s;
}
.loading--logo-svg.active .svg-elem-18 {
}
.loading--logo-svg .svg-elem-19 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s;
}
.loading--logo-svg.active .svg-elem-19 {
}
.loading--logo-svg .svg-elem-20 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s;
}
.loading--logo-svg.active .svg-elem-20 {
}
.loading--logo-svg .svg-elem-21 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s;
}
.loading--logo-svg.active .svg-elem-21 {
}
.loading--logo-svg .svg-elem-22 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9000000000000004s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9000000000000004s;
}
.loading--logo-svg.active .svg-elem-22 {
}
.loading--logo-svg .svg-elem-23 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3s;
}
.loading--logo-svg.active .svg-elem-23 {
}
.loading--logo-svg .svg-elem-24 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.1000000000000005s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.1000000000000005s;
}
.loading--logo-svg.active .svg-elem-24 {
}
.loading--logo-svg .svg-elem-25 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.2s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.2s;
}
.loading--logo-svg.active .svg-elem-25 {
}
.loading--logo-svg .svg-elem-26 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.3s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.3s;
}
.loading--logo-svg.active .svg-elem-26 {
}
.loading--logo-svg .svg-elem-27 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.4000000000000004s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.4000000000000004s;
}
.loading--logo-svg.active .svg-elem-27 {
}
.loading--logo-svg .svg-elem-28 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.5s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.5s;
}
.loading--logo-svg.active .svg-elem-28 {
}
.loading--logo-svg .svg-elem-29 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.6000000000000005s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.6000000000000005s;
}
.loading--logo-svg.active .svg-elem-29 {
}
.loading--logo-svg .svg-elem-30 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.7s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.7s;
}
.loading--logo-svg.active .svg-elem-30 {
}
.loading--logo-svg .svg-elem-31 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.8s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.8s;
}
.loading--logo-svg.active .svg-elem-31 {
}
.loading--logo-svg .svg-elem-32 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.9000000000000004s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3.9000000000000004s;
}
.loading--logo-svg.active .svg-elem-32 {
}
.loading--logo-svg .svg-elem-33 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4s;
}
.loading--logo-svg.active .svg-elem-33 {
}
.loading--logo-svg .svg-elem-34 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.1000000000000005s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.1000000000000005s;
}
.loading--logo-svg.active .svg-elem-34 {
}
.loading--logo-svg .svg-elem-35 {
-webkit-transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.2s;
		transition: fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.2s;
}
.loading--logo-svg.active .svg-elem-35 {
}
/*--------------------------------------------

	 LOADING

--------------------------------------------*/
.base{
	width: 100%;
	min-height: 100dvh;
	background:url(../images/bg--01-pc.jpg) center no-repeat;
	background-size: cover;
	box-sizing: border-box;
	padding:4.8vw 4.8vw;
}
.base--logo{
	width: clamp(120px,10vw,184px);
}
.base--menu{
	position:absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
.base--menu-list{
}
.base--menu-item{
}
.base--menu-item:nth-child(n+2){
	margin-top: 2.36em;
}
.base--menu-item.base--menu-concept{
}
.base--menu-item.base--menu-gallery{
}
.base--menu-item.base--menu-reservation{
}
.base--menu-item button{
	font-size: clamp(18px,1.56vw,30px);
	letter-spacing: 0.08em;
	color: #fff;
	font-family: var(--font-cormorant);
	text-decoration: underline;
	text-decoration-thickness:2px;
	padding-left: 1.24em;
	background:url(../images/icon--arrow-white.svg) left center no-repeat;
	background-size: 0.8em;
	transition: opacity 0.5s;
}
.base--menu-item button:hover{
	opacity: 0.5;
}
.sec--block{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background:rgba(0,0,0,0.95);
	z-index: 10;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: 1s;
	box-sizing: border-box;
	text-align: center;
	color: #fff;
	padding:7vw 5vw;
}
.sec--block:before{
	/* content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
	margin-left: -0.2em; */
}
.sec--block.active{
	opacity: 1;
	visibility: visible;
}
.sec--block .c--inner{
	position: relative;
    display: inline-block;
    vertical-align: middle;
}
.block--close{
	position: fixed;
	right: 5vw;
	top: 5vw;
	z-index: 10;
}
.sec--concept{
}
.sec--concept .c--inner{
	max-width:900px;
}
.concept--lead{
	font-size: clamp(20px,1.67vw,32px);
	letter-spacing: 0.12em;
	line-height:1.75;
	margin-bottom:2em;
}
.concept--plane{
	font-size:clamp(15px,1.04vw,20px);
	line-height:2.4;
	letter-spacing: 0.12em;
	text-align: center;
}
.concept--plane p:nth-child(n+2){
	margin-top: 2.4em;
}
.concept--plane span{
	display: inline-block;
}
.sec--gallery{
}
.gallery--list{
	display: flex;
	flex-wrap:wrap;
}
.gallery--item{
	width: 49%;
}
.gallery--item:nth-child(2n){
	margin-left: 2%;
}
.gallery--item:nth-child(n+3){
	margin-top: 2%;
}
.sec--reservation{
}
.reservation--wrap{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.reservation--lead{
	font-size: clamp(16px,1.25vw,24px);
	line-height:2.33;
	letter-spacing: 0.12em;
	margin-bottom:2.8em;
}
.reservation--list{
}
.reservation--item{
	text-align: left;
	display: flex;
	opacity: 0.8;
	font-size: clamp(16px,1.25vw,24px);
	letter-spacing: 0.12em;
}
.reservation--item:nth-child(n+2){
	margin-top: 2em;
}
.reservation--label{
	width: 5em;
}
.reservation--value{
}
.reservation--value a{
	text-decoration: underline;
}
