@charset "UTF-8";

/*メインビジュアル*/
.top-image {
  width: 100%;
  aspect-ratio: 1900 / 686; 
  overflow: hidden;
  position: relative;
}

.top-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  z-index: -1;
}

.top-mobile {
  display: none;
}

@media screen and (max-width: 768px) {
  .top-image {
    aspect-ratio: 690 / 575; 
  }

  .top-desktop {
    display: none;
  }

  .top-mobile {
    display: block;
  }
}

.mv {
	width: 100%;
	height: 550px;
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.mv {
		height: 146.6666666667vw;
	}
}

.mv h1 {
	width: 490px;
}

@media screen and (max-width: 768px) {
	.mv h1 {
		width: 74.6666666667vw;
	}
}

.mv video {
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	z-index: -1;
	-o-object-fit: cover;
	object-fit: cover;
}

/*INTRO*/
.intro {
  padding-top: 100px;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-weight: 500;
  text-align: center;
  position: relative;
  z-index: 3;
}

@media screen and (max-width: 768px) {
	.intro {
		padding-top: 16vw;
	}
}

.intro__ttl {
	font-size: 25px;
	margin-bottom: 50px;
	line-height: 1.8;
}

@media screen and (max-width: 768px) {
	.intro__ttl {
		font-size: 6.6666666667vw;
		margin-bottom: 5.3333333333vw;
	}
}

.intro__copy {
	font-size: 17px;
	line-height: 2;
	margin-bottom: 2em;
}

.intro__date {
	color: #999;
	font-size: 19px;
	line-height: 2;
	margin-bottom: 70px;
}

@media screen and (max-width: 768px) {
	.intro__copy {
		font-size: 4.2666666667vw;
	}

	.intro__date {
		margin-bottom: 10.6666666667vw;
		font-size: 4.8vw;
	}
}

.intro .menu__list {
	width: 1100px;
	margin: 0 auto;
	display: flex;
	gap: 0;
}

@media screen and (max-width: 768px) {
	.intro .menu__list {
		width: 100%;
	}
}

.intro .menu__list li {
	width: 50%;
}

.intro .menu__item {
	display: flex;
	width: 100%;
	height: 450px;
	align-items: center;
	justify-content: center;
	background-size: cover;
	position: relative;
	overflow: hidden;
	opacity: 1;
	background-size: auto;
	transition: 0.8s;
}

@media screen and (max-width: 768px) {
	.intro .menu__item {
		height: 41.3333333333vw;
	}
}

.intro .menu__item__bg {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transition: 0.8s;
	transform: scale(1);
}

.intro .menu__item:hover {
	opacity: 1;
}

.intro .menu__item:hover .menu__item__bg {
	transform: scale(1.1);
}

.intro .menu__item:hover::before {
	background-color: rgba(0, 0, 0, 0);
}

.intro .menu__item::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.4);
	transition: 0.8s;
	z-index: 2;
}

.intro .menu__act .menu__item__ttl {
	width: 207px;
	z-index: 3;
}

@media screen and (max-width: 768px) {
	.intro .menu__act .menu__item__ttl {
		width: 20.6666666667vw;
	}
}

.intro .menu__rest .menu__item__ttl {
	width: 277px;
	z-index: 3;
}

@media screen and (max-width: 768px) {
	.intro .menu__rest .menu__item__ttl {
		width: 27.7333333333vw;
	}
}

.intro .menu__stay .menu__item__ttl {
	width: 234px;
	z-index: 3;
}

@media screen and (max-width: 768px) {
	.intro .menu__stay .menu__item__ttl {
		width: 23.4666666667vw;
	}
}

/*activities*/
.activities {
  margin-top: -140px; 
  background: #E5E1D8;
  padding-top: 220px; 
  padding-bottom: 72px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .activities {
    margin-top: 0;
    padding-top: 12vw;
    padding-bottom: 10vw;
  }
}

.activities__inner {
  width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .activities__inner {
    width: 100%;
    padding: 0 6vw;
  }
}

