/* --------------------------------------------------
Contents
-------------------------------------------------- */
@keyframes barAnim { 0% { transform: translate(0, -101%); opacity: 0; }
  1% { transform: translate(0, -101%); opacity: 1; }
  99% { transform: translate(0, 101%); opacity: 1; }
  100% { transform: translate(0, 101%); opacity: 0; } }
.contents *:not(img)::selection { background: #333; }
.contents *:not(img)::-moz-selection { background: #333; }

.tickets { position: fixed; right: 2rem; bottom: 2rem; width: 14.2rem; z-index: 9; transition: opacity 0.4s var(--ease) 0s; }
.tickets__mainImage { aspect-ratio: 178 / 80; }
.tickets__mainTextarea { position: absolute; top: 0; right: 2rem; bottom: 0; left: 0; display: flex; justify-content: center; align-items: center; flex-direction: column; row-gap: 0.5rem; color: var(--white-color); pointer-events: none; }
.tickets__mainTextareaText1 { font-family: var(--font-en); font-weight: 700; font-size: 2.3rem; height: 3rem; display: flex; align-items: center; border-bottom: 0.1rem solid; }
.tickets__mainTextareaText2 { font-weight: 600; font-size: 1.2rem; }
.tickets__character { position: absolute; }
.tickets__character--1 { width: 4.3rem; left: -3.05rem; top: -0.95rem; transform: rotate(-3deg); }
.tickets__character--1 img { aspect-ratio: 63 / 133; }
.tickets__character--2 { width: 3.3rem; left: 12.2rem; top: -1.05rem; }
.tickets__character--2 img { aspect-ratio: 49 / 133; }
.tickets.isHidden { opacity: 0; pointer-events: none; }

.top { position: relative; height: calc(calc(var(--vh) * (1 * 100)) - 6.4rem); overflow: hidden; }
.top__bg { height: 100%; }
.top__bg img { height: 100%; object-fit: cover; }
.top__lantern { position: absolute; left: 0; right: 0; top: 0; transform: scale(1.2) translate(0, -101%); }
.top__lantern img { aspect-ratio: 1125 / 390; }
.top__image { width: 94.27%; position: absolute; left: 4%; top: 48.14%; transform: translate(0, -50%); aspect-ratio: 707 / 736; z-index: 2; }
.top__imageCharacter { position: absolute; opacity: 0; }
.top__imageCharacter--1 { width: 39.89%; left: 29.14%; top: 0%; transform: translate(0, -2rem); }
.top__imageCharacter--1 img { aspect-ratio: 288 / 427; display: block; transform: rotate(8deg); }
.top__imageCharacter--2 { width: 41.16%; left: 0%; top: 9.38%; transform: translate(-2rem, -2rem); z-index: -1; }
.top__imageCharacter--2 img { aspect-ratio: 300 / 642; display: block; transform: rotate(-3deg); }
.top__imageCharacter--3 { width: 32.67%; left: 58.7%; top: 10.19%; transform: translate(2rem, -2rem); }
.top__imageCharacter--3 img { aspect-ratio: 235 / 648; }
.top__imageCharacter--4 { width: 35.22%; left: 3.11%; top: 32.47%; transform: translate(-2rem, 0); }
.top__imageCharacter--4 img { aspect-ratio: 255 / 466; }
.top__imageCharacter--5 { width: 35.64%; left: 64.36%; top: 31.66%; transform: translate(2rem, 0); }
.top__imageCharacter--5 img { aspect-ratio: 257 / 295; }
.top__imageCharacter--6 { width: 23.9%; left: 5.94%; top: 65.9%; transform: translate(-2rem, 2rem); }
.top__imageCharacter--6 img { aspect-ratio: 176 / 255; }
.top__imageCharacter--7 { width: 26.59%; left: 28.29%; top: 69.57%; transform: translate(0, 2rem); }
.top__imageCharacter--7 img { aspect-ratio: 190 / 165; }
.top__imageCharacter--8 { width: 44.98%; left: 51.06%; top: 57.47%; transform: translate(2rem, 2rem); }
.top__imageCharacter--8 img { aspect-ratio: 326 / 320; }
.top__imageLogo { position: absolute; width: 60.4%; left: 19.38%; top: 24.18%; filter: drop-shadow(0 0.2rem 1rem rgba(0, 0, 0, 0.5)); opacity: 0; }
.top__imageLogo img { aspect-ratio: 435 / 397; }
.top__expo { position: absolute; left: 6.4%; right: 0; bottom: 2.88%; color: var(--white-color); }
.top__expoImage { width: 9.5rem; border-radius: 0.4rem; margin: 0 0 0.8rem; overflow: hidden; }
.top__expoImage img { aspect-ratio: 168 / 105; }
.top__expoCp { font-family: var(--font-en); font-size: 0.85rem; line-height: 1.29; }
.top__expoCredit { font-size: 0.8rem; line-height: 1.38; }
.top__scroll { position: absolute; right: 5.47%; bottom: 0; color: var(--white-color); }
.top__scrollText { font-family: var(--font-en); font-weight: 600; font-size: 1.4rem; writing-mode: vertical-rl; margin: 0 0 1.2rem; }
.top__scrollBar { width: 0.1rem; height: 8rem; overflow: hidden; position: relative; }
.top__scrollBar::after { display: block; content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: currentColor; animation: barAnim 2s linear 0s infinite; }

.indexBanners { overflow: hidden; position: relative; z-index: 2; }
.indexBanners .swiper { overflow: visible; }
.indexBanners .swiper .swiper-wrapper .swiper-slide { width: 57.07%; padding: 0 2.13%; }
.indexBanners .swiper .swiper-wrapper .swiper-slide img { border-radius: 0.8rem; aspect-ratio: 1; }
.indexBanners .swiper .swiper-wrapper .swiper-slide.shadow img { box-shadow: var(--drop-shadow); }
.indexNews { margin: -7.5rem 0 0; background: linear-gradient(225deg, #ad3dc1 0%, #63358c 50%, #35468c 100%); padding: 11.4rem 0 3rem; }
.indexNews__inner { width: var(--contents-width); margin: 0 auto; }
.indexNews__title { width: 20.5rem; margin: 0 0 3.2rem; opacity: 0.09; }
.indexNews__title img { aspect-ratio: 1000 / 254; }
.indexNews__contents { color: var(--white-color); }
.indexNews__contentsList { display: flex; flex-direction: column; row-gap: 3rem; margin: 0 0 3rem; }
.indexNews__contentsListItemLink { display: flex; flex-direction: column; row-gap: 0.8rem; }
.indexNews__contentsListItemDate { font-family: var(--font-en); font-weight: 600; font-size: 1.4rem; }
.indexNews__contentsListItemTitle { font-size: 1.4rem; line-height: 1.71; }
.indexNews__contentsViewmore { font-size: 1.4rem; }
.indexNews__contentsViewmoreLink { position: relative; }
.indexNews__contentsViewmoreLink::after { display: block; content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border-bottom: 0.1rem solid; }
.indexAbout { background: #F1F3F5; padding: 4rem 0 12rem; position: relative; }
.indexAbout__inner { width: var(--contents-width); margin: 0 auto; }
.indexAbout__image { width: 11rem; margin: 0 auto 2.4rem; }
.indexAbout__image img { aspect-ratio: 199 / 262; }
.indexAbout__titlearea { margin: 0 0 5.6rem; }
.indexAbout__titleareaCaption { text-align: center; font-family: var(--font-en); font-weight: 700; font-size: 1.8rem; line-height: 1.33; margin: 0 0 1.6rem; }
.indexAbout__titleareaLogo img { aspect-ratio: 500 / 124; }
.indexAbout .swiper { position: absolute; left: 0; right: 0; bottom: 0; transform: translate(0, 50%); }
.indexAbout .swiper .swiper-wrapper { transition-timing-function: linear; }
.indexAbout .swiper .swiper-wrapper .swiper-slide { width: 57.5rem; }
.indexAbout .swiper .swiper-wrapper .swiper-slide img { aspect-ratio: 1723 / 300; }
.indexContents { padding: 12rem 0 4rem; }
.indexContents__inner { width: var(--contents-width); margin: 0 auto; }
.indexContents__title { text-align: center; font-family: var(--font-en); font-weight: 700; font-size: 4rem; margin: 0 0 1.6rem; }
.indexContents__menuList { display: flex; flex-wrap: wrap; column-gap: 3.18%; row-gap: 1rem; }
.indexContents__menuListItem { border-radius: 0.8rem; box-shadow: var(--drop-shadow); width: calc(96.82% / 2); position: relative; }
.indexContents__menuListItemLink { display: block; border-radius: 0.8rem; overflow: hidden; }
.indexContents__menuListItemTextarea { height: 4.7rem; display: flex; flex-direction: column; justify-content: center; row-gap: 0.2rem; padding: 0 0 0 1.2rem; white-space: nowrap; }
.indexContents__menuListItemTextareaTitle { font-family: var(--font-en); font-weight: 700; font-size: 2rem; }
.indexContents__menuListItemTextareaTitlejp { font-size: 1rem; }
.indexContents__menuListItemCharacter { position: absolute; }
.indexContents__menuListItem img { aspect-ratio: 260 / 200; }
.indexContents__menuListItem--access, .indexContents__menuListItem--areamap { width: 100%; }
.indexContents__menuListItem--access img, .indexContents__menuListItem--areamap img { aspect-ratio: 540 / 200; }
.indexContents__menuListItem--access .indexContents__menuListItemTextarea, .indexContents__menuListItem--areamap .indexContents__menuListItemTextarea { align-items: center; padding: 0; }
.indexContents__menuListItem--access { background: #E9EB60; }
.indexContents__menuListItem--access .indexContents__menuListItemCharacter { width: 7.7rem; right: calc(50% + 6.5rem); bottom: 0; }
.indexContents__menuListItem--access .indexContents__menuListItemCharacter img { aspect-ratio: 266 / 362; }
.indexContents__menuListItem--areamap { background: #B869D5; }
.indexContents__menuListItem--areamap .indexContents__menuListItemCharacter { width: 7.6rem; left: calc(50% + 6.05rem); bottom: 0; }
.indexContents__menuListItem--areamap .indexContents__menuListItemCharacter img { aspect-ratio: 264 / 304; }
.indexContents__menuListItem--about { background: #4795FF; }
.indexContents__menuListItem--about .indexContents__menuListItemCharacter { width: 4.4rem; left: 9rem; bottom: 0.4rem; }
.indexContents__menuListItem--about .indexContents__menuListItemCharacter img { aspect-ratio: 185 / 269; }
.indexContents__menuListItem--lineup { background: #FF62A4; }
.indexContents__menuListItem--lineup .indexContents__menuListItemCharacter { width: 5.1rem; left: 9rem; bottom: 0.7rem; }
.indexContents__menuListItem--lineup .indexContents__menuListItemCharacter img { aspect-ratio: 215 / 186; }
.indexContents__menuListItem--food { background: #EBC660; }
.indexContents__menuListItem--food .indexContents__menuListItemCharacter { width: 5.3rem; left: 8.4rem; bottom: 0.4rem; transform: rotate(8deg); }
.indexContents__menuListItem--food .indexContents__menuListItemCharacter img { aspect-ratio: 217 / 321; }
.indexContents__menuListItem--goods { background: #B4BCC4; }
.indexContents__menuListItem--goods .indexContents__menuListItemCharacter { width: 6.3rem; left: 8.5rem; bottom: 0.5rem; }
.indexContents__menuListItem--goods .indexContents__menuListItemCharacter img { aspect-ratio: 252 / 248; }
.indexContents__menuListItem.disabled { opacity: 0.5; pointer-events: none; }
.indexCredit { padding: 0 0 6.8rem; }
.indexCredit__data { display: flex; flex-direction: column; row-gap: 4.6rem; text-align: center; white-space: nowrap; }
.indexCredit__dataGroup { display: flex; flex-direction: column; align-items: center; row-gap: 1.6rem; }
.indexCredit__dataGroupLabel { display: flex; align-items: center; height: 2.8rem; padding: 0 1.2rem; border-radius: 1.4rem; background: var(--primary-color); color: var(--white-color); font-size: 1.4rem; }
.indexCredit__dataGroupContentText { font-size: 1.6rem; line-height: 2; }
.indexCredit__dataGroupContentText a { text-decoration: underline; }
.indexCredit__dataGroupContentCaption { font-size: 1.4rem; line-height: 1.71; margin: 2rem 0 0; }
.indexCredit__caption { text-align: center; font-size: 1.4rem; line-height: 2.29; }
.indexInquiry__text { margin: 2.5rem 0 0; text-align: center; font-size: 1.6rem; line-height: 2; }

body.isLoaded .top__lantern { transform: none; transition: transform 3s var(--ease) 0s; }
body.isLoaded .top__imageCharacter { opacity: 1; transform: none !important; transition: opacity 1s var(--ease) 1.2s, transform 1s var(--ease) 1.2s; }
body.isLoaded .top__imageCharacter--2 { transition-delay: 1.35s; }
body.isLoaded .top__imageCharacter--3 { transition-delay: 1.5s; }
body.isLoaded .top__imageCharacter--4 { transition-delay: 1.65s; }
body.isLoaded .top__imageCharacter--5 { transition-delay: 1.8s; }
body.isLoaded .top__imageCharacter--6 { transition-delay: 1.95s; }
body.isLoaded .top__imageCharacter--7 { transition-delay: 2.1s; }
body.isLoaded .top__imageCharacter--8 { transition-delay: 2.25s; }
body.isLoaded .top__imageLogo { opacity: 1; transition: opacity 1s var(--ease) 0.5s; }

@media screen and (orientation: landscape) { .top__lantern img { aspect-ratio: 1600 / 323; }
  .top__image { width: 80.22vh; left: 50.5%; top: 8.11%; transform: translate(-50%, 0); }
  .top__expo { left: 5.25%; bottom: 3.78%; }
  .top__expoImage { width: 16.8rem; border-radius: 0.8rem; }
  .top__expoCp { font-size: 1.2rem; }
  .top__expoCredit { font-size: 1.1rem; line-height: 1.64; }
  .top__scroll { display: none; } }
@media screen and (min-width: 768px) { .tickets { right: 5.19%; bottom: 3rem; width: 17.8rem; transition: opacity 0.4s var(--ease) 0s, transform 0.4s var(--ease) 0s; }
  .tickets__mainTextarea { right: 2.5rem; }
  .tickets__mainTextareaText1 { font-size: 2.8rem; height: 3.4rem; }
  .tickets__mainTextareaText2 { font-size: 1.4rem; }
  .tickets__character { position: absolute; }
  .tickets__character--1 { width: 6.3rem; left: -5.4rem; top: -3.2rem; }
  .tickets__character--2 { width: 4.9rem; left: 17rem; top: -3.4rem; }
  .tickets:has(.tickets__main:hover) { transform: scale(0.83); }
  .top { height: calc(calc(var(--vh) * (1 * 100)) - 6rem); }
  .indexBanners .swiper .swiper-wrapper .swiper-slide { width: 26.75%; max-width: 42.8rem; padding: 0 1%; } }
@media screen and (min-width: 768px) and (min-width: 1601px) { .indexBanners .swiper .swiper-wrapper .swiper-slide { padding: 0 1.6rem; } }
@media screen and (min-width: 768px) { .indexNews { margin: -15rem 0 0; background: linear-gradient(225deg, #ad3dc1 0%, #35468c 100%); padding: 20rem 0 8rem; overflow: hidden; position: relative; }
  .indexNews__title { width: 45.13%; margin: 0; position: absolute; left: 2.69%; bottom: -0.63vw; }
  .indexNews__contents { position: relative; width: 53rem; margin: 0 auto; }
  .indexNews__contentsList { row-gap: 1rem; margin: 0; }
  .indexNews__contentsListItemDate { line-height: 1.71; }
  .indexNews__contentsListItemTitle { line-height: 1.71; }
  .indexNews__contentsListItemLink { flex-direction: row; column-gap: 0.8rem; transition: color 0.4s var(--ease) 0s; }
  .indexNews__contentsListItemLink:hover { color: #FFFF62; }
  .indexNews__contentsViewmore { line-height: 1.71; position: absolute; left: calc(100% + 4rem); bottom: 0; white-space: nowrap; }
  .indexNews__contentsViewmoreLink::after { transform: scale(0, 1); transform-origin: left; transition: transform 0.4s var(--ease) 0s; }
  .indexNews__contentsViewmoreLink:hover::after { transform: none; }
  .indexAbout { padding: 8.5rem 0 24rem; }
  .indexAbout__inner { width: 80rem; max-width: 86%; }
  .indexAbout__image { width: 19.9rem; margin: 0 auto 3rem; }
  .indexAbout__titleareaLogo { width: 50rem; margin: 0 auto; }
  .indexAbout .swiper .swiper-wrapper .swiper-slide { width: 142.8rem; }
  .indexAbout .swiper .swiper-wrapper .swiper-slide img { aspect-ratio: 1428 / 126; }
  .indexContents { padding: 24rem 0 12rem; }
  .indexContents__inner { width: 111.3rem; max-width: 92%; }
  .indexContents__title { font-size: 4.8rem; margin: 0 0 3.2rem; }
  .indexContents__menuList { column-gap: 1.44%; row-gap: 1.6rem; }
  .indexContents__menuListItem { border-radius: 1.6rem; width: calc(95.68% / 4); position: relative; transition: transform 0.4s var(--ease) 0s; }
  .indexContents__menuListItem:hover { transform: scale(1.14); z-index: 2; }
  .indexContents__menuListItemLink { border-radius: 1.6rem; }
  .indexContents__menuListItemTextarea { height: 8rem; row-gap: 0.5rem; padding: 0 0 0 2rem; }
  .indexContents__menuListItemTextareaTitle { font-size: 3.2rem; }
  .indexContents__menuListItemTextareaTitlejp { font-size: 1.4rem; }
  .indexContents__menuListItem--access, .indexContents__menuListItem--areamap { width: calc(98.56% / 2); }
  .indexContents__menuListItem--access .indexContents__menuListItemCharacter { width: 24.63%; right: 69.81%; }
  .indexContents__menuListItem--areamap .indexContents__menuListItemCharacter { width: 24.44%; left: 70%; }
  .indexContents__menuListItem--about .indexContents__menuListItemCharacter { width: 35.5%; left: 56.49%; bottom: calc(-2rem + 23.93%); transform: translate(0, 50%); }
  .indexContents__menuListItem--lineup .indexContents__menuListItemCharacter { width: 41.22%; left: 54.58%; bottom: calc(-1.5rem + 16.43%); transform: translate(0, 50%); }
  .indexContents__menuListItem--food { background: #EBC660; }
  .indexContents__menuListItem--food .indexContents__menuListItemCharacter { width: 41.6%; left: 52.29%; bottom: calc(-3.3rem + 28.57%); transform: translate(0, 50%) rotate(8deg); }
  .indexContents__menuListItem--goods { background: #B4BCC4; }
  .indexContents__menuListItem--goods .indexContents__menuListItemCharacter { width: 48.09%; left: 58.4%; bottom: calc(-2rem + 22.14%); transform: translate(0, 50%); }
  .indexContents__menuListItem.disabled { opacity: 1; }
  .indexCredit { padding: 0 0 7.8rem; }
  .indexCredit__dataGroupLabel { height: 3.2rem; padding: 0 2.5rem; border-radius: 1.6rem; font-size: 1.6rem; }
  .indexCredit__dataGroupContentCaption { line-height: 2.29; margin: 3.2rem 0 0; } }
