@charset "UTF-8";
/******************
l-  Layout
c-  Component
p-  Project
u-  Utility
******************/

div#container {
margin-top: 0 !important;
}
#h-header {
  opacity:0;
}
body.scroll #h-header {
	opacity:1;
}

#h-footer {
  opacity:0;
}
body[data-component-initialized="true"] #h-footer {
	opacity:1;
}

@media screen and (max-width: 1024px) {
	#h-header {
	margin-top: -55px;
	}

}
@media screen and (max-width: 1024px) {
  body.scroll .h-header__cta {
    background: #000;
    padding: 1rem;
  }

	.h-header__cta a {
		background: #000
		color: #fff;
		border: 0;
		border-radius: 9999px !important;
		padding: 0.8rem;
		color: #fff !important;
	}
	.h-header__cta a.cta__ticket,
	body.scroll .h-header__cta.sp-side a.cta__ticket {
		background: #65508E;
	}
	.h-header__cta a.cta__hotel,
	body.scroll .h-header__cta.sp-side a.cta__hotel {
		background: #6EB72D;
	}
	.h-header__cta a .h-icon-sign_w:after,
	body.scroll .h-header__cta.sp-side a.cta__ticket:after,
	body.scroll .h-header__cta.sp-side a.cta__hotel:after{
	  content: "";
	  mask-repeat: no-repeat;
	  mask-position: center;
	  mask-size: contain;
	  background-color:#fff;
	  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);
	  background-image: none;
	}

	.h-header__cta a:before,
	body.scroll .h-header__cta.sp-side a span:after{
		display:none;
	}


	  body.scroll .h-header__cta.sp-side a.cta__ticket span,
	  body.scroll .h-header__cta.sp-side a.cta__hotel span {
	    width: auto;
	    writing-mode: vertical-rl;
	    letter-spacing: 3px;
	  }
  body.scroll .h-header__cta.sp-side {
		right: 0;
		background: transparent;
		padding: 0;
		width: 4rem;
		transform: scale(0.8);
		transform-origin: right;
		top: calc(var(--current-header-h, 80px) + 100px);
		bottom: auto;
  }
  body.scroll.upfixed .h-header__cta.sp-side {
    transform: scale(1);
  }
  body.scroll .h-header__cta.sp-side  a{
		border-radius: 8px 0 0 8px !important;
		flex-direction: column;
	}
.h-header__cta.sp-side a.cta__ticket:after,
.h-header__cta.sp-side a.cta__hotel:after{
	margin-top:5px;
}


}
main article {
  position: relative;
}

.c-section{
  position: relative;
  margin: 0 auto;
  width: 100%;
}

.c-section__body{
  position: relative;
  margin: 0 auto;
  width: 100%;
  padding: calc(var(--layout-space-base-horizontal) * 2.5) 0 calc(var(--layout-space-base-horizontal) * 3.5);
  display: flex;
  flex-direction: column;
  gap: calc(var(--layout-space-base-horizontal) * 2);
}
.c-section__bodys{
  position: relative;
  margin: 0 auto;
  width: 100%;
  padding: calc(var(--layout-space-base-horizontal) * 0.5) 0;
  display: flex;
  flex-direction: column;
  gap: calc(var(--layout-space-base-horizontal) * 2);
}

.u-dummy__img{
	background: #999;
	display: flex;
	justify-content: center;
	align-items: center !important;
	width: 100%;
}
.u-dummy__img.dummy{
  aspect-ratio: 4 / 3;
}
.u-dummy__img:before{
	content: attr(title);
	display: table;
	border: 1px solid;
	padding: 5px;
	color: red;
	background: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	white-space: pre;
	text-align: center;
}

figure {
  position: relative;
  display: flex;
  height: 100%;
      justify-content: center;
}
figcaption{
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 1rem;
}

.dummy{
	display: block;
	border: 1px solid;
	padding: 5px;
	color: red;
	background: #fff;
	font-size: 0.8rem;
	font-weight: 500;
	text-align: center;
	position: absolute;
	top: 50%;
	bottom: auto;
	right: auto;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	margin: 0 auto
}

.stripe-box {
	width: 2.4rem;
	height: 100vh;
	/* 白と透明の斜めストライプを生成 */
	background-image: repeating-linear-gradient(
	-45deg,
	transparent,                /* 1つ目の色（透明） */
	transparent 15px,           /* 透明の終わり位置 */
	rgba(255, 255, 255, 0.8) 15px, /* 2つ目の色（半透明の白） */
	rgba(255, 255, 255, 0.8) 30px  /* 半透明の白の終わり位置 */
	);
	background-size: 42.4264px 42.4264px;
	animation: moveStripe 1s linear infinite;
	position: fixed;
	z-index: 0;
	right: 0;
	opacity: 0.3;
}

/* 縦に動かすアニメーションを定義 */
@keyframes moveStripe {
    0% {
        background-position: 0 0;
    }
    100% {
        /* ストライプの周期(30px)に合わせて調整 */
        background-position: 0 42.4264px;
    }
}
/* 横に動かすアニメーションを定義 */
@keyframes moveStripeHorizontal {
    0% {
        background-position: 0 0;
    }
    100% {
        /* X軸（最初の値）を動かす */
        background-position: 42.4264px 0; 
    }
}

