@charset "utf-8";

/* VISUAL */
#VISUAL {
background-color: #40301d;
}
#VISUAL .cont {
box-sizing: border-box;
position: relative;
padding: 0 0 20px 0px;
color: #fff;
}
#VISUAL .images {
position: relative;
}
#VISUAL .text {
position: absolute;
right: 19px;
top: 55px;
z-index: 1;
}
#VISUAL .text svg {
width: 300px;
height: auto;
}
#VISUAL .slider .slick-list li {
position: relative;
overflow: hidden;
width: 100%;
height: 400px;
}
#VISUAL .slider .slick-list li img {
transform: translateX(-50%);
position: absolute;
left: 50%;
width: auto;
height: 400px;
}
#VISUAL .pack {
padding-top: 15px;
}
#VISUAL h3 {
margin-bottom: 10px;
margin-left: 10px;
font-weight: bold;
font-size: 14px;
font-feature-settings: normal;
line-height: 1.3;
}
#VISUAL p {
font-size: 10px;
margin-left: 10px;
line-height: 14px;
line-height: 1.42;
font-feature-settings: normal;
}

@media (min-width: 772px) {
	#VISUAL .slider .slick-list li img {
	transform: translateY(-50%);
	left: 0%;
	top: 50%;
	width: 100%;
	height: auto;
	}
}
@media (min-width: 1020px) {
	#VISUAL {}
	#VISUAL .cont {
	padding: 0 0 0 0;
	}
	#VISUAL .slider::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	background: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.4),rgba(0,0,0,0.5));
	width: 100%;
	height: 25%;
	z-index: 1;
	}
	#VISUAL .text {
	right: 53px;
	top:inherit;
	bottom: -37px;
	}
	#VISUAL .text svg {
	width: 711px;
	height: auto;
	}
	#VISUAL .slider .slick-list li {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: auto;
	}
	#VISUAL .slider .slick-list li img {
	transform: translateY(0) translateX(0);
	position: relative;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 620px;
	}
	#VISUAL .pack {
	position: absolute;
	left: 40px;
	bottom: 20px;
	color: #fff;
	z-index: 1;
	}
	#VISUAL h3 {
	margin-bottom: 20px;
	font-size: 18px;
	}
	#VISUAL p {
	font-size: 14px;
	}
}
@media (min-width: 1281px) {
	#VISUAL .slider .slick-list li {
	height: 620px;
	}
	#VISUAL .slider .slick-list li img {
	transform: translateY(-50%) translateX(-50%);
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: auto;
	}
}

/* FEATURE */
#FEATURE {
position: relative;
padding-bottom: 80px;
background-color: #e4e0da;
}
/*#FEATURE::before {
content: '';
display: block;
position: absolute;
left: 0;
bottom: 20px;
background: url("../../img/com_pht_sp.png") no-repeat center center;
background-size: auto 196px;
width: 100%;
height: 196px;
}*/
#FEATURE .cont {
padding: 40px 10px 20px 10px;
}
#FEATURE h2 {
margin-bottom: 20px;
font-family: "Raleway", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
font-size: 24px;
letter-spacing: 0.1em;
color: #40301d;
text-align: center;
line-height: 26px;
}
#FEATURE h2 span{
display: block;
font-family: "IBM Plex Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
font-size: 13px;
letter-spacing: 0.1em;
color: #40301d;
text-align: center;
}
#FEATURE h3 {
margin-bottom: 20px;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size: 24px;
letter-spacing: 0.1em;
line-height: 1.3;
text-align: center;
}
#FEATURE .en {
margin-bottom: 20px;
font-family: "Alegreya", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: italic;
font-size: 14px;
text-align: center;
line-height: 1.3;
}
#FEATURE .lead {
font-size: 16px;
letter-spacing: 0.0em;
line-height: 26px;
padding: 20px 20px 0;
}
#FEATURE .link {
margin: 20px auto 0 auto;
width: 200px;
font-size: 16px;
text-align: center;
font-weight: bold;
}
#FEATURE .link a {
display: flex;
position: relative;
justify-content: center;
align-items: center;
background-color: #b6aa95;
border-radius: 99999px;
padding-right: 26px;
height: 46px;
color: #fff;
}
#FEATURE .link a::before {
transform: translateY(-50%);
content: '';
position: absolute;
right: 10px;
top: 50%;
background-color: #fff;
border-radius: 99999px;
width: 26px;
height: 26px;
color: #fff;
}
#FEATURE .link a::after {
transform: rotate(45deg) translateY(-50%);
content: '';
position: absolute;
right: 22px;
top: 49%;
border-top: solid 2px #b6aa95;
border-right: solid 2px #b6aa95;
width: 5px;
height: 5px;
}

