@charset "UTF-8";





#h-header {
	transition: all 0.2s ease 0s;
}
body.scroll #h-header{
	opacity:0;
	transform: translateY(-100%);
}

body.scroll .h-header__gnav-link {
  display: flex;
}
body.scroll .h-header__cta {
  row-gap: 5px;
  margin: 5px;
  width: 210px;
}

body.upfixed #h-header{
	display: grid;
	opacity: 1;
	z-index:999;
}


body.scroll .h-header__gnav-link {
  display: none;
}



.htb-pagetop {
  bottom: 2rem;
}


.h-common__header {
  background: #F0ECCD;
  width: 100%;
  height: 121px;
  border-top-width: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.e-common__breadcrumbs {
  display: none;
}
.h-common__header h1 {
  font-weight: 500;
  font-size: 28px;
  line-height: 140%;
  letter-spacing:0;
  text-align: center;
  font-family: var(--font-family-Zen-Go);
}


@media screen and (max-width: 768px) {
	/*
	body.scroll .h-header__logo img {
		max-width: 130px;
		min-width: 100%;
	}
	*/
	.h-header__cta {
	    display: none;
	}
	body.scroll .h-header__logo,
	body.scroll .h-header__gnav-link,
	body.scroll .h-header__menu,
	body.scroll .h-header__gnav-nav {
	  display: none;
	}
	body.upfixed .h-header__logo,
	body.upfixed .h-header__gnav-link,
	body.upfixed .h-header__menu,
	body.upfixed .h-header__gnav-nav{
		display: flex;
	}	
}

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

	.h-common__header {
	height: 177px;
	}
	.h-common__header h1 {
	font-size: 41px;
	}
	.e-common__breadcrumbs{
	    display: block;
	    position: absolute;
	    width: 1100px;
	    margin: 0 auto;
	    padding: 12px 0;
	    top: 0;
	    left: 0;
	    right: 0;
	}
	.e-common__breadcrumbs ul{
	  position: relative;
	  display: flex;
	  width: 100%;
	  margin: 0 auto;
	  align-items: center;
	  justify-content: flex-start;
	}
	.e-common__breadcrumbs ul li {
		list-style-type: none;
		color:#000;
		font-weight: 400;
		font-size: 12px;
		line-height: 140%;
		letter-spacing: 0%;
	}
	.e-common__breadcrumbs ul li a {
		color:#000;
		text-decoration: none;
		display: flex;
		align-items: center;
	}
	.e-common__breadcrumbs ul li a::after {
		content: "/";
		mask-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%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%205%209%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23000%3B%20stroke-linecap%3A%20round%3B%20stroke-linejoin%3A%20round%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%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%20class%3D%22cls-1%22%20d%3D%22M.5%2C8.5l4-4L.5.5%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		-webkit-mask-size: contain;
		mask-size: contain;
		background-color: currentColor;
		background-repeat: no-repeat;
		background-position: center;
		width: 10px;
		height: 10px;
		display: block;
		margin: 0 8px;
	}
}



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

dialog

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


/* ダイアログ開時に背景のスクロールを防ぐ */
html:has(dialog[open]) {
  overflow: hidden;
}

/* ダイアログにCSSトランジションを設定 */
dialog{
  transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}
/* ダイアログ開時の背景 */
dialog::backdrop {
	background: rgba(0, 0, 0, 0.3);
}

/* ダイアログメニュー */
dialog.js-dialog-menu{
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	width: 50%;
	left: auto;
	margin: 0;
	border: 0;
	outline: 0;
	padding: 0;
}
/* ダイアログメニューの表示前*/
dialog.js-dialog-menu.show-from,
dialog.js-dialog-menu.hide-to{
  translate: 100% 0%;
}
/* ダイアログメニューの表示前、非表示後は背景を透明にする */
dialog.js-dialog-menu.show-from::backdrop,
dialog.js-dialog-menu.hide-to::backdrop{
  opacity: 0;
}

/* ダイアログモーダル
dialog.js-dialog-modal{
  opacity: 1;
}
/* モーダルの表示前、非表示後は下に移動 */
dialog.js-dialog-modal.show-from,
dialog.js-dialog-modal.hide-to {
  opacity: 0;
  translate: 0% 10%;
}

/* モーダルの表示前、非表示後は背景を透明にする */
dialog.js-dialog-modal.show-from::backdrop,
dialog.js-dialog-modal.hide-to::backdrop {
  opacity: 0;
}


.dialog-menu-btn {
	position: relative;
	width: 32px;
	height: 20px;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}
.dialog-menu-btn span {
  position: relative;
  width: 32px;
  height: 1px;
  background-color: #000;
  transition: transform .2s cubic-bezier(.27,1.2,.6,1);
}


.dialog_btn {
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
  margin-top: 30px;
}

.dialog_btn .btn{
	background: transparent;
	border: 1px #644839 solid;
	color: #644839;
}
.dialog_btn .btn:after {
  background-color: #644839;
}

@media (any-hover: hover) {
  .dialog-menu-btn:hover span:nth-child(1) {
	  transform: translateY(3px)
  }
  .dialog-menu-btn:hover span:nth-child(3) {
	  transform: translateY(-3px)
  }
}

.dialog-menu-btn.js-dialog-menu-close{
	background:#000;
	padding: 10px;
	height: 56px;
	width: 56px;
	margin: 0 0 0 auto;
	align-items: center;
}
.dialog-menu-btn.js-dialog-menu-close span {
  position: absolute;
  background-color: #fff;
}
.dialog-menu-btn.js-dialog-menu-close span:nth-child(1) {
   transform: translateY(18px) rotate(-45deg);
}
.dialog-menu-btn.js-dialog-menu-close span:nth-child(2) {
  opacity: 0;
}
.dialog-menu-btn.js-dialog-menu-close span:nth-child(3) {
    transform: translateY(18px) rotate(45deg);
}


.js-dialog-modal {
	padding: 30px 20px;
	border-radius: 20px;
	max-width: 780px;
	background:#e2e2e2;
	margin:auto;
	width: 96%;
}
.js-dialog-modal .js-dialog-inner {
	display: grid;
	gap: 22px;
	justify-content: center;
	justify-items: center;
	grid-template-columns: 1fr;
}

.js-dialog-modal .js-dialog-inner .head{
	font-weight: 500;
	font-size: 16px;
	line-height: 160%;
	text-align: center;
	background:#D9D9D9;
	padding:6px;
	  width: 100%;
}

.js-dialog-modal .js-dialog-inner ul{
  list-style: disc;
  margin-left: 25px;
  font-weight: 400;
  font-size: 14px;
  line-height: 170%;
}

.js-dialog-modal .js-dialog-inner a{
  text-align: center;
  color: #000;
  /* display: inline-block; */
  border-bottom: 1px #000 solid;
  text-decoration: none;
}
.js-dialog-inner .js-dialog-close {
	font-weight: 500;
	font-size: 14px;
	line-height: 160%;
	letter-spacing: 10%;
	text-align: center;
	background:var(--color-black);
	color: #fff;
	padding: 8px 40px;
	border-radius: 5px;
	margin: 20px auto 0;
}


/****************************************
js-dialog カスタマイズ
****************************************/


nav >.nav__dialog {
  position: absolute;
  top: 20px;
  right: 10px;
  z-index: 1;
  background: #fff;
  border-radius: 999px;
  padding:10px;
  transition: all 0.4s;
}

