@charset "UTF-8";


/* =============================================
　　root
============================================= */

:root {

	--color-primary:#61bffc;
	--color-secondary:#bc882e;
	--color-accent:#273f1b;
	--color-base:#ffe7c5;
	--color-miffywondersquare:#ffdf00;
	--color-attractions:#42ab6a;
	--color-aircruisetheride:#04204d;
	--color-mission-deepsea:#000;
	--color-springevent:#ea839d;
	--color-evangelion:#000;
	--color-sunflower:#FFC107;
	--color-tastekyushu:#00BCD4;
	--color-fireworks:#000;
	--color-alice:#000;
	--color-pool:#43c3fb;

	--corner-radius:3.5rem;
}
.htb-pagetop {
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 768px) {
  .h-header__cta.sp-side {
	transition: all 0.4s;
  }
  body.scroll .h-header__cta.sp-side {
	bottom: 40%;
	transition: all 0.4s;
  }
  body.upfixed .h-header__cta.sp-side {
	bottom: 35%;
  }
}

/* =============================================
　　nav
============================================= */

nav {
	background: transparent;
	border-bottom: 0;
	grid-template-columns: auto;
	gap: 0;
	justify-content: end;
}

nav >.nav__dialog {
	background:#fff;
	color:var(--color-primary);
	border: 2px solid;
	box-shadow: 1px 1px 3px #000;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-radius:999px;
	aspect-ratio: 1 / 1;
	width: 60px;
	padding:5px;
	  right: 5px;
}
.dialog-menu-btn span {
	background-color: var(--color-primary) !important;
	height: 2px;
}
.dialog-menu-btn.js-dialog-menu-close {
	margin: 0 auto;
}
nav >.nav__dialog:after {
  content: "一覧";
  font-size: 12px;
  font-weight: bold;
  line-height: 100%;
}
body.upfixed nav >.nav__dialog {
  top: 10px;
}


.js-dialog-inner {
  background: #fff;
  color: var(--color-primary);
  border: 3px solid;
  border-radius: 2rem 0 0 2rem;
  border-right: 0;
}

dialog.js-dialog-menu {
	width: 60%;
	background: transparent;
	max-width: 320px;
	top: 7%;
}
.js-dialog-menu .body {
  padding: 0 8px;
}
.js-dialog-menu .body > ul {
	margin: 0 0 20px;
	flex-direction: row;
	flex-wrap: wrap;
}
.js-dialog-menu .body > ul > li {
  border:0;
  width: calc(100% / 2 - 10px);
}
.js-dialog-menu .body > ul li a, .js-dialog-menu .body > ul li dt {
	font-weight: 500;
	font-size: 11px;
	color: var(--color-primary);
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 120%;
	background: ;
	padding: 0;
	padding-bottom: 0px;
	cursor: pointer;
	flex-direction: column;
	text-align: center;
	gap: 5px;
	justify-content: flex-start;
}
.js-dialog-menu .body ul > li a:after {
  display: none;
}

.js-dialog-menu .body ul > li a .logo {
	border-radius: 9999px;
	color: var(--color-primary);
	border: 3px solid;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80%;
	padding:0px;
	aspect-ratio: 1 / 1;
	background: #000;
	position: relative;
}


.js-dialog-menu .body ul > li a .logo img {
  height: 100%;
  width: auto;
  max-width: none;
  object-fit: cover;
}
.js-dialog-menu .body ul > li a.miffywondersquare .logo {
	padding:6px;
}

.js-dialog-menu .body ul > li a.springevent .logo img {
  transform: translateY(-10px);
}
.js-dialog-menu .body ul > li a.springevent .logo:after {
  content: "";
  background: url(../img/common/mercisbv.png);
  background-size: 60%;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  width: 100%;
  height: 15px;
  background-color: #fff;
  bottom: 0;
}

.js-dialog-menu .body ul > li a.aircruisetheride img {
  height: auto;
  width: 100%;
  max-width: none;
  object-fit: contain;
}


@media screen and (min-width: 1024px) {
	nav >.nav__dialog {
	  width: 80px;
	}

}

/* =============================================
　　text-
============================================= */

.font-sans-serif{
	font-family:var(--font-family-Zen-Go);
}
.font-serif{
	font-family:var(--font-family-Zen-Mi);
	font-weight: 300!important;
}
.font-marugo{
	font-family:var(--font-family-Zen-Maru-Go);
}


.text-heading{
  font-size: var(--xmas-font-size-headding);
  text-align: center;
  font-weight: 300;
}
.text-read{
  font-size: var(--font-size-read);
  font-weight: 500;
}

.text-base{
  font-size: var(--font-size-base);
  font-weight: 500;
}
.text-2xl{
  font-size: var(--font-size-2xl);
  font-weight: 500;
}
.text-xl{
  font-size: var(--font-size-xl);
  font-weight: 500;
}
.text-lg{
  font-size: var(--font-size-lg);
  font-weight: 500;
}
.text-md{
  font-size: var(--font-size-md);
}
.text-sm{
  font-size: var(--font-size-sm);
}
.text-xs{
  font-size: var(--font-size-xs);
}
.text-xxs{
  font-size: var(--font-size-xxs);
}
[class^="text-"] small {
  font-size:70%;
}

/* =============================================
　　.align-
============================================= */

.align-c{
text-align: var(--align-center);
}
.align-c-sp{
text-align: var(--align-center-sp);
}
.align-l{
text-align: var(--align-left);
}
.align-l-sp{
text-align: var(--align-left-sp);
}
.align-r{
text-align: var(--align-right);
}
.align-r-sp{
text-align: var(--align-right-sp);
}

/***************************************************************

**

****************************************************************/

figure{
	position: relative;
	display: flex;
	height: 100%;
}
figure figcaption{
  position: absolute;
  bottom: 5px;
  right: 5px;
  color: #fff;
  font-family: var(--font-family-Zen-Go);
  font-weight: 600;
  font-size: 10px;
}
figure figcaption[data-color="black"]{
  color: #000;
}
figure figcaption img{
  aspect-ratio: auto !important;
  width: 80px;
}


/*****************************************

アニメーションさせたい要素の基本スタイル

*****************************************/

.fade-in-up {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.fade-in-up.active {
	opacity: 1;
	transform: translateY(0);
}
.element-up {
	opacity: 1;
	transform: translateY(0px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.element-up.active {
	opacity: 1;
	transform: translateY(0);
}

@keyframes riseUp {
	/* 開始時（下から、透明な状態） */
	from {
	  opacity: 0;
	  transform: translateY(30px);
	}
	/* 終了時（定位置で、不透明な状態） */
	to {
	  opacity: 1;
	  transform: translateY(0);
	}
}

/* =============================================
　　swiper
============================================= */


#summer .swiper {
  width: 100%;
  min-width: 0;
}

#summer .swiper-slide {
  min-width: 0;
  display: flex !important;
  height: auto;
  justify-content: center;
}
#summer .swiper-wrapper {
  display: flex !important;
   justify-content: flex-start;
   height: auto;
}


#summer .swiper-horizontal>.swiper-pagination-bullets,
#summer .swiper-pagination-bullets.swiper-pagination-horizontal,
#summer .swiper-pagination-custom, .swiper-pagination-fraction {
	position: relative;
	margin-top: 4rem;
	bottom:0;
	top:0;
}
#summer .swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--color-black);
}
#summer .swiper-pagination-bullet {
  width:10px;
  height:10px;
  display: inline-block;
}

#summer .swiper-button-next,
#summer .swiper-button-prev {
	position: absolute;
	width: auto;
	height: auto;
	background: #fff;
	border-radius: 9999px;
}
#summer  .swiper-button-next:after,
#summer  .swiper-button-prev:after {
	content: "";
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color:#cbc7c7;
	background-repeat: no-repeat;
	background-position: center;
	width: 50px;
	height:50px;
	display: block;
	mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20157.58%20157.58%22%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cpath%20d%3D%22M78.79%2C0C35.27%2C0%2C0%2C35.27%2C0%2C78.79s35.27%2C78.79%2C78.79%2C78.79%2C78.79-35.27%2C78.79-78.79S122.3%2C0%2C78.79%2C0ZM67.88%2C111.24l-2.63-2.63%2C29.81-29.81-29.81-29.81%2C2.63-2.63%2C32.45%2C32.45-32.45%2C32.45Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
}