#FEATURE .box {
text-align: center;
margin: 25px auto;
background-color: #fff;
font-size: 16px;
padding-bottom: 20px;
width: 95%;
border-radius: 15px;
}

#FEATURE .box h4{
background-color: #8b7d6a;
border-radius: 15px 15px 0 0;
color: white;
font-size: 20px;
}

#FEATURE .box p{
margin-top: 20px;
font-size:16px;
}

@media (min-width: 768px) {
	#FEATURE {
	position: relative;
	padding-bottom: 0px;
	}
/*	#FEATURE::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 100px;
	background: url("../../img/com_pht.png") no-repeat center center;
	background-size: auto 393px;
	width: 100%;
	height: 393px;
	}*/
	#FEATURE .cont {
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto;
	padding: 100px 60px 160px 60px;
	max-width: 1280px;
	}
	#FEATURE h2 {
	margin-bottom: 30px;
	font-size: 40px;
	line-height: 40px;
	}
	#FEATURE h2 span{
	display: block;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.1em;
	text-align: center;
	}
	#FEATURE h3 {
	margin-bottom: 20px;
	font-size: 28px;
	}
	#FEATURE .box {
	text-align: center;
	margin: 25px auto 0;
	background-color: #fff;
	display:inline-block;
	margin-bottom: 30px;
	font-size: 16px;
	margin-left: 10px;
	margin-right: 10px;
	padding-bottom: 10px;
	width: 340px;
	border-radius: 15px;
	}
	#FEATURE .box h4{
	background-color: #8b7d6a;
	border-radius: 15px 15px 0 0;
	color: white;
	font-size: 20px;
	}
	#FEATURE .box p{
	margin-top: 20px;
	font-size:16px;
	}
	#FEATURE .en {
	margin-bottom: 15px;
	font-size: 18px;
	}
	#FEATURE .lead {
	clear: both;
	margin: 20px auto 0px;
	max-width: 980px;
	font-size: 16px;
	line-height: 1.88;
	text-align: left;
	}
	#FEATURE .link {
	margin: 20px auto 10px auto;
	width: 290px;
	font-size: 18px;
	}
	#FEATURE .link a {
	padding-right: 26px;
	height: 56px;
	}
	#FEATURE .link a::before {
	width: 36px;
	height: 36px;
	}
	#FEATURE .link a::after {
	right: 28px;
	width: 8px;
	height: 8px;
	}
}


/* ROOMS */
#ROOMS {
position: relative;
padding-bottom: 80px;
background-color: #e4e0da;
}
#ROOMS .cont {
padding: 40px 10px 20px 10px;
}
#ROOMS h2 {
margin-bottom: 20px;
font-family: "Raleway", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
font-size: 24px;
letter-spacing: 0.1em;
color: #40301d;
text-align: center;
line-height: 26px;
}
#ROOMS h2 span{
display: block;
font-family: "IBM Plex Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
font-size: 13px;
letter-spacing: 0.1em;
color: #40301d;
text-align: center;
}
#ROOMS h3 {
margin-bottom: 20px;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
font-size: 24px;
letter-spacing: 0.1em;
line-height: 1.3;
text-align: center;
}
#ROOMS .en {
margin-bottom: 20px;
font-family: "Alegreya", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: italic;
font-size: 14px;
text-align: center;
line-height: 1.3;
}
#ROOMS .lead {
font-size: 16px;
letter-spacing: 0.0em;
line-height: 26px;
padding: 20px 20px 40px;
}
#ROOMS .link {
margin: 40px auto 0 auto;
width: 200px;
font-size: 16px;
text-align: center;
font-weight: bold;
}
#ROOMS .link a {
display: flex;
position: relative;
justify-content: center;
align-items: center;
background-color: #b6aa95;
border-radius: 99999px;
padding-right: 26px;
height: 46px;
color: #fff;
}
#ROOMS .link a::before {
transform: translateY(-50%);
content: '';
position: absolute;
right: 10px;
top: 50%;
background-color: #fff;
border-radius: 99999px;
width: 26px;
height: 26px;
color: #fff;
}
#ROOMS .link a::after {
transform: rotate(45deg) translateY(-50%);
content: '';
position: absolute;
right: 22px;
top: 49%;
border-top: solid 2px #b6aa95;
border-right: solid 2px #b6aa95;
width: 5px;
height: 5px;
}