body.upfixed nav >.nav__dialog{
  top: 65px;
}

.js-dialog-menu-open{
	width: 26px;
	height:26px;
	overflow: hidden;
	justify-content: space-evenly;
}
.dialog-menu-btn.js-dialog-menu-close {
  background:transparent;
}


.js-dialog-menu {
  width: 100%;
}
.dialog-menu-btn span {
  background-color: var(--color-dialog-menu-btn);
}
.dialog-menu-btn.js-dialog-menu-close span {
  background-color: var(--color-dialog-menu-btn);
}

.js-dialog-menu {
background:var(--color-dialog-menu-bg);
}

.js-dialog-menu .body {
  padding: 0 24px;
  width: 100%;
}

.js-dialog-menu .body > ul{
	margin:30px 0 60px;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.js-dialog-menu .body > ul > li{
	border-bottom: 1px #CBE6E4 solid;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.js-dialog-menu .body > ul li a,
.js-dialog-menu .body > ul li dt{
	font-weight: 700;
	font-size: 18px;
	line-height: 100%;
	vertical-align: middle;
	color: var(--color-dialog-menu-link);
	text-decoration: none;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	height: 100%;
	background: transparent;
	padding: 0;
	padding-bottom: 24px;
	cursor: pointer;
}

.js-dialog-menu .body > ul > li > ul a,
.js-dialog-menu .body > ul > li > dl dd a{
	font-weight: 500;
	font-size: 13px;
	line-height: 100%;
	vertical-align: middle;
	color: var(--color-black);
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	height: 100%;
}

.js-dialog-menu .body ul > li a:after {
	content: "";
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color: currentColor;
	background-repeat: no-repeat;
	background-position: center;
	width: 16px;
	height: 16px;
	display: block;
	mask-image: url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%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%20123.93%20123.93%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%22M61.97%2C0C27.74%2C0%2C0%2C27.74%2C0%2C61.97s27.74%2C61.97%2C61.97%2C61.97%2C61.97-27.74%2C61.97-61.97S96.19%2C0%2C61.97%2C0ZM81.11%2C65.62l-23.24%2C23.24c-1.01%2C1.01-2.33%2C1.51-3.65%2C1.51s-2.64-.5-3.65-1.51c-2.02-2.02-2.02-5.29%2C0-7.3l19.59-19.59-19.59-19.59c-2.02-2.02-2.02-5.29%2C0-7.3s5.29-2.02%2C7.3%2C0l23.24%2C23.24c2.02%2C2.02%2C2.02%2C5.29%2C0%2C7.3Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E);
}

.js-dialog-menu .body > ul li dt:after {
	content: "";
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color: currentColor;
	background-repeat: no-repeat;
	background-position: center;
	width: 16px;
	height: 16px;
	display: block;
	mask-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%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%2015.5%2015.5%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23fff%3B%20stroke-linecap%3A%20round%3B%20stroke-linejoin%3A%20round%3B%20stroke-width%3A%201.5px%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%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%20class%3D%22cls-1%22%20d%3D%22M7.75.75v14%22%2F%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M.75%2C7.75h14%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
	color: var(--color-dialog-menu-link);
	position: relative;
	top: 0;
	right:0;
	transform: unset;
}

.js-dialog-menu .body > ul li dt.active:after {
	mask-image:  url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%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%2015.5%201.5%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23281815%3B%20stroke-linecap%3A%20round%3B%20stroke-linejoin%3A%20round%3B%20stroke-width%3A%201.5px%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%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%20class%3D%22cls-1%22%20d%3D%22M.75.75h14%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
}
.js-dialog-menu .body > ul li dd {
  padding: 0;
  background: transparent;
  border: 0;
}



.js-dialog-menu  .dialog-menu__cta{
  display: grid;
  margin: 0 24px;
  gap: 4px;
  grid-template-columns: 1fr 1fr;
}

nav  {
  position: sticky;
  left: 0px;
  top: 0px;
  z-index: 99;
  opacity: 0;
  transition: all 0.4s;
}
.scroll nav  {
  top: 70px;
  opacity: 1;
  
}


/************* cta ******************/
nav > .nav__cta{
	display:none;
	opacity:0;
}

.scroll nav > .nav__cta {
	position: fixed;
	right: 0;
	top: auto;
	bottom: 40%;
	width: auto;
	display:block;
	opacity: 1;
	transition: all 0.4s;
}

/*サイドに表示
nav > .nav__cta div{
	text-align: left;
	justify-content: center;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 70px;
	transition: all 0.4s;
	transform-origin: right center;
}
.scroll nav > .nav__cta div {
	transform: scale(.9);
}
.scroll.upfixed nav > .nav__cta div{
	transform: scale(1);
}


nav > .nav__cta a{
	height: auto;
	background:#000;
	color: #fff;
	text-align: center;
	aspect-ratio: 1 / 1;
	border-radius:1rem 0 0 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 2px #fff solid;
	border-right:0;
	font-size: var(--font-size-btn-cta);
	text-decoration: none;
	line-height: 120%;
}

nav > .nav__cta a span{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

サイドに表示 ここまで*/

.scroll nav > .nav__cta {
  bottom:1rem;
  right: auto;
  left: auto;
    width: 100%;
}

nav > .nav__cta div{
	text-align: left;
	justify-content: center;
	display: grid;
	grid-template-columns:1.2fr 1fr auto;
	gap: 1rem;
	margin: 0 1.6rem;
	background: #fcfcfc;
	padding:0.5rem;
	border-radius: 1rem;
	transition: all 0.4s;
	transform-origin: center bottom;
	transform: scale(0.9);
}
.upfixed nav > .nav__cta div {
	transform: scale(1);
}

nav > .nav__cta a{
	height: auto;
	background:#000;
	color: #fff;
	text-align: center;
	border-radius:0.5rem;
	display: flex;
	gap: 0.8rem;
	align-items: center;
	justify-content: center;
	padding:1rem;
	font-size: var(--font-size-btn-cta);
	text-decoration: none;
	line-height: 120%;
	width: 100%;
}

nav > .nav__cta a span{
	display: flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	font-weight: bold;
}




nav > .nav__cta a:before {
  content: "";
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: currentColor;
  width: 25px;
  height:28px;
  display: block;
  transition: all 0.4s;
}


nav > .nav__cta .ticket{
	background: var(--color-cta-ticket);
}
nav > .nav__cta .ticket:before {
	mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2017.97%22%3E%20%3Cg%3E%20%3Cg%3E%20%3Cg%3E%20%3Cpath%20d%3D%22M27.6%2C8.99c0-1.49.98-2.8%2C2.4-3.23V0H4.41C1.97%2C0%2C0%2C1.98%2C0%2C4.41h0v1.34c1.43.43%2C2.4%2C1.74%2C2.4%2C3.23S1.42%2C11.78%2C0%2C12.21v5.76h25.59c2.44%2C0%2C4.41-1.98%2C4.41-4.41h0v-1.34c-1.42-.43-2.4-1.74-2.4-3.23M20.53%2C15.86c-.5%2C0-.91-.41-.91-.91s.41-.91.91-.91.91.41.91.91-.41.91-.91.91h0M20.53%2C11.88c-.5%2C0-.91-.41-.91-.91s.41-.91.91-.91.91.41.91.91-.41.91-.91.91h0M20.53%2C7.9c-.5%2C0-.91-.4-.91-.9s.4-.91.9-.91.91.4.91.9h0c0%2C.5-.41.91-.91.91h0M20.52%2C3.92c-.5%2C0-.91-.41-.91-.91s.41-.91.91-.91.91.41.91.91-.41.91-.91.91h0%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');}


nav > .nav__cta .hotel{
	background: var(--color-cta-hotels);
}
nav > .nav__cta .hotel:before {
	mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030.01%2023.35%22%3E%20%3Cg%3E%20%3Cg%3E%20%3Cg%20%3E%20%3Cpath%20d%3D%22M6.75%2C4.02c.01-.75.63-1.35%2C1.39-1.34h3.83c.75-.01%2C1.37.59%2C1.39%2C1.34v1.68h3.29v-1.68c.01-.75.63-1.35%2C1.39-1.34h3.83c.75-.01%2C1.37.59%2C1.39%2C1.34v1.68h4.15V0H5.18c-1.4-.02-2.56%2C1.1-2.58%2C2.5h0v3.2h4.15s0-1.68%2C0-1.68Z%22%2F%3E%20%3Cpath%20d%3D%22M26.96%2C13.03c1.01%2C0%2C1.98.4%2C2.69%2C1.11l-2.25-7.11H2.6L.36%2C14.14c.71-.72%2C1.68-1.12%2C2.69-1.11h23.91Z%22%2F%3E%20%3Cpath%20d%3D%22M27.5%2C21.31v.82c.02.69.6%2C1.24%2C1.29%2C1.22.66-.02%2C1.2-.55%2C1.22-1.22v-2.44c-.6.84-1.49%2C1.42-2.51%2C1.63%22%2F%3E%20%3Cpath%20d%3D%22M29.59%2C18.66c.27-.47.41-1%2C.41-1.54%2C0-.1%2C0-.2%2C0-.29-.18-1.53-1.49-2.67-3.03-2.65H3.04c-1.54-.02-2.84%2C1.12-3.03%2C2.65-.01.1-.02.2-.01.29v3.22H0v1.8c.01.68.57%2C1.22%2C1.25%2C1.21.68.01%2C1.24-.53%2C1.25-1.21v-1.8h24.17c.27%2C0%2C.55-.03.82-.1.89-.21%2C1.65-.78%2C2.1-1.57%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
}


.scroll nav > .nav__cta .pagetop {
  width: auto;
  background: #999;
  padding: 0;
  aspect-ratio: 1 / 1;
  border-radius: 9999px;
  box-shadow: 0px 0px 10px rgb(29 50 111 / 35%);
  gap: 0;
    margin: 0.5rem 0;
}
.scroll nav > .nav__cta .pagetop span {
  display: none;
}
nav > .nav__cta .pagetop:before {
	content: "";
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);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color: currentColor;
	background-repeat: no-repeat;
	background-position: center;
	width: 100%;
	height: 100%;
	display: block;
	transform: rotate(-90deg);
	color: #ffff;
}


/************* cta end******************/

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

	nav > .nav__cta div {
		max-width: 640px;
		margin:0 auto;
		padding: 1rem;
	}
	.js-dialog-menu-open {
	  width: 36px;
	  height: 36px;
	}
	.js-dialog-menu {
	width: 450px;
	}

	nav > .nav__cta {
	  display: none;
	}

}



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