/* .horizontal クラスに横スクロールアニメーションを適用 */
.stripe-box.horizontal {
	animation-name: moveStripeHorizontal;
	height: 5rem;
	width: 100%;
	position: relative;
	top: 0;
	left: 0;
	background-image: repeating-linear-gradient(-45deg, transparent, transparent 15px, #383838 15px, #383838 30px);
	opacity: 1;
}


.blinking{
  opacity: 0;
}
.blinking.is-active{
  animation: animationBlinking .2s;
  animation-delay: .1s;
  animation-fill-mode: forwards;
}
@keyframes animationBlinking {
  0% {
    opacity: 0
  }

  20% {
    opacity: 1
  }

  40% {
    opacity: 0
  }

  60% {
    opacity: 1
  }

  80% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}


.clip-cover {
  clip-path: inset(0px 100% 0px 0px);
  transition: all 0.4s;
}
.clip-cover.is-active {
  clip-path: inset(0px 0% 0px 0px);
}

.clip-blur{
	opacity:1;
	filter: blur(6px);
	will-change: background, filter;
	transition:background 0.3s ease-in-out, filter 0.3s ease-in-out;
	position: relative;
	width: auto!important;
}
.clip-blur {
/*
	background:url(../img/common/pattern.gif);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;

 background: linear-gradient(91deg, #b92d25 15%, #fb571e 40%, #22a6bf 60%, #bfbfbf 85%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
*/
}
.clip-blur.is-active{
	opacity:1;
	filter: blur(0);
/*	background:#fff;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
*/
}
.clip-color{
	opacity:1;
	filter: blur(6px);
	will-change: background, filter;
	transition:background 0.8s ease-in-out, filter 0.8s ease-in-out;
	position: relative;
	width: auto!important;
	animation: gradation 5s infinite linear;
}
.clip-color {
 background: linear-gradient(91deg, #b92d25 15%, #fb571e 40%, #22a6bf 60%, #bfbfbf 85%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
   background-size: 200%;
}
.clip-color.is-active{
	opacity:1;
	filter: blur(0);
}
@keyframes gradation {
    0%{
        background-position: 0% 0%;
    }
    50%{
        background-position: 100% 0%;
    }
    100%{
        background-position: 0% 0%;
    }
}


.clip-path{
position: relative;
clip-path: polygon(
    1.88% 0%,
    1.88% 21.09%,
    0% 23.50%,
    0% 40.66%,
    0% 43.01%,
    0% 57.82%,
    0% 60.17%,
    0% 77.32%,
    2.15% 80.08%,
    2.15% 91.42%,
    6.01% 97.24%,
    27.55% 97.24%,
    28.80% 100%,
    74.16% 100%,
    75.97% 96.78%,
    96.04% 96.78%,
    99.90% 90.19%,
    99.90% 70.69%,
    99.90% 60.17%,
    99.90% 40.66%,
    99.90% 30.13%,
    99.90% 27.53%,
    100% 27.53%,
    100% 0%,
    1.88% 0%
  );
}
.dialog-icon {
  position: absolute;
  z-index: 2;
  top: 5px;
  right: 5px;
  width: 60px;
}
.dialog-icon svg{
	fill: #fff;
}

.text-line {
  background-image: linear-gradient(to bottom, transparent, #fff);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0% 2px;
  transition: background .8s ease-out;
  cursor: pointer;
}

.text-line.is-active{
  background-size: 100% 2px;
}

.loop_wrap {
	display: flex;
	width: 100%;
	position: absolute;
	top: 0;
	opacity: 0.1;
}
.loop_wrap div {
	flex: 0 0 auto;
	white-space: nowrap;
	font-size: 15rem;
	font-weight: 800;
	font-family: "Manrope", sans-serif;
	line-height: 1;
}
.loop_wrap div:nth-child(odd) {
animation: loop 80s -40s linear infinite;
}

.loop_wrap div:nth-child(even) {
animation: loop2 80s linear infinite;
}
@keyframes loop {
	0% {
	transform: translateX(100%);
	}
	to {
	transform: translateX(-100%);
	}
}
@keyframes loop2 {
	0% {
	transform: translateX(0);
	}
	to {
	transform: translateX(-200%);
	}
}


dialog.c-dialog-modal {
  opacity: 0;
  transform: scale(0.9) translateY(20px);
  transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1), transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  border: none;
  padding: 30px 20px;
  border-radius: 0;
  max-width: 780px;
  background-color: #000;
  margin: auto;
  width: 96%;
  background-image: linear-gradient(-135deg, #ffffff00 0 30px, #010101 30px), linear-gradient(-135deg, transparent 0 30px, #FAD333 30px);
  background-repeat: no-repeat;
  background-size: calc(100% - 6px) calc(100% - 6px), 100% 100%;
  background-position: 3px 3px, 0;
  color: #fff;
  background: transparent;
}
dialog.c-dialog-modal svg{
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  stroke: #A62125;
  stroke-miterlimit: 10;
  stroke-width: 2px;
  fill: #000;
  top: 0;
  left: 0;
}
dialog.c-dialog-modal svg polygon.cls-1,
dialog.c-dialog-modal svg path.cls-1 {
  stroke-width: 0px;
  fill: #A62125;
}
dialog.c-dialog-modal svg path.cls-2 {
  fill: #A62125;
}
dialog.c-dialog-modal .c-btn {
	background:#A62125;
	border: 0;
	outline: none;
	box-shadow: none;
}
dialog.pickup-gourmet.c-dialog-modal svg{
  stroke: #F0941B;
}
dialog.pickup-gourmet.c-dialog-modal svg polygon.cls-1,
dialog.pickup-gourmet.c-dialog-modal svg path.cls-1 {
  stroke-width: 0px;
  fill: #F0941B;
}
dialog.pickup-gourmet.c-dialog-modal svg path.cls-2 {
  fill: #F0941B;
}
dialog.pickup-gourmet.c-dialog-modal .c-btn {
	background: #F0941B;
	border: 0;
}


.c-dialog-modal .c-dialog-modal__inner{
  padding: calc(var(--layout-space) * 2) calc(var(--layout-space) * 1) calc(var(--layout-space) * 3);
}
.c-dialog-modal .c-dialog-modal__inner .item {
  width: 100% !important;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.c-dialog-modal .c-dialog-modal__inner .txt {
  display: flex;
  flex-direction: column;
  gap: calc(var(--layout-space) * 1);
  align-items: center;
  justify-content: center;
}
.c-dialog-modal .c-dialog-modal__inner .txt .p-title {
  font-size: calc(var(--eva-font-size-title) * 0.8);
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  text-shadow: 0 -1px 10px rgba(199, 0, 11, 0.9), 0 2px 20px rgba(199, 0, 11, 0.9);
}
.c-dialog-modal .c-dialog-modal__inner .txt .p-text {
  font-size: var(--eva-font-size-text);
  text-align: center;
}
.c-dialog-modal__controls .js-dialog-close {
  background: #333;
}
.js-dialog-prev,
.js-dialog-next {
  background-color:#c7000b;
  color: white;
  border: none;
  padding: 8px 8px;
  border-radius: 9999px;
  cursor: pointer;
  font-size: 0;
  aspect-ratio: 1 / 1;
}
.js-dialog-prev:after,
.js-dialog-next:after {
	content: "";
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center;
	width: 18px;
	height: 18px;
	display: block;
	mask-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%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%20viewBox%3D%220%200%2026%2048.34%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23fff%3B%20fill-rule%3A%20evenodd%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.28.31c.38-.4%2C1.02-.41%2C1.41-.02l24%2C23.17c.2.19.31.45.31.72s-.11.53-.31.72L1.69%2C48.06c-.39.38-1.03.37-1.41-.02-.38-.4-.37-1.03.03-1.41l23.25-22.45L.31%2C1.72C-.09%2C1.34-.1.7.28.31Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E);
	position: relative;
	left: 3px;
}
.js-dialog-prev:after{
	transform: scale(-1, 1);
	left:0px;
}

dialog.c-dialog-modal {
  max-width: 680px;
}

.section-border{
	width: 100%;
	margin: 0 auto;
	text-align: center;
	position: relative;
	background-image: linear-gradient(-135deg, transparent 0 30px, #000 30px), linear-gradient(-135deg, transparent 0 30px, #b5b5b6 30px);
	color: #fff;
	background-repeat: no-repeat;
	background-size: calc(100% - 2px) calc(100% - 2px), 100% 100%;
	background-position: 1px 1px, 0;
	background-color: transparent !important;
}


@media (min-width: 1024px) {
	dialog.c-dialog-modal svg {
	  stroke-width: 1px;
	}
	.c-dialog-modal .c-dialog-modal__inner .item {
	  padding: calc(var(--layout-space) * 1)  calc(var(--layout-space) * 2);
	}
}


.emergency{
  position: absolute;
  top: -5%;
  right: -10%;
  z-index: -1;
  width: 75%;
  opacity: 0.3;
  transform: rotate3d(1, 1, 1, 35deg);
}
.emergency svg .cls-1{
   fill:#c7000b;
}
.emergency svg .cls-1 {
  opacity: 0; /* 初期状態は消しておく */
}
.emergency.is-active .cls-1 {
  animation-name: pathFadeIn;
  animation-duration: 0.1s; /* アニメーション自体の長さ */
  animation-fill-mode: forwards; /* 終わった状態で止める */
  animation-timing-function: ease-out;
}
.emergency.is-active svg{
.cls-1:nth-of-type(1)  { animation-delay: 0.04s; }
.cls-1:nth-of-type(2)  { animation-delay: 0.08s; }
.cls-1:nth-of-type(3)  { animation-delay: 0.12s; }
.cls-1:nth-of-type(4)  { animation-delay: 0.16s; }
.cls-1:nth-of-type(5)  { animation-delay: 0.20s; }
.cls-1:nth-of-type(6)  { animation-delay: 0.24s; }
.cls-1:nth-of-type(7)  { animation-delay: 0.28s; }
.cls-1:nth-of-type(8)  { animation-delay: 0.32s; }
.cls-1:nth-of-type(9)  { animation-delay: 0.36s; }
.cls-1:nth-of-type(10) { animation-delay: 0.40s; }
.cls-1:nth-of-type(11) { animation-delay: 0.44s; }
.cls-1:nth-of-type(12) { animation-delay: 0.48s; }
.cls-1:nth-of-type(13) { animation-delay: 0.52s; }
.cls-1:nth-of-type(14) { animation-delay: 0.56s; }
.cls-1:nth-of-type(15) { animation-delay: 0.60s; }
.cls-1:nth-of-type(16) { animation-delay: 0.64s; }
.cls-1:nth-of-type(17) { animation-delay: 0.68s; }
.cls-1:nth-of-type(18) { animation-delay: 0.72s; }
.cls-1:nth-of-type(19) { animation-delay: 0.76s; }
.cls-1:nth-of-type(20) { animation-delay: 0.80s; }
.cls-1:nth-of-type(21) { animation-delay: 0.84s; }
.cls-1:nth-of-type(22) { animation-delay: 0.88s; }
.cls-1:nth-of-type(23) { animation-delay: 0.92s; }
.cls-1:nth-of-type(24) { animation-delay: 0.96s; }
.cls-1:nth-of-type(25) { animation-delay: 1.00s; }
.cls-1:nth-of-type(26) { animation-delay: 1.04s; }
.cls-1:nth-of-type(27) { animation-delay: 1.08s; }
.cls-1:nth-of-type(28) { animation-delay: 1.12s; }
.cls-1:nth-of-type(29) { animation-delay: 1.16s; }
.cls-1:nth-of-type(30) { animation-delay: 1.20s; }
.cls-1:nth-of-type(31) { animation-delay: 1.24s; }
.cls-1:nth-of-type(32) { animation-delay: 1.28s; }
.cls-1:nth-of-type(33) { animation-delay: 1.32s; }
.cls-1:nth-of-type(34) { animation-delay: 1.36s; }
.cls-1:nth-of-type(35) { animation-delay: 1.40s; }
.cls-1:nth-of-type(36) { animation-delay: 1.44s; }
.cls-1:nth-of-type(37) { animation-delay: 1.48s; }
.cls-1:nth-of-type(38) { animation-delay: 1.52s; }
.cls-1:nth-of-type(39) { animation-delay: 1.56s; }
.cls-1:nth-of-type(40) { animation-delay: 1.60s; }
.cls-1:nth-of-type(41) { animation-delay: 1.64s; }
.cls-1:nth-of-type(42) { animation-delay: 1.68s; }
.cls-1:nth-of-type(43) { animation-delay: 1.72s; }
.cls-1:nth-of-type(44) { animation-delay: 1.76s; }
.cls-1:nth-of-type(45) { animation-delay: 1.80s; }
.cls-1:nth-of-type(46) { animation-delay: 1.84s; }
.cls-1:nth-of-type(47) { animation-delay: 1.88s; }
.cls-1:nth-of-type(48) { animation-delay: 1.92s; }
.cls-1:nth-of-type(49) { animation-delay: 1.96s; }
.cls-1:nth-of-type(50) { animation-delay: 2.00s; }
.cls-1:nth-of-type(51) { animation-delay: 2.04s; }
.cls-1:nth-of-type(52) { animation-delay: 2.08s; }
.cls-1:nth-of-type(53) { animation-delay: 2.12s; }
.cls-1:nth-of-type(54) { animation-delay: 2.16s; }
.cls-1:nth-of-type(55) { animation-delay: 2.20s; }
.cls-1:nth-of-type(56) { animation-delay: 2.24s; }
.cls-1:nth-of-type(57) { animation-delay: 2.28s; }
.cls-1:nth-of-type(58) { animation-delay: 2.32s; }
.cls-1:nth-of-type(59) { animation-delay: 2.36s; }
.cls-1:nth-of-type(60) { animation-delay: 2.40s; }
.cls-1:nth-of-type(61) { animation-delay: 2.44s; }
.cls-1:nth-of-type(62) { animation-delay: 2.48s; }
.cls-1:nth-of-type(63) { animation-delay: 2.52s; }
.cls-1:nth-of-type(64) { animation-delay: 2.56s; }
.cls-1:nth-of-type(65) { animation-delay: 2.60s; }
.cls-1:nth-of-type(66) { animation-delay: 2.64s; }
.cls-1:nth-of-type(67) { animation-delay: 2.68s; }
.cls-1:nth-of-type(68) { animation-delay: 2.72s; }
.cls-1:nth-of-type(69) { animation-delay: 2.76s; }
.cls-1:nth-of-type(70) { animation-delay: 2.80s; }
.cls-1:nth-of-type(71) { animation-delay: 2.84s; }
.cls-1:nth-of-type(72) { animation-delay: 2.88s; }
.cls-1:nth-of-type(73) { animation-delay: 2.92s; }
.cls-1:nth-of-type(74) { animation-delay: 2.96s; }
.cls-1:nth-of-type(75) { animation-delay: 3.00s; }
.cls-1:nth-of-type(76) { animation-delay: 3.04s; }
.cls-1:nth-of-type(77) { animation-delay: 3.08s; }
.cls-1:nth-of-type(78) { animation-delay: 3.12s; }
.cls-1:nth-of-type(79) { animation-delay: 3.16s; }
.cls-1:nth-of-type(80) { animation-delay: 3.20s; }
.cls-1:nth-of-type(81) { animation-delay: 3.24s; }
.cls-1:nth-of-type(82) { animation-delay: 3.28s; }
.cls-1:nth-of-type(83) { animation-delay: 3.32s; }
.cls-1:nth-of-type(84) { animation-delay: 3.36s; }
.cls-1:nth-of-type(85) { animation-delay: 3.40s; }
.cls-1:nth-of-type(86) { animation-delay: 3.44s; }
.cls-1:nth-of-type(87) { animation-delay: 3.48s; }
.cls-1:nth-of-type(88) { animation-delay: 3.52s; }
.cls-1:nth-of-type(89) { animation-delay: 3.56s; }
.cls-1:nth-of-type(90) { animation-delay: 3.60s; }
.cls-1:nth-of-type(91) { animation-delay: 3.64s; }
.cls-1:nth-of-type(92) { animation-delay: 3.68s; }
.cls-1:nth-of-type(93) { animation-delay: 3.72s; }
}
@keyframes pathFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media (min-width: 1024px) {
	.emergency{
	  top: -5%;
	  right: -15%;
	  z-index: -1;
	  width: 65%;
	  opacity: 0.3;
	}
}


.t-line-txt {
  position: relative;
  display: inline-block;
  padding: 0 var(--layout-space);
}
.t-line-txt:after, .t-line-txt:before {
  display: block;
  content: " ";
  font-size: 0;
  clear: both;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 50%;
}
.t-line-txt:before{
  right: 100%;
}
.t-line-txt:after {
  left: 100%;
}


.c-btn.eva {
	background-color: transparent;
	border: 2px solid;
	border-color: var(--eva-btn-bg);
	color:#fff;
	border-radius: 9999px;
	padding: 2.1rem 2.4rem;
	border-radius: 9999px;
	font-size: var(--eva-font-size-btn);
	max-width: 320px;
	margin: 0 auto;
	box-shadow: 0 0 10px rgba(255, 255, 255, 0.1), 0 4px 20px rgba(34, 166, 191, 0.4);
	overflow: hidden;
	min-width: 260px;
}
.c-btn.eva::before {
	content: "";
	position: absolute;
	width: 100vmax;
	height: 100vmax;
	top: calc(50% - 50vmax);
	left: calc(50% - 50vmax);
/*
	background: conic-gradient(from 0deg, #450a0a 0%,#b92d25 10%, #fb571e 20%, #fff7ed 28%, #ffffff 30%,  #ecfeff 32%,#22a6bf 45%,#0e7490 52%,#ffffff 60%, #d4d4d8 65%,#bfbfbf 75%,  #09090b 88%, #450a0a 100% );
*/
  background: #65508E;
	animation: rotate var(--animation-speed) linear infinite;

	z-index: -2;
}
.c-btn.eva::after {
	content: "";
	position: absolute;
	inset: var(--border-width);
	background: linear-gradient(to bottom, #27272a, #09090b);
	z-index: -1;
	border-radius: 9999px;
}
/* Keyframes: 回転アニメーション */
@keyframes rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}



.eva-cover-wrapper {
  padding: calc(var(--layout-space) * 2.5) calc(var(--layout-space) * 2) calc(var(--layout-space) * 2.5) !important;
  position: relative;
  background: transparent !important;
}

.eva-cover{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.eva-cover svg{
  height: 100%;
  width: 100%;
}
.eva-cover svg .cls-1 {
    fill: #4c4b4b;
  }
.eva-cover svg .cls-2 {
    fill: #4c4b4b;
  }
.eva-cover svg .cls-3 {
    fill:#323232;
  }


/******************
オリジナル
******************/
html {
  scroll-padding-top:var(--current-header-h, 80px);
}

#evangelion{

	--eva-primary-color: #212529;
	--eva-primary-bg:#fafafa;
	--eva-secondary-bg: #e9ecef;

	--eva-body-color:#fff;
	--eva-body-bg:#000;

	--eva-nav-bg: #000;
	--eva-nav-color: #fff;
	--eva-btn-bg: #212529;
	--eva-btn-color:#fff;

	--eva-font-family:YakuHanMP,"Zen Antique",serif;
	--eva-font-family:var(--font-family-Noto-Serif);
	--eva-font-scale-y: 1.8;
	--eva-font-size-headding: clamp(3.2rem, 0.857rem + 5.71vw, 6rem);
	--eva-font-size-copy:clamp(2.8rem, 1.2rem + 3.33vw, 4.2rem);
	--eva-font-size-title:clamp(2.4rem, 1.029rem + 2.86vw, 3.6rem);
	--eva-font-size-read:clamp(1.4rem, 0.943rem + 0.95vw, 1.6rem);
	--eva-font-size-subtitle :clamp(1.8rem, 0.943rem + 0.95vw, 2.2rem);
	--eva-font-size-text:clamp(1.3rem, 0.957rem + 0.71vw, 1.5rem);
	
	--eva-font-size-c-nav:1.2rem;
	--eva-font-size-btn:clamp(1.3rem, 0.957rem + 0.71vw, 1.5rem);
	--eva-font-size-side:1.2rem;
	--eva-font-size-number:clamp(4.8rem, -1.143rem + 12.38vw, 10rem);


	--border-width: 2px;     /* ボーダーの太さ */
	--animation-speed: 4s;   /* 回転速度 */

}



#evangelion main{
  font-family: var(--font-family-Zen-Go);
  position: relative;
  background-color:var(--eva-body-bg);
  color:var(--eva-body-color);
}
#evangelion main article {
  background-color:var(--eva-body-bg);
}


.eva-font {
	font-family: var(--eva-font-family);
	font-size: inherit;
	font-weight: 900;
/*	text-shadow: 0px 0px 20px #fff;
*/
	line-height: 100%;
	letter-spacing: -0.15rem;
	transform: scaleY(var(--eva-font-scale-y));
	transform-origin: center;
}
.eva-font__body:has(.eva-font) {
	padding-block:calc((var(--eva-font-scale-y) - 1) / 2 * 3.2em);
}
.eva-fonts {
  font-family: var(--eva-font-family);
  font-size: inherit;
  font-weight: 900;
  line-height: 100%;
  letter-spacing: -0.15rem;
  transform: scaleY(var(--eva-font-scale-y));
  transform-origin: center;
}

.eva-char {
  opacity: 0; 
  display: inline-block;
  white-space: pre; 
}
.eva-char.is-visible {
  opacity: 1;
}

.c-btn {
  background-color: var(--eva-btn-bg);
  border: 2px solid;
  border-color: var(--eva-btn-bg);
  color: var(--eva-btn-color);
  border-radius: 4rem;
  padding: 1.6rem 2.4rem;
  border-radius: 1rem;
  font-size:var(--eva-font-size-btn);
}


/******************
nav
******************/

nav.c-nav{
	position: fixed;
	top: var(--current-header-h, 80px);
	z-index: 100;
	width: 100%;
	background-color:var(--eva-nav-bg);
	transform: translateY(-1rem);
	opacity: 0;
	visibility: hidden;
	will-change: transform, opacity, visibility;
	transition: 
	transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
	opacity 0.3s ease,
	visibility 0.4s step-end;
	padding: 0.8rem 1rem;
	border-bottom: 1px solid var(--eva-secondary-bg);
}


nav.c-nav.is-scrolled{
	transform: translateY(0);
	opacity: 1;
	visibility: visible;
	transition: 
	transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
	opacity 0.3s ease,
	visibility 0s linear;
}

@media screen and (max-width: 1024px) {
  body.scroll nav.c-nav {
  	top: calc(var(--current-header-h, 80px) - 55px);
  	transition: all 0.4s;
  }
  body.upfixed.scroll nav.c-nav {
  	top: calc(var(--current-header-h, 80px) - 0px);
  	transition: all 0.4s;
  }
}
dialog#dialog-menu {
	background-color:var(--eva-nav-bg);
}

nav .c-nav__logo{
  min-width: 80px;
  max-width: 80px;
}
.c-dialog__menu-btn span {
  background-color: #fff;
}

nav .c-nav__list{}
nav .c-nav__list ul{
	display: flex;
	gap: 4rem;
}
nav .c-nav__list ul li{
  position: relative;
  transition: all 0.4s;
}
nav .c-nav__list ul li:after{
	content: "";
	border-bottom: 1px solid;
	opacity: 0;
	transition: all 0.4s;
	width: 0;
	display: block;
	margin: 0 auto;
	position: absolute;
	bottom: 0;
	left:0;
	right:0;
	border-color:var(--eva-secondary-bg);
}
nav .c-nav__list ul li.is-scrolled::after,
nav .c-nav__list ul li:hover::after{
	opacity: 1;
	width: 100%;
}
nav .c-nav__list ul li a {
	font-family: var(--eva-font-family);
	font-size:var(--eva-font-size-c-nav);
	font-weight: 700;
	display: block;
	text-align: center;
}

nav .c-nav__list ul li[data-trigger-id="stamprally"].is-scrolled a,
nav .c-nav__list ul li[data-trigger-id="stamprally"]:hover a{
	color:#C6010B;
}
nav .c-nav__list ul li[data-trigger-id="stamprally"].is-scrolled::after,
nav .c-nav__list ul li[data-trigger-id="stamprally"]:hover::after{
	border-color:#c7000b;
}
nav .c-nav__list ul li[data-trigger-id="nightshow"].is-scrolled a,
nav .c-nav__list ul li[data-trigger-id="nightshow"]:hover a{
	color:#22A6BF;
}
nav .c-nav__list ul li[data-trigger-id="nightshow"].is-scrolled::after,
nav .c-nav__list ul li[data-trigger-id="nightshow"]:hover::after{
	border-color:#22A6BF;
}
nav .c-nav__list ul li[data-trigger-id="gourmet"].is-scrolled a,
nav .c-nav__list ul li[data-trigger-id="gourmet"]:hover a{
	color:#F0941B;
}
nav .c-nav__list ul li[data-trigger-id="gourmet"].is-scrolled::after,
nav .c-nav__list ul li[data-trigger-id="gourmet"]:hover::after{
	border-color:#F0941B;
}
nav .c-nav__list ul li[data-trigger-id="goods"].is-scrolled a,
nav .c-nav__list ul li[data-trigger-id="goods"]:hover a,
nav .c-nav__list ul li[data-trigger-id="p-goods"].is-scrolled a,
nav .c-nav__list ul li[data-trigger-id="p-goods"]:hover a{
	color:#A62125;
}
nav .c-nav__list ul li[data-trigger-id="goods"].is-scrolled::after,
nav .c-nav__list ul li[data-trigger-id="goods"]:hover::after,
nav .c-nav__list ul li[data-trigger-id="p-goods"].is-scrolled::after,
nav .c-nav__list ul li[data-trigger-id="p-goods"]:hover::after{
	border-color:#A62125;
}
nav .c-nav__list ul li[data-trigger-id="hotel"].is-scrolled a,
nav .c-nav__list ul li[data-trigger-id="hotel"]:hover a{
	color:#6EB72D;
}
nav .c-nav__list ul li[data-trigger-id="hotel"].is-scrolled::after,
nav .c-nav__list ul li[data-trigger-id="hotel"]:hover::after{
	border-color:#6EB72D;
}


dialog.c-dialog.c-dialog--menu {
	width: 100%;
	scale: 1;
	filter: blur(0px);
	translate: 0% 0%;
	transform: skewY(0deg) scaleY(1);
	transition: 
	translate 0.8s cubic-bezier(0.2, 0.8, 0.2, 1),
	transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);

}
dialog.c-dialog.c-dialog--menu.show-from,
dialog.c-dialog.c-dialog--menu.hide-to {
	translate: 0% -100%;
	transform: skewY(18deg) scaleY(1.1);
}