#ROOMS .item {
display: grid;
grid-template-columns: 1fr;
gap: 20px;
margin-bottom: 20px;
padding: 0 20px;
}
#ROOMS .block img {
display: block;
border-radius: 5px;
width: 100%;
height: auto;
}
#ROOMS .block .pack {
margin-top: 5px;
font-size: 14px;
line-height: 1.3;
}
#ROOMS .block .ctg {
font-size: 10px;
line-height: 1.3;
}
#ROOMS .block p {
font-size: 16px;
line-height: 1.3;
font-weight: bold;
}
#ROOMS .block p strong {
font-size: 14px;
}

@media (min-width: 768px) {
	#ROOMS {
	position: relative;
	padding-bottom: 0px;
	}
	#ROOMS .cont {
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto;
	padding: 100px 60px 160px 60px;
	max-width: 1280px;
	}
	#ROOMS h2 {
	margin-bottom: 30px;
	font-size: 40px;
	line-height: 40px;
	}
	#ROOMS h2 span{
	display: block;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.1em;
	text-align: center;
	}
	#ROOMS h3 {
	margin-bottom: 20px;
	font-size: 28px;
	}
	#ROOMS .en {
	margin-bottom: 15px;
	font-size: 18px;
	}
	#ROOMS .lead {
	margin: 20px auto 0px;
	max-width: 980px;
	font-size: 16px;
	line-height: 1.88;
	text-align: left;
	padding: 0px 0px 40px;
	}
	#ROOMS .link {
	margin: 20px auto 10px auto;
	width: 290px;
	font-size: 18px;
	}
	#ROOMS .link a {
	padding-right: 26px;
	height: 56px;
	}
	#ROOMS .link a::before {
	width: 36px;
	height: 36px;
	}
	#ROOMS .link a::after {
	right: 28px;
	width: 8px;
	height: 8px;
	}
	
	#ROOMS .item {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 40px 20px;
	margin-bottom: 40px;
	}
	#ROOMS .block img {
	border-radius: 10px;
	}
	#ROOMS .block .pack {
	margin-top: 10px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.3;
	}
	#ROOMS .block .ctg {
	font-size: 14px;
	line-height: 1.3;
	}
	#ROOMS .block p {
	font-size: 16px;
	line-height: 1.3;
	}
	#ROOMS .block p strong {
	font-size: 22px;
	}
	
}




/* NEWS */
#NEWS {
background-color: #eeebe5;
}
#NEWS .cont {
padding: 40px 10px 40px 10px;
}
#NEWS h2 {
margin-bottom: 20px;
font-family: "Outfit", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
font-size: 20px;
letter-spacing: 0.1em;
color: #40301d;
text-align: center;
}
#NEWS .news .block {
background-color: #fcfbf8;
margin-bottom: 10px;
padding: 15px;
font-size: 14px;
line-height: 1.78;
border-radius: 8px;
}
#NEWS .news .day {
color: #000;
}
#NEWS .news a:hover {
text-decoration: underline;
}
@media (min-width: 768px) {
	#NEWS .cont {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 70px 150px 110px 150px;
	max-width: 1280px;
	}
	#NEWS h2 {
	margin-bottom: 45px;
	font-size: 40px;
	}
	#NEWS .news {
	padding: 0 0 0 0;
	}
	#NEWS .news .block {
	background-color: #fcfbf8;
	margin-bottom: 10px;
	padding: 20px 25px;
	font-size: 16px;
	line-height: 1.78;
	}
	#NEWS .news .day {
	float: left;
	}
	#NEWS .news .txt {
	margin-left: 115px;
	}
	#NEWS .news .txt strong {
	font-size: 16px;
	}
}


#bgIMG {
position: relative;
height: 300px;
overflow: hidden;
}
#bgIMG::after {
content: '';
transition: all 1.5s ease;
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: url('../../img/bg1.jpg') no-repeat 65% center;
background-size: cover;
z-index: -1;
filter: blur(10px) grayscale(100%);
}
.jpeg #bgIMG::after {
background: url('../../img/bg1.jpg') no-repeat 65% center;
background-size: cover;
}
#bgIMG.active::after {
display: block;
}
#bgIMG.fadeElm,
#bgIMG.activeView {
position: relative;
transform: none;
filter:alpha(opacity=100);
opacity: 1;
}
#bgIMG.activeView::after {
filter: blur(0) grayscale(0);
}
@media (min-width: 768px) {
	#bgIMG {
	height: 600px;
	}
	#bgIMG::after {
	background: url('../../img/bg1.jpg') no-repeat center center;
	background-size: cover;
	}
	.jpeg #bgIMG::after {
	background: url('../../img/bg1.jpg') no-repeat center center;
	background-size: cover;
	}
}