img

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

img {
  object-fit: cover;
  position: relative;
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  transition: 0.6s all;
  margin: 0 auto;
  display: block;
}


img.mercisbv {
  margin: 0px 0 0px auto;
  position: absolute !important;
  bottom: auto;
  right: 3px;
  aspect-ratio: auto !important;
  width: 76px !important;
  height: auto !important;
  z-index: 1;
  height: auto;
  top: 3px;
  padding: 3px;
}
.image_overlay02 img.mercisbv {
  bottom:0;
  top: auto;
}

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

ol li

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

ul.asterisk{
	text-align: left;
	font-weight: 400;
	letter-spacing: 0;
	gap: 2px;

}
ul.asterisk li:before{
	content: "※";
	display: block;
	left: 0;
	margin: auto;
	padding: 0;
	position: absolute;
	top: 0;
}
ul.asterisk.midpoint li:before{
	content: "・";
}
ul.asterisk.circle li:before{
	content: "●";
}
ul.asterisk li{
	list-style-type: none;
	margin: 0;
	padding: 0 0 0 15px;
	position: relative;
}

dl.table{
	display: grid;
	justify-content: flex-start;
	align-items: start;
	margin: 10px auto;
	position: relative;
	gap: 10px;
	grid-template-columns:auto 1fr;
	width: 100%;
}
dl.table dt{
	width: 100px;
	display: block;
	background:#484747;
	color: #fff;
	border-radius: 5px;
	margin-right: 10px;
	padding: 3px 10px;
	line-height: 1.2;
	text-align: center;
}

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

.btn 

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

.btn {
  background-color: var(--color-orange);
  border: 2px solid;
  border-color: var(--color-orange);
  display: block;
  color: #fff;
  text-decoration: none;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4rem;
    padding: 1.8rem 3rem;
  font-family: YakuHanJP,"Zen Kaku Gothic New", sans-serif!important;
  border-radius: 9999px;
}

.btn.enjoy-border {
  background-color: var(--color-white);
  border-color: var(--color-htb-enjoy);
  color: var(--color-htb-enjoy);
}
.btn.expass-border {
  background-color: var(--color-white);
  border-color: var(--color-htb-event);
  color: var(--color-htb-event);
}

.btn span {
  line-height: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
}

a.btn span:after {
  content: "";
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background-color: currentColor;
  background-repeat: no-repeat;
  background-position: center;
  width: 15px;
  height: 15px;
  display: block;
  mask-image: url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%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%20123.93%20123.93%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%22M61.97%2C0C27.74%2C0%2C0%2C27.74%2C0%2C61.97s27.74%2C61.97%2C61.97%2C61.97%2C61.97-27.74%2C61.97-61.97S96.19%2C0%2C61.97%2C0ZM81.11%2C65.62l-23.24%2C23.24c-1.01%2C1.01-2.33%2C1.51-3.65%2C1.51s-2.64-.5-3.65-1.51c-2.02-2.02-2.02-5.29%2C0-7.3l19.59-19.59-19.59-19.59c-2.02-2.02-2.02-5.29%2C0-7.3s5.29-2.02%2C7.3%2C0l23.24%2C23.24c2.02%2C2.02%2C2.02%2C5.29%2C0%2C7.3Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E);
}

a.btn:hover {
  opacity: 0.7;
}


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

オリジナル

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

dialog {
  transition: 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}

/* ダイアログメニューの表示前*/
dialog.js-dialog-menu.show-from,
dialog.js-dialog-menu.hide-to{
	translate:0% -150% ;
	opacity: 0;
}


dialog.js-dialog-menu {
height:max-content;
width: 90%;
max-width: 880px;
left: 0;
right: 0;
margin: 0 auto;
top: 50%;
transform: translateY(-50%);
background: var(--color-primary);
opacity: 1;
}

nav >.nav__dialog{
	background: var(--color-primary);
	border: 2px #fff solid;
}
.dialog-menu-btn.js-dialog-menu-close {
	background: var(--color-primary);
  position: sticky;
  top: 0;
}