#summer  .swiper-button-prev:after {
  transform: rotate(180deg);
}
#summer  .js-swiper-loop .swiper-wrapper {
  transition-timing-function: linear;
}



/*****************************************

custom

*****************************************/

#summer {
  background: #fff;
  color:#000;
}

#summer main{
	font-family: var(--font-family-Zen-Go);
  font-weight: 500;
}

.pege__header {
	position: relative;
	z-index: 1;
}
.pege__header__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding:calc(var(--layout-space-base-horizontal-small) * 3) var(--layout-space-base-horizontal-small);
	text-align: center;
	font-size: calc(var(--font-size-base) * 1);
}
.pege__header__inner h2{
	font-size:160%;
}
.pege__header__inner p{
	font-size:100%;
}

.pege__body {
	position: relative;
	z-index: 1;
}
.pege__body__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding:var(--layout-space-base-horizontal-small);
}

.btn{
  font-size: calc(var(--font-size-md) * 0.9);
}

.item {
	position: relative;
	position: sticky;
	top:0;
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
	padding:0 0 calc(var(--layout-space-base-horizontal-small) * 1);
	border-radius: var(--corner-radius);
}
.img {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
}
.img img{
    aspect-ratio: 4 / 3;
  }


.link {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.txt {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	padding:var(--layout-space-base-horizontal-small);
	gap: var(--layout-space-base-horizontal-small);
}

.item.column .txt dl{
	font-size: calc(var(--font-size-base) * 0.7);
}
.item.column {
	padding:var(--layout-space-base-horizontal) var(--layout-space-base-horizontal-small);
}
.item.column > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}


.section-ttl {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: column;
	width: auto;
	align-items: center;
	position: relative;
	font-size: calc(var(--font-size-base) * 0.9);
	  margin: 0 2rem;
}
.section-ttl >div {
	position: relative;
	padding: 1.6rem 0rem;
	border-top: 1px dotted;
	border-bottom: 1px dotted;
}
.section-ttl >div:before,
.section-ttl >div:after {
	content: "";
	height: 3px;
	width: 20%;
	background: #fff;
	position: absolute;
	left: 0;
	top: 0;
}
.section-ttl >div:after {
	right:0;
	left:auto;
	top:auto;
	bottom:0;
}
.section-ttl > div p {
	font-size: 180%;
	line-height: 140%;
}
.section-ttl >div p small{
	font-size: 70%;
	display: block;
	max-width: 780px;
	margin: 1rem auto 0;
}
.spot{
	position: relative;
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap:var(--layout-space-base-horizontal-small);
}
.spot .logo{
  display: flex;
  flex-direction: column;
  align-items: center;
}
.spot .logo img{
  max-width: 320px;
  min-height: 80px;
  object-fit: contain;
}
.spot .logo h2{
	font-size: var(--font-size-2xl);
	align-items: center;
	text-align: center;
	line-height: 120%;
}

.spot .img img {
  aspect-ratio: 4 / 3;
}
.spot .txt {
	font-size: var(--font-size-base);
	align-items: center;
}
.spot .txt h3 {
	font-size:180%;
	text-align: center;
	  line-height: 130%;
}
.spot .txt p {
	text-align: center;
	padding:0 var(--layout-space-base-horizontal-small);
}
.spot  .btn {
  background: #fff;
  color: #000;
}

.spot .spot-note {
 font-size: var(--font-size-base);
  text-align: left;
  font-weight:500;
}
.spot dl.spot-note{
	display: grid;
	justify-content: flex-start;
	align-items: start;
	margin: 0px 1.6rem;
	position: relative;
	gap: 10px;
	grid-template-columns: auto 1fr;
	width:auto;
	font-family: var(--font-family-Zen-Go);
	  font-size: 85%;
}
.spot dl.spot-note dt{
	width: 120px;
	display: block;
	background: #fff;
	color: #000;
	border-radius: 5px;
	margin-right: 10px;
	padding: 3px 10px;
	line-height: 1.2;
	text-align: center;
}
.spot dl.spot-note dd{
	text-align:left;
}


.highlights-list {
	padding: 0 calc(var(--layout-space-base-horizontal) * 1.5);
	position: relative;
	display:grid;
	gap: 4rem;
	justify-items: center;
}

.highlights {
	position: sticky;
	position: relative;

	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
	padding:0 0 calc(var(--layout-space-base-horizontal-small) * 1);
	border-radius: var(--corner-radius);
	background: #fff;
	transition: 0.6s all;
}
.swiper-slide:not(.swiper-slide-active) .highlights {
  transform: scale(0.95);
}
.highlights .txt dl{
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap:clamp(1rem, -0.231rem + 1.92vw, 1.5rem);
	font-weight: 500;
	font-size:calc(var(--font-size-base) *0.8);
}


.highlights .txt dl small {
  font-size:70%;
}
.highlights .txt dt{
  font-size: 180%;
  font-weight: 900;
  line-height: 140%;
}
.highlights .txt dd.date{
	font-size: 110%;
	padding:0.5rem;
	border-top:1px solid;
	border-bottom:1px solid;
}

.news-box{
	font-size: var(--font-size-sm);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #fff;
	border-radius: 1rem;
	color: #000;
	overflow: hidden;
	align-items: stretch;
}
.news-box dt{
	padding: 1rem;
	background: #E91E63;
	color: #fff;
	width: 100%;
	white-space: nowrap;
	display: flex;
	align-items: center;
	justify-content: center;
}
.news-box dd{
	padding: 1rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.news-box dd a {
  color: #000 !important;
    text-align: left;
}

.txt-point {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: var(--font-size-base);
}
.txt-point p em{
	font-size: 150%;
	font-weight: 700;
}
.txt-point p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transform: skewX(-25deg);
  border-radius: 1rem;
  background: #cf23b2;
  background: linear-gradient(164deg, rgba(207, 35, 178, 1) 0%, rgba(0, 153, 255, 1) 100%);
}



@media screen and (min-width: 1024px) {
	.txt {
	  height: auto;
	}

	.spot {
	  display: grid;
	  grid-template-columns: 1.4fr 1fr;
	  max-width: 1440px;
	  gap: 0;
	}
	.spot .logo{
	  grid-column: 2 / 3;
	  justify-content: flex-end;
	}
	.spot .img{
	  grid-column: 1 / 2;
	  grid-row: 1 / 3;
	}	
	.spot .img img {
	border-radius: var(--corner-radius);
	}
	.spot .txt {
	  font-size: calc(var(--font-size-base)* 1.2);
	}

	.highlights-list {
	  width: 1440px;
	}
	.highlights-list .swiper{
	  width: 1050px!important;
	}
	.highlights {
		position: relative;
		top:0rem;
		display: grid;
		grid-template-columns: 1.2fr 1fr;
		padding:0;
		align-items: center;
		justify-items: center;
		max-width: 960px;
	}
	.highlights:nth-child(even) {
		  margin: 0 0 0 auto;
	}
	.highlights .img img {
	  aspect-ratio: 16 / 10;
	  object-position: top;
	}

	.news-box {
	  flex-direction: row;
	}
	.news-box dt {
	  width: auto;
	}
	.pege__header__inner {
		font-size: calc(var(--font-size-base) * 1.5);
	}
	.section-ttl {
		font-size: calc(var(--font-size-base) * 1.2);
	}

}

/* =============================================
　　#fv
============================================= */

section.pege__kv {
  position: relative;
}
.pege__kv__txt {
  position: absolute;
  top: 10%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  text-align: center;
}
.pege__kv__txt img {
  margin: 0 auto;
  max-width: 800px;
  width: 100%;
}