.activities .slider__info {
  max-width: 900px;
  margin: 0 auto;
  padding: 0; /* remove excessive inner padding */
  text-align: left;
}

.activities .slider__ttl {
  margin: 0 0 18px;
  font-size: 24px;
  line-height: 1.35;
  letter-spacing: 0.04em;
  color: #1E7CB9; 
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .activities .slider__ttl {
    font-size: 6vw;
    margin-bottom: 3.5vw;
  }
}

.activities .slider__copy {
  margin: 0;
  font-size: 14px;
  line-height: 2;
  color: #333;
  text-align: justify;
}

.activities .slider__copy b {
  display: inline-block;
  margin-bottom: 0.6em;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .activities .slider__copy {
    font-size: 4.1vw;
    line-height: 1.95;
    text-align: left;
  }
}

/*event*/
.event {
	background: url(../img/event_bg.jpg);
	background-size: cover;
}

@media screen and (max-width: 768px) {
	.event {
		background: url(../img/event_bg_sp.jpg);
		background-size: cover;
	}
}

.event__inner {
	display: flex;
	padding-top: 70px;
	width: 1100px;
	margin: 0 auto;
	padding-bottom: 70px;
}

@media screen and (max-width: 768px) {
	.event__inner {
		display: block;
		width: 100%;
		padding-top: 17.3333333333vw;
		padding-bottom: 13.3333333333vw;
	}
}

.event__ttl {
	width: 135px;
	display: flex;
	align-items: flex-start;
	position: relative;
}

@media screen and (max-width: 768px) {
	.event__ttl {
		width: 100%;
		display: block;
		margin-bottom: 4vw;
	}
}

.event__ttl--en {
	position: absolute;
	top: -50px;
	left: 0;
	width: 220px;
	transform: rotate(90deg);
	transform-origin: left bottom;
}

@media screen and (max-width: 768px) {
	.event__ttl--en {
		position: static;
		transform: rotate(0deg);
		margin: 0 auto 3.2vw;
		width: 33.6vw;
	}
}

.event__ttl--jp {
	writing-mode: vertical-rl;
	font-size: 22px;
	font-family: YakuHanMP, "Noto Serif JP", serif;
	color: #fff;
	letter-spacing: 0.15em;
	position: absolute;
	top: 0;
	left: 70px;
}

@media screen and (max-width: 768px) {
	.event__ttl--jp {
		font-size: 4.8vw;
		writing-mode: horizontal-tb;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
		position: static;
		margin: 0 auto;
		text-align: center;
	}
}

.event__img {
	width: 550px;
}

@media screen and (max-width: 768px) {
	.event__img {
		width: 88vw;
		margin: 0 auto 4.8vw;
	}
}

.event__info {
	width: 415px;
	padding-left: 22px;
	color: #fff;
	box-sizing: border-box;
}

@media screen and (max-width: 768px) {
	.event__info {
		width: 88vw;
		margin: 0 auto;
		padding-left: 0;
	}
}

.event__date {
	font-family: "EB Garamond", serif;
	font-size: 45px;
	margin-bottom: 20px;
	font-weight: 300;
}

@media screen and (max-width: 768px) {
	.event__date {
		font-size: 8vw;
		margin-bottom: 2.6666666667vw;
	}
}

.event__date span {
	font-size: 30px;
}

@media screen and (max-width: 768px) {
	.event__date span {
		font-size: 5.3333333333vw;
	}
}

.event h3 {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 18px;
	margin-bottom: 20px;
	line-height: 1.4;
}

@media screen and (max-width: 768px) {
	.event h3 {
		font-size: 4.8vw;
		margin-bottom: 4vw;
	}
}

.event__copy {
	line-height: 1.8;
	margin-bottom: 30px;
	letter-spacing: 0.05em;
	text-align: justify;
}

.event__copy span {
	color: #1e7cb9;
}

.event__copy .sp-none {
	color: #fff;
}

@media screen and (max-width: 768px) {
	.event__copy .sp-none {
		display: none;
	}
}