.js-dialog-menu .body {
	display: grid;
	gap: 2rem;
	padding: 0 1.6rem 2.4rem;
}

.js-dialog-menu .body h2{
	color: var(--color-white);
}

.dialog-link {
  display: grid;
    gap:2rem;
}

.dialog-link .dialog-link-img{
  display: grid;
    gap: 0.8rem;
  grid-template-columns: 1fr 1fr;
}
.dialog-link .dialog-link-text{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 0.8rem;
  justify-content: center;
}

.dialog-link .item{
	background: var(--color-white);
	border-radius: 1.6rem;
	overflow: hidden;
	border: 4px #fff solid;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	justify-content: flex-start;
	height: auto;
	transition: 0.6s all;
	position: relative;
	text-decoration: none;
	text-align: center;
	color:var(--color-primary);
}
.dialog-link .item .img img{
  aspect-ratio: 16 / 9;
}

.dialog-link .item  .txt {
  padding:1rem;
}
.dialog-link .item  .txt p{
line-height: 120%;
}

.dialog-link .dialog-link-text .item{
  border-radius: 9999px;
  padding:0.6rem  1rem;
  justify-content: center;
    min-width: 100px;
}



@media screen and (min-width: 1025px) {
	.dialog-link .dialog-link-img {
	  gap: 2rem;
	  grid-template-columns: 1fr 1fr 1fr;
	}
	.js-dialog-menu .body {
	  padding:0 4rem 4rem;
	}
	.dialog-link .dialog-link-text .item{
	    min-width: 180px;
	}
	.dialog-link .item  .txt {
	  padding: 1.6rem 1rem;
	}
}



article {
  position: relative;
}

.c-section{
	max-width: 100%;
	position: relative;
	padding:var(--layout-space-section) 0 calc(var(--layout-space-section));
}


.c-section__body{
	position: relative;
	padding:0 var(--layout-space-base-horizontal);
}

.c-section__inner{
	position: relative;
	margin: 0 auto;
	width: 100%;
}
.c-section__inner.wide{
	position: relative;
	padding:0rem;
}

.c-section__contents{
	position: relative;
	display: grid;
	align-items: start;
	justify-content: center;
	justify-items: center;
	gap:var(--layout-space-base-vrtical);
}

.contents__inner {
  display: grid;
  gap: 2rem;
  justify-content: center;
  justify-items: center;
}



.text-heading{
  font-family: var(--font-family-Zen-Mi);
  font-size: var(--font-size-headding);
  line-height: var(--font-lineheight-headding);
  text-align: center;
  font-weight: 500;
  color:var(--color-primary);
}

.text-read{
  font-size: var(--font-size-tagline);
  line-height: var(--font-lineheight-read);
  font-weight: 500;
}

.text-base{
  font-size: var(--font-size-base);
  line-height: var(--font-lineheight-base);
  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);
  font-weight: 500;
}
.text-sm{
  font-size: var(--font-size-sm);
  font-weight: 500;
}
.text-xs{
  font-size: var(--font-size-xs);
  font-weight: 500;
}
.text-xxs{
  font-size: var(--font-size-xxs);
  font-weight: 500;
}

.text-self{
  font-family: var(--font-family-Zen-Mi);
}
.align-c{
text-align: var(--align-center);
}
.align-c-sp{
text-align: var(--align-center-sp);
}
.align-l{
text-align: var(--align-left:left);
}
.align-l-sp{
text-align: var(--align-left-sp);
}


.icon {
  display: flex;
  align-items: center;
  gap: 5px;
}

.icon.map:before {
  content: "";
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background-color: currentColor;
  background-repeat: no-repeat;
  background-position: center;
  width:1em;
  height:1em;
  display: block;
   mask-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2018%2024%22%20style%3D%22enable-background%3Anew%200%200%2018%2024%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23281815%3B%7D%3C%2Fstyle%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M12.8%2C9c0%2C2.1-1.7%2C3.8-3.8%2C3.8c-2.1%2C0-3.8-1.7-3.8-3.8S6.9%2C5.3%2C9%2C5.3C11.1%2C5.3%2C12.8%2C6.9%2C12.8%2C9%20C12.8%2C9%2C12.8%2C9%2C12.8%2C9z%20M9%2C11.3c1.2%2C0%2C2.3-1%2C2.3-2.3s-1-2.3-2.3-2.3S6.8%2C7.8%2C6.8%2C9c0%2C0%2C0%2C0%2C0%2C0C6.8%2C10.3%2C7.8%2C11.3%2C9%2C11.3z%20M18%2C9%20c0%2C4.1-5.5%2C11.4-7.9%2C14.4c-0.5%2C0.6-1.4%2C0.7-2%2C0.2c-0.1-0.1-0.2-0.1-0.2-0.2C5.5%2C20.4%2C0%2C13.1%2C0%2C9c0-5%2C4-9%2C9-9S18%2C4%2C18%2C9L18%2C9z%20M9%2C1.5%20C4.9%2C1.5%2C1.5%2C4.9%2C1.5%2C9c0%2C0%2C0%2C0%2C0%2C0c0.1%2C1%2C0.3%2C2%2C0.8%2C3c0.6%2C1.3%2C1.3%2C2.6%2C2%2C3.9c1.4%2C2.3%2C3%2C4.5%2C4.7%2C6.6c1.7-2.1%2C3.3-4.3%2C4.7-6.6%20c0.8-1.2%2C1.5-2.5%2C2-3.9c0.4-0.9%2C0.7-1.9%2C0.8-3C16.5%2C4.9%2C13.2%2C1.5%2C9%2C1.5C9%2C1.5%2C9%2C1.5%2C9%2C1.5z%22%2F%3E%3C%2Fsvg%3E');
}

.is-target{}

.target-fadein {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.target-fadein.active {
  opacity: 1;
  transform: translateY(0);
}


.br-candidate {
  display: inline-block;
}
.only-sp {
  display: none;
}
@media (max-width: 768px) {
  .only-sp {
    display: inline;
  }
}


.detail dl{
	display: grid;
	justify-content: flex-start;
	align-items: start;
	margin: 10px auto;
	position: relative;
	gap: 10px;
	grid-template-columns:auto 1fr;
	width: 100%;
}
.detail dl dt{
	width: 100px;
	display: block;
	background: #000;
	color: #fff;
	border-radius: 5px;
	margin-right: 10px;
	padding: 3px 10px;
	line-height: 1.2;
	text-align: center;
}

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


}


/************プリロード*******************/


#loading-screen {}


body:not(.loaded) {
  overflow: hidden;
}
body.loaded {
  overflow-y: scroll;
}

#loading-screen {
	position: fixed;
	width: 100%;
	min-height: 100vh;   
	inset: 0;
	background:var(--color-loaded);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	flex-wrap: wrap;
	align-content: center;
	flex-direction: column;
	opacity: 1;
	transition: opacity 0.6s ease;
	pointer-events: all;
}
#loading-screen.hidden {
  opacity: 0;
  pointer-events: none;
}
.loader-wrapper {
  --loader-size: 100px;
  --ring-width: 3;
  width: var(--loader-size);
  height: var(--loader-size);
  position: relative;
}