.pege__kv__batch {
  position: absolute;
  bottom: 20px;
  right: 20px;
}


.ph__img__16x8 img {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 8;
  object-fit: cover;
}


@media screen and (max-width: 736px) {
	.pege__kv__txt {
	  top: 25%;
	}
  .ph__img__3x4-sp img {
    aspect-ratio: 3 / 3.5;
  }
	.pege__kv__txt img {
	  object-position: 90%!important;
	}

	.pege__kv__batch {
	  position: absolute;
	  bottom: 10px;
	  right: 10px;
	  	  max-width:20%;
	}
	.pege__kv__batch img{
	}

}



/* =============================================
　　#term/
============================================= */

#term{
	background: var(--color-primary);
	padding: var(--layout-space-base-horizontal) 0 calc(var(--corner-radius) * 3);
	color: #fff;
	background-image:url(../img/index/bg.jpg);
	background-size: cover;
}

#term .pege__term {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2.4rem, -3.508rem + 9.23vw, 4.8rem);
}

#term .movie {
  width: 100%;
  z-index: 1;
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
#term .movie video {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
}

#term .txt {
  padding:0 var(--layout-space-base-horizontal-small);
    color: #3F51B5;
}


.term-nav {
  display: flex;
  justify-content: center;
  align-items: center;
}
.term-nav > ul {
	margin:4rem auto;
	flex-direction: row;
	flex-wrap: wrap;
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 8px;
}
.term-nav > ul > li {
  border: 0;
  width: calc(100% / 3 - 8px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
    position: relative;
}
.term-nav > ul > li:nth-child(-n + 2){
	width: calc(100% / 2 - 8px);
}

.term-nav > ul > li a{
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 120%;
	padding: 0;
	padding-bottom: 0px;
	cursor: pointer;
	flex-direction: column;
	text-align: center;
	gap: 5px;
	justify-content: flex-start;
	font-size: calc(var(--font-size-base) * 0.8);
	line-height: 120%;
	text-decoration: none;
	background: rgb(255 255 255);
	position: relative;
	border-radius: 1rem;
	border: 2px solid #ffffff91;
	box-shadow: 1px 1px 5px #6a6a6a;
	overflow: hidden;
	background-size: contain;

}
.term-nav ul > li.new:before {
  content: "NEW";
  position: absolute;
  top: -1rem;
  left: -1rem;
  color: #fff;
  background: #FF5722;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 9999px;
  padding: 6px;
  font-size: 12px;
  font-weight: 900;
  aspect-ratio: 1 / 1;
  transform: rotate(-8deg);
  border: 0px #fff solid;
  outline: 2px dotted rgb(255, 255, 255);
  outline-offset: -4px;
    line-height: 0;
}
.term-nav ul > li.new:after {
}
.term-nav ul > li.new.picup a:before {
	content: "PICK UP";
}


.term-nav ul > li a .logo {
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0px;
	aspect-ratio: 2000 / 1269;
	position: relative;
	flex-direction: column;
}
.term-nav ul > li a .logo img {
  height: 100%;
  width: 100%;
  max-width: none;
  object-fit: cover;
}
.term-nav ul > li a span{
  padding: 3px 5px 6px;
  flex: 1;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
    color: #186090;
}

@media screen and (min-width: 1025px) {
	.term-nav {
	  max-width: 1100px;
	}
	.term-nav > ul {
	  gap: 2rem;
	  margin: 6rem auto;
	}
	.term-nav > ul > li a {
	  font-size: calc(var(--font-size-base) * 1);
	}
	.term-nav > ul > li,
	.term-nav > ul > li:nth-child(-n + 2) {
	  width: calc(100% / 3 - 2rem);
	}
	.term-nav ul > li a{
		border: 4px solid #ffffff91;
	}
	.term-nav ul > li a span {
	  padding: 8px 10px 14px
	}
	.term-nav ul > li.new:before {
	  font-size:2rem;
	}
}
/* =============================================
　　#miffywondersquare/
============================================= */

#miffywondersquare{
	background: var(--color-miffywondersquare);

	margin-top:calc(var(--corner-radius) * -1 * 2);
	color: #644839;

	/*
	border-radius: calc(var(--corner-radius) * 1.5) 0 0 0;
	*/
	padding: calc(var(--layout-space-base-horizontal)* 2.5) 0 calc(var(--corner-radius) * 3);	
	clip-path: polygon(0 0%, 100% 3%, 100% 100%, 0 100%);
}

#miffywondersquare .pege__miffywondersquare {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2.4rem, -3.508rem + 9.23vw, 4.8rem);
}

#miffywondersquare .spot  .btn {
  color: #644839;
}
#miffywondersquare .spot .img img {
	aspect-ratio: 1440 / 1076;
	  aspect-ratio: 50 / 31;
}


#miffywondersquare .section-ttl >div:before,
#miffywondersquare .section-ttl >div:after {
  background: #644839;
}

#miffywondersquare .highlights {
  background: #fff0b9;;
}


#miffywondersquare .spot .logo img {
  max-width: 260px;
}

#miffywondersquare .highlights .txt dt {
  font-weight: 700;
}

#miffywondersquare a.btn.btn-textlink {
	color: #644839;
}

#miffywondersquare .miffy_copyright {
  padding: 2.4rem 2.4rem 0;
  display: grid;
  gap: 10px;
}
#miffywondersquare .miffy_copyright img{
  height:14px;
}


#miffywondersquare  .highlights .img img {
	aspect-ratio: 800 / 451;
}

#miffywondersquare .highlights-ttl >div:before,
#miffywondersquare .highlights-ttl >div:after {
  background:#644839;
}

@media screen and (min-width: 1024px) {
  #miffywondersquare .spot .logo img {
    width: 380px;
    max-width: 480px;
  }
}

/* =============================================
　　#evangelion
============================================= */

#evangelion{
	background: var(--color-evangelion);

	margin-top:calc(var(--corner-radius) * -1 * 2);
	color: #fff;

	/*
	border-radius: calc(var(--corner-radius) * 1.5) 0 0 0;
	*/
	padding: calc(var(--layout-space-base-horizontal)* 2.5) 0 calc(var(--corner-radius) * 3);	
	clip-path: polygon(0 2%, 100% 0%, 100% 100%, 0 100%);
}

#evangelion .spot .img img {
	aspect-ratio: 2000 / 1269;
}

#evangelion .spot .txt {
	color: #fff;
}
#evangelion .pege__evangelion {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2.4rem, -3.508rem + 9.23vw, 4.8rem);
}

#evangelion .spot .logo img {
  max-width: 260px;
}

#evangelion .highlights {
background: #212529 !important;
border-radius: 0;
}

#evangelion .highlights-ttl,
#evangelion .highlights .txt dl {
  color: #fff;
}

#evangelion .highlights .img img {
	aspect-ratio: 800 / 535;
	aspect-ratio: 1000 / 750;
	object-position: top;
}

/* =============================================
　　#aircruisetheride
============================================= */

#aircruisetheride{
	background: var(--color-aircruisetheride);
	border-radius: calc(var(--corner-radius) * 1.5) 0 0 0;
	padding: var(--layout-space-base-horizontal) 0 calc(var(--corner-radius) * 4);
	margin-top:calc(var(--corner-radius) * -1 * 2);
}
#aircruisetheride .spot .txt {
	color: #fff;
}
#aircruisetheride .pege__aircruisetheride {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2.4rem, -3.508rem + 9.23vw, 4.8rem);
}

#aircruisetheride .spot .logo img {
  max-width: 260px;
}

/* =============================================
　　#mission-deepsea
============================================= */

#mission-deepsea{
	background: var(--color-mission-deepsea);
	margin-top:calc(var(--corner-radius) * -1 * 2);

	/*
	border-radius: calc(var(--corner-radius) * 1.5) 0 0 0;
	*/
	padding: calc(var(--layout-space-base-horizontal)* 2.5) 0 calc(var(--corner-radius) * 4);	
	clip-path: polygon(0 3%, 100% 0%, 100% 100%, 0 100%);

}
#mission-deepsea .spot .txt {
	color: #fff;
}
#mission-deepsea .pege__mission-deepsea {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2.4rem, -3.508rem + 9.23vw, 4.8rem);
}