#bgIMG2 {
position: relative;
height: 300px;
overflow: hidden;
}
#bgIMG2 p {
position: absolute;
right: 20px;
top: 20px;
writing-mode: vertical-rl;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
font-size: 18px;
letter-spacing: 0.1em;
line-height: 1.3;
color: #fff;
}
#bgIMG2::after {
content: '';
transition: all 1.5s ease;
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: url('../../img/bg2.jpg') no-repeat;
background-size: cover;
background-position: left 20% bottom 0%;
z-index: -1;
filter: blur(10px) grayscale(100%);
}

#bgIMG2.active::after {
display: block;
}
#bgIMG2.fadeElm,
#bgIMG2.activeView {
position: relative;
transform: none;
filter:alpha(opacity=100);
opacity: 1;
}
#bgIMG2.activeView::after {
filter: blur(0) grayscale(0);
}
@media (min-width: 768px) {
	#bgIMG2 {
	height: 600px;
	}
	#bgIMG::after {
	bgIMG2: url('../../img/bg2.jpg') no-repeat center center;
	background-size: cover;
	}
	.jpeg #bgIMG::after {
	bgIMG2: url('../../img/bg2.jpg') no-repeat center center;
	background-size: cover;
	}
	#bgIMG2 p {
	right: 55px;
	top: 55px;
	font-size: 30px;
	}
	
	#bgIMG2::after {
content: '';
transition: all 1.5s ease;
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: url('../../img/bg2.jpg') no-repeat center;
background-size: cover;
z-index: -1;
filter: blur(10px) grayscale(100%);
}
.jpeg #bgIMG2::after {
content: '';
transition: all 1.5s ease;
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: url('../../img/bg2.jpg') no-repeat 30% center;
background-size: cover;
z-index: -1;
filter: blur(10px) grayscale(100%);
}


}

/* Slider */
.slick-slider{
position: relative;
display: block;
box-sizing: border-box;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-touch-callout: none;
-khtml-user-select: none;
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}
.slick-list{
position: relative;
display: block;
overflow: hidden;
margin: 0;
padding: 0;
}
.slick-list:focus{
outline: none;
}
.slick-list.dragging{
cursor: pointer;
cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list{
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.slick-track{
position: relative;
top: 0;
left: 0;
display: block;
margin-left: auto;
margin-right: auto;
}
.slick-track:before,
.slick-track:after{
display: table;
content: '';
}
.slick-track:after{
clear: both;
}
.slick-loading .slick-track{
visibility: hidden;
}
.slick-slide{
display: none;
float: left;
height: 100%;
min-height: 1px;
}
[dir='rtl'] .slick-slide{
float: right;
}
.slick-slide img{
display: block;
}
.slick-slide.slick-loading img{
display: none;
}
.slick-slide.dragging img{
pointer-events: none;
}
.slick-initialized .slick-slide{
display: block;
}
.slick-loading .slick-slide{
visibility: hidden;
}
.slick-vertical .slick-slide{
display: block;
height: auto;
border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
display: none;
}
/* Dots */
.slick-dots {
position: absolute;
bottom: 10px;
right: 10px;
display: block;
margin: 0 !important;
padding: 0 !important;
height: 10px !important;
list-style: none;
}
.slick-dots li {
display: inline-block;
width: 40px;
height: 5px;
margin: 0 0 0 5px;
padding: 0;
cursor: pointer;
float: left;
}
.slick-dots li button {
transition: all 0.5s ease;
font-size: 0;
line-height: 0;
display: block;
width: 40px;
height: 5px;
cursor: pointer;
color: transparent;
border: 0;
outline: none;
background-color: #fff;
margin: 0;
padding: 0;
}
.slick-dots li.slick-active button {
background-color: #f28b47;
}

.slick-dots li button:hover {
background-color: #f28b47;
}
@media (min-width: 1020px) {
	.slick-dots {
	bottom: 25px;
	right: 35px;
	z-index: 1;
	}
}