.progress-ring {
  width: 100%;
  height: 100%;
  display: block;
  transform: rotate(-90deg);
}

.ring-bg {
  fill: none;
  stroke: var(--color-ring-bg);
  stroke-width: var(--ring-width);
}

.ring {
  fill: none;
  stroke: var(--color-ring);
  stroke-width: var(--ring-width);
  stroke-dasharray: 339.29;
  stroke-dashoffset: 339.29;
  transition: stroke-dashoffset 0.3s ease;
}

.count {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: calc(var(--loader-size) * 0.1.8); 
  color: var(--color-ring-bg);
}


.loader-htb {
	display: block;
	max-width: 180px;
	width: 100%;
	animation: slide-in-skew-left 0.5s ease-out both;
}

@keyframes slide-in-skew-left {
  0% {
    transform: translateX(-100%) rotateZ(-15deg);
    opacity: 0;
  }
  60% {
    transform: translateX(20%) rotateZ(3deg);
    opacity: 1;
  }
  100% {
    transform: translateX(0) rotateZ(0deg);
    opacity: 1;
  }
}

/************プリロード end *******************/



/************ #eventcalendar *******************/

:root{
	--month-size:60px;
	--color-seasonalevents:#2EB6AA;
	--color-pickup: #FF9800;
	--color-fireworks:#0B2E5E;
	--color-seasonalflowers:#ff7bac;
	--color-dailyevents:#3399cc;
	--group-conten-radius:4rem;
	--item-gap:4rem;
	--item-padding:1.8rem;
	--item-radius:2rem
}



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

	:root{
		--month-size:60px;
		--group-conten-radius:4rem;
		--item-gap:8rem;
		--item-padding:3.2rem;
		--item-radius:3rem
	}

}



@media (min-width: 1025px) {
	:root{
		--month-size:80px;
		--group-conten-radius:8rem
	}
}


@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes stickyfadeIn {
  0% {
    opacity: 0;
      transform: translateY(-100%);
  }
  40% {
    opacity: 1;
      transform: translateY(-100%);
  }
  100% {
    opacity: 1;
      transform: translateY(0%);
  }
}


@keyframes scaleIn {
  from {
    opacity: 0;
	transform: scale(1.1);
  }
  to {
    opacity: 1;
	transform: scale(1);
  }
}
@keyframes shimmer {
  100% {
    /* 最終的に右端の外側へ移動させる */
    transform: translateX(100%);
  }
}

#eventcalendar {
	font-family: var(--font-family-LINE-regular);
}



.month-select-wrapper {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    justify-content: center;
    margin-top: -40px
}

.month-contents-wrapper.is-updating {
    /* 即座に非表示にし、トランジションも無効化する */
    visibility: hidden;
    opacity: 0;
    transition: none;
}

/* is-stickyクラスもラッパーに付くように変更 */
.month-select-wrapper.is-sticky {
	position: sticky;
	animation: stickyfadeIn 0.8s ease;
}

.month-select-wrapper:before {
/*
  content: "";
  width: 100%;
  height: 2px;
  background: #000;
  position: absolute;
  bottom: 0px;
  left: 0;
*/
}

/* 月選択タブのスタイル */
.month-select {
	list-style: none;
	display: inline-flex;
	padding: 0rem 1.6rem 0;
	margin: 0 auto;
	gap: 1rem;
	align-items: flex-end;
	align-items: center;
	height:calc(var(--month-size) * 1.5);
	overflow-x: auto; /* 横方向のスクロールを有効にする */
	white-space: nowrap; /* 要素が折り返さないようにする */
	-webkit-overflow-scrolling: touch; /* iOSで慣性スクロールを有効にする */
	scrollbar-width: none; /* Firefoxでスクロールバーを非表示 */
	scroll-behavior: smooth; /* スムーズなスクロール */
	position: relative;
}

/* Chrome, Safariでスクロールバーを非表示 */
.month-select::-webkit-scrollbar {
    display: none;
}