@media screen and (min-width: 1024px) {
  #mission-deepsea .spot .logo img {
    max-width: 380px;
  }
}

/* =============================================
　　#pool
============================================= */

#pool{
	background: var(--color-pool);
	margin-top:calc(var(--corner-radius) * -1 * 2);
	overflow: hidden;

	/*
	border-radius: calc(var(--corner-radius) * 1.5) 0 0 0;
	*/
	padding: calc(var(--layout-space-base-horizontal)* 3) 0 calc(var(--corner-radius) * 4);	
	clip-path: polygon(0 0%, 100% 2%, 100% 100%, 0 100%);
	clip-path: polygon(0 2%, 100% 0%, 100% 100%, 0 100%);

}

#pool  .pool-kv{
  position: relative;
}
#pool  .pool-kv:before{
  content: "";
  background: #63D0FF;
  background: linear-gradient(180deg, rgba(67, 195, 251, 1) 20%, rgba(67, 195, 251, 0) 80%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
#pool .spot .img.pool-kv img {
  aspect-ratio: 4.5 / 4;
}

#pool .spot .logo {
  position: absolute;
  z-index: 3;
  width: 100%;
}

#pool .spot .logo h2,
#pool .spot .txt {
	color: #fff;
}
#pool .spot .logo h2{
	color:#fefad3;
	border-top: 2px solid;
}
#pool .spot .logo h3 {
  font-size: 140%;
  text-align: center;
  line-height: 130%;
  border: 0px solid;
  color: #009688;
  padding: 1rem;
  margin: 2.6rem;
  overflow: hidden;
  background: rgb(255 255 255 / 70%);
  position: relative;
}


#pool .pege__pool {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2.4rem, -3.508rem + 9.23vw, 4.8rem);
  z-index: 1;
  position: relative;
}

#pool  .highlights .txt dt {
	color: var(--color-pool);
}

article#pool .section-ttl {
	color: #fff;
}
article#pool .section-ttl >div:before, article#pool .section-ttl >div:after {
  background:#FFEB3B;
}

  
article#pool .new:before {
	content: "NEW";
	position: absolute;
	top: -28px;
	right: 0;
	color: #fff;
	background: #FF5722;
	z-index: 1;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 9999px;
	padding: 6px;
	font-size: 12px;
	font-weight: 900;
	transform: rotate(8deg);
	border: 0px #fff solid;
	outline: 2px dotted rgb(255, 255, 255);
	outline-offset: -4px;
	line-height: 0;

}

article#pool .wave{
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
  transform: rotate(180deg);
  display: flex;
  align-items: flex-start;
  opacity: 0.4;
}
article#pool .wave.bottom{
  top: auto;
  bottom:5rem;
  transform: rotate(0deg);
  opacity: 0.5;
}

.parallax > use {
  animation: move-forever 25s cubic-bezier(.55,.5,.45,.5)     infinite;
}
.parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
.parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
}
.parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}
.parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}
@keyframes move-forever {
  0% {
   transform: translate3d(-90px,0,0);
  }
  100% { 
    transform: translate3d(85px,0,0);
  }
}
@media screen and (min-width: 1024px) {
  .waves {
    height: 100%;
    min-height: 8rem;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .waves {
    height: 100%;
    min-height:40px;
    width: 100%;
  }
}

.aqualagoon{
	margin:0 calc(var(--layout-space-base-horizontal) * 1);
	background:#026d63;
	padding:calc(var(--layout-space-base-horizontal) * 2) calc(var(--layout-space-base-horizontal) * 1) calc(var(--layout-space-base-horizontal) * 1);
	clip-path: polygon(5% 0, 95% 0, 100% 3%, 100% 97%, 95% 100%, 5% 100%, 0 97%, 0 3%);
	position: relative;

}
.aqualagoon:before{
	content: "";
	background-image: url(../img/index/pool/aqualagoon/bg.png);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	background-size: cover;
	opacity: 0.3;
}


.watergarden{
  width: 100%;
  padding:calc(var(--layout-space-base-horizontal) * 0.5) calc(var(--layout-space-base-horizontal) * 0) calc(var(--layout-space-base-horizontal) * 1);
}

.aqualagoon .highlights {
	position: relative;
	top: 0rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 0;
	align-items: center;
	justify-items: center;
	max-width: 100%;
	border-radius: 0;
	background: transparent;
}
.aqualagoon .highlights  .img:first-child {
  grid-column: 1 / 4;
}


.aqualagoon .highlights .img img {
	aspect-ratio: 4 / 3;
	object-position: center;
}

.poolgourmet{
	background:#09bec9;
	padding: calc(var(--layout-space-base-horizontal) * 1.5) calc(var(--layout-space-base-horizontal) * 1) ;
	margin:0 calc(var(--layout-space-base-horizontal) * 1);
	border-radius: var(--corner-radius);
}
.poolgourmet .highlights {
	position: relative;
	top: 0rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 0;
	align-items: center;
	justify-items: center;
	max-width: 100%;
	border-radius: 0;
	background: transparent;
}
.poolgourmet .highlights  .img:first-child {
  grid-column: 1 / 4;
}
.poolgourmet .highlights .img img {
	aspect-ratio: 4 / 3;
	object-position: center;
}



@media screen and (min-width: 1024px) {
  #pool .spot .logo img {
    max-width: 380px;
  }
.aqualagoon {
	padding: calc(var(--layout-space-base-horizontal) * 1) calc(var(--layout-space-base-horizontal) * 1) calc(var(--layout-space-base-horizontal) * 1);
	width: 1440px;
	clip-path:polygon(2% 0, 98% 0, 100% 4%, 100% 96%, 98% 100%, 2% 100%, 0 96%, 0 4%);
	grid-template-columns: 1fr 1.4fr;
	align-items: center;

}
.aqualagoon .highlights {
    grid-template-columns: 1fr;
}
.aqualagoon .highlights  .img:first-child {
  grid-column: unset;
}

  .watergarden.highlights-list .swiper {
		width: 100% !important;
		max-width: 1440px;
  }
 .watergarden .highlights {
    grid-template-columns:1fr;
    max-width:1360px;
   align-content: start;
  }


	.poolgourmet {
	padding: calc(var(--layout-space-base-horizontal) * 0.5) calc(var(--layout-space-base-horizontal) * 0.5) ;
	width: 1280px;
	grid-template-columns: 1fr 1.4fr;
	align-items: center;

	}
	.poolgourmet .highlights {
	    grid-template-columns: 1fr;
	}
	.poolgourmet .highlights  .img:first-child {
	  grid-column: unset;
	}
	article#pool .new:before {
		font-size: 18px;

	}


	#pool .spot {
	grid-template-columns: 1fr;

    background: url(../img/index/pool/bg_pc.jpg);
    background-size: cover;
    background-position: bottom;
    border-radius: 0 0 4rem 4rem;

	}
	#pool .spot:before {
	content: "";
	background: #63D0FF;
	background: linear-gradient(180deg,rgba(67, 195, 251, 1) 0%, rgba(67, 195, 251, 0.8) 50%, rgba(67, 195, 251, 0) 75%);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	}
	#pool .pool-kv:before {
	  display:none;
	}
	#pool .spot .logo {
		position: relative;
		grid-column: unset;
	}
	#pool .spot .logo h2, #pool .spot .txt {
		z-index: 2;
		padding: 0;
		text-shadow:1px 1px #0072cc;
	}
	#pool .spot .logo h2, #pool .spot .txt p{
		max-width: 780px;
		margin: 0 auto;
	}
	#pool .spot .logo h2{
		font-size: calc(var(--font-size-2xl) * 1.5);
	}
	#pool .spot .logo h3 {
	  font-size: 200%;
	  padding: 1rem 2rem;
	}
	#pool .pool-kv {
		position: relative;
		grid-column:unset;
		grid-row: 3 / 4;
		    margin-top: -10rem;
	}
	#pool .spot .img.pool-kv img {
	  aspect-ratio: 16 / 5;
	      visibility: hidden;
	}


 }

