@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
@font-face {
  font-family: 'Century Gothic';
  src: url("/font/GOTHIC.TTF");
}
/******* common ********/
html {font-size: 62.5%;}

body{
	font-family: 'Josefin Sans','Noto Sans JP', sans-serif;
	color: #333333;
}
main{
	margin-top: calc(68 *(100vw / 390));
}
h1,h2,h3,h4,h5{
	margin: 0;
}
img{
	width: 100%;
	overflow: hidden;
	display: block;
	transition: transform 1.3s, -webkit-transform 1.3s;
}
a{
	display: block;
	overflow: hidden;
}

a:not(.logo):hover img,
.lightgallery-default li:hover img{
	transform: scale(1.05);
}

p{margin: 0;}

ol, ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

li {
	list-style-type: none;
}

button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

h2{
	font-size: calc(28 *(100vw / 390));
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0.04em;
	text-align: center;
	color: #533C2B;
	margin-bottom: calc(24 *(100vw / 390));
}
h2 span{
	font-size: calc(12 *(100vw / 390));
	font-weight: 400;
	letter-spacing: 0.4em;
	color: #333;
	display: block;
	margin-top: calc(6 *(100vw / 390));
}
h2 a{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: calc(12 *(100vw / 390));
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.1;
	color: #333;
	display: block;
	margin-top: calc(6 *(100vw / 390));
}
.attention > span{
	color: #8E8470;
}

.link{
  padding-bottom: calc(2 *(100vw / 390));
  border-bottom: calc(3 *(100vw / 390)) solid #90846D;
}

.lightgallery-default li{
	transition-duration:0.5s;
	overflow: hidden;
}
.lightgallery-default li:hover{
	opacity: 0.6;

}

/******* RESERVE ********/
.reserve-sec{
	background: #F2EEE6;
	padding: calc(40 *(100vw / 390)) 0;
	box-sizing: border-box;
	text-align: center;
}
.reserve-sec h2{
	position: relative;
	padding-bottom: calc(24 *(100vw / 390));
}
.reserve-sec h2::after{
	content: '';
	width: calc(30 *(100vw / 390));
	height: calc(1 *(100vw / 390));
	background: #707070;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.reserve-sec .reserve-text{
	font-size: calc(14 *(100vw / 390));
	line-height: 1.5;
	letter-spacing: 0.02em;
	margin-bottom: calc(14 *(100vw / 390));
}
.reserve-sec button{
	background: #90846D;
	margin: 0 auto calc(20 *(100vw / 390));
	width: calc(310 *(100vw / 390));
	height: calc(50 *(100vw / 390));
	border-radius: calc(25 *(100vw / 390));
}
.reserve-sec button a{
	display: flex;
	align-items: center;
	justify-content: center;
}
.reserve-sec button img{
	width: calc(20 *(100vw / 390));
	margin-right: calc(6 *(100vw / 390));
}
.reserve-sec button p{
	font-size: calc(14 *(100vw / 390));
	letter-spacing: 0.1em;
	color: #fff;
}
.reserve-sec .reserve-text-blk{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: calc(13 *(100vw / 390));
	letter-spacing: 0.02em;
}
.reserve-sec .reserve-text-blk .text-detail{
	border-bottom: calc(1 *(100vw / 390)) dashed #8E8470;
	padding-bottom: calc(3 *(100vw / 390));
	box-sizing: border-box;
	display: inline-block;
}
.reserve-sec .reserve-text-blk .text-time{
	margin-top: calc(10 *(100vw / 390));
}