.c-dialog__body {
	padding: 2.4rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 4rem;
}
.c-dialog__logo {
  width: 100%;
}
.c-dialog__logo .u-dummy__img{
  aspect-ratio: 4 / 2;
}

.c-dialog__list{}
.c-dialog__list ul{
  display: flex;
  gap: 4rem;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.c-dialog__list ul li{
  position: relative;
  transition: all 0.4s;
  min-width: calc(100% * 0.2);
  color: var(--eva-nav-color);
}
.c-dialog__list ul li:first-child{
	width: 100%;
}
.c-dialog__list ul li::after{
	content: "";
	border-bottom: 1px solid;
	transition: all 0.4s;
	width: 100%;
	display: block;
	margin: 0 auto;
	position: absolute;
	bottom: 0;
	left:0;
	right:0;
}

.c-dialog__list ul li a {
	font-family: var(--eva-font-family);
	font-size:var(--eva-font-size-c-nav);
	font-weight: 700;
	display: block;
	text-align: center;
	padding: 1.6rem;
	color: var(--eva-nav-color);
}

.c-dialog__cta {
  display: flex;
  gap: 2.4rem;
  flex-direction: column;
}

@media screen and (max-width: 1024px) {
	 nav .c-nav__list ul li{
		display:none;
	}
	nav .c-nav__list ul li.is-scrolled{
		
		position: absolute;
		top: 50%;
		left: 50%;
		/* right: 0; */
		transform: translate(-50%, -50%);
		width: auto;
		pointer-events: none;
		height: 100%;
		display: flex;
		display: none!important;
		align-items: center;
		justify-content: center;
		min-width: 120px;
	}
	 nav .c-nav__list ul li.is-scrolled:before{
		content:"";
		background: #000;
		position: absolute;
		height: 100%;
		width: 100%;
		opacity: 0.5;
		clip-path: polygon(10% 0%, 90% 0%, 100% 50%, 90% 100%, 10% 100%, 0% 50%);
	 }
	 
	nav .c-nav__list ul li.is-scrolled:after {
	  display: none;
	}
	nav .c-nav__list ul li.is-scrolled a {
	font-size: calc(var(--eva-font-size-c-nav) * 1.2);
	position: relative;
	}
}
@media screen and (min-width: 1024px) {
	.c-nav__dialog {
	visibility: hidden;
	}
}


[data-trigger-class="is-fadein"]{
	opacity:0;
	filter: blur(6px);
	transform: translateY(1rem);
	transition: all 0.8s;
}
.is-fadein{
	opacity:1;
	filter: blur(0);
	transform: translateY(0);
}

/******************
p-
******************/

.p-header{
	padding:calc(var(--layout-space-base-horizontal) * 1.5) 0;
	position: relative;
	margin: 0 auto;
}
.p-body{
	padding:0 calc(var(--layout-space-base-horizontal) * 1.5);
	position: relative;
	margin: 0 auto;
	width: 100%;
}


.p-point {
	border-top: 0px solid;
	border-bottom: 0px solid;
	gap: calc(var(--layout-space) * 1.5) !important;
	border-color: var(--eva-secondary-bg);
	padding:calc(var(--layout-space-base-horizontal) * 1) calc(var(--layout-space-base-horizontal) * 1.5);
}
.p-point > *{
	max-width: 1100px;
}
.p-txt{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--layout-space);
	flex-wrap: wrap;
	flex-direction: column;
	width: 100%;
	position: relative;
}
.p-img{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--layout-space);
	flex-wrap: wrap;
	flex-direction: column;
	width: 100%;
	position: relative;
}