.event__copy .pc-none {
	display: none;
}

@media screen and (max-width: 768px) {
	.event__copy .pc-none {
		display: inline-block;
	}
}


/*restaurants*/
.restaurants {
	padding: 120px 0 0 0;
}

@media screen and (max-width: 768px) {
	.restaurants {
		padding: 16vw 0 0 0;
	}
}

.restaurants__inner {
	width: 1100px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.restaurants__inner {
		width: 88vw;
	}
}

.restaurants h2 {
	margin: 0 auto 33px;
	display: block;
	text-align: center;
}

.restaurants h2 img {
	width: 416px;
	margin: 0 auto 25px;
}

@media screen and (max-width: 768px) {
	.restaurants h2 img {
		width: 66.6666666667vw;
		margin: 0 auto 4vw;
	}
}

.restaurants h2 p {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 18px;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.restaurants h2 p {
		font-size: 4.8vw;
	}
}

.restaurants__menu {
	display: flex;
	gap: 10px;
	width: 775px;
	margin: 0 auto 70px;
}

@media screen and (max-width: 768px) {
	.restaurants__menu {
		display: block;
		width: 100%;
		margin: 0 auto 12vw;
	}
}

.restaurants__menu a {
	display: block;
	background: #DE8959;
	color: #fff;
	text-align: center;
	padding: 22px 10px;
	border-radius: 5px;
	width: 33.3333%;
}

@media screen and (max-width: 768px) {
	.restaurants__menu a {
		width: 88vw;
		margin: 0 auto;
		padding: 5.3333333333vw 10px;
		margin-bottom: 2.6666666667vw;
	}
}

.restaurants__menu a .restaurants__en {
	font-family: "EB Garamond", serif;
	font-size: 30px;
	margin-bottom: 10px;
	line-height: 1;
}

@media screen and (max-width: 768px) {
	.restaurants__menu a .restaurants__en {
		font-size: 8vw;
		margin-bottom: 1.3333333333vw;
	}
}

.restaurants__menu a .restaurants__copy {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 15px;
	line-height: 1;
}

@media screen and (max-width: 768px) {
	.restaurants__menu a .restaurants__copy {
		font-size: 4vw;
	}
}

.restaurants__sttl {
	padding-bottom: 24px;
	margin-bottom: 35px;
	border-bottom: 2px solid #858585;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.restaurants__sttl {
		padding-bottom: 4vw;
		margin-bottom: 4vw;
	}
}

.restaurants__sttl__en {
	font-family: "EB Garamond", serif;
	font-size: 40px;
	margin-bottom: 10px;
	letter-spacing: 2px;
}

@media screen and (max-width: 768px) {
	.restaurants__sttl__en {
		font-size: 8vw;
		margin-bottom: 1.6vw;
	}
}

.restaurants__sttl__jp {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 16px;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.restaurants__sttl__jp {
		font-size: 4.2666666667vw;
	}
}

.restaurants__list {
	margin-bottom: 30px;
}

.restaurants__list h4 {
	margin-bottom: 12px;
	display: flex;
	justify-content: space-between;
}

.restaurants__list__ttl {
	color: #DE8959;
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.restaurants__list__ttl {
		font-size: 4.8vw;
		letter-spacing: 0;
	}
}

.restaurants__list__notice {
	font-size: 13px;
	letter-spacing: 0;
	white-space: nowrap;
	color: #333;
	font-family: YakuHanJP, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}

@media screen and (max-width: 768px) {
	.restaurants__list__notice {
		font-size: 3.4666666667vw;
	}
}

.restaurants__list__op {
	color: #AFA388;
	font-size: 13px;
	background: #E5E1D8;
	border-radius: 5px;
	font-weight: 500;
	width: 76px;
	padding: 5px 3px;
	text-align: center;
	height: 22px;
	transform: translateY(2px);
	white-space: nowrap;
	line-height: 1;
}

