@charset "utf-8";

:root {
  --main-color: #0092df;
}

body {
  font-family: 'Noto Sans JP', sans-serif;
}

/* ----- common parts ----- */
.hamburgerBtn {
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(239, 79, 121, 0.8);
  border-radius: 7px;
}
.hamburgerBtn span {
  left: 12px;
  width: 24px;
  background-color: #df577a;
}
.hamburgerBtn span:nth-of-type(1) {
  top: 15px;
  rotate: 0turn;
  transition: top 0.3s 0.3s, rotate 0.3s 0s;
}
.hamburgerBtn span:nth-of-type(2) {
  top: 23px;
  opacity: 1;
}
.hamburgerBtn span:nth-of-type(3) {
  top: 31px;
  rotate: 0turn;
  transition: top 0.3s 0.3s, rotate 0.3s 0s;
}
/* is-active */
.hamburgerBtn.is-active span:nth-of-type(1) {
  rotate: 0.125turn;
  transition: top 0.3s 0s, rotate 0.3s 0.3s;
}
.hamburgerBtn.is-active span:nth-of-type(2) {
  opacity: 0;
}
.hamburgerBtn.is-active span:nth-of-type(3) {
  rotate: -0.125turn;
  transition: top 0.3s 0s, rotate 0.3s 0.3s;
}

.ticketBtn {
  background: linear-gradient(180deg, rgba(252, 239, 116, 1) 0%, rgba(255, 157, 201, 1) 100%);
  box-shadow: 0 5px 0 0 rgba(75, 166, 221, 0.8);
  border: 3px solid #fff;
  border-right: none;
}
.ticketBtn img {
  width: 70px;
  aspect-ratio: 100 / 59;
}
@media (hover: hover) {
  .ticketBtn {
    transition: padding-right 0.3s, width 0.3s;
  }
  .ticketBtn:hover {
    width: 200px;
    padding-right: 50px;
  }
}
@media screen and (768px <= width) {
  .ticketBtn img {
    width: 100px;
    aspect-ratio: 100 / 59;
  }
  @media (hover: hover) {
    .ticketBtn:hover {
      width: 230px;
      padding-right: 50px;
    }
  }
}

.nomalBtn {
  padding-inline: 22px;
}
.nomalBtn._event {
  background-color: #f8cbdf;
  border-color: #f8cbdf;
  color: #009cdb;
}
.nomalBtn._ticket {
  background-color: #009cdb;
  border-color: #009cdb;
  color: #f8cbdf;
}
@media (hover: hover) {
  .nomalBtn::before {
    background-color: #fafafa;
  }
  .nomalBtn._event:hover span {
    color: #f8cbdf;
  }
  .nomalBtn._ticket:hover span {
    color: #009cdb;
  }
}

.moreAcBtn {
  border-color: #fb9dc7;
  color: #fb9dc7;
}

.scrollUpBtn {
  background-color: #fb9dc7;
  border: 1px solid #fff;
  border-radius: 7px;
  color: #fff;
}

/* sec common */
.sec-ttl {
  margin-bottom: 10px;
}
.sec-ttlE {
  font-family: 'Kanit', sans-serif;
  font-weight: 400;
  color: #ffdcec;
}

/* ----- header ----- */
.header-menu {
  background-color: #f0abca;
  color: #ffdcec;
}