.month-select li{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

.month-select li{
	margin: 0;
	cursor: pointer;
	border-radius: 9999px;
	background:#fff;
	color:#fff;
	white-space: nowrap;
	flex-shrink: 0;
	height: var(--month-size);
	width:  var(--month-size);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	transition: all 0.4s ease;
	flex-shrink: 0;
	cursor: pointer;
	margin-bottom:0px;
	border: 2px #fff solid;
	position: relative;
	font-size: var(--font-size-base);
	text-decoration: none;
	color: var(--color-seasonalevents);
	border-color: var(--color-seasonalevents);
}
.month-select li.active {
/*
	background: #fff;
	color: #000;
	height: calc(var(--month-size) * 1.1);
	width: calc(var(--month-size) * 1.1);
	border-radius: 10rem 10rem 0 0;
	margin-bottom: 0;
	border-bottom:0;
	border-color:#000;
	font-weight: bold;
	font-size: var(--font-size-md);
*/
	background:var(--color-seasonalevents);
	height: calc(var(--month-size) * 1.5);
	width: calc(var(--month-size) * 1.5);
	font-weight: bold;
	font-size: var(--font-size-lg);

	border:0;
	color: #fff !important;
}


/* スクロール案内のコンテナ */
.scroll-guide {
	display: none; /* PCでは常に非表示 */
	align-items: center;
	position: absolute;
	top: 50%;
	right:5px;
	transform: translateY(-50%);
	background-color: rgba(0, 0, 0, 0.7);
	color: white;
	padding: 4px 6px 4px 8px;
	border-radius: 20px;
	font-size: 10px;
	z-index: 5;
	opacity: 1;
	transition: opacity 0.5s ease;
	pointer-events: none; /* これがないと下の要素をクリックできない */
}

/* フェードアウト用クラス */
.scroll-guide.is-hidden {
    opacity: 0;
}

/* SVG指アイコンのスタイル */
.scroll-guide__icon {
    position: relative;
    width: 20px; /* アイコンの幅 */
    height: 26px; /* アイコンの高さ */
    margin-right: 6px;

    /* ★★★ ここでアイコンの色を指定 ★★★ */
    background-color: white;

    /* ご提供いただいたSVGをマスクとして適用 */
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 383.78 512'%3E%3Cpath d='M335.84,207.46c-5.27,0-10.46.89-15.38,2.54-.07.02-.15.03-.23.05-4.35-21.5-23.79-37.76-47.03-37.76-5.26,0-10.45.89-15.38,2.54-.08.02-.16.03-.23.05-4.36-21.5-23.79-37.76-47.03-37.76-4.54,0-9,.73-13.3,1.96-.48.12-.95.17-1.42.3V46.89c0-25.85-21.51-46.89-47.95-46.89s-47.94,21.03-47.94,46.89v104.88l-.14,89.23c-1.14-1.87-2.33-3.79-3.57-5.77-15.43-24.64-41.02-33.38-58.25-33.38-4.98,0-9.41.68-13.18,2.03-10.47,3.74-18.04,10.45-21.91,19.38-4.79,11.09-3.67,24.91,3.35,41.09,3.77,9.84,65.24,169.05,112.5,207.7,5.67,4.64,11.54,9.44,18.26,13.7,26.92,17.17,59.15,26.24,93.19,26.24s63.93-8.43,90.23-24.4h1.57l2.92-1.91c6.48-4.24,12.6-8.96,18.14-14.02,9.86-8.93,18.17-19.04,24.72-30.11,3.39-5.78,6.3-11.81,8.62-17.92,2.39-6.28,4.22-12.75,5.45-19.26.81-4.3,1.36-8.6,1.65-12.8.11-1.65.18-3.33.23-5,.03-.92.03-1.82.03-2.71v-129.52c0-25.85-21.5-46.88-47.94-46.88ZM360.34,383.87c0,.65,0,1.3-.02,1.98-.04,1.42-.11,2.83-.2,4.18-.22,3.25-.66,6.62-1.3,10.02-.97,5.14-2.41,10.27-4.31,15.25-1.87,4.89-4.2,9.73-6.91,14.35-5.33,9.01-12.15,17.3-20.29,24.67-3.83,3.49-7.98,6.79-12.37,9.84h-1.27l-2.88,1.84c-23.15,14.77-51.02,22.57-80.59,22.57s-57.44-7.8-80.61-22.58c-5.55-3.53-10.87-7.87-16-12.07-35.62-29.14-88.26-152.93-105.54-198.16l-.21-.51c-4.29-9.82-5.5-17.87-3.43-22.67.46-1.07,1.87-4.32,8.29-6.61.43-.15,2.09-.66,5.28-.66,11.23,0,28.03,5.86,38.38,22.39,17.28,27.58,24.43,44.27,24.49,44.42l11.68,27.69,10.68,25.7v-.38l.16.38V46.89c0-12.93,10.99-23.44,24.5-23.44s24.51,10.52,24.51,23.44v82.71l-.12,59.51.12-.12v.23l20.18-21.01c4.72-4.92,11.11-7.63,17.99-7.63,13.51,0,24.5,10.52,24.5,23.44v23.48l-.11,16.77.11-.12v.23l20.18-21.02c4.72-4.91,11.1-7.62,17.96-7.62,13.51,0,24.5,10.51,24.5,23.44v23.34l-.11,16.91.11-.12v.23l20.18-21.01c4.72-4.92,11.11-7.62,17.99-7.62,13.5,0,24.48,10.51,24.48,23.44v129.52h0Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 383.78 512'%3E%3Cpath d='M335.84,207.46c-5.27,0-10.46.89-15.38,2.54-.07.02-.15.03-.23.05-4.35-21.5-23.79-37.76-47.03-37.76-5.26,0-10.45.89-15.38,2.54-.08.02-.16.03-.23.05-4.36-21.5-23.79-37.76-47.03-37.76-4.54,0-9,.73-13.3,1.96-.48.12-.95.17-1.42.3V46.89c0-25.85-21.51-46.89-47.95-46.89s-47.94,21.03-47.94,46.89v104.88l-.14,89.23c-1.14-1.87-2.33-3.79-3.57-5.77-15.43-24.64-41.02-33.38-58.25-33.38-4.98,0-9.41.68-13.18,2.03-10.47,3.74-18.04,10.45-21.91,19.38-4.79,11.09-3.67,24.91,3.35,41.09,3.77,9.84,65.24,169.05,112.5,207.7,5.67,4.64,11.54,9.44,18.26,13.7,26.92,17.17,59.15,26.24,93.19,26.24s63.93-8.43,90.23-24.4h1.57l2.92-1.91c6.48-4.24,12.6-8.96,18.14-14.02,9.86-8.93,18.17-19.04,24.72-30.11,3.39-5.78,6.3-11.81,8.62-17.92,2.39-6.28,4.22-12.75,5.45-19.26.81-4.3,1.36-8.6,1.65-12.8.11-1.65.18-3.33.23-5,.03-.92.03-1.82.03-2.71v-129.52c0-25.85-21.5-46.88-47.94-46.88ZM360.34,383.87c0,.65,0,1.3-.02,1.98-.04,1.42-.11,2.83-.2,4.18-.22,3.25-.66,6.62-1.3,10.02-.97,5.14-2.41,10.27-4.31,15.25-1.87,4.89-4.2,9.73-6.91,14.35-5.33,9.01-12.15,17.3-20.29,24.67-3.83,3.49-7.98,6.79-12.37,9.84h-1.27l-2.88,1.84c-23.15,14.77-51.02,22.57-80.59,22.57s-57.44-7.8-80.61-22.58c-5.55-3.53-10.87-7.87-16-12.07-35.62-29.14-88.26-152.93-105.54-198.16l-.21-.51c-4.29-9.82-5.5-17.87-3.43-22.67.46-1.07,1.87-4.32,8.29-6.61.43-.15,2.09-.66,5.28-.66,11.23,0,28.03,5.86,38.38,22.39,17.28,27.58,24.43,44.27,24.49,44.42l11.68,27.69,10.68,25.7v-.38l.16.38V46.89c0-12.93,10.99-23.44,24.5-23.44s24.51,10.52,24.51,23.44v82.71l-.12,59.51.12-.12v.23l20.18-21.01c4.72-4.92,11.11-7.63,17.99-7.63,13.51,0,24.5,10.52,24.5,23.44v23.48l-.11,16.77.11-.12v.23l20.18-21.02c4.72-4.91,11.1-7.62,17.96-7.62,13.51,0,24.5,10.51,24.5,23.44v23.34l-.11,16.91.11-.12v.23l20.18-21.01c4.72-4.92,11.11-7.62,17.99-7.62,13.5,0,24.48,10.51,24.48,23.44v129.52h0Z'/%3E%3C/svg%3E");
    
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;

    /* アニメーションを適用 */
    animation: finger-swipe-right 2s ease-in-out infinite;
}

/* 指を動かすアニメーション */
@keyframes finger-swipe-right {
    0%, 100% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(8px);
    }
}

@media (max-width: 1024px) {
    .scroll-guide {
        display: flex; /* SPでは表示する */
    }
}


/* 月の写真コンテナのスタイル */

.month-ph{
	overflow: hidden;
	background: #000;
	display: none;
	aspect-ratio: 16 / 12;
	width: 100%;
	position: relative;
}

/* 表示されるときのスタイル */
.month-ph.is-active{
    display: block;
    animation: fadeIn 2s ease;
}

.month-ph img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 12;
    animation: scaleIn 2s ease;
}
.month-ph[data-month="10"] img {
  object-position: left;
}

/* 非表示のコンテンツ */
.month-contents {
	display: none;
	position: relative;
	opacity: 0;
	animation: fadeIn 0.8s ease;
}

/* 表示されるときのスタイル */
.month-contents.is-active {
    display: block;
    opacity: 1;
}

section.contents-group {
}


section.contents-group .group-content {
	position: relative;
}

section.contents-group .group-content:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: all 0.4s;
	border-radius: var(--group-conten-radius) var(--group-conten-radius) 0 0;
}




.group-content.seasonalevents {
}
.group-content.seasonalevents:before,
.group-content.pickup{
  background: var(--color-seasonalevents);
}

.group-content.pickup:before,
.group-content.fireworks{
  background: var(--color-pickup);
}
.group-content.fireworks:before,
.group-content.seasonalflowers {
  background: var(--color-fireworks);
}
.group-content.seasonalflowers:before,
.group-content.dailyevents {
  background: var(--color-seasonalflowers);
}
.group-content.dailyevents:before {
  background: var(--color-dailyevents);
}

 .eventcalendar-wrapper{
	position: relative;
 }