/* =============================================
　　#alice
============================================= */

#alice{
	background: var(--color-alice);
	border-radius: calc(var(--corner-radius) * 1.5) 0 0 0;
	padding: var(--layout-space-base-horizontal) 0 calc(var(--corner-radius) * 4);
	margin-top:calc(var(--corner-radius) * -1 * 2);
	color:#fff;
}
#alice .spot .txt {
	color: #fff;
}
#alice .pege__alice{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2.4rem, -3.508rem + 9.23vw, 4.8rem);
}

#alice .spot .btn {
  color:var(--color-alice);
}

@media screen and (min-width: 1024px) {
  #alice .spot .logo img {
    max-width: 380px;
  }
}


/* =============================================
　　#fireworks
============================================= */

#fireworks{
	background: var(--color-fireworks);
	margin-top:calc(var(--corner-radius) * -1 * 2);
	color:#fff;
	/*
	border-radius: calc(var(--corner-radius) * 1.5) 0 0 0;
	*/
	padding: calc(var(--layout-space-base-horizontal)* 2.5) 0 calc(var(--corner-radius) * 4);	
	clip-path: polygon(0 3%, 100% 0%, 100% 100%, 0 100%);
		clip-path: polygon(0 0%, 100% 2%, 100% 100%, 0 100%);

}
#fireworks .spot .txt {
	color: #fff;
}
#fireworks .pege__fireworks{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2.4rem, -3.508rem + 9.23vw, 4.8rem);
}

#fireworks .spot .btn {
  color:var(--color-fireworks);
}

@media screen and (min-width: 1024px) {
  #fireworks .spot .logo img {
    max-width: 380px;
  }
}


/* =============================================
　　#tastekyushu
============================================= */

#tastekyushu{
	background: var(--color-tastekyushu);
	border-radius: calc(var(--corner-radius) * 1.5) 0 0 0;
	padding: var(--layout-space-base-horizontal) 0 calc(var(--corner-radius) * 4);
	margin-top:calc(var(--corner-radius) * -1 * 2);
}
#tastekyushu .spot .txt {
	color: #fff;
}
#tastekyushu .pege__tastekyushu{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2.4rem, -3.508rem + 9.23vw, 4.8rem);
}

#tastekyushu .spot .btn {
  color:var(--color-tastekyushu);
}

@media screen and (min-width: 1024px) {
  #tastekyushu .spot .logo img {
    max-width: 380px;
  }
}


/* =============================================
　　#sunflower
============================================= */

#sunflower{
	background: var(--color-sunflower);
	margin-top:calc(var(--corner-radius) * -1 * 2);

	/*
	border-radius: calc(var(--corner-radius) * 1.5) 0 0 0;
	*/
	padding: calc(var(--layout-space-base-horizontal)* 2.5) 0 calc(var(--corner-radius) * 4);	
	clip-path: polygon(0 0%, 100% 3%, 100% 100%, 0 100%);
		clip-path: polygon(0 3%, 100% 0%, 100% 100%, 0 100%);
}
#sunflower .spot .txt {
	color: #fff;
}
#sunflower .pege__sunflower{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2.4rem, -3.508rem + 9.23vw, 4.8rem);
}

#sunflower .spot .btn {
  color:var(--color-sunflower);
}
#sunflower .spot dl.spot-note dt {
  color:var(--color-sunflower);
}

@media screen and (min-width: 1024px) {
  #sunflower .spot .logo img {
	max-width: 380px;
	min-height: 150px;
  }
}

/* =============================================
　　#attractions
============================================= */

#attractions{
	background: var(--color-attractions);
	border-radius: var(--corner-radius) var(--corner-radius) 0 0;
	margin-top:calc(var(--corner-radius) * -1 * 2);
}


/* --- アニメーション定義 --- */
/* 上方向スクロール */
@keyframes scrollUp {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-50%);
    }
}
#attractions .attraction-banner {
	position: relative;
	width: 100%;
	max-width: 500px;
	margin: auto;
	background: var(--color-attractions);
	overflow: hidden;
	box-sizing: border-box;
	border-radius: var(--corner-radius);
}

.attraction-banner .image-collage {
    display: flex;
    width: 100%;
    height: 500px;
    box-sizing: border-box;
/*
    mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
*/
}

.attraction-banner .column {
	flex: 1; 
	overflow: hidden; 
	height: 450px;
}

.attraction-banner .scroll-wrapper {
	animation-duration: 20s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

.attraction-banner .scroll-up {
    animation-name: scrollUp;
    transform: translateY(calc(50%));
}
.scroll-down {
    animation-name: scrollUp;
    animation-direction: reverse;
    transform: translateY(calc(-50%));
}

.attraction-banner .image-list {
	display: block;
}

.attraction-banner .image-list img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

.attraction-banner .text-content {
	position: absolute;
	top: 35%;
	top:0;
	left: 0;
	/*
	transform: translate(-50%, -50%);
	transform: skewY(-10deg);
	*/
	color: white;
	text-align: center;
	z-index: 10;
	width: 100%;
	background: var(--color-attractions);
	padding: 1.6rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.6rem;
}

.attraction-banner .text-content h2 {
	font-size: clamp(2.2rem, 0.723rem + 2.31vw, 2.8rem);
	font-weight: bold;
	line-height: 120%;
	text-align: center;
}

.attraction-banner .text-content .btn{
    color: white;
}

@media (min-width: 1025px) {
	#attractions  .attraction-banner {
		max-width: 1440px;
		display: flex;
		align-items: center;
		border-radius: 0;
		height: 600px;
	}

    .attraction-banner .image-collage {
        width: 60%;
        height: 700px;
        flex-shrink: 0;
        padding: 0;
        transform: rotate(-10deg); 
        margin-left:60px;
    }
    
	.attraction-banner .column {
	  flex: 1;
	  overflow: visible;
	  height: 450px;
	}
    .attraction-banner .text-content {
		position: static;
		transform: none;
		width: 35%;
		box-sizing: border-box;
		z-index: 10;
		background: transparent;
    }
}


/* =============================================
　　#springevent
============================================= */

#springevent{
	background: var(--color-springevent);
	border-radius: var(--corner-radius);
	margin-top:calc(var(--corner-radius) * -1 * 2);
}

#springevent h2 {
  font-size: clamp(2.8rem, 0.338rem + 3.85vw, 3.8rem);
  font-weight: bold;
  line-height: 120%;
  text-align: center;
  color: #fff;
  border-top: 2px dotted;
  border-bottom: 2px dotted;
  padding: 1.6rem;
}

#springevent .item-list .item:not(:first-child){
	margin-top:calc(var(--corner-radius) * -1 * 1.6);
}

#springevent .item {
	color: #fff;
	background: var(--color-springevent);
	padding-bottom:calc(var(--corner-radius) * 2);
	border-radius: var(--corner-radius) var(--corner-radius) 0 0;
}
#springevent .miffy{
  background: #ffdf00;
  color: #644839;
}
#springevent .flower{
  background: #fffce6;
  color: #ea839d;
}

.item.flower .img img{
    aspect-ratio: 3 / 3.5;
    border-radius: 2rem;
  }
.item.flower > div:not(:first-child) .img{
	order: 2;
	margin-top: -10%;
}