.header-nav {
  position: relative;
  background: repeating-linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.1),
    rgba(255, 255, 255, 0.1) 15%,
    rgba(49, 167, 229, 0.1) 15%,
    rgba(49, 167, 229, 0.1) 30%
  );
  border-color: #e8e8e8;
}
.header-nav::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #46b0e8;
}
.header-nav ul li._event a h2 img {
  width: calc(197px / 2);
  aspect-ratio: 197 / 50;
}
.header-nav ul li._present a h2 img {
  width: calc(234px / 2);
  aspect-ratio: 234 / 51;
}
.header-nav ul li._guest a h2 img {
  width: calc(161px / 2);
  aspect-ratio: 161 / 53;
}
.header-nav ul li._goods a h2 img {
  width: calc(170px / 2);
  aspect-ratio: 170 / 54;
}
.header-nav ul li._gourmet a h2 img {
  width: calc(391px / 2);
  aspect-ratio: 391 / 56;
}
.header-nav ul li._schedule a h2 img {
  width: calc(373px / 2);
  aspect-ratio: 373 / 56;
}
.header-nav ul li._news a h2 img {
  width: calc(213px / 2);
  aspect-ratio: 213 / 55;
}
.header-nav ul li a p {
  font-family: 'Kanit', sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
}

.header-menu .series {
  position: relative;
  background: repeating-linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.2),
    rgba(255, 255, 255, 0.2) 15%,
    rgba(240, 171, 202, 0.2) 15%,
    rgba(240, 171, 202, 0.2) 30%
  );
}
.header-menu .series::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #f0abca;
}
.header-menu .series h2 {
  font-weight: 800;
  color: #fafafa;
}

@media (hover: hover) {
  .series ul li::before,
  .series ul li::after {
    background-color: var(--main-color);
  }
  .series ul li a::before,
  .series ul li a::after {
    background-color: var(--main-color);
  }
}

@media screen and (768px <= width) {
  .header-nav ul li._event a h2 img {
    width: 197px;
  }
  .header-nav ul li._present a h2 img {
    width: 234px;
  }
  .header-nav ul li._guest a h2 img {
    width: 161px;
  }
  .header-nav ul li._goods a h2 img {
    width: 170px;
  }
  .header-nav ul li._gourmet a h2 img {
    width: 391px;
  }
  .header-nav ul li._schedule a h2 img {
    width: 373px;
  }
  .header-nav ul li._news a h2 img {
    width: 213px;
  }
}

/* ----- mv ----- */
.mv-opening {
  position: relative;
  padding-bottom: 20px;
  background-color: #0092df;
  color: #fff;
}
.mv-openingTtl {
  color: #ffdcec;
}
.mv-heart {
  position: absolute;
  z-index: 1;
  display: block;
  aspect-ratio: 61 / 54;
  width: 20px;
}
.mv-heart._01 {
  top: 2%;
  left: 50%;
  translate: -50% 0;
  width: 30px;
}
.mv-heart._02 {
  top: 5%;
  left: 6%;
  animation: heart 3.5s infinite ease-out;
}
.mv-heart._03 {
  top: 76%;
  left: 6%;
  animation: heart 3.5s -1s infinite ease-out;
}
.mv-heart._04 {
  top: 14%;
  left: 90%;
  animation: heart 3.5s -2s infinite ease-out;
}
.mv-heart._05 {
  top: 80%;
  left: 89%;
  animation: heart 3.5s -3s infinite ease-out;
}
@keyframes heart {
  0% {
    translate: 0 0;
    scale: 1;
  }
  25% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  100% {
    translate: 0 -20px;
    scale: 1.4;
    opacity: 0;
  }
}

@media screen and (768px <= width) {
  .mv-opening {
    padding-bottom: 40px;
  }
  .mv-heart._01 {
    top: 5%;
  }
}

/* 2025 btn */
.nextyear {
  padding: 0 10.666666666666668vw 50px;
  background-color: #0092df;
}
.nextyear a {
  margin: 0 auto;
  display: block;
  width: calc(508px / 2);
  transition: filter 0.2s;
}
@media (hover: hover) {
  .nextyear a:hover {
    filter: brightness(0.8);
  }
}
@media screen and (min-width: 768px) {
  .nextyear {
    padding: 0 30px 50px;
  }
  .nextyear a {
    width: calc(508px / 1.3);
  }
}