.p-copy, .p-title, .p-point{
	font-family: var(--eva-font-family);
}

.p-copy{
	font-size:calc(var(--eva-font-size-copy) * 1.5);
	font-weight: 700;
	line-height: 120%;
}
.p-copy,small{
	font-size:calc(var(--eva-font-size-copy) * 1);
	text-align: center;
	line-height: 140%;
}



section.l-section {
  z-index: 1;
    overflow: hidden;
}

.p-title{
	font-size:var(--eva-font-size-title);
	font-weight: 700;
	text-align: center;
	line-height: 140%;
}
.p-title.small{
	font-size:calc(var(--eva-font-size-title) * 0.7);
}
.p-read{
	font-size:var(--eva-font-size-read);
	font-weight: 500;
	text-align: center;
}
.p-subtitle {
	font-size:var(--eva-font-size-subtitle);
	font-weight: 700;
	text-align: center;
}

.p-text{
	font-size:var(--eva-font-size-text);
	font-weight: 500;
}



.p-side_title{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	  min-width: 3rem;
	z-index:2;
}
.p-side_title::before{
	content: "";
	height: 0%;
	background: var(--eva-body-color);
	background: var(--eva-secondary-bg);
	width: 100%;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	transition: all 1.8s;
}
article.is-scrolled  .p-side_title::before{
	height: 100%;
}
#stamprally .p-side_title::before{
	background: #C6010B;
}
#nightshow .p-side_title::before{
	background:#22A6BF;
}
#gourmet .p-side_title::before{
	background: #F0941B;
}
#goods .p-side_title::before{
	background: #A62125;
}
#hotel .p-side_title::before{
	background: #6EB72D;
}

.p-side_title h3{
	transform: translateY(2rem);
	visibility: hidden;
	opacity: 0;
	transition: all 1.8s;
	writing-mode: vertical-rl;
	font-size:var(--font-size-side);
	display: block;
	position: sticky;
	top:calc(var(--current-header-h, 80px) + 10rem);
	left: 0;
	color:#fff;
	font-family: var(--eva-font-family);
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 2.4rem 0;
	background: rgb(255 255 255 / 20%);
	min-height: 100px;
	padding: 1.5rem 0;
	clip-path: polygon(0 0, 100% 0, 100% 84%, 0% 100%);
	clip-path: polygon(0 0, 100% 10%, 100% 90%, 0% 100%);
}

article.is-scrolled  .p-side_title h3{
	transform: translateY(0);
	visibility: visible;
	opacity: 1;
}
/*
.p-side_title > *::before,
.p-side_title > *::after{
  content: "・";
  height: 1px;
  background:var(--eva-body-color);
  background:var(--eva-secondary-bg);
  width: 1.6rem;
  display:none;
}
*/

#hero .eva-font__body {
	text-align: center;
	font-size:var(--eva-font-size-headding);
}

@media screen and (max-width:768px) {
	.p-side_title h3{
		top:calc(var(--current-header-h, 80px) + 5rem);
	}
	.l-section .p-body {
	  padding: 0 calc(var(--layout-space-base-horizontal) * 1) 0 calc(var(--layout-space-base-horizontal) * 2);
	}
}


/* =========================================================
   ローディング画面（スプラッシュスクリーン）
   ========================================================= */
.loading-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  pointer-events: none;
}

.loading-screen__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  transition: transform 0.95s cubic-bezier(0.77, 0, 0.175, 1);
  transform: translateY(0);
}

.loading-screen--hide .loading-screen__overlay {
  transform: translateY(-100%);
}

.loading-screen__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 300px;
  padding: 0 20px;
  transition: all 0.7s;
}

.loading-screen__progress {
  position: relative;
  width: 100%;
  height: 2px;
  background-color: rgba(255, 255, 255, 0.2);;
  border-radius: 2px;
  overflow: hidden;
}

.loading-screen__progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background-color: #999;
  background: linear-gradient(91deg, #b92d25 15%, #fb571e 40%, #22a6bf 60%, #bfbfbf 85%);
  transition: width 0.3s ease;
  border-radius: 2px;
}

.loading-screen__progress-text {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.loading-screen__content--hide {
  opacity: 0;
  transform: translate(-50%, -50%) translateY(-20px);
  pointer-events: none;
}

/******************
#hero
******************/


#hero  .u-dummy__img{
  aspect-ratio: 800 / 1127;
}


#hero .video-container {
  position: relative;
  width: 100%;
  height: 100vh; /* または固定の高さ */
  overflow: hidden; /* はみ出た部分を隠す */
}

#hero video{
	position: absolute;
	position: fixed;
	top: 50%;
	left: 50%;
	display: block;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	max-width: max-content;
	transform: translate(-50%,-50%);
}

@media screen and (min-width: 1024px) {
  #hero  .u-dummy__img{
  	aspect-ratio: 2030 / 1439;
	}
}

/******************
#kv
******************/

#kv section {
	background-color: var(--eva-body-bg);
}
#kv .p-hero__img img {
}




#kv  figure figcaption {
  position: absolute;
  bottom: 3px;
  left: 5px;
  color: #fff;
  font-family: var(--font-family-Zen-Go);
  font-weight: 500;
  font-size: 11px;
}

#kv picture{
  width: 100%;
}


@media (min-width: 1024px) {

}



/******************
#highlight
******************/

.pin-spacer .highlight.gsap-lenis-section,
.pin-spacer:nth-child(odd) .highlight.gsap-lenis-section,
.pin-spacer:nth-child(even) .highlight.gsap-lenis-section {
	background-color: transparent !important;
}