@media screen and (max-width: 768px) {
	.restaurants__list__op {
		font-size: 3.4666666667vw;
		width: 20.2666666667vw;
		height: 6.1333333333vw;
		padding: 1.3333333333vw 0.8vw;
		transform: 0.5333333333vw;
	}
}

.restaurants__list__copy {
	line-height: 1.8;
}

.restaurants__lunch .restaurants__list {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
	.restaurants__lunch .restaurants__list {
		display: block;
	}
}

.restaurants__lunch .restaurants__item {
	width: calc(50% - 20px);
	margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
	.restaurants__lunch .restaurants__item {
		width: 100%;
		margin-bottom: 16vw;
	}
}

.restaurants__lunch .restaurants__item a.restaurants__link {
	opacity: 1;
	display: block;
	margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
	.restaurants__lunch .restaurants__item a.restaurants__link {
		margin-bottom: 5.3333333333vw;
	}
}

.restaurants__lunch .restaurants__item a.restaurants__link img {
	transition: 0.3s;
	transform: scale(1);
}

.restaurants__lunch .restaurants__item a.restaurants__link:hover img {
	transform: scale(1.1);
}

.restaurants__lunch .restaurants__item .btn a {
	border: 1px solid #DE8959;
	background: #fff;
	color: #DE8959;
	transition: 0.3s;
	opacity: 1;
}

.restaurants__lunch .restaurants__item .btn a:hover {
	border: 1px solid #DE8959;
	background: #DE8959;
	color: #fff;
}

.restaurants__lunch .restaurants__item .btn a:hover::after {
	background: url(../img/icon_arrow-wh-sm.svg) no-repeat;
}

.restaurants__lunch .restaurants__date {
	width: 100%;
	font-size: 12px;
	text-align: center;
	margin-top: -10px;
}

@media screen and (max-width: 768px) {
	.restaurants__lunch .restaurants__date {
		margin-top: 0;
		font-size: 3.2vw;
		margin-bottom: 5.3333333333vw;
	}
}

.restaurants__lunch .restaurants__date span {
	font-family: "EB Garamond", serif;
	font-size: 25px;
}

@media screen and (max-width: 768px) {
	.restaurants__lunch .restaurants__date span {
		font-size: 6.6666666667vw;
	}
}

.restaurants__lunch .slick-list {
	width: 100%;
}

.restaurants__lunch .slider-img {
	margin-bottom: 15px;
}

.restaurants__lunch .slider-img .slick-slide {
	width: 530px;
	height: 350px;
	overflow: hidden;
	border-radius: 5px;
}

@media screen and (max-width: 768px) {
	.restaurants__lunch .slider-img .slick-slide {
		width: 88vw;
		height: 58.1333333333vw;
	}
}

.restaurants__dinner {
	margin-bottom: 70px;
}

.restaurants__dinner .restaurants__list {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.restaurants__dinner .restaurants__list {
		display: block;
	}
}

.restaurants__dinner .restaurants__item {
	width: 346px;
	margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
	.restaurants__dinner .restaurants__item {
		width: 88vw;
		margin-bottom: 10.6666666667vw;
	}
}

.restaurants__dinner .restaurants__item a.restaurants__link {
	opacity: 1;
	display: block;
	margin-bottom: 30px;
}

.restaurants__dinner .restaurants__item a.restaurants__link img {
	transition: 0.3s;
	transform: scale(1);
	border-radius: 5px;
}

.restaurants__dinner .restaurants__item a.restaurants__link:hover img {
	transform: scale(1.1);
}

.restaurants__dinner .restaurants__date {
	width: 100%;
	font-size: 12px;
	text-align: center;
}

.restaurants__dinner .restaurants__date span {
	font-family: "EB Garamond", serif;
	font-size: 25px;
}

.restaurants__dinner .slick-list {
	width: 100%;
}

.restaurants__dinner .slider-img {
	margin-bottom: 15px;
}

.restaurants__dinner .slider-img .slick-slide {
	width: 346px;
	height: 234px;
	overflow: hidden;
	border-radius: 5px;
}