/* event */
.event {
  position: relative;
  background: repeating-linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.1),
    rgba(255, 255, 255, 0.1) 15%,
    rgba(49, 167, 229, 0.1) 15%,
    rgba(49, 167, 229, 0.1) 30%
  );
  color: #fff;
}
.event::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--main-color);
}
.event .sec-ttl {
  width: calc(287px / 2);
}
.event .sec-ttl img {
  aspect-ratio: 287 / 75;
}
.eventCard + .eventCard {
  border-color: #fff;
}
.eventCard figure img._aspect2 {
  aspect-ratio: 800 / 564;
}
.eventCard figure img._aspect3 {
  aspect-ratio: 800 / 534;
}
.eventCard-date {
  background-color: #fff;
}
.eventCard-date span:first-child {
  background-color: #fb9dc7;
}
.eventCard-date span:last-child {
  color: #fb9dc7;
}
.eventCard-contents .detailBtn {
  color: #f7dae8;
}

@media screen and (768px <= width) {
  .event .sec-ttl {
    margin-inline: auto;
    width: 287px;
  }
}

/* present */
.present {
  background: linear-gradient(180deg, rgba(0, 180, 240, 1) 0%, rgba(242, 133, 164, 1) 100%);
  color: #fff;
}
.present .sec-ttl {
  width: calc(375px / 2);
}
.present .sec-ttl img {
  aspect-ratio: 375 / 75;
}
.presentCard-targetBorder {
  background: linear-gradient(292deg, var(--sub-color) 0%, var(--accent-color) 100%);
}
._photobook .presentCard-targetBorder {
  top: 110px;
}
.presentCard-target {
  background-color: #fff;
}
.presentCard-target p span {
  font-family: 'Roboto', sans-serif;
  font-size: 1.4rem;
  color: #009cdb;
}
.presentCard-target ._all {
  translate: 0 3px;
}

@media screen and (768px <= width) {
  .present .sec-ttl {
    margin-inline: auto;
    width: 375px;
  }

  .present-list {
    justify-content: start;
  }
}

/* present2 */
.present2 {
  background-color: #0092df;
}
.present2 .sec-ttl {
  width: calc(523px / 2);
}
.present2 .sec-ttl img {
  aspect-ratio: 523 / 98;
}
.swiper-photo {
  border-radius: 15px;
  overflow: hidden;
}
.present2-movie {
  margin-top: 30px;
}
.present2-movie iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
@media screen and (768px <= width) {
  .present2 .sec-ttl {
    margin-inline: auto;
    width: 523px;
  }
  .present2-movie {
    margin-top: 60px;
  }
}