.eventcalendar-wrapper:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-seasonalevents);;
	transition: all 0.4s;
}


.eventcalendar-wrapper.seasonalevents-active:before {
	background: var(--color-seasonalevents);
	opacity: 1;
}
.eventcalendar-wrapper.pickup-active:before,
.eventcalendar-wrapper.pickup-active .group-content.pickup,
.eventcalendar-wrapper.pickup-active .month-select li.active{
	background: var(--color-pickup);
	opacity: 1;
}

.eventcalendar-wrapper.pickup-active .group-content:has(+ .group-content.pickup)::before {
	border-radius: var(--group-conten-radius) var(--group-conten-radius);
}

.eventcalendar-wrapper.pickup-active .month-select li{
	border-color: var(--color-pickup);
	color: var(--color-pickup);
}


.eventcalendar-wrapper.fireworks-active:before,
.eventcalendar-wrapper.fireworks-active .group-content.fireworks,
.eventcalendar-wrapper.fireworks-active .group-content.pickup,
.eventcalendar-wrapper.fireworks-active .month-select li.active {
	background: var(--color-fireworks);
	opacity: 1;
}
.eventcalendar-wrapper.fireworks-active .group-content:has(+ .group-content.fireworks)::before {
	border-radius: var(--group-conten-radius) var(--group-conten-radius);
}
.eventcalendar-wrapper.fireworks-active .month-select li{
	border-color: var(--color-fireworks);
	color: var(--color-fireworks);
}
.eventcalendar-wrapper.seasonalflowers-active:before,
.eventcalendar-wrapper.seasonalflowers-active  .group-content.seasonalflowers,
.eventcalendar-wrapper.seasonalflowers-active .group-content.fireworks,
.eventcalendar-wrapper.seasonalflowers-active .month-select li.active {
	background: var(--color-seasonalflowers);
	opacity: 1;
}
.eventcalendar-wrapper.seasonalflowers-active .group-content:has(+ .group-content.seasonalflowers)::before {
	border-radius: var(--group-conten-radius) var(--group-conten-radius);
}
.eventcalendar-wrapper.seasonalflowers-active .month-select li{
	border-color: var(--color-seasonalflowers);
	color: var(--color-seasonalflowers);
}


.eventcalendar-wrapper.dailyevents-active:before,
.eventcalendar-wrapper.dailyevents-active .group-content.dailyevents,
.eventcalendar-wrapper.dailyevents-active .group-content.seasonalflowers,
.eventcalendar-wrapper.dailyevents-active .month-select li.active {
	background: var(--color-dailyevents);
	opacity: 1;
}
.eventcalendar-wrapper.dailyevents-active .group-content:has(+ .group-content.dailyevents)::before {
	border-radius: var(--group-conten-radius) var(--group-conten-radius);
}
.eventcalendar-wrapper.dailyevents-active .month-select li{
	border-color: var(--color-dailyevents);
	color: var(--color-dailyevents);
}


.group-inner {
	position: relative;
	padding:calc(var(--month-size) * 1.5) 0;
	display: grid;
	align-items: start;
	justify-items: center;
}
section.contents-group .group-content .group-inner:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: calc(var(--font-lineheight-headding) * 2);
  color: #fff;
  font-weight: 900;
  opacity: .2;
  text-align: center;
  display:none;
}
section.contents-group .group-content.seasonalevents .group-inner:before {
  content: 'Seasonal Events';
}

section.contents-group .group-content.pickup .group-inner:before {
  content: 'Pick Up';
}
section.contents-group .group-content.fireworks .group-inner:before {
  content: 'Fireworks';
}
section.contents-group .group-content.seasonalflowers .group-inner:before {
  content: 'Seasonal Flowers';
}
section.contents-group .group-content.dailyevents .group-inner:before {
  content: 'Daily Events';
}

.group-inner .heading{
	font-size: var(--font-size-sm);
	font-size: var(--font-size-md);
	font-weight: 600;
	text-align: center;
	color: #fff;
	display: table;
	border-bottom: 2px #fff solid;
	margin-bottom: 6rem;
}


.target-fadein {
  opacity: 0;
  transform: translateY(-40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}




.month-contents-wrapper {
  position: relative;
  overflow: hidden; 
}

/* アンカーナビのコンテナ */
.anchor-nav {
	position: sticky;
	position: fixed;
	top: calc(var(--month-size) * 1.6);
	left:0;
	z-index: 100;
	display: flex;
	justify-content: center;
	width: 100%;
	opacity: 0;
	transform: translateY(100%);
	transition: opacity 0.4s ease, transform 0.4s ease;
	pointer-events: none;

}
/* 表示状態にするためのクラス */
.anchor-nav.is-visible {
	opacity: 1;
	transform: translateY(-20px);
	pointer-events: auto;
}

.anchor-nav ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	margin: 0 1.6rem;
	padding: 0.3rem;
	list-style: none;
	background: #fff;
	border-radius: 999px;
	border: 2px var(--color-seasonalevents) solid;
}

.anchor-nav a {
	display: block;
	padding: 0.8rem 1rem;
	background-color:var(--color-beige);
	color: var(--color-seasonalevents);
	text-decoration: none;
	font-size: var(--font-size-sm);
	transition: background-color 0.3s ease;
	border-radius: 9999px;
	display: flex;
	justify-content: center;
	line-height: 100%;
	align-items: center;
	font-weight: 600;
	white-space: nowrap;
}

.anchor-nav a[data-target=seasonalevents].active {
	background: var(--color-seasonalevents);
}
.anchor-nav ul:has(a[data-target=seasonalevents].active)  {
	border-color: var(--color-seasonalevents);
}

.anchor-nav a[data-target=pickup]{
	color: var(--color-pickup);
}
.anchor-nav a[data-target=pickup].active {
	background: var(--color-pickup);
}
.anchor-nav ul:has(a[data-target=pickup].active) {
	border-color: var(--color-pickup);
}

.anchor-nav a[data-target=fireworks]{
	color: var(--color-fireworks);
}
.anchor-nav a[data-target=fireworks].active {
	background: var(--color-fireworks);
}
.anchor-nav ul:has(a[data-target=fireworks].active) {
	border-color: var(--color-fireworks);
}

.anchor-nav a[data-target=seasonalflowers] {
	color: var(--color-seasonalflowers);
}
.anchor-nav a[data-target=seasonalflowers].active {
	background: var(--color-seasonalflowers);
}
.anchor-nav ul:has(a[data-target=seasonalflowers].active) {
	border-color: var(--color-seasonalflowers);
}
.anchor-nav a[data-target=dailyevents]{
	color: var(--color-dailyevents);
}
.anchor-nav a[data-target=dailyevents].active {
	background: var(--color-dailyevents);
}
.anchor-nav ul:has(a[data-target=dailyevents].active) {
	border-color: var(--color-dailyevents);
}
.anchor-nav a.active {
	color:#fff!important;
}


.item-wrapper{
	position: relative;
	padding: 0 var(--item-padding);
	display: flex;
	flex-direction: column;
	gap: var(--item-gap);
	width: 100%;
}
.item-wrapper .item-body{
}

.item-wrapper .item{
	position: relative;
	text-decoration: none;
	color: #000;
	display: grid;
	width: 100%;
	height: 100%;
}