@media (min-width: 1025px) {

	#springevent {
	  padding-bottom: calc(var(--layout-space-base-horizontal-small) * 3);
	}
	#springevent .item-list {
		max-width: 1440px;
		margin: 0 auto;
		position: relative;
		display: flex;
		flex-direction: column;
		gap: 4rem;
	}
	#springevent .item {
		position: relative;
		display: grid;
		grid-template-columns: 1.5fr 1fr;
		align-items: center;
		align-content: center;
		padding-bottom: 0;
		border-radius: var(--corner-radius) var(--corner-radius);
	}
	#springevent  .txt {
	  justify-content: center;
	}
	#springevent .item-list .item:not(:first-child) {
	  margin-top: auto;
	}
	#springevent .item.flower{
		grid-template-columns: 1fr 1fr;
		padding: var(--layout-space-base-horizontal) var(--layout-space-base-horizontal)!important;
		gap: 4rem;
	}
	.item.flower > div {
		grid-template-columns: 1.5fr 1fr;
		gap: 2.4rem;
	}
	.item.flower > div:first-child{
	  border-right: 1px solid #ea839d;
	}
	#springevent .item .img img {
	  aspect-ratio: 4 / 3;
	  border-radius: 2rem;
	}
	.item.flower > div:not(:first-child) .img {
	  order: 0;
	  margin-top: auto;
	}
	#springevent .item.flower .txt {
	  padding: 0;
	  gap: 1.6rem;
	  align-items: flex-start;
	}
	#springevent .item-list .item:tastekyushu{
		grid-template-columns: 1fr 1.5fr;
	}
	#springevent .item-list .item:tastekyushu  .img{
		order: 2;
	}
	#springevent .txt dl {
	  font-size: calc(var(--font-size-base) * 1.2);
	}
	#springevent .item.column .txt dl {
	  font-size: calc(var(--font-size-base) * 0.7* 1.2);
	}
	#springevent .item.tastekyushu {
	background: #f097ad;
	}
}


.item.flower:before{
	content: "フラワーセレブレーション";
	position: absolute;
	top: 2.4rem;
	text-align: center;
	left: 0;
	right: 0;
	font-size:calc(clamp(2.8rem, 0.338rem + 3.85vw, 3.8rem) *0.8 );
	  font-family: var(--font-family-Zen-Mi);
}
.item.flower .txt dt{
font-family: var(--font-family-Zen-Mi);
}

  #springevent .item.flower {
    padding-top: calc(var(--layout-space-base-horizontal) *3 )!important;
  }
@media (min-width: 1025px) {
  #springevent .item.flower {
    padding: calc(var(--layout-space-base-horizontal) * 2 ) var(--layout-space-base-horizontal) var(--layout-space-base-horizontal) !important;
  }
}



@media (min-width: 1025px) {
	#evangelion{
		padding: calc(var(--layout-space-base-horizontal) * 2) 0 calc(var(--layout-space-base-horizontal) * 2);
		clip-path: polygon(0 5%, 100% 0%, 100% 100%, 0 100%);
		margin-top: calc(var(--corner-radius) * -1 * 4);
	}
	#miffywondersquare{
	  	margin-top: calc(var(--corner-radius) * -1 * 4);
		clip-path: polygon(0 0%, 100% 5%, 100% 100%, 0 100%);
		padding: calc(var(--layout-space-base-horizontal) * 2) 0 calc(var(--layout-space-base-horizontal) * 2);
	}
	#mission-deepsea{
	  	margin-top: calc(var(--corner-radius) * -1 * 4);
		padding: calc(var(--layout-space-base-horizontal) * 2) 0 calc(var(--layout-space-base-horizontal) * 2);
		clip-path: polygon(0 10%, 100% 0%, 100% 100%, 0 100%);
	}
	#pool{
		margin-top: calc(var(--corner-radius) * -1 * 4);
		padding: calc(var(--layout-space-base-horizontal) * 2) 0 calc(var(--layout-space-base-horizontal) * 2);
		clip-path: polygon(0 3%, 100% 0%, 100% 100%, 0 100%);
	}
	#fireworks{
	  	margin-top: calc(var(--corner-radius) * -1 * 4);
		padding: calc(var(--layout-space-base-horizontal) * 2) 0 calc(var(--layout-space-base-horizontal) * 2);
		clip-path: polygon(0 0%, 100% 5%, 100% 100%, 0 100%);
	}
	#sunflower{
		margin-top: calc(var(--corner-radius) * -1 * 4);
		padding: calc(var(--layout-space-base-horizontal) * 2) 0 calc(var(--layout-space-base-horizontal) * 2);
		clip-path: polygon(0 5%, 100% 0%, 100% 100%, 0 100%);
	}
}

/* =============================================
　　#hotels
============================================= */


.js-swiper-loop .swiper-wrapper {
    transition-timing-function: linear;
}

article#hotels .swiper {
  width: 100%;
  min-width: 0;
}

article#hotels .swiper-slide {
  min-width: 0;
  display: flex;
  height: auto;
}
article#hotels .swiper-wrapper {
  display: flex !important;
  justify-content: flex-start;
  height: auto;
  z-index:-1;
}

article#hotels .swiper-button-next,
article#hotels .swiper-button-prev {
	position: absolute;
	width: auto;
	height: auto;
	background: #fff;
	border-radius: 9999px;
}
article#hotels .swiper-button-next:after,
article#hotels .swiper-button-prev:after {
  content: "";
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background-color: #000;
  background-repeat: no-repeat;
  background-position: center;
  width: 50px;
  height: 50px;
  display: block;
  mask-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20157.58%20157.58%22%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cpath%20d%3D%22M78.79%2C0C35.27%2C0%2C0%2C35.27%2C0%2C78.79s35.27%2C78.79%2C78.79%2C78.79%2C78.79-35.27%2C78.79-78.79S122.3%2C0%2C78.79%2C0ZM67.88%2C111.24l-2.63-2.63%2C29.81-29.81-29.81-29.81%2C2.63-2.63%2C32.45%2C32.45-32.45%2C32.45Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E);
}
article#hotels .swiper-button-prev:after {
transform: rotate(180deg);
}


article#hotels {
	position: relative;
	overflow: hidden;
	border-radius:0;
	margin-top: calc(var(--corner-radius) * -1 * 2);
	--color-hotels:#11133f;
	background:#F0ECCD;
	color:var(--color-hotels);
	padding: var(--layout-space-base-horizontal) 0 calc(var(--corner-radius) * 4);
}
article#hotels:before {
  content: "";
}
article#hotels .section-ttl >div:before,
article#hotels .section-ttl >div:after {
  background:var(--color-hotels);
}

article#hotels .c-section {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4rem;
	text-align: center;
}


article#hotels .tokuten .inner,
article#hotels .plan .inner {
	display: grid;
	gap: 2rem;
}


article#hotels .text-heading{
color: var(--color-navy);
}
article#hotels .enjoy {
	display: grid;
	gap: 2rem;
	text-align: center;
	color:var(--color-navy);
}
article#hotels .enjoy .img {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
article#hotels .enjoy img{
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center center;
}
article#hotels .enjoy img:last-child{
	grid-column: 1 / 3;
}
article#hotels .enjoy img:last-child{
	aspect-ratio: 16 / 9;
}




article#hotels .item {
	background: #ffffff;
	background: rgb(255 255 255 / 20%);
	background: var(--color-hotels);
	border-radius: 2rem;
	overflow: hidden;
	border:0px #fff solid;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	justify-content: flex-start;
	height:auto;
	transition: 0.6s all;
	padding-bottom: 2rem;
	position: relative;
	height: 100%;
}
article#hotels  .swiper-slide:not(.swiper-slide-active) .item {
  transform: scale(0.95);
}


article#hotels .item .txt {
	padding: calc(5% / 1) calc(5% / 1);
	display: flex;
	gap: 10px;
	position: relative;
	align-items: center;
	align-content: space-between;
	flex-direction: column;
	justify-content: flex-start;
	color: #fff;
}

article#hotels  .item .txt p{
  font-family: var(--font-family-Zen-Mi);
  text-align: left;
}

article#hotels  .item .txt p.name{
	  color:#fff;
	border-bottom: 1px solid;
	text-align:center;
}

article#hotels  .item .img {
  width: 100%;
  overflow: hidden;
  height: auto;
    height: 100%;
}

article#hotels  .item img {
  width: 100%;
  aspect-ratio: 4 / 3;
    height: 100%;
}

article#hotels  .swiper-slide-active .item img {
  transform: scale(1.15);
  transform-origin: bottom;
}