/* ------------------------------------------------
SmartPhone
------------------------------------------------ */
@media screen and (max-width:767px) {
	/******* common ********/
	body.hidden{
		height: 100%;
	    overflow: hidden;
	}

	.lg-outer .lg-image {
		min-width: calc(370 *(100vw / 390)) !important;
	    max-width: calc(370 *(100vw / 390)) !important;
	    min-height: calc(370 *(100vw / 390)) !important;
	    max-height: calc(370 *(100vw / 390)) !important;
	}

	.pc,.pc-only,.pcOnly,.pc_only{display: none;}

	/******* header ********/
	header{
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
		width: 100%;
		height: calc(68 *(100vw / 390));
		padding: 0 calc(20 *(100vw / 390));
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: space-between;
		background: #fff;
	}
	header h1{
		width: calc(230 *(100vw / 390));
	}
	#hamburger {
		display: block;
		cursor: pointer;
		transition: 1s;
	}
	#hamburger .inner_line {
		display: block;
		position: relative;
		width: calc(40 *(100vw / 390));
		height: calc(8 *(100vw / 390));
		transition: 0.5s;
		border-radius: 4px;
	}
	#hamburger .inner_line.open{	
		height: calc(13.4 *(100vw / 390));
	}
	#hamburger .inner_line::before,
	#hamburger .inner_line::after{
		content: '';
		width: calc(40 *(100vw / 390));
		height: calc(1 *(100vw / 390));
		background-color: #2D1E13;
		position: absolute;
	}
	#hamburger .inner_line::before{
		top: 0;
	}
	#hamburger .inner_line::after{
		bottom: 0;
	}
	#hamburger .inner_line.open::before{
		transform: rotate(20deg);
		top: calc(6 *(100vw / 390));
	}
	#hamburger .inner_line.open::after{
		transform: rotate(-20deg);
		bottom: calc(6 *(100vw / 390));
	}

	#nav{
		position: absolute;
		top: calc(66 *(100vw / 390));
		left: 0;
		width: 100vw;
		height: 100vh;
		overflow: hidden;
		padding-top: calc(60 *(100vw / 390));
		box-sizing: border-box;
		background: #ffffff;
		opacity: 0;
		display: none;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	#nav.open{
		opacity: 1;
		display: block;
	}
	#nav ul li{
		margin-bottom: calc(40 *(100vw / 390));
	}
	#nav ul li .nav-text{
		font-size: calc(24 *(100vw / 390));
		font-weight: 300;
		line-height: 1;
		letter-spacing: 0.04em;
		text-align: center;
		color: #533C2B;
	}
	#nav ul li .nav-text span{
		font-size: calc(11 *(100vw / 390));
		font-weight: 400;
		letter-spacing: 0.4em;
		color: #333;
		display: block;
		margin-top: calc(8 *(100vw / 390));
	}
	#nav ul li.reserve-li button{
		background: #90846D;
		margin: 0 auto calc(10 *(100vw / 390));
		width: calc(250 *(100vw / 390));
		height: calc(48 *(100vw / 390));
		border-radius: calc(25 *(100vw / 390));
		display: block;
	}
	#nav ul li.reserve-li button a{
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#nav ul li.reserve-li button img{
		width: calc(20 *(100vw / 390));
		margin-right: calc(6 *(100vw / 390));
	}
	#nav ul li.reserve-li button p{
		font-size: calc(14 *(100vw / 390));
		letter-spacing: 0.1em;
		color: #fff;
	}
	#nav ul li.reserve-li > p{
		font-size: calc(13 *(100vw / 390));
		line-height: 1.5;
		text-align: center;
	}
	#nav ul li.sns-li a{
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: 'Noto Sans JP',sans-serif;
		font-size: calc(11 *(100vw / 390));
		letter-spacing: 0.04em;
		line-height: calc(22 *(100vw / 390));
	}
	#nav ul li.sns-li a img{
		width: calc(20 *(100vw / 390));
		margin-right: calc(10 *(100vw / 390));
	}

	/******* footer ********/
	footer .copyraight{
		font-family: 'Century Gothic',sans-serif;
		font-size: calc(10 *(100vw / 390));
		font-weight: 300;
		padding: calc(30 *(100vw / 390)) 0 calc(20 *(100vw / 390));
		text-align: center;
	}
}


/* ------------------------------------------------
Tablet
------------------------------------------------ */
@media screen and (min-width:768px) and ( max-width:1024px) {
	html {
		font-size: calc(10 *(100vw /1400));
	}

}


