@charset "utf-8";

/* =========================================================

 module

========================================================= */

.l_mv {
	padding-left: 2.7491408935%;
	padding-right: 2.7491408935%;
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.l_mv .mv_block {
	position: relative;
	width: 100%;
	height: calc(95vh - 196px);
	height: calc(95svh - 196px);
	min-height: 620px;
	overflow: hidden;
}

.l_mv .mv_bg {
	position: absolute;
	width: 100%;
	height: 100%;
	inset: 0;
}

.l_mv .mv_bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.l_mv .mv_inner {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	padding: 4.5714285714% 6.2857142857%;
}

.l_mv .mv_titleline {
	color: #fff;
	font-size: 5.6rem;
	font-weight: bold;
	font-feature-settings: "palt";
	line-height: 1.5;
}

.l_slider {
	margin: 90px 0 0;
	padding-left: 1.0309278351%;
	padding-right: 1.0309278351%;
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.l_slider .slider_block {
	margin: 60px auto;
	position: relative;
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.l_slider .slider_block .slider_dining {
	overflow: visible;
}

.l_slider .slider_block .slider_dining .swiper-wrapper .swiper-slide {
	flex-shrink: 0;
	padding: 0 1.7182130584%;
}

.l_slider .slider_block .slider_dining .swiper-wrapper .swiper-slide .slide_box {
	position: relative;
	overflow: hidden;
}

.l_slider .slider_block .slider_dining .swiper-wrapper .swiper-slide .slide_box img {
	transition: transform 0.2s linear;
}

.l_slider .slider_block .slider_dining .swiper-wrapper .swiper-slide .slide_box:hover img {
	transform: scale(1.25);
}

.l_slider .slider_block .slider_dining .swiper-wrapper .swiper-slide .slide_box:hover .hover_btn {
	transition: all 0.4s ease;
	opacity: 1;
}

.l_slider .slider_btn_block {
	display: flex;
	justify-content: flex-end;
	margin: 20px 1.7182130584% 0;
}

.l_gastronomy {
	margin: 90px 0 0;
	padding-left: 2.7491408935%;
	padding-right: 2.7491408935%;
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.l_gastronomy .title {
	margin-bottom: 90px;
	text-align: left;
	font-size: 2rem;
	line-height: 1.5;
}

.l_gastronomy .title .accent {
	display: block;
	font-size: 4rem;
	font-weight: bold;
	margin: 30px auto 40px;
}

.l_gastronomy .title .accent_sub {
	display: inline-block;
	margin: 30px auto 0;
}

.l_gastronomy .read {
	margin-bottom: 24px;
	width: 540px;
	color: #757575;
	font-size: 1.6rem;
	line-height: 1.5;
}

.l_gastronomy .slider_block {
	margin: 60px auto;
	position: relative;
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.l_gastronomy .slider_block .swiper {
	overflow: visible;
}

.l_gastronomy .slider_block .swiper .swiper-wrapper .swiper-slide {
	flex-shrink: 0;
	padding: 0 1.7182130584%;
}

.l_gastronomy .slider_block .swiper .swiper-wrapper .swiper-slide .slide_box {
	position: relative;
	overflow: hidden;
}

.l_gastronomy .slider_block .swiper .swiper-wrapper .swiper-slide .slide_box img {
	transition: transform 0.2s linear;
}

.l_gastronomy .slider_block .swiper .swiper-wrapper .swiper-slide .slide_box:hover img {
	transform: scale(1.25);
}

.l_gastronomy .slider_block .swiper .swiper-wrapper .swiper-slide .slide_box:hover .hover_btn {
	transition: all 0.4s ease;
	opacity: 1;
}

.l_gastronomy .slider_btn_block {
	display: flex;
	justify-content: flex-end;
	margin: 0 1.7182130584%;
}

.l_image_box {
	margin-top: 80px;
	padding-left: 2.7491408935%;
	padding-right: 2.7491408935%;
}

.reservation_block {
	margin-bottom: 40px;
}

.reservation_block .btn_block {
	text-align: left;
}

.reservation_block .btn_block .btn {
	display: inline-block;
	margin: 20px 0 20px;
}

.reservation_block .btn_block .note {
	margin-bottom: 5px;
	color: #757575;
	font-size: 1.3rem;
	line-height: 1.3;
}

.l_contact {
	position: relative;
	margin: 140px 0 120px;
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.l_contact h2 {
	margin-bottom: 90px;
	text-align: center;
	font-size: 2rem;
}

.l_contact h2 span {
	display: block;
	font-size: 4rem;
	font-weight: bold;
	margin: 30px auto 40px;
}

.l_contact .read {
	margin: 0 auto 24px;
	width: 540px;
	color: #757575;
	font-size: 1.6rem;
	line-height: 1.5;
	text-align: center;
}

.l_contact .btn_block {
	text-align: center;
}

.l_contact .btn_block .btn {
	display: inline-block;
	margin: 40px 0 20px;
}

.l_contact .btn_block .note {
	margin-bottom: 5px;
	color: #757575;
	font-size: 1.3rem;
	line-height: 1.3;
}

.l_slider_only {
	margin: 80px 0 0;
	padding-left: 2.7491408935%;
	padding-right: 2.7491408935%;
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.l_slider_only .slider_only {
	margin-top: 80px;
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}

.l_slider_only .slider_only .slider_only_block .swiper_only {
	overflow: hidden;
}

.l_slider_only .slider_only .slider_btn_block {
	display: flex;
	justify-content: flex-end;
	margin-top: 20px;
}

@media screen and (max-width: 960px) {

.l_slider .slider_block {
	margin-right: 4.1666666667%;
	margin-left: 4.1666666667%;
}

.l_slider .slider_block .slider_dining .swiper-wrapper .swiper-slide {
	padding: 0 2.0833333333%;
}

.l_slider .slider_btn_block {
	margin: 0 6.25%;
}

.l_gastronomy .slider_block {
	margin-right: 4.1666666667%;
	margin-left: 4.1666666667%;
}

.l_gastronomy .slider_block .swiper .swiper-wrapper .swiper-slide {
	padding: 0 2.0833333333%;
}

.l_gastronomy .slider_btn_block {
	margin: 0 6.25%;
}

}

@media screen and (max-width: 768px) {

.l_mv {
	padding-left: 5.2083333333vw;
	padding-right: 5.2083333333vw;
}

.l_mv .mv_block {
	height: calc(80vh - 138px);
	height: calc(80svh - 138px);
	min-height: 119.7916666667vw;
}

.l_mv .mv_inner {
	padding: 16.6666666667vw 5.2083333333vw;
}

.l_mv .mv_titleline {
	font-size: 8.3333333333vw;
}

.l_slider {
	display: block;
	margin: 0 auto;
	padding: 5.2083333333vw 7.8125vw 7.8125vw;
}

.l_slider .slider_block {
	margin: 0 auto;
}

.l_slider .slider_block .slider_dining .swiper-wrapper .swiper-slide {
	padding: 0 2.6041666667vw;
}

.l_slider .slider_block .slider_dining .swiper-wrapper .swiper-slide .slide_box {
	margin-bottom: 10.4166666667vw;
}

.l_slider .slider_btn_block {
	justify-content: center;
}

.l_gastronomy {
	display: block;
	margin: 0 auto;
	padding: 20.8333333333vw 10.4166666667vw 7.8125vw;
}

.l_gastronomy .title {
	margin-bottom: 20.8333333333vw;
	font-size: 4.6875vw;
}

.l_gastronomy .title .accent {
	font-size: 6.25vw;
	margin: 6.5104166667vw auto 10.4166666667vw;
}

.l_gastronomy .title .accent_sub {
	margin: 6.5104166667vw auto 0;
}

.l_gastronomy .read {
	margin-bottom: 6.25vw;
	width: 100%;
	font-size: 4.1666666667vw;
}

.l_gastronomy .slider_block {
	margin: 20.8333333333vw auto 0;
}

.l_gastronomy .slider_block .swiper .swiper-wrapper .swiper-slide {
	padding: 0 2.6041666667vw;
}

.l_gastronomy .slider_block .swiper .swiper-wrapper .swiper-slide .slide_box {
	margin-bottom: 10.4166666667vw;
}

.l_gastronomy .slider_btn_block {
	justify-content: center;
}

.l_image_box {
	margin-top: 0;
	padding: 0;
}

.reservation_block .btn_block .btn {
	position: relative;
	display: block;
	top: auto;
	left: auto;
	transform: none;
	text-align: center;
	width: 79.1666666667vw;
	margin: 10.4166666667vw auto 5.2083333333vw;
}

.reservation_block .btn_block .note {
	width: 79.1666666667vw;
	margin: 0 auto;
	text-align: left;
	font-size: 3.6458333333vw;
}

.l_contact {
	margin: 26.0416666667vw 0 15.625vw;
}

.l_contact h2 {
	margin-bottom: 20.8333333333vw;
	font-size: 4.6875vw;
}

.l_contact h2 span {
	font-size: 6.25vw;
	margin: 6.5104166667vw auto 10.4166666667vw;
}

.l_contact .read {
	margin-bottom: 6.25vw;
	padding: 0 10.4166666667vw;
	width: 100%;
	font-size: 4.1666666667vw;
}

.l_contact .btn_block .btn {
	position: relative;
	display: block;
	top: auto;
	left: auto;
	transform: none;
	text-align: center;
	width: 79.1666666667vw;
	margin: 10.4166666667vw auto 5.2083333333vw;
}

.l_contact .btn_block .note {
	width: 79.1666666667vw;
	margin: 0 auto;
	text-align: left;
	font-size: 3.6458333333vw;
}

.l_slider_only {
	margin: 0;
	padding: 0 0 7.8125vw;
}

.l_slider_only .slider_only {
	margin-top: 0;
	padding: 0;
}

.l_slider_only .slider_only .slider_btn_block {
	justify-content: center;
	margin-top: 8.3333333333vw;
}

}