@media screen and (max-width: 768px) {
	.restaurants__dinner .slider-img .slick-slide {
		width: 88vw;
		height: 59.7333333333vw;
	}
}

.ac-contents {
	display: none;
}

/*newopen*/
.newopen {
	background: #C47759;
	padding: 110px 0 120px 0;
}

@media screen and (max-width: 768px) {
	.newopen {
		padding: 14.6666666667vw 0;
	}
}

.newopen__inner {
	width: 1100px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.newopen__inner {
		width: 100%;
	}
}

.newopen__sttl {
	padding-bottom: 24px;
	text-align: center;
}

.newopen__sttl__en {
	font-family: "EB Garamond", serif;
	font-size: 40px;
	margin-bottom: 10px;
	color: #fff;
	letter-spacing: 3px;
}

@media screen and (max-width: 768px) {
	.newopen__sttl__en {
		font-size: 8vw;
		margin-bottom: 1.6vw;
	}
}

.newopen__sttl__jp {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 16px;
	color: #fff;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.newopen__sttl__jp {
		font-size: 4.2666666667vw;
		margin-bottom: 1.6vw;
	}
}

.newopen__list {
	display: flex;
	gap: 25px;
}

@media screen and (max-width: 768px) {
	.newopen__list {
		display: block;
	}
}

.newopen__list__ttl {
	color: #fff;
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 18px;
	line-height: 1.4;
	margin-bottom: 12px;
}

@media screen and (max-width: 768px) {
	.newopen__list__ttl {
		font-size: 4.8vw;
	}
}

.newopen__list__copy {
	color: #fff;
	line-height: 1.8;
	margin-bottom: 25px;
}

.newopen__item {
	width: 345px;
	position: relative;
}

@media screen and (max-width: 768px) {
	.newopen__item {
		width: 88vw;
		margin: 0 auto 13.3333333333vw;
	}
}

.newopen__item img {
	border-radius: 5px;
	margin-bottom: 15px;
}

.newopen__item .btn {
	position: absolute;
	bottom: -20px;
}

@media screen and (max-width: 768px) {
	.newopen__item .btn {
		position: static;
		bottom: 0;
	}
}

.newopen__item .btn a {
	padding: 10px 80px 10px 60px;
}

/*stayplans*/
.stayplans {
	padding: 120px 0;
}

@media screen and (max-width: 768px) {
	.stayplans {
		padding: 14.6666666667vw 0;
	}
}

.stayplans__inner {
	width: 1100px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.stayplans__inner {
		width: 100%;
	}
}

.stayplans h2 {
	margin: 0 auto 50px;
	display: block;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.stayplans h2 {
		margin: 0 auto 5.3333333333vw;
	}
}

.stayplans h2 img {
	width: 352px;
	margin: 0 auto 25px;
}

@media screen and (max-width: 768px) {
	.stayplans h2 img {
		width: 62.4vw;
		margin: 0 auto 5.3333333333vw;
	}
}

.stayplans h2 p {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 18px;
}

@media screen and (max-width: 768px) {
	.stayplans h2 p {
		font-size: 4.8vw;
	}
}

.stayplans__menu__wrap {
	display: flex;
	width: 940px;
	gap: 80px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.stayplans__menu__wrap {
		display: none;
		position: absolute;
		z-index: 3;
		background: #fff;
		width: 90vw;
		margin: 0 5vw;
	}
}

.stayplans__menu__wrap .stayplans__menu__left {
	width: 420px;
}

@media screen and (max-width: 768px) {
	.stayplans__menu__wrap .stayplans__menu__left {
		width: 100%;
	}
}

.stayplans__menu__wrap .stayplans__menu__right {
	width: 420px;
}

@media screen and (max-width: 768px) {
	.stayplans__menu__wrap .stayplans__menu__right {
		width: 100%;
	}
}

.stayplans .stayplans__open.active::after {
	transform: translateY(-50%) rotate(180deg);
}

.stayplans__menu {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	gap: 27px 100px;
	margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
	.stayplans__menu {
		display: block;
		width: 80vw;
		margin-bottom: 0;
	}
}