article.highlight {
	padding-bottom: calc(var(--layout-space-base-horizontal) * 1.5);
	  z-index: 1;
}


.highlight .c-section__body{
	border-radius: 15px;
	max-width: 1440px;
	overflow: hidden;
	margin:0 calc(var(--layout-space-base-horizontal) * 1);
	width: auto;
	padding: calc(var(--layout-space-base-horizontal) * 3.5) 0 calc(var(--layout-space-base-horizontal) * 3);
}

.highlight .c-section__body::after {
  content: "";
  position: absolute;
  inset: var(--border-width);
  background: linear-gradient(135deg,rgba(0, 0, 0, 1) 50%, rgba(33, 33, 33, 1) 50%);
  z-index: -1;
  border-radius: 15px;
}
.highlight .c-section__body::before {
  content: "";
  position: absolute;
  width: 100vmax;
  height: 100vmax;
  top: calc(50% - 50vmax);
  left: calc(50% - 50vmax);
/*
  background: conic-gradient(from 0deg, #450a0a 0%, #b92d25 10%, #fb571e 20%, #fff7ed 28%, #ffffff 30%, #ecfeff 32%, #22a6bf 45%, #0e7490 52%, #ffffff 60%, #d4d4d8 65%, #bfbfbf 75%, #09090b 88%, #450a0a 100%);
*/
background: conic-gradient(
    from 0deg,
    #27272a 0%,    /* Zinc-800: 深い影 */
    #52525b 40%,   /* Zinc-600: 中間の反射 */
    #a1a1aa 45%,   /* Zinc-400: 銀色の輝き */
    #ffffff 50%,   /* White: 鋭いハイライト */
    #a1a1aa 55%,   /* Zinc-400: 銀色の輝き */
    #52525b 60%,   /* Zinc-600: 中間の反射 */
    #27272a 100%   /* Zinc-800: 深い影 */
);
  animation: rotates 8.5s linear infinite;
  z-index: -2;
}
/* Keyframes: 回転アニメーション */
@keyframes rotates {
    from { transform: rotate(0deg) scale(2); }
    to { transform: rotate(360deg) scale(2); }
}

.highlight-body {
  display: grid;
  padding: 0 calc(var(--layout-space-base-horizontal) * 1);
  gap: calc(var(--layout-space-base-horizontal) * 1.5);
}
.highlight-body-inner {
  display: grid;
  gap: calc(var(--layout-space-base-horizontal) * 1.5);
}
.title-container {
	position: relative; 
	width: calc(100% - 2.4rem);
	padding: 1.6rem 0 0;
}

.title-number {
	display: block;
	font-family: "Big Shoulders Stencil", sans-serif;
	font-weight: bold;
	font-size: 25vw;
	color: var(--highlights-color);
	line-height: 100%;
	padding: 0 1rem;
	position: absolute;
	opacity: 0.2;
	right: 0;
	top: 0;
}

.highlight  .p-txt {
  gap: calc(var(--layout-space-base-horizontal) * 2);
}

.highlight .title {
	text-shadow: 0px 0px 10px #fff;
	font-size: calc(var(--eva-font-size-copy) * 0.8);
	letter-spacing: -0.15rem;
	transform: scaleY(var(--eva-font-scale-y));
	transform-origin: center;
	padding: calc((var(--eva-font-scale-y) - 1) / 2 * 3.2em) 0;
	line-height: 1.2;
}

.highlight .p-img img{
  aspect-ratio: 1000 / 709;
}

@media (min-width: 1024px) {
	.highlight .c-section__body {
	  margin: 0 auto;
	}
	.highlight-body-inner {
	  grid-template-columns: 1fr 1fr;
	}
    .title-number {
		font-size: 20vw;
		right: auto;
    }
}






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

#term section {
	background-color: var(--eva-body-bg);
}
#term  .honeycomb {
}

#term  .p-header .img {
	padding: 0 calc(var(--layout-space-base-horizontal) * 1);
	max-width: 780px;
	margin: 0 auto;
}


#term .eva-font__body {
	text-align: center;
	font-size:var(--eva-font-size-headding);
}

#term .p-point {
	margin: 00 auto;
	line-height: 2.2;
	padding: 0 calc(var(--layout-space-base-horizontal) * 1.5);
}
#term .p-point .p-read {
  font-size: calc(var(--eva-font-size-read) * 1.2);
}
@media (min-width: 1024px) {

	#term  .c-section__body {
	  gap: calc(var(--layout-space-base-horizontal) * 0.5);
	}
	#term .p-point .p-read {
	  font-size: calc(var(--eva-font-size-read) * 1.2);
	}

}

.honeycomb {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.2;
  width: calc(100% - 0rem);
  height: 100%;
  overflow: hidden;
    max-width: none;
}
.js-emergency {
  position: absolute;
  top: -10%;
  right: -10%;
  opacity: 0.3;
  width: 100%;
  height: 100%;
  overflow: hidden;
  max-width: none;
  transform: rotate3d(1, 1, 1, 35deg);
  transform-origin: right;
}


/******************
#highlights
******************/


.highlights__body {
  contain: paint;
  padding: 0 calc(var(--layout-space-base-horizontal) * 1.5);
}


.rtb-section {
  scroll-snap-align: start;
  scroll-snap-stop: always;
  scroll-margin-top:var(--current-header-h, 80px);
}

.highlights__item {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;

	position: sticky;
	position: relative;
	transition: all 0.8s;
	background: #fff;
	gap: 2.4rem;
	padding: calc(var(--layout-space-base-horizontal) * 1.5) 0 calc(var(--layout-space-base-horizontal) * 2);
	top: 0;
	max-width: 1440px;
	margin: 0 auto;
}

.highlights__item:last-child {
	position: relative;
	top: 0;
}

.highlights__item::before{
	content: attr(data-highlights);
	font-family: "Sarpanch", sans-serif;
	color: var(--eva-secondary-bg);
	font-size:var(--eva-font-size-number);
	width: 100%;
	line-height: 1;
	transform: translateY(2rem);
}

.highlights__item.is-scrolled {
  filter: blur(0);
  transform: scale(0.95) translateY(80px);
}
.highlights__item.is-scrolled > *,
.highlights__item.is-scrolled::before {
	opacity: 0.3;
	filter: blur(2px);
}


.highlights__item:not(#makingmovie) div:nth-child(2) {
	order:3;
}

.highlights__item h2{
	position: relative;
}
.highlights__item h2:before{
	content: "";
	background: var(--eva-secondary-bg);
	background: linear-gradient(91deg, #b92d25 15%, #fb571e 40%, #22a6bf 60%, #bfbfbf 85%);
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	transition: all 0.8s 0.2s;
	mix-blend-mode:hard-light;
	  mix-blend-mode: lighten;
	transform-origin: right;
}
.highlights__item h2.is-scrolled:before{
	transform: scaleX(0);
	
}


.p-img.mask {
  clip-path: polygon(74% 10%, 100% 10%, 100% 100%, 40% 100%, 26% 90%, 1% 90%, 0 0, 60% 0);
}


#makingmovie {
  border: 1px solid;
  padding: 1.6rem;
}
#makingmovie.highlights__item::before {
	font-size: calc(var(--eva-font-size-number) * 0.6);
	text-align: center;
}
#makingmovie .p-txt{
  font-size: calc(var(--eva-font-size-copy) * 0.8);
}
#makingmovie .p-copy {
	font-size: calc(var(--eva-font-size-copy) * 0.8);
	text-align: center;
	margin: 0 auto;
}
#makingmovie:after{
	content: "";
	background: linear-gradient(90deg, #b92d25 15%, #fb571e 40%, #22a6bf 60%, #bfbfbf 85%);
	width: 100%;
	margin: 0 auto;
	height: 5px;
	margin-bottom: 2.4rem;
	position: absolute;
	top: 0;
}
#makingmovie a {
  display: block;
  width: 100%;
}


@media screen and (min-width: 1024px) {
	.highlights__item {
		display: grid;
		grid-template-columns: 1.2fr 1fr;
		grid-template-rows:auto auto 1fr
	}

	.highlights__item div:first-child{
	  grid-column: 1 / 2;
    align-self: start;
    align-items: flex-start;
	}
	.highlights__item div:nth-child(2) {
		order: unset;
		grid-column: 1 / 2;
    align-self: start;
    align-items: flex-start;
	}

	.highlights__item div:nth-child(3) {
	  grid-row: 1 / 4;
	  grid-column: 2 / 3;
	}

	#makingmovie {
	  grid-template-columns: 1fr 1fr;
	}

}


#stamprally .p-body,
#nightshow .p-body,
#gourmet .p-body,
#goods .p-body,
#hotel .p-body {
}

.p-txt-header{
	margin:calc(var(--layout-space) * 1.5) auto 0;
  align-items: flex-start;
  gap: calc(var(--layout-space) * 1.5);
}
.p-txt-header  *{
  width: 100%;
  text-align: left
}
.p-txt-header > * {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: calc(var(--layout-space) * 1.5);
}

.menu {
  display: flex;
  flex-wrap: nowrap;
}
.menu .p-text{
	text-align: center;
}


.explanation {
	display: flex;
	flex-direction: column;
	gap: calc(var(--layout-space) * 0.5);
	align-items: center;
	justify-content: center;
}
.tokuten {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(var(--layout-space) * 1.5);
	transform: rotate(-3deg);
	padding:calc(var(--layout-space-base-horizontal) * 1.8) calc(var(--layout-space-base-horizontal) * 0.7) calc(var(--layout-space-base-horizontal) * 1.4);
	background: var(--eva-secondary-bg);
	clip-path: polygon(70% 10%, 100% 10%, 100% 100%, 40% 100%, 30% 90%, 0% 90%, 0 0, 60% 0);
	border-radius: 1rem;
	overflow: hidden;
}
.tokuten:before {
  content: "特典";
  position: absolute;
  top: 0;
  left: 0;
  background: var(--eva-body-color);
  color: #fff;
  padding: 0.5rem 2rem;
  width: 100%;
  background: linear-gradient(91deg, #b92d25 15%, #fb571e 40%, #22a6bf 60%, #bfbfbf 85%);
  font-weight: 500;
}
.tokuten .p-text {
  font-size: calc(var(--eva-font-size-text) * 0.7);
}

.pickup {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--layout-space) * 1.5);
  padding: calc(var(--layout-space-base-horizontal) * 2) calc(var(--layout-space-base-horizontal) * 0.7) calc(var(--layout-space-base-horizontal) * 1);
  background: var(--eva-secondary-bg);
  max-width: 760px;
  margin: 0 auto;
  border-radius: 1rem;
  overflow: hidden;
}