article#hotels  .item img {
  width: 100%;
  aspect-ratio: 4 / 3;
}

article#hotels  .btn{
	background-color: #fff;
	border-color: #000;
	color: var(--winter-color-primary);
	max-width: 260px;
	margin: 0 auto;
}

article#hotels .js-swiper-hotels{
  padding-left:3.4rem;
}


article#hotels .js-swiper-hotels .item {
  padding-bottom: 2rem;
}
article#hotels .item > .txt:first-of-type {
	flex: 1;
	justify-content: center;
}


article#hotels .fivehotels {
	display: grid;
	gap: 2rem;
	text-align: center;
}
article#hotels .fivehotels .btn{
	border-color: #fff;
}


article#hotels .tokuten {
	background:#e7d8bd;
	padding: 3rem 0;
	border-radius:10rem 0rem 10rem 0rem;
	display: grid;
	gap: 2rem;
	text-align: center;
	margin: 4rem auto 0;
}

article#hotels .js-swiper-tokuten .item {
	color: #000;
	border: 0;
	background: rgb(255 255 255 / 70%);
}

article#hotels .tokuten .text-point {
	position: absolute;
	background:#c3923a;
	border-radius: 9999px;
	padding: 1rem 3rem;
	line-height: 100%;
	color: #fff;
	left: auto;
	right: auto;
	top: -20px;
	display: table;
	margin: 0 auto;
	font-size: 16px;
	font-family: var(--font-family-Zen-Mi);
	z-index: 1;
	text-align: center;
}

article#hotels .tokuten .img {
  border-radius: 2rem 2rem 0 0;
}

article#hotels .tokuten .item .img:after {
}
article#hotels .tokuten .item p.name{
	color: var(--winter-color-secondary);
	padding-top: 2rem;
	line-height: 1.4;
	padding-bottom: 1rem;
}
article#hotels .tokuten .item p.name em{
  font-size: 60%;
  display: block;
  background: #000;
  color: #fff;
}

article#hotels .tokuten .item .txt {
	color: var(--color-hotels);
}

article#hotels .tokuten .item img{
}

article#hotels .plan {
	padding: 3rem 1.6rem;
	display: grid;
	gap: 2rem;
	text-align: center;
	color: #000;
	position: relative;
	margin:0 1.6rem;
	border-radius: 4rem;
	overflow: hidden;
	margin: 0 auto;
}
article#hotels .plan:before {
	content: "";
	background: var(--winter-color-secondary);
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	opacity: 0.5;
}