.stayplans__menu li {
	width: 100%;
	border-bottom: 1px solid #28a9dc;
	position: relative;
	padding-bottom: 12px;
}

@media screen and (max-width: 768px) {
	.stayplans__menu li {
		width: 100%;
		padding-bottom: 1.3333333333vw;
		margin-bottom: 4vw;
	}
}

.stayplans__menu li a::after {
	position: absolute;
	content: "";
	background: url(../img/stay_menu_bleu.svg) no-repeat;
	width: 37px;
	height: 37px;
	background-size: 100%;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}

@media screen and (max-width: 768px) {
	.stayplans__menu li a::after {
		width: 5.8666666667vw;
		height: 5.8666666667vw;
	}
}

.stayplans__menu__ttl {
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 19.5px;
	font-weight: 500;
	letter-spacing: 0;
}

@media screen and (max-width: 768px) {
	.stayplans__menu__ttl {
		font-size: 3.7866666667vw;
		padding-bottom: 1.3333333333vw;
	}
}

.stayplans__menu__sttl {
	margin-bottom: 6px;
}

@media screen and (max-width: 768px) {
	.stayplans__menu__sttl {
		font-size: 3.2vw;
		margin-bottom: 1.0666666667vw;
	}
}

.stayplans__notice {
	line-height: 1.4;
}

@media screen and (max-width: 768px) {
	.stayplans__notice {
		width: 88vw;
		margin: 0 auto;
	}
}

.stayplans__notice li {
	font-size: 12px;
	margin-bottom: 3px;
	text-indent: -1em;
	padding-left: 1em;
}

@media screen and (max-width: 768px) {
	.stayplans__notice li {
		font-size: 3.2vw;
	}
}

/*hotels*/
.hotels__item {
	display: flex;
	justify-content: space-between;
	border-bottom: 2px solid #858585;
	padding-bottom: 80px;
	margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
	.hotels__item {
		display: block;
		margin-top: -2.6666666667vw;
		padding-top: 2.6666666667vw;
		padding-bottom: 8vw;
		margin-bottom: 8vw;
		border-bottom: 1px solid #858585;
	}
}

.hotels__left {
	width: 680px;
}

@media screen and (max-width: 768px) {
	.hotels__left {
		width: 100%;
		margin-bottom: 6.6666666667vw;
	}
}

.hotels__left .slider__hotels {
	border-radius: 5px;
	overflow: hidden;
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.hotels__left .slider__hotels {
		border-radius: 0;
	}
}

@media screen and (max-width: 768px) {
	.hotels__left .btn {
		display: block;
		margin: 0 auto;
		width: 88vw;
	}

	.hotels__left .btn a {
		display: block;
		margin: 0 auto 2.6666666667vw;
	}
}

.hotels__right {
	width: 350px;
	background: #D9F0FC;
	height: -moz-fit-content;
	height: fit-content;
	padding: 25px 35px 35px 35px;
}

@media screen and (max-width: 768px) {
	.hotels__right {
		width: 88vw;
		margin: 0 auto;
		padding: 8vw 6.6666666667vw;
	}
}

@media screen and (max-width: 768px) {
	.hotels__right .btn {
		margin: 0 auto;
	}

	.hotels__right .btn a {
		display: block;
		margin: 0 auto;
		width: 50.6666666667vw;
	}
}