.pickup:before {
	content: "PICKUP";
	position: absolute;
	top: 0;
	left: 0;
	background: var(--eva-body-color);
	color: #fff;
	padding: 0.5rem 2rem;
	width: 100%;
	background: linear-gradient(91deg, #b92d25 15%, #fb571e 40%, #22a6bf 60%, #bfbfbf 85%);
	font-weight: 500;
	z-index: 2;
}
#hotel .pickup {
  max-width:960px;
    align-items: flex-start;
}
#hotel .pickup:before {
	content: "宿泊特典";
}


#nightshow .u-dummy__img.dummy,
.foodtruck .u-dummy__img.dummy,
#hotel .u-dummy__img.dummy{
  aspect-ratio: 4 / 3;
}
#nightshow  .explanation,
.foodtruck {
  max-width: 960px;
  margin:0 auto;
}  



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


#nightshow .u-dummy__img.dummy,
.foodtruck .u-dummy__img.dummy,
#hotel .u-dummy__img.dummy{
  aspect-ratio: 16 / 9;
}

}





#stamprally .p-txt-header .p-copy,
#nightshow .p-txt-header .p-copy,
#gourmet .p-txt-header .p-copy,
#goods .p-txt-header .p-copy,
#hotel .p-txt-header .p-copy {
	display: grid;
/*
	grid-template-columns: var(--layout-space) 1fr;
	align-items: center;
	justify-content: center;
	gap: calc(var(--layout-space) * 0.5);
*/
}
#stamprally .p-txt-header .p-copy:before,
#nightshow .p-txt-header .p-copy:before,
#gourmet .p-txt-header .p-copy:before,
#goods .p-txt-header .p-copy:before,
#hotel .p-txt-header .p-copy:before {
/*	content: "";
	background: linear-gradient(91deg, #b92d25 15%, #fb571e 40%, #22a6bf 60%, #bfbfbf 85%);
	width: 100%;
	height:auto;
	aspect-ratio: 1 / 1;
	display: block;
	clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
*/
}

#stamprally .c-btn {
	background-color:#fff;
	border: 2px solid;
	border-color: var(--eva-btn-bg);
	color: var(--eva-btn-bg);
	border-radius: 9999px;
	padding: 1.8rem 2.4rem;
	border-radius: 1rem;
	font-size: var(--eva-font-size-btn);
	max-width: 320px;
	margin: 0 auto;
}


.title-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4rem;;
    overflow: visible;
}
.title-line path {
    fill: none;
	stroke:#fff;
	stroke:var(--eva-body-color);
    stroke-width: 0.1;
    stroke-dasharray: 1440;  /* 線の全長（だいたいの長さでOK）*/
    stroke-dashoffset: 520; /* 線の全長分だけ、線をずらして見えなくする */
}
.path-pc {
    display: none;
}
@media (min-width: 1024px) {
    .path-sp {
        display: none;
    }
    .path-pc {
        display: block;
    }
}
.title-line.active path {
    animation: draw-line 2s ease-out forwards; /* 2秒かけてアニメーション */
}

/* アニメーションの定義 */
@keyframes draw-line {
    /* アニメーション終了時 */
    to {
        stroke-dashoffset: 0; /* ずらしを0にして、線が完全に見えるようにする */
    }
}


.c-section__list {
  max-width: 1200px;
  position: relative;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
    width: 100%;
}

.c-section__list ul{
}

.c-section__list ul li{
}
.c-section__list ul a{
}


.c-section__list ul {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 2.4rem 0;
}
.c-section__list ul li{
  position: relative;
  transition: all 0.4s;
  min-width: calc(100% * 0.3);
  display: block;
}
.c-section__list ul li:after{
}

.c-section__list ul li a:after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-bottom: solid 2px #333;
  border-right: solid 2px #333;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 1rem;
  bottom: 0;
  margin: auto;
}

.c-section__list ul li.is-scrolled::after,
.c-section__list ul li:hover::after{
	opacity: 1;
	width: 100%;
}
.c-section__list ul a {
	font-family: var(--eva-font-family);
	font-size: var(--eva-font-size-c-nav);
	font-weight: 700;
	display: block;
	text-align: center;
	padding: 1.6rem 2.4rem;
	border: 1px solid;
	width: 100%;
	background: #fff;
	color: #000;
}


@media (min-width: 1024px) {
	.c-section__list ul {
	  flex-wrap: nowrap;
	    gap: 1.6rem;
	}

}

.honeycombs__wrapper {
	display: flex;
	flex-wrap: wrap;
	--wrapper-width: 85%;
	width: var(--wrapper-width);
	margin-right: calc(-1 * var(--wrapper-width) / 3 * 0.25 * 2 - var(--wrapper-width) / 3 * 0.05 * 2);
}
@media(max-width: 768px) {
	.honeycombs__wrapper {
		--wrapper-width: 100%;
		--wrapper-width: 100vw;
	}
}
.honeycombs {
	width: calc(100% /3);
}
.honeycomb-area {
	display: flex;
	justify-content: center;
	width: 100%;
}
.honeycombs_honeycomb {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	aspect-ratio: 200 / 173;
	background-color: var(--eva-body-bg);
	background-color: transparent;
	clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}
.honeycombs_honeycomb>span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 90%;
	height: 90%;
	background-color: #fff;
	clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
	color: var(--eva-primary-color);
	font-weight: 900;
	font-size:calc(var(--eva-font-size-read) * 0.8);
	position: relative;
}
.honeycombs_honeycomb>span:before {
  content: "";
  background-image: url(../img/common/pattern.gif);
  background-repeat: repeat;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  z-index: 0;
  opacity: 0.5;
  pointer-events: none;
  mix-blend-mode: difference;
}
.honeycombs_honeycomb>span:after {
/*
	content: '';
	background: #000;
	height: calc(tan(60deg) * 10px / 2);
	width: 10px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position: absolute;
	right: auto;
	left: auto;
	bottom: 15%;
	margin: auto;
*/
}
.honeycombs_honeycomb>span:hover {
opacity: 0.7;	
}

.honeycombs_honeycomb:nth-of-type(2),
.honeycombs_honeycomb:nth-of-type(3) {
	margin-top: -6%;
}
.honeycomb-area .honeycombs-center {
	transform: translateY(calc(100% / 4.1));
}
.honeycomb-area .honeycombs-center,
.honeycomb-area .honeycombs-right {
	margin-left: calc(-100% / 3 * 0.25 - 100% / 3 * 0.05);
}


#honeycomb-stamprally>span:before,
#honeycomb-nightshow>span:before,
#honeycomb-gourmet>span:before,
#honeycomb-goods>span:before,
#honeycomb-hotel>span:before {
	background-image: url(../img/common/dummy.webp);
	opacity: 1;
	background-size: cover;
	mix-blend-mode: normal;
	top: 0;
	height: 70%;
}

#honeycomb-stamprally>span:before{
	background-image: url(../img/index/stamprally/navi.webp);
	  object-position: bottom;
}

#honeycomb-nightshow>span:before{
	background-image: url(../img/index/nightshow/01.webp);
}
#honeycomb-gourmet>span:before{
	background-image: url(../img/index/gourmet/navi.webp);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
#honeycomb-goods>span:before{
	background-image: url(../img/index/goods/navi.webp);
  background-position: center;
  background-repeat: no-repeat;
}
#honeycomb-hotel>span:before{
	background-image: url(../img/index/hotel/03-01.webp);
  background-position: center;
  background-repeat: no-repeat;
}

.honeycombs_honeycomb>span {
  align-items: flex-end;
  font-size: calc(var(--eva-font-size-read) * 0.7);
  padding-bottom: 1rem;
  color: #fff;
    background-color: #000;
}
/*
.honeycombs_honeycomb>span.rights:after {
  content: "©カラー";
  position: absolute;
  top: 65%;
  /* background: #000; */
  width: 100%;
  text-align: right;
  padding: 0 2rem;
  font-size: 8px;
  font-family: var(--font-family-Zen-Go);
}
#honeycomb-stamprally>span.rights:after{
  top: 70%;
  padding: 0 3rem;
}
*/

/******************
GSAP-Lenis フック専用スタイル
クラス名: .gsap-lenis-section (spa-hooks-gsap-lenis.js専用)
******************/

.gsap-lenis-section {
	position: relative;
	width: 100%;
	min-height: 100vh;
	overflow: hidden;
	background-color:#000!important;
}
.pin-spacer:nth-child(even) .gsap-lenis-section  {
  background-color:#212529!important;
}

.gsap-lenis-section-inner {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}


/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .gsap-lenis-section {
    min-height: 100vh;
  }

  .gsap-lenis-section-inner {
  }
}

/* タッチデバイス向けの最適化 */
@media (hover: none) and (pointer: coarse) {
  .gsap-lenis-section {
    will-change: transform, opacity;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
  }
  .gsap-lenis-section-inner {
    will-change: transform;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
  }
}

/* 高解像度ディスプレイ向け */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .gsap-lenis-section {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

.gsap-cards-container {
   max-width: 100%;
  overflow-x: hidden;
}

.gsap-card-wrapper {
  position: relative;
  max-width: 100vw;
  height: 600px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.gsap-card-wrapper .pin-spacer {
  width:10%!important;
}
.gsap-card-contents {
  width: 90vw;
  height: 100%;
  border-radius: 15px;
  margin: auto;
}

#collaboration{}
#collaboration .p-header {
  padding: calc(var(--layout-space-base-horizontal) * 0) 0;
}
#collaboration:before {
	content: "";
	/*
	background-image: url(../img/common/pattern.gif);
	background-repeat: repeat;
	*/
	background-color: #212529 !important;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	z-index: 0;
	opacity: 0.9;
}

#stamprally{
  z-index: 1;
}


#stamprally  .honeycomb {
	opacity: 0.35;
}

#stamprally .text-line {
  color: #c7000b;
   background-image: linear-gradient(to bottom, transparent, #c7000b);
}