article#hotels .plan .title{
  color: #f9e3b2;
  display: table;
  margin: 0 auto;
  padding: 0 2rem;
  border-radius: 9999px;
}
article#hotels .plan .title:before {
  content: "";
  width: 100%;
  height: 30px;
  display: block;
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 62.06 22.09'%3E%3Cg%3E%3Cg%3E%3Cpath d='M8.96,11.74c-.71.01-1.42.05-2.13.21.71.15,1.42.2,2.13.21.01.92.05,1.83.21,2.75.16-.92.2-1.83.21-2.75.71-.01,1.42-.05,2.13-.21-.71-.15-1.42-.19-2.13-.21-.01-.92-.05-1.83-.21-2.75-.16.92-.2,1.83-.21,2.75Z' style='fill: %23b28b46;'/%3E%3Cpath d='M13.94,8.23c-.57.01-1.13.04-1.7.17.57.12,1.13.16,1.7.17,0,.73.04,1.46.17,2.19.13-.73.16-1.46.17-2.19.57-.01,1.13-.04,1.7-.17-.57-.12-1.13-.16-1.7-.17-.01-.73-.04-1.46-.17-2.19-.13.73-.16,1.46-.17,2.19Z' style='fill: %23b28b46;'/%3E%3Cpath d='M2.13,8.39c-.71.01-1.42.05-2.13.21.71.15,1.42.2,2.13.21.01.92.05,1.83.21,2.75.16-.92.2-1.83.21-2.75.71-.01,1.42-.05,2.13-.21-.71-.15-1.42-.19-2.13-.21-.01-.92-.05-1.83-.21-2.75-.16.92-.2,1.83-.21,2.75Z' style='fill: %23b28b46;'/%3E%3Cpath d='M55.04,13.06c-.71.01-1.42.05-2.13.21.71.15,1.42.2,2.13.21.01.92.05,1.83.21,2.75.16-.92.2-1.83.21-2.75.71-.01,1.42-.05,2.13-.21-.71-.15-1.42-.19-2.13-.21-.01-.92-.05-1.83-.21-2.75-.16.92-.2,1.83-.21,2.75Z' style='fill: %23b28b46;'/%3E%3Cpath d='M59.51,6.28c-.71.01-1.42.05-2.13.21.71.15,1.42.2,2.13.21.01.92.05,1.83.21,2.75.16-.92.2-1.83.21-2.75.71-.01,1.42-.05,2.13-.21-.71-.15-1.42-.19-2.13-.21-.01-.92-.05-1.83-.21-2.75-.16.92-.2,1.83-.21,2.75Z' style='fill: %23b28b46;'/%3E%3Cpath d='M46.14,3.47c-.46,0-.92.03-1.38.13.46.1.92.13,1.38.13,0,.59.03,1.19.14,1.78.1-.59.13-1.19.14-1.78.46,0,.92-.04,1.38-.13-.46-.1-.92-.13-1.38-.13,0-.59-.03-1.19-.14-1.78-.1.59-.13,1.19-.14,1.78Z' style='fill: %23b28b46;'/%3E%3Cpath d='M43.51,11.37c-.46,0-.92.03-1.38.13.46.1.92.13,1.38.13,0,.59.03,1.19.14,1.78.1-.59.13-1.19.14-1.78.46,0,.92-.04,1.38-.13-.46-.1-.92-.13-1.38-.13,0-.59-.03-1.19-.14-1.78-.1.59-.13,1.19-.14,1.78Z' style='fill: %23b28b46;'/%3E%3Cpath d='M50.09,8.74c-.46,0-.92.03-1.38.13.46.1.92.13,1.38.13,0,.59.03,1.19.14,1.78.1-.59.13-1.19.14-1.78.46,0,.92-.04,1.38-.13-.46-.1-.92-.13-1.38-.13,0-.59-.03-1.19-.14-1.78-.1.59-.13,1.19-.14,1.78Z' style='fill: %23b28b46;'/%3E%3Cpath d='M39.06,5.61c-1.33.02-2.67.1-4,.39,1.33.29,2.67.37,4,.39.02,1.72.1,3.44.39,5.16.3-1.72.37-3.44.39-5.16,1.33-.03,2.67-.1,4-.39-1.33-.29-2.67-.37-4-.39-.02-1.72-.1-3.44-.39-5.16-.29,1.72-.37,3.44-.39,5.16Z' style='fill: %23b28b46;'/%3E%3Cpath d='M15.73,13.6c-1.02.02-2.04.08-3.05.3,1.02.22,2.04.28,3.05.3.02,1.31.07,2.62.3,3.94.23-1.31.28-2.62.3-3.94,1.02-.02,2.04-.08,3.05-.3-1.02-.22-2.04-.28-3.05-.3-.02-1.31-.08-2.62-.3-3.94-.22,1.31-.28,2.62-.3,3.94Z' style='fill: %23b28b46;'/%3E%3Cpath d='M27.27,10.62c-2.71.03-5.41.12-8.12.43,2.71.31,5.41.4,8.12.43-1.44,1.48-2.11,2.35-3.12,3.71,1.36-1.01,2.23-1.69,3.71-3.13.02,1.5.03,3.01.09,4.51.07,1.84.15,3.68.34,5.52.18-1.84.27-3.68.34-5.52.06-1.5.07-3.01.09-4.51,1.48,1.44,2.35,2.11,3.71,3.13-1.01-1.36-1.68-2.22-3.13-3.71,2.71-.03,5.41-.12,8.12-.43-2.71-.31-5.42-.4-8.12-.43,1.44-1.48,2.11-2.35,3.13-3.71-1.35,1.02-2.23,1.69-3.71,3.13-.02-1.51-.03-3.01-.09-4.52-.07-1.84-.15-3.68-.34-5.52-.18,1.84-.27,3.68-.34,5.52-.06,1.51-.07,3.01-.09,4.52-1.49-1.44-2.36-2.11-3.71-3.13,1.01,1.35,1.69,2.22,3.13,3.71Z' style='fill: %23b28b46;'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 62.06 22.09'%3E%3Cg%3E%3Cg%3E%3Cpath d='M8.96,11.74c-.71.01-1.42.05-2.13.21.71.15,1.42.2,2.13.21.01.92.05,1.83.21,2.75.16-.92.2-1.83.21-2.75.71-.01,1.42-.05,2.13-.21-.71-.15-1.42-.19-2.13-.21-.01-.92-.05-1.83-.21-2.75-.16.92-.2,1.83-.21,2.75Z' style='fill: %23b28b46;'/%3E%3Cpath d='M13.94,8.23c-.57.01-1.13.04-1.7.17.57.12,1.13.16,1.7.17,0,.73.04,1.46.17,2.19.13-.73.16-1.46.17-2.19.57-.01,1.13-.04,1.7-.17-.57-.12-1.13-.16-1.7-.17-.01-.73-.04-1.46-.17-2.19-.13.73-.16,1.46-.17,2.19Z' style='fill: %23b28b46;'/%3E%3Cpath d='M2.13,8.39c-.71.01-1.42.05-2.13.21.71.15,1.42.2,2.13.21.01.92.05,1.83.21,2.75.16-.92.2-1.83.21-2.75.71-.01,1.42-.05,2.13-.21-.71-.15-1.42-.19-2.13-.21-.01-.92-.05-1.83-.21-2.75-.16.92-.2,1.83-.21,2.75Z' style='fill: %23b28b46;'/%3E%3Cpath d='M55.04,13.06c-.71.01-1.42.05-2.13.21.71.15,1.42.2,2.13.21.01.92.05,1.83.21,2.75.16-.92.2-1.83.21-2.75.71-.01,1.42-.05,2.13-.21-.71-.15-1.42-.19-2.13-.21-.01-.92-.05-1.83-.21-2.75-.16.92-.2,1.83-.21,2.75Z' style='fill: %23b28b46;'/%3E%3Cpath d='M59.51,6.28c-.71.01-1.42.05-2.13.21.71.15,1.42.2,2.13.21.01.92.05,1.83.21,2.75.16-.92.2-1.83.21-2.75.71-.01,1.42-.05,2.13-.21-.71-.15-1.42-.19-2.13-.21-.01-.92-.05-1.83-.21-2.75-.16.92-.2,1.83-.21,2.75Z' style='fill: %23b28b46;'/%3E%3Cpath d='M46.14,3.47c-.46,0-.92.03-1.38.13.46.1.92.13,1.38.13,0,.59.03,1.19.14,1.78.1-.59.13-1.19.14-1.78.46,0,.92-.04,1.38-.13-.46-.1-.92-.13-1.38-.13,0-.59-.03-1.19-.14-1.78-.1.59-.13,1.19-.14,1.78Z' style='fill: %23b28b46;'/%3E%3Cpath d='M43.51,11.37c-.46,0-.92.03-1.38.13.46.1.92.13,1.38.13,0,.59.03,1.19.14,1.78.1-.59.13-1.19.14-1.78.46,0,.92-.04,1.38-.13-.46-.1-.92-.13-1.38-.13,0-.59-.03-1.19-.14-1.78-.1.59-.13,1.19-.14,1.78Z' style='fill: %23b28b46;'/%3E%3Cpath d='M50.09,8.74c-.46,0-.92.03-1.38.13.46.1.92.13,1.38.13,0,.59.03,1.19.14,1.78.1-.59.13-1.19.14-1.78.46,0,.92-.04,1.38-.13-.46-.1-.92-.13-1.38-.13,0-.59-.03-1.19-.14-1.78-.1.59-.13,1.19-.14,1.78Z' style='fill: %23b28b46;'/%3E%3Cpath d='M39.06,5.61c-1.33.02-2.67.1-4,.39,1.33.29,2.67.37,4,.39.02,1.72.1,3.44.39,5.16.3-1.72.37-3.44.39-5.16,1.33-.03,2.67-.1,4-.39-1.33-.29-2.67-.37-4-.39-.02-1.72-.1-3.44-.39-5.16-.29,1.72-.37,3.44-.39,5.16Z' style='fill: %23b28b46;'/%3E%3Cpath d='M15.73,13.6c-1.02.02-2.04.08-3.05.3,1.02.22,2.04.28,3.05.3.02,1.31.07,2.62.3,3.94.23-1.31.28-2.62.3-3.94,1.02-.02,2.04-.08,3.05-.3-1.02-.22-2.04-.28-3.05-.3-.02-1.31-.08-2.62-.3-3.94-.22,1.31-.28,2.62-.3,3.94Z' style='fill: %23b28b46;'/%3E%3Cpath d='M27.27,10.62c-2.71.03-5.41.12-8.12.43,2.71.31,5.41.4,8.12.43-1.44,1.48-2.11,2.35-3.12,3.71,1.36-1.01,2.23-1.69,3.71-3.13.02,1.5.03,3.01.09,4.51.07,1.84.15,3.68.34,5.52.18-1.84.27-3.68.34-5.52.06-1.5.07-3.01.09-4.51,1.48,1.44,2.35,2.11,3.71,3.13-1.01-1.36-1.68-2.22-3.13-3.71,2.71-.03,5.41-.12,8.12-.43-2.71-.31-5.42-.4-8.12-.43,1.44-1.48,2.11-2.35,3.13-3.71-1.35,1.02-2.23,1.69-3.71,3.13-.02-1.51-.03-3.01-.09-4.52-.07-1.84-.15-3.68-.34-5.52-.18,1.84-.27,3.68-.34,5.52-.06,1.51-.07,3.01-.09,4.52-1.49-1.44-2.36-2.11-3.71-3.13,1.01,1.35,1.69,2.22,3.13,3.71Z' style='fill: %23b28b46;'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color:var(--winter-color-secondary);
}

article#hotels .plan .plan-list{
  display: grid;
  gap: 2rem;
}
article#hotels .plan .plan-list .item{
  background: #fff;
}

article#hotels .plan .plan-list .item img {
  aspect-ratio: 4 / 2;
}
article#hotels .plan .plan-list .item .txt {
	padding:2rem;
	gap: 2.4rem;
	color: var(--color-hotels);
	flex:1;
}
article#hotels .plan .plan-list .item .txt p{
  line-height: 140%;
}
article#hotels .plan .plan-list .item .txt .price {
  border: 1px solid;
  border-left: 0;
  border-right: 0;
  padding: 0.5rem;
}

article#hotels .plan .plan-list .item .link .btn {
}


@media screen and (min-width: 1025px) {

	article#hotels {
	}
	article#hotels .enjoy img {
	  aspect-ratio: 16 / 9;
	}
	article#hotels  .swiper-slide:not(.swiper-slide-active) .item {
	  transform: scale(1);
	}
	article#hotels  .swiper-slide-active .item img {
	  transform: scale(1);
	}


	article#hotels .tokuten {
	  padding: 6rem;
	  width: 100%;
	  max-width: 1440px;
	}
	article#hotels .tokuten .inner {
	  margin: 0 auto;
	}
	article#hotels .plan {
	  padding: 6rem;
	      max-width: 940px;

	}
	article#hotels .plan .inner {
	  margin: 0 auto;
	}

	article#hotels .plan .plan-list {
	  gap: 4rem;
	  grid-template-columns: 1fr 1fr;
	}
	article#hotels .plan .plan-list .item {
	  grid-template-columns: 1fr 1.1fr;;
	}
	article#hotels .plan .plan-list .item img {
	  aspect-ratio: 16 / 9;
	}


}