.hotels__info {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.hotels__logo {
	width: 210px;
	height: 140px;
	display: flex !important;
	justify-content: center;
	align-items: center;
}

.hotels__logo.sp {
	display: none !important;
}

@media screen and (max-width: 768px) {
	.hotels__logo {
		display: block !important;
		margin: 0 auto;
		text-align: center;
		width: auto;
		height: auto;
		margin-top: 5.3333333333vw;
		margin-bottom: 5.3333333333vw;
	}

	.hotels__logo.pc {
		display: none !important;
	}

	.hotels__logo.sp {
		display: block !important;
	}

	.hotels__logo img {
		margin: 0 auto;
	}
}

.hotels__more {
	width: 430px;
	text-align: left;
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.hotels__more {
		width: 88vw;
		margin: 0 auto;
	}
}

.hotels__name {
	font-size: 18px;
	color: #1e7cb9;
	font-family: YakuHanMP, "Noto Serif JP", serif;
	margin-bottom: 15px;
	font-weight: 500;
	margin-top: 20px;
}

@media screen and (max-width: 768px) {
	.hotels__name {
		font-size: 4.8vw;
		margin-bottom: 4vw;
		margin-top: 5.3333333333vw;
	}
}

.hotels__txt {
	line-height: 1.8;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

.hotels__recommend {
	width: 196px;
	margin: 0 auto 14px;
}

@media screen and (max-width: 768px) {
	.hotels__recommend {
		width: 34.6666666667vw;
	}
}

.hotels__img {
	border-radius: 5px;
	margin-bottom: 12px;
}

.hotels__course {
	color: #1e7cb9;
	font-size: 16px;
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-weight: 500;
	margin-bottom: 12px;
	line-height: 1.5;
	letter-spacing: 0;
}

@media screen and (max-width: 768px) {
	.hotels__course {
		font-size: 4.2666666667vw;
	}
}

.hotels__notice {
	margin-bottom: 30px;
	line-height: 1.8;
	text-align: justify;
}

@media screen and (max-width: 768px) {
	.hotels__notice {
		margin-bottom: 5.3333333333vw;
	}
}

.hotels #hotel-01 .hotels__logo img {
	width: 166px;
}

.hotels #hotel-02 .hotels__logo img {
	width: 149px;
}

.hotels #hotel-03 .hotels__logo img {
	width: 149px;
}

.hotels #hotel-04 .hotels__logo img {
	width: 164px;
}

.hotels #hotel-05 .hotels__logo img {
	width: 91px;
}

.hotels #hotel-06 .hotels__logo img {
	width: 149px;
}

.hotels #hotel-07 .hotels__logo img {
	width: 198px;
}

.hotels #hotel-08 .hotels__logo img {
	width: 156px;
}

.hotels #hotel-09 .hotels__logo img {
	width: 140px;
}
.hotels #hotel-102 .hotels__logo img {
	width: 149px;
}

.hotels #hotel-103 .hotels__logo img {
	width: 149px;
}

.hotels #hotel-104 .hotels__logo img {
	width: 164px;
}

.hotels #hotel-105 .hotels__logo img {
	width: 91px;
}

.hotels #hotel-106 .hotels__logo img {
	width: 149px;
}

.hotels #hotel-107 .hotels__logo img {
	width: 198px;
}

.hotels #hotel-108 .hotels__logo img {
	width: 156px;
}

.hotels #hotel-109 .hotels__logo img {
	width: 140px;
}

@media screen and (max-width: 768px) {
	.hotels .slick-slide {
		width: 100vw;
		height: 50.1333333333vw;
	}
}


.room {
  margin-bottom: 2.5em;
  padding: 88px 0;
  background: #d9ddc2; /* soft sage */
}

@media screen and (max-width: 768px) {
  .room {
    padding: 12vw 0;
    margin-bottom: 12vw;
  }
}

.room__inner {
  width: 1100px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .room__inner {
    width: 100%;
  }
}

.room h3 {
  text-align: center;
  margin-bottom: 36px;
}

@media screen and (max-width: 768px) {
  .room h3 {
    margin-bottom: 6vw;
    padding: 0 6vw;
  }
}

.room__sttl {
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: 18px;
  margin-bottom: 8px;
  font-weight: 500;
  color: #3f4424;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .room__sttl {
    font-size: 4.5vw;
    margin-bottom: 2.5vw;
  }
}

.room__ttl {
  color: #7e593e;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: 34px;
  font-weight: 500;
  line-height: 1.35;
  text-shadow: 0 1px 2px rgba(0,0,0,0.08);
}