#stamprally .stamprally-header {
  margin: calc(var(--layout-space) * 1.5) auto 0;
  align-items: center;
  gap: calc(var(--layout-space) * 2.5);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#stamprally .stamprally-header h2{
	font-size: calc(var(--eva-font-size-copy) * 0.9);
	font-size: 5vw;
	line-height: 120%;
}
#stamprally .stamprally-header h2 span{
  font-family: var(--font-family-Zen-Go);
  font-size: 150%;
  font-weight: 300;
  transform: scaleY(1);
}
#stamprally .stamprally-header .p-title{
	font-size: calc(var(--eva-font-size-title) * 1);
}

#stamprally .p-body-inner {
	display: flex;
	flex-direction: column;
	gap: calc(var(--layout-space) * 1.5);
	position: relative;
}

@media (min-width: 1024px) {
	#stamprally .stamprally-header h2{
		font-size: 3vw;
	}
	#stamprally .p-body-inner {
		display: grid;
		grid-template-columns: 1.2fr 1fr;
		gap: calc(var(--layout-space) * 2);
		margin: 0 auto;
		max-width: 1440px;
	}
}








#nightshow{}

#nightshow .text-line {
  background-image:linear-gradient(91deg, #b92d25 15%, #fb571e 40%, #22a6bf 60%, #bfbfbf 85%);
background-size: 100% 1px;
}

#nightshow .p-txt-headers {
  margin: calc(var(--layout-space) * 0) auto 0;
  align-items: center;
  gap: calc(var(--layout-space) *3);
}

#nightshow .p-txt-headers > div{
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

#nightshow .p-txt-headers h2{
	font-size: calc(var(--eva-font-size-copy) * 0.9);
	font-size: 5vw;
	line-height: 1.2;
}
#nightshow .p-txt-headers p{
	margin: calc(var(--layout-space) * 1) auto 0;
	font-size: calc(var(--eva-font-size-title) * 0.8);
}

#nightshow .p-body-inner {
  display: flex;
  flex-direction: column;
  gap: calc(var(--layout-space) * 1.5);
}


#nightshow:before {
	content: "";
	color: #333;
	/*
	animation: ttlheader 5s cubic-bezier(.4, 0, .2, 1) infinite alternate;
	background-image:linear-gradient(91deg, #b92d25 15%, #fb571e 40%, #22a6bf 60%, #bfbfbf 85%);
	*/
	background-image:url(../img/index/nightshow/01.webp);
	z-index: 2;
	background-attachment: fixed;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	z-index:0;
	opacity: 0.2;
	background-size: cover;
}

@keyframes ttlheader {
  100% {
    filter: hue-rotate(90deg);
  }
}

@media (min-width: 1024px) {
	#nightshow .p-txt-headers h2{
		font-size: 2vw;
	}
	#nightshow .p-txt-headers p{
		margin: calc(var(--layout-space) * 0) auto 0;
	}
	#nightshow .p-body-inner {
	  display: grid;
	  grid-template-columns: 1.2fr 1fr;
	  gap: calc(var(--layout-space) * 2);
	}
}



#gourmet{}

#gourmet .p-body-inner {
  display: flex;
  flex-direction: column;
  gap: calc(var(--layout-space) * 1.5);
}
#gourmet .text-line {
  background-image: linear-gradient(to bottom, transparent, #F0941B);
}
#gourmet .dialog-icon svg{
	fill:#F0941B;
}

#gourmet .menu {
  display: flex;
  flex-direction: column;
  gap: calc(var(--layout-space) * 2.5);
}

#gourmet .explanation{
	width: 80%;
	width: 100%;
}
#gourmet .explanation:nth-child(even){
  margin: 0 0 0 auto;
  margin: 0 auto;
}


#gourmet figcaption.menu-name {
  position: absolute;
  bottom: 0rem;
  right: 0rem;
  background: #F0941B;
  padding: 0.5rem 1rem 1rem;
  width: 100%;
  font-size: var(--eva-font-size-text);
  text-align: center;
}
#gourmet .benefits {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: calc(var(--layout-space) * 2);
/*	background:rgb(255 255 255 / 20%);
	padding: calc(var(--layout-space) * 2) calc(var(--layout-space) * 1.5);
*/
	overflow: hidden;
  max-width: 1300px;
  margin: 0 auto;
}

#gourmet .benefits .p-title {
	font-size:calc(var(--eva-font-size-title) * 0.6);
	text-align: left;
}

#gourmet .benefits_item-list {
	display: flex;
	gap: calc(var(--layout-space) * 2);
	flex-direction: column;
}

#gourmet .benefits_item {
	display: grid;
	grid-template-columns: 1fr;
	gap:calc(var(--layout-space) * 2);
}
#gourmet .benefits_item .p-txt {
  align-items: flex-start;
  padding:calc(var(--layout-space) * 0.2) 0;
}
#gourmet .benefits_item .p-txt .p-text {
  text-align: left;
}

#gourmet .menu .p-img{

}

@media (min-width: 1024px) {

	#gourmet .p-body-inner {
	  display: grid;
	  grid-template-columns: 1fr;
	  gap: calc(var(--layout-space) * 1.5);
	}

	#gourmet .menu {
	  flex-direction: row;
	  gap: calc(var(--layout-space) * 1.5);
	}

	#gourmet .benefits_item {
		grid-template-columns: 1fr 1.5fr;
	}

	#gourmet .benefits_item-list {
	  flex-direction: row;
	}
	#gourmet  .benefits_item-list  img {
	  aspect-ratio: 4 / 3;
	  height: 100%;
	}
	#gourmet  .benefits_item {
	  grid-template-columns: 1.5fr 1fr;
	  width: 100%;
	}
	#gourmet .explanation:nth-child(odd) {
	  margin: 15% 0 0 auto;
	  margin: 0 auto;
	}
	#gourmet .p-txt-header {
	  align-items: center;
	}
	#gourmet .p-txt-header * {
	 text-align:center
	}
}


#goods{}

#goods .text-line {
  background-image: linear-gradient(to bottom, transparent, #A62125);
}
#goods .dialog-icon svg{
	fill:#A62125;
}

#goods .p-body-inner {
  display: flex;
  flex-direction: column;
  gap: calc(var(--layout-space) * 1.5);
}

#goods .menu {
  display: flex;
  flex-direction: column;
  gap: calc(var(--layout-space) * 2);
}
#goods .explanation{
	width: 80%;
	width: 100%;
}
#goods .explanation:nth-child(odd){
  margin: 0 0 0 auto;
}

#goods figcaption.menu-name {
  position: absolute;
  bottom: 0rem;
  right: 0rem;
  background: #A62125;
  padding: 0.5rem 1rem 1rem;
  width: 100%;
  font-size: var(--eva-font-size-text);
  text-align: center;
}

#goods .menu .p-img{
aspect-ratio: 4 / 3;

}
#gourmet .menu figure,
#goods .menu figure {
  flex-direction: column;
  height:auto;
}
#gourmet figcaption.menu-name ,
#goods figcaption.menu-name {
  position: relative;
}

@media (max-width: 768px) {
	#gourmet .js-emergency,
	#goods .js-emergency {
	  right: -10%;
	  height: 50%;
	}
}
@media (min-width: 1024px) {

	#goods .p-body-inner {
	  display: grid;
	  grid-template-columns: 1fr 2fr;
	  grid-template-columns: 1fr;
	  gap: calc(var(--layout-space) * 1.5);
	}

	#goods .menu {
		flex-direction: row;
		gap: calc(var(--layout-space) * 1.5);
		max-width: 1330px;
		margin: 0 auto
	}
	#goods .explanation:nth-child(odd) {
	  margin: 0 auto;
	}
	#goods .p-txt-header {
	  align-items: center;
	}
	#goods .p-txt-header * {
	 text-align:center
	}

}




#hotel{}

#hotel .text-line {
  background-image: linear-gradient(to bottom, transparent, #c7000b);
}

#hotel .hotel__rooms {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
}
#hotel .hotel__rooms .p-img{
  height: 100%;
}
#hotel .hotel__rooms .p-img:first-child {
  grid-column: 1 / 3;
}
#hotel .hotel__rooms .p-img:first-child img {
		aspect-ratio: 1200 / 899;
}

#hotel .hotel__rooms .p-img img {
	aspect-ratio: 4 / 3;
}


#hotel .nerv{
  width: 30%;
  max-width: 220px;
}


#hotel .benefits {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: calc(var(--layout-space) * 2);
	background:rgb(255 255 255 / 20%);
	padding: calc(var(--layout-space) * 2) calc(var(--layout-space) * 1.5);
	overflow: hidden;
  max-width: 880px;
  margin: 0 auto;

}

#hotel .benefits .eva-cover svg .cls-3,
#hotel .benefits .eva-cover svg .cls-1 {
  fill: #989898;
}


#hotel .benefits .p-title {
  font-size:calc(var(--eva-font-size-title) * 0.7);
}

#hotel .benefits_item-list {
	display: flex;
	gap: calc(var(--layout-space) * 2);
	flex-direction: column;
}

#hotel .benefits_item {
	display: grid;
	grid-template-columns: 1fr;
	gap:calc(var(--layout-space) * 2);
}
#hotel .benefits_item .p-txt {
  align-items: flex-start;
  padding:calc(var(--layout-space) * 0.2) 0;
}
#hotel .benefits_item .p-txt .p-text {
  text-align: left;
}

#hotel .benefits_item-list figure {
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
}
#hotel .benefits_item-list figure figcaption {
  position: relative;
  text-align: right;
}

#hotel .benefits_item-list img {
aspect-ratio: 230 / 213;
    height: 100%;
  }

#hotel .honeycomb{
  opacity: 0.4;
  height: 30%;
  position: absolute;
  bottom: -10%;
  top: auto;
  z-index: -2;
}

#hotel .c-section__body{
  padding-bottom: 2.5rem;
}


@media (min-width: 1024px) {
	#hotel .hotel__rooms {
	  display: grid;
	  grid-template-columns: 2fr 1fr 1fr;
	  gap: 1px;
	}
	#hotel .hotel__rooms .p-img:first-child{
	  grid-column: 1 / 2;
	}
	#hotel .hotel__rooms .p-img:first-child img,
	#hotel .hotel__rooms .p-img img {
		aspect-ratio: 4 / 3;
		aspect-ratio: 1200 / 899;
		height: 100%;
	}
	#hotel .nerv {
	  position: absolute;
	  right: 0;
	  top: 0;
	}
	#hotel .benefits {
	  max-width: 960px;
	}

	#hotel .benefits_item-list {
	  flex-direction: row;
	}
	#hotel .benefits_item-list  img {
	 aspect-ratio: 1226 / 546;
	  height: 100%;
	}
	#hotel .benefits_item {
	  grid-template-columns: 1.6fr 1fr;
	}
}