/* ------------------------------------------------
PC
------------------------------------------------ */
@media screen and (min-width:768px) {
	/******* common ********/
	main{
		margin-top: 0;
	}
	.sp,.sp-only,.spOnly,.sp_only{display: none;}

	h2{
		font-size: 3.6rem;
		margin-bottom: 3rem;
	}
	h2 span{
		font-size: 1.3rem;
		margin-top: 0.8rem;
	}
	h2 a{
		font-size: 1.3rem;
		margin-top: 0.6rem;
	}

	.link{
	    padding-bottom: 0.2rem;
	    border-bottom: 0.3rem solid #90846D;
	}

	.lg-outer .lg-image {
	    min-width: 80rem !important;
	    max-width: 80rem !important;
	    min-height: 80rem !important;
	    max-height: 80rem !important;
	}

	/******* header ********/
	header{
		position: fixed;
		z-index: 999;
		top: 0;
		left: 0;
		width: 100%;
		height: 8rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		background: none;
		padding-left: 4rem;
		box-sizing: border-box;
	}
	header h1 {
		width: 25rem;
	}
	#nav{
		display: flex;
		align-items: center;
		height: 8rem;
		padding: 0 4rem 0 6rem;
		border-radius: 0 0 0 12rem;
		background: rgb(255 255 255 / 90%);
	}
	#nav ul{
		display: flex;
		align-items: center;
	}
	#nav ul li:not(:first-child){
		margin-left: 4rem;
	}
	#nav ul li .nav-text{
		font-size: 1.8rem;
		font-weight: 300;
		line-height: 1;
		letter-spacing: 0.04em;
		text-align: center;
		color: #533C2B;
	}
	#nav ul li .nav-text span{
		font-size: 1rem;
		font-weight: 400;
		letter-spacing: 0.4em;
		color: #333;
		display: block;
		margin-top: 0.4rem;
	}
	#nav ul li.reserve-li{
		display: none;
		position: fixed;
		right: 2rem;
		bottom: 2rem;
	}
	#nav ul li.reserve-li button{
		background: #90846D;;
		width: 21rem;
		height: 5rem;
		border-radius: 2.5rem;
		display: block;
	}
	#nav ul li.reserve-li button a{
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#nav ul li.reserve-li button img{
		width: 2.4rem;
		margin-right: 0.8rem;
	}
	#nav ul li.reserve-li button p{
		font-size: 1.6rem;
		letter-spacing: 0.1em;
		color: #fff;
	}
	#nav ul li.reserve-li .reserve-attention,
	#nav ul li.sns-li{
		display: none;
	}


	/******* footer ********/
	footer .copyraight{
		font-family: 'Century Gothic',sans-serif;
		font-size: 1rem;
		font-weight: 300;
		text-align: center;
		padding: 3rem 0 1rem;
	}

	/******* RESERVE ********/
	.reserve-sec{
		padding: 6rem 0;
	}
	.reserve-sec h2{
		padding-bottom: 2rem;
	}
	.reserve-sec h2::after{
		width: 3rem;
		height: 0.1rem;
	}
	.reserve-sec .reserve-text{
		font-size: 1.6rem;
		margin-bottom: 2rem;
		line-height: 1;
	}
	.reserve-sec button{
		margin: 0 auto 2.4rem;
		width: 31rem;
		height: 5.6rem;
		border-radius: 2.8rem;
	}
	.reserve-sec button img{
		width: 2.8rem;
		margin-right: 0.8rem;
	}
	.reserve-sec button p{
		font-size: 1.6rem;
	}
	.reserve-sec .reserve-text-blk{
		font-size: 1.4rem;
	}
	.reserve-sec .reserve-text-blk .text-detail{
		border-bottom: 0.1rem dashed #8E8470;
		padding-bottom: 0.4rem;
	}
	.reserve-sec .reserve-text-blk .text-time{
		margin-top: 1.2rem;
	}
}