@media screen and (max-width: 768px) {
  .room__ttl {
    font-size: 7.2vw;
    line-height: 1.35;
  }
}

.room__block {
  width: 920px;
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 34px;
  background: rgba(255,255,255,0.28);
  padding: 30px;
  border-radius: 18px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .room__block {
    width: 88vw;
    display: block;
    padding: 5.5vw;
    border-radius: 4vw;
  }
}

.room__left {
  width: 420px;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .room__left {
    width: 100%;
    margin: 0 0 5vw;
  }
}

.room__left img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  border-radius: 14px;
}

@media screen and (max-width: 768px) {
  .room__left img {
    min-height: auto;
    border-radius: 3vw;
  }
}

.room__right {
  width: calc(100% - 454px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .room__right {
    width: 100%;
  }
}

.room__title {
  color: #7e593e;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-size: 30px;
  margin-bottom: 16px;
  font-weight: 500;
  line-height: 1.45;
  text-shadow: 0 1px 2px rgba(0,0,0,0.10);
}

@media screen and (max-width: 768px) {
  .room__title {
    font-size: 6.2vw;
    margin-top: 0;
    margin-bottom: 3.5vw;
    line-height: 1.45;
  }
}

.room__txt {
  color: #222;
  line-height: 1.95;
  text-align: left;
  margin-bottom: 26px;
  font-size: 16px;
  word-break: break-word;
}

@media screen and (max-width: 768px) {
  .room__txt {
    font-size: 4.1vw;
    line-height: 1.9;
    margin-bottom: 5vw;
  }
}

.room__txt u {
  text-decoration: none;
  font-weight: 700;
  color: #3f4424;
}

.room__txt b {
  display: inline-block;
  margin-top: 8px;
  font-weight: 700;
}

.room__txt a {
  color: #1e7cb9;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.room__txt a:hover {
  opacity: 0.8;
}

.room .btn {
  margin-top: 8px;
}

@media screen and (max-width: 768px) {
  .room .btn {
    margin-top: 0;
  }
}

.room .btn a {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .room .btn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 62vw;
    margin: 0 auto;
  }
}

/*app*/
.app {
	background-color: #E5E1D8;
	padding: 70px 0;
}

.app__inner {
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
	position: relative;
}

.app__img {
	width: 497px;
	display: block;
	margin: 0 auto 22px;
}

@media screen and (max-width: 768px) {
	.app__img {
		width: 90%;
	}
}

.app__get {
	width: 170px;
	position: absolute;
	top: -40px;
	right: -170px;
}

@media screen and (max-width: 768px) {
	.app__get {
		width: 32vw;
		position: static;
		margin: 0 auto 5.3333333333vw;
		display: block;
	}
}

.app__link {
	display: flex;
	gap: 35px;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.app__link {
		gap: 5.3333333333vw;
	}
}

.app__link li {
	width: 173px;
}

@media screen and (max-width: 768px) {
	.app__link li {
		width: 37.3333333333vw;
	}
}


.hotels__couponTag{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding: 10px 14px;
  border: 1px solid #CA5A4A;
  background: rgba(255, 255, 255, 0.65);
  box-sizing: border-box;
  margin-bottom: 12px;
}

.couponTag__rate{
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: rgba(140, 29, 24, 0.85);
  white-space: nowrap;
}

.couponTag__divider{
  width: 1px;
  height: 18px;
  background: rgba(140, 29, 24, 0.25);
}

.couponTag__right{
  display: flex;
  flex-direction: column;
  justify-content:center;
  align-items:center;
  gap: 4px;
}

.couponTag__label{
  font-size: 12px;
  color: rgba(0,0,0,0.65);
  white-space: nowrap;
}

.couponTag__code{
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: rgba(0,0,0,0.82);
  white-space: nowrap;
}

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

  .hotels__couponTag{
    margin-left: auto;
    margin-right: auto;
  }

  .couponTag__rate{
    font-size: 14px;
  }

  .couponTag__label{
    font-size: 11px;
  }

  .couponTag__code{
    font-size: 14px;
  }
}