/* guest */
.guest {
  position: relative;
  background: repeating-linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.1),
    rgba(255, 255, 255, 0.1) 15%,
    rgba(49, 167, 229, 0.1) 15%,
    rgba(49, 167, 229, 0.1) 30%
  );
  color: #fff;
}
.guest::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--main-color);
}
.guest .sec-ttl {
  width: calc(244px / 2);
}
.guest .sec-ttl img {
  aspect-ratio: 244 / 78;
}
.guestCard figure {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.guestCard figure img {
  aspect-ratio: 16 / 9;
}
.guestCard figure img._sizeA {
  margin: auto;
  width: 60%;
  max-width: 350px;
  aspect-ratio: 2 / 3;
}
.guestCard-date {
  background-color: #fff;
}
.guestCard-date span:first-child {
  background-color: #fb9dc7;
}
.guestCard-date span:last-child {
  color: #fb9dc7;
}
.guestCard .detailBtn {
  color: #ffdcec;
}

@media screen and (768px <= width) {
  .guest .sec-ttl {
    margin-inline: auto;
    width: 244px;
  }
}

/* goods */
.goods {
  background: linear-gradient(180deg, rgba(0, 180, 240, 1) 0%, rgba(242, 133, 164, 1) 100%);
  color: #010101;
}
.goods .sec-ttl {
  width: calc(244px / 2);
}
.goods .sec-ttl img {
  aspect-ratio: 244 / 78;
}
.goods-bnr {
  margin-inline: auto;
  display: block;
  max-width: 800px;
}
@media (hover: hover) {
  .goods-bnr:hover {
    opacity: 0.8;
  }
}
.goods .moreBtn {
  top: 8px;
  color: #fff;
}
.goodsCard img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

@media (hover: hover) {
  .goodsCard {
    position: relative;
    cursor: pointer;
  }
  .goodsCard::before,
  .goodsCard::after {
    position: absolute;
    display: block;
    width: 20px;
    height: auto;
    aspect-ratio: 61 / 54;
    background: center/contain no-repeat url(img/heart.webp);
  }
  .goodsCard::before {
    top: 22px;
    left: 2px;
  }
  .goodsCard::after {
    bottom: 2px;
    right: 2px;
  }
  .goodsCard:hover:before,
  .goodsCard:hover:after {
    content: '';
  }
  .goodsCard::before {
    animation: heart 3.5s 0s infinite ease-out;
  }
  .goodsCard::after {
    animation: heart 3.5s -2s infinite ease-out;
  }
}

@media screen and (768px <= width) {
  .goods .sec-ttl {
    width: 244px;
  }
  .goods .moreBtn {
    top: 38px;
  }
}

/* gourmet */
.gourmet {
  position: relative;
  background: repeating-linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.1),
    rgba(255, 255, 255, 0.1) 15%,
    rgba(49, 167, 229, 0.1) 15%,
    rgba(49, 167, 229, 0.1) 30%
  );
  color: #fff;
}
.gourmet::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--main-color);
}
.gourmet .sec-ttl {
  width: calc(493px / 2);
}
.gourmet .sec-ttl img {
  aspect-ratio: 493 / 90;
}
.gourmet .moreBtn {
  top: 20px;
}

@media screen and (768px <= width) {
  .gourmet .sec-ttl {
    width: 493px;
  }
  .gourmet .moreBtn {
    top: 40px;
  }
}

/* schedule */
.schedule {
  background: top/cover no-repeat url(img/schedule_bg.webp);
  color: #010101;
}
.schedule .sec-ttl {
  width: calc(556px / 2);
}
.schedule .sec-ttl img {
  aspect-ratio: 556 / 81;
}
.schedule .sec-ttlE {
  color: #fff4f9;
}
@media screen and (768px <= width) {
  .schedule {
    background-image: url(img/schedule_bg-l.webp);
  }
  .schedule .sec-ttl {
    margin-inline: auto;
    width: 373px;
  }
}

/* news */
.news {
  background-color: #fafafa;
}
.news .sec-ttl {
  width: calc(327px / 2);
}
.news .sec-ttl img {
  aspect-ratio: 327 / 84;
}
.news .sec-ttlE {
  color: #fb9dc7;
}
@media (hover: hover) {
  .newsCard-ttl:after {
    background-color: #fb9dc7;
  }
}
@media screen and (768px <= width) {
  .news .sec-ttl {
    width: 327px;
  }
  .news {
    background-color: #f1f1f1;
  }
  .news-list {
    background-color: #fff;
  }
}

/* sponsor */
.sponsor {
  background-color: #edf8ff;
}
.sponsor h2 {
  margin-bottom: 30px;
  width: calc(552px / 2);
}
.sponsor h2 img {
  aspect-ratio: 552 / 86;
}

.sponsor-list {
  gap: 15px;
}

@media screen and (768px <= width) {
  .sponsor h2 {
    margin-bottom: 50px;
    width: 552px;
  }
}

/* series _foot */
.series._foot {
  position: relative;
  background: repeating-linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.2),
    rgba(255, 255, 255, 0.2) 15%,
    rgba(240, 171, 202, 0.2) 15%,
    rgba(240, 171, 202, 0.2) 30%
  );
  color: #fafafa;
}
.series._foot::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #f0abca;
}

/* footer */
.footer {
  background-color: #0092df;
}
.footer-copyright {
  color: #fff;
}