article#goods {
  background-color:#212529!important;
}


.txt-point{
  display: flex;
  justify-content: center;
  align-items: center;
  color:#F0941B;
  font-weight: 900;
}
.txt-point span{
	position: relative;
	border-top: 1px #F0941B solid;
	width: auto;
	padding: 1.6rem 0;
	min-width: 144px;
	text-align: center;
	font-size: 130%;
}

.txt-point span:before,
.txt-point span:after{
  content: "";
  width: 1px;
  height: 100%;
  display: block;
  background:#F0941B;
  position: absolute;
  transform: rotate(45deg);
  transform-origin: top;
  top: 0;
}
.txt-point span:after{
	right: 0;
	transform: rotate(-45deg);
}

.benefits-col2 {
  display: grid;
  gap: calc(var(--layout-space) * 2);
}

.c-btn.external {
width: auto;
  max-width: 320px;
  background: #fff;
  color: #000;
  min-width: 260px;
  margin: 0 auto;
  border-radius: 9999px;
}

@media (min-width: 1024px) {
	.benefits-col2 {
	  grid-template-columns: 1fr 1fr;
	}
}



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

pages

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


body.goods nav.c-nav,
body.gourmet nav.c-nav {
	transform: translateY(0);
	opacity: 1 !important;
	visibility: visible;
	top: 0;
	z-index: 1002;
}

body.goods.scroll nav.c-nav,
body.gourmet.scroll nav.c-nav {
  transform: translateY(0);
  opacity: 1!important;
  visibility: visible;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease, visibility 0s linear;
  top: var(--current-header-h, 80px);
}

body.goods .p-txt-header .logo,
body.gourmet .p-txt-header .logo{
  max-width: 70%;
}



@media screen and (max-width: 1024px) {
	body.goods.scroll nav.c-nav,
	body.gourmet.scroll nav.c-nav {
		top: calc(var(--current-header-h, 80px) - 55px);
	}
	body.goods.upfixed.scroll nav.c-nav,
	body.gourmet.upfixed.scroll nav.c-nav {
		top: calc(var(--current-header-h, 80px) - 0px);
	}
}




.p-body.flex {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(var(--layout-space) * 3);
}

.card-summary {
	display: flex;
	gap: calc(var(--layout-space) * 1.5);
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	max-width: 800px;
	margin: 0 auto;
}
.card-summary .img,
.card-summary .txt{
  position: relative;
}
.card-summary img{
  max-width: 50%;
}
.card-summary .txt p{
  text-align: left;
}

.card-list {
	display: flex;
	justify-content: center;
	align-items: center;
	--card-list-gap:calc(var(--layout-space) * 4);
	gap: var(--card-list-gap);
	max-width:1360px;
	flex-wrap: wrap;
	  position: relative;
}
.card {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: calc(var(--layout-space) * 1);
	position: relative;
	z-index: 1;
}
.card .txt{
	font-size: var(--eva-font-size-text);
	font-weight: 500;
	width: 85%;
}
.card dl{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 1.6rem;
}
.card dl dt{
	font-size:145%;
	font-weight:700;
	line-height: 130%;
}

.card-summary .txt .p-subtitle,
.card dl dt{
font-family: var(--eva-font-family);
}

@media (min-width: 1024px) {
	body.goods .p-txt-header .logo,
	body.gourmet .p-txt-header .logo{
	  max-width:480px;
	}
	.card-summary {
	  display: grid;
	  grid-template-columns: 1fr 2.5fr;
	  justify-content: center;
	  align-items: center;
	}
	.card-summary img {
	  max-width:100%;
	}
	.card-list {
	  flex-wrap: wrap;
	}
	.card {
	  width: calc(100% / 3 - var(--card-list-gap));
	}
	body.goods .js-emergency {
	  position: absolute;
	  top: 0;
	  right: 0;
	}
	.card .txt{
		width: 100%;
	}
}

body.goods{}

body.goods nav .c-nav__list ul li[data-trigger-id="p-goods"] a{
  color: #A62125;
}
body.goods nav .c-nav__list ul li[data-trigger-id="p-goods"]:after {
	border-color:#A62125;
	opacity: 1;
	width: 100%;
}
body.goods .p-side_title h3 {
  transform: translateY(0);
  visibility: visible;
  opacity: 1;
}

body.goods article .p-side_title::before {
  height: 100%;
}

#p-goods {
  background-color: #212529 !important;
}

body.goods  .js-emergency{
  position: fixed;
}

body.goods #goods .p-body-inner {
  gap: calc(var(--layout-space) * 3);
}
body.goods .p-body-inner.border:before{
	content: "";
	width: 100%;
	height: 0px;
	background: #e9ecef;
	margin:calc(var(--layout-space) * 1)  auto;
	opacity: 0.5;
}

body.goods .card .img img{
  aspect-ratio: 4 / 3;
  object-fit: contain;
}

body.goods .eva-cover svg .cls-1 {
    fill:#A62125;
}
body.goods .eva-cover svg .cls-2 {
    fill:#A62125;
}



body.gourmet{}

body.gourmet nav .c-nav__list ul li[data-trigger-id="p-gourmet"] a{
  color: #F0941B;
}
body.gourmet nav .c-nav__list ul li[data-trigger-id="p-gourmet"]:after {
	border-color:#F0941B;
	opacity: 1;
	width: 100%;
}

body.gourmet .p-side_title h3 {
  transform: translateY(0);
  visibility: visible;
  opacity: 1;
}
body.gourmet article .p-side_title::before {
  height: 100%;
}


body.gourmet  .js-emergency{
  position: fixed;
}

body.gourmet #goods .p-body-inner {
  gap: calc(var(--layout-space) * 3);
}
body.gourmet .p-body-inner.border:before{
	content: "";
	width: 100%;
	height: 0px;
	background: #e9ecef;
	margin:calc(var(--layout-space) * 1)  auto;
	opacity: 0.5;
}

body.gourmet .card .img img{
  aspect-ratio: 4 / 3;
  object-fit: contain;
}

body.gourmet .eva-cover svg .cls-1,
#gourmet .eva-cover svg .cls-1 {
    fill:#F0941B;
}
body.gourmet .eva-cover svg .cls-2,
#gourmet .eva-cover svg .cls-2 {
    fill:#F0941B;
}

.Pilot.card-list  {
	--color-Shinji:#025997;
	--color-Shinji02:#01355b;
	--color-Rei:#81b1d4;
	--color-Rei02:#4d6a7f;
	--color-Asuka:#c9171d;
	--color-Asuka02:#790e11;
	--color-Kaworu:#082e4e;
	--color-Kaworu02:#051c2f;
	--color-Mari:#df94a6;
	--color-Mari02:#865964;
	border-radius: 3rem;
	position: relative;
	overflow: hidden;
	padding: calc(var(--layout-space) * 1);
	padding-top: 150px;
	background-repeat: no-repeat;
	background-size: 70%;
}
.Pilot:after {
	content: "";
	color: #ffff;
	font-size: 6.5rem;
	  font-size: 5.3rem;
	position: absolute;
	opacity: 0.3;
	top: 0;
	right: 0;
	transform-origin: top;
	writing-mode: vertical-rl;
	line-height: 1;
	font-family: var(--eva-font-family);
}
.Pilot:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	opacity: 1;
	top:0;
	left:0;
	clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 40%, 80% 0);

  height: 98%;
  top:auto;
  opacity: 1;
  bottom: 0;
  clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 20%, 100% 0);

}
.Shinji.Pilot {
	background-image: url(../img/common/Shinji.webp);
	background-color:var(--color-Shinji);
}
.Shinji.Pilot:after {
	content: "Shinji";
}
.Shinji.Pilot:before {
	background-color:var(--color-Shinji02);
}
.Rei.Pilot {
	background-image: url(../img/common/Rei.webp);
	background-color:var(--color-Rei);
}
.Rei.Pilot:after {
	content: "Rei";
}
.Rei.Pilot:before {
	background-color:var(--color-Rei02);
}
.Asuka.Pilot {
	background-image: url(../img/common/Asuka.webp);
	background-color:var(--color-Asuka);
}
.Asuka.Pilot:after {
	content: "Asuka";
}
.Asuka.Pilot:before {
	background-color:var(--color-Asuka02);
}
.Kaworu.Pilot {
	background-image: url(../img/common/Kaworu.webp);
	background-color:var(--color-Kaworu);
}
.Kaworu.Pilot:after {
	content: "Kaworu";
}
.Kaworu.Pilot:before {
	background-color:var(--color-Kaworu02);
}
.Mari.Pilot {
	background-image: url(../img/common/Mari.webp);
	background-color:var(--color-Mari);
}
.Mari.Pilot:after {
	content: "Kaworu";
}
.Mari.Pilot:before {
	background-color:var(--color-Mari02);
}

.Shinji.card-list .card:first-child .img img,
.Rei.card-list .card:first-child .img img,
.Asuka.card-list .card:first-child .img img {
  aspect-ratio: auto;
}

.Mari.card-list .card:first-child .img img,
.Kaworu.card-list .card:first-child .img img {
  aspect-ratio: 3 / 3;
}

.restaurant.card-list .card .img img {
  aspect-ratio: 160 / 107;
}

body.gourmet .card-summary {
  max-width:1100px;
}
body.gourmet .card-summary img {
  max-width: 100%;
}




@media (min-width: 1024px) {
.Pilot.card-list {
	padding-top: 50px;
	padding-left: 50px;
	background-size: 280px;
}
.Pilot:before {
  clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 60%, 80% 0);
  height: 100%;
}
.Pilot:after {
  font-size: 15rem;
}

.Pilot.card-list  .card {
    width: calc(100% / 2.5 - var(--card-list-gap));
}

.restaurant.card-list  .card {
    width: calc(100% / 2.5 - var(--card-list-gap));
}
  body.gourmet .card-summary {
    grid-template-columns: 1.2fr 1fr;
  }

}