.item-wrapper .item-inner{
	position: relative;
	display: grid;
	gap: calc( var(--item-gap) / 3);
	align-items: start;
	justify-items: center;
	background: #fff;
	padding: var(--item-padding);
	padding-top: calc(var(--item-gap) / 2);
	padding-bottom:calc( var(--item-gap) / 2);
	border-radius:var(--item-radius);
	height: 100%;

}
.item-wrapper .item-inner .img{
	display: block;
	overflow: hidden;
	background-color: #eee; /* 画像読み込み中の背景色 */
	aspect-ratio: 6 / 4;
	width: 100%;
	border-radius:calc( var(--item-radius) * 0.8);
	position: relative; 
}
/* アニメーション用の光沢（帯）を作成 */
.item-wrapper .item-inner .img::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  /* 半透明のグラデーション */
  background: linear-gradient(90deg,
    transparent,
    rgba(255, 255, 255, 0.4),
    transparent
  );

  /* 初期位置を左端の外側に設定 */
  transform: translateX(-100%);

  /* アニメーションを適用 */
  animation: shimmer 1.5s infinite;
}

.item-wrapper .item-inner .img img{
	aspect-ratio: 6 / 4;
	border-radius:calc( var(--item-radius) * 0.8);
}
.item-wrapper .item-inner .txt{
  display: flex;
  flex-direction: column;
  align-content: center;
  flex-wrap: wrap;
  align-items: center;
  gap:calc( var(--item-padding) / 5);
}
.item-wrapper .item-inner .txt .title{
	font-size: var(--font-size-md);
	font-weight: bold;
	text-align: center;
}
.item-wrapper .item-inner .txt p{
	font-size: var(--font-size-sm);
	text-align: center;
	padding: 0 var(--item-padding);
}
.duration {
  position: absolute;
  z-index: 1;
  top: -5px;
  left: 0;
  white-space: nowrap;
}
.duration em{
	background: #3d3d3d;
	padding: 0.3rem 1.6rem;
	border-radius: 9999px;
	line-height: 100%;
	color: #fff;
	font-size: var(--font-size-base);
	font-weight: bold;
	border: 2px #fff solid;
}


.item-wrapper a .item-inner:after {
  content: "";
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background-color: currentColor;
  background-repeat: no-repeat;
  background-position: center;
  width:calc( var(--item-padding) * 1);
  height:calc( var(--item-padding) * 1);
  display: block;
  mask-image: url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%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%20123.93%20123.93%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%22M61.97%2C0C27.74%2C0%2C0%2C27.74%2C0%2C61.97s27.74%2C61.97%2C61.97%2C61.97%2C61.97-27.74%2C61.97-61.97S96.19%2C0%2C61.97%2C0ZM81.11%2C65.62l-23.24%2C23.24c-1.01%2C1.01-2.33%2C1.51-3.65%2C1.51s-2.64-.5-3.65-1.51c-2.02-2.02-2.02-5.29%2C0-7.3l19.59-19.59-19.59-19.59c-2.02-2.02-2.02-5.29%2C0-7.3s5.29-2.02%2C7.3%2C0l23.24%2C23.24c2.02%2C2.02%2C2.02%2C5.29%2C0%2C7.3Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E);
  position: absolute;
  right:8px;
  bottom:8px;
  color: #646262;
}




.item-wrapper .item-inner.horizontal{
  grid-template-columns: 1fr 1.2fr;
  align-items: center;
  padding: calc(var(--item-padding) / 1.5);
}

.item-wrapper .item-inner.horizontal .txt ,
.item-wrapper .item-inner.no-image .txt,
.item-wrapper .item-inner.circle .txt {
  align-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
  gap: calc(var(--item-gap) / 10);
}
.item-wrapper .item-inner.horizontal .txt p,
.item-wrapper .item-inner.circle .txt p{
	  text-align:left;
	  padding: 0;
}
.item-wrapper .item-inner.circle{
  grid-template-columns: 1fr 1.4fr;
  align-items: center;
  padding: calc(var(--item-padding) / 1.5);
}

.item-wrapper .item-inner.circle .img{
  aspect-ratio: 1 / 1;
  border-radius: 9999px;
}

.item-wrapper .item-inner.circle .img img {
  aspect-ratio: 1 / 1;
  border-radius: 9999px;
}
.item-wrapper .item-inner.transparent {
  background-color: transparent;
  padding: 0;
  padding-bottom: calc(var(--item-gap) / 3);
color: #fff;
}


.item-wrapper .item-list {
	display: flex;
	gap: calc( var(--item-gap) / 2);
  width: 100%;
}

.item-wrapper .item-list .item-inner{
	gap: calc( var(--item-gap) / 4);
	padding:calc( var(--item-padding) / 2);
	padding-bottom:calc( var(--item-gap) / 4);
}
.item-wrapper .item-list .txt{
  gap:calc( var(--item-gap) / 10);
}
.item-wrapper .item-list .txt .title{
	font-size: calc( var(--font-size-md) / 1.4);
	  text-align: center;
}
.item-wrapper .item-list .txt p{
	font-size: calc( var(--font-size-sm) / 1.4);
}
.item-wrapper .item-list .duration em{
	font-size: calc( var(--font-size-base) / 1.4);
}

.item-wrapper .item-list .item-inner:after {
  width:calc( var(--item-padding) * 0.8);
  height:calc( var(--item-padding) * 0.8);
}

.item-wrapper .item-list a:only-of-type .item-inner{
	gap: calc(var(--item-gap) / 3);
	padding: var(--item-padding);
	padding-top: calc(var(--item-gap) / 2);
	padding-bottom: calc(var(--item-gap) / 2);
}

.item-wrapper .item-list a:only-of-type .title{
	font-size: var(--font-size-md);
	font-weight: bold;
}
.item-wrapper .item-list a:only-of-type p{
	font-size: var(--font-size-sm);
}


.js-swiper-horizontal ,
.js-content-swiper {
  overflow: visible;
}





@media (min-width: 1025px) {
	.eventcalendar-wrapper {
	}
	.month-container > div:first-child{
		position: relative;
	}
	.month-container > div:first-child:before{
		content: "";
		background: #F0ECCD;
		width: 100%;
		height: 50%;
		display: block;
		position: absolute;
		top: 0;
	}
	.month-ph {
		aspect-ratio: 16 / 7;
		max-width: 1440px;
		margin: 0 auto;
		border-radius: calc(var(--item-radius) * 0.8);
	}
	.month-ph img {
	  aspect-ratio: 16 / 7;
	  border-radius: calc(var(--item-radius) * 0.8);
	}
	.month-contents {
	  max-width: 760px;
	  margin: 0 auto;
	      overflow: hidden;
	}

	.js-swiper-horizontal, .js-content-swiper {
	  overflow: hidden;
	  padding-top: 2rem;
	}

}


.txt-common {
  text-align: center;
  background: #9E9E9E;
  color: #fff;
  font-size: var(--font-size-sm);
}


.month-ph[data-month="11"]:before{
	content: "※イメージ";
	font-size: 11px;
	position: absolute;
	top: 10px;
	right: 10px;
	color: #fff;
	z-index: 1;
}

/* カレンダーのローディング表示用スタイル */
.calendar-loader {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 250px; /* ローディング中に表示エリアの高さを確保 */
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  z-index: 1;
  position: relative;
}
.calendar-loader:before {
content:"";
display:none!important;
}
