/* TOP sections. All sizes follow the PC comp; SP is provisional. */
.f-section { position: relative; }
.f-title { font: 900 10rem/1.1 var(--f-font-heading); margin-bottom: 3rem; }
.f-subtitle { font-size: 4rem; color: var(--f-color-red); line-height: 1.4; border-bottom: 1px solid var(--f-color-red); }
.f-hero { position: relative; background: var(--f-color-pink) url("../images/index/hero_bg.png") center top / 192rem auto no-repeat; padding: 8rem 0 20rem; overflow: hidden; }
.f-hero .swiper { overflow: visible; }
.f-hero .swiper-slide { width: 96rem; }
.f-hero .swiper-slide picture { display: block; }
.f-hero .swiper-slide img { display: block; width: 100%; height: auto; }
.f-hero__prev, .f-hero__next { position: absolute; top: 38rem; z-index: 5; width: 5rem; height: 6rem; }
.f-hero__prev { left: calc(50% - 56rem); }
.f-hero__next { right: calc(50% - 56rem); }
.f-hero__prev img, .f-hero__next img { width: 1.5rem; }
.f-hero__pagination { position: absolute; top: 76rem; left: 0; right: 0; display: flex; justify-content: center; gap: 2rem; }
.f-hero .swiper-pagination-bullet { width: 3rem; height: .6rem; border-radius: 1rem; margin: 0 !important; background: var(--f-color-white); opacity: .45; }
.f-hero .swiper-pagination-bullet-active { opacity: 1; }
.f-hero__pause { position: absolute; top: 74.6rem; left: calc(50% + 26rem); z-index: 5; color: var(--f-color-white); font-size: 1.8rem !important; width: 3.6rem; height: 3.6rem; }
.f-news { background: var(--f-color-pink); color: var(--f-color-white); padding: 0 0 8rem; }
.f-heading-row { display: flex; align-items: baseline; justify-content: space-between; }
.fukuoka .f-readmore { color: #ffff00; font-size: 1.8rem; font-weight: 900; text-decoration: none; }
.f-news__list li { display: grid; grid-template-columns: 10rem 12rem 1fr; gap: 1rem; min-height: 6rem; padding: 1.5rem 0; border-bottom: 1px solid #ffffffb3; font-size: 1.8rem; line-height: 1.6; }
.fukuoka .f-news__list a { color: var(--f-color-white); }
.f-artists { background: var(--f-color-white); padding: 12rem 0 15rem; color: var(--f-color-red); }
.f-artists::before, .f-timetable::before, .f-tickets::before, .f-goods-movie::before, .f-liveinfo::before { content: ""; position: absolute; top: -6rem; height: 6.1rem; left: 0; right: 0; background-color: inherit; mask: url("../images/common/wave.svg") center top / 100% 100% no-repeat; pointer-events: none; }
.f-artists__group + .f-artists__group { margin-top: 8rem; }
.f-day { margin-bottom: 4rem; }
.f-day img { width: 34rem; }
.anisamaband img{width: 100rem !important;}
.f-artists__group:last-child .f-day img { width: 34rem; }
.f-artist-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 2rem 1.8rem; }
.f-artist-grid img { width: 100%; display: block; border-radius: var(--f-radius); }
.fukuoka .f-artist-grid button { width: 100%; display: block; border-radius: var(--f-radius); transition: opacity .3s; }
.f-artist-grid button:hover { opacity: .75; }
.f-andmore { display: flex; align-items: center; justify-content: center; border: 1px solid currentColor; border-radius: var(--f-radius); font-size: 2.2rem; font-weight: 700; aspect-ratio: 200/247; }
.f-andmore--0313 { color: var(--f-day1); }
.f-andmore--0314 { color: var(--f-day2); }
.f-timetable { background: var(--f-color-pink) url("../images/timetable/timetable-lines.svg") center top / 192rem auto no-repeat; color: var(--f-color-white); padding: 12rem 0 16rem; }
.f-two-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4rem; }
.f-two-columns img { display: block; width: 100%; }
.f-tickets { background: var(--f-color-yellow) url("../images/tickets/tickets_bg.png") center top / 192rem auto no-repeat; color: var(--f-color-red); padding: 12rem 0 17rem; }
.fukuoka .f-tickets .f-readmore { color: var(--f-color-red); }
.f-ticket-banners { display: grid; gap: 2rem; }
.f-ticket-banners a { position: relative; display: block; border-radius: 3rem; overflow: hidden; }
.f-ticket-banners img { display: block; width: 100%; }
.f-ticket-banners span { position: absolute; right: 4rem; top: 50%; transform: translateY(-50%); color: var(--f-color-white); font-size: 5rem; }
.f-tickets .f-subtitle { margin-block-start: 4rem; }
.f-seat { position: relative; width: 71rem; max-width: 100%; margin: 2rem auto 0; }
.f-seat img { width: 100%; display: block; }
.f-prices { color: var(--f-color-text); }
.f-price { display: grid; grid-template-columns: 1fr 38rem; gap: 2rem; margin: 1.6rem 0; font-size: 2.8rem; font-weight: 700; line-height: 1.4; }
.f-price small { display: block; font-size: 2rem; margin-top: .6rem; }
.f-price__diamond--0 { color: #39519e; }
.f-price__diamond--1 { color: #3289c7; }
.f-price__diamond--2 { color: #3aafc8; }
.f-price__diamond--3 { color: #f091a6; }
.f-price__diamond--4 { color: #ffd36b; }
.f-price__diamond--5 { color: #f4a034; }
.f-price__diamond--6 { color: #df6a71; }
.f-price__diamond--7 { color: #ca6218; }
.f-price__diamond--8 { color: #b83d3e; }
.f-price__diamond--9 { color: #bf1833; }
.f-price__diamond--10 { color: #9acc80; }
.f-price__diamond--student { color: #FFD36B; }
.f-price__diamond--11 { color: #9acc80; }
.f-price dd { padding-top: .2rem; }
.f-seat-details { display: grid; gap: 4rem; margin-block-start: 4rem; }
.f-seat-detail { --f-seat-color: oklch(72.7% 0.126 12.3); }
.f-seat-detail--relaxed { --f-seat-color: oklch(69% .17 17); }
.f-seat-detail--sofa { --f-seat-color: oklch(62% .16 56); }
.f-seat-detail--counter { --f-seat-color: oklch(53% .17 25); }
.f-seat-detail--box { --f-seat-color: oklch(52% .21 16); }
.f-seat-detail__title {
  margin-block-end: 3rem;
  padding-inline: 1.6rem;
  border-radius: .8rem;
  background: var(--f-seat-color);
  color: var(--f-color-white);
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
}
.f-seat-detail__photos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 26rem), 32rem));
  gap: 2rem;
}
.f-seat-detail__photos img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 1.6rem;
}
.f-seat-detail__note { margin-block-start: 1.2rem; color: var(--f-color-text); font-size: 1.8rem; }
.f-goods-movie { background: var(--f-color-pink) url("../images/goods/goods_movie_bg.jpg") center top / 192rem auto no-repeat; color: var(--f-color-white); padding: 12rem 0 18rem; }
.f-goods-card { position: relative; display: block; border-radius: var(--f-radius); overflow: hidden; }
.f-goods-coming {
  display: grid;
  place-items: center;
  min-block-size: 46rem;
  color: var(--f-color-yellow);
  font: 900 clamp(28px, 4.2vw, 8rem)/1.2 var(--f-font-heading);
  text-align: center;
}
.f-movie { margin-top: 14rem; }
.f-anthem { margin-top: 14rem; }
.f-anthem-title { color: var(--f-color-yellow);
    font: 900 11rem / 1.1 var(--f-font-heading);
    margin-bottom: 2rem; }
.f-embed-slot { width: 100%; background: #fff3; }
.f-embed-slot iframe { width: 100%; height: 100%; border: 0; display: block; }
.f-embed-slot--movie { aspect-ratio: 16/9; }
.f-liveinfo { padding: 12rem 0 15rem; background: var(--f-color-white); }
.fukuoka-top .f-footer { margin-block-start: 0; }
.f-liveinfo .f-title { color: var(--f-color-red); font-size: 8rem; margin-bottom: 6rem; }
.f-liveinfo__intro { font-size: 2.8rem; line-height: 1.5; }
.f-liveinfo__intro p { line-height: 1.5; }
.f-liveinfo__intro p + p { margin-top: 4rem; }
.f-liveinfo__logo { text-align: center; margin: 5rem 0; }
.f-liveinfo__logo img { width: 36rem; }
.f-liveinfo__intro + .f-subtitle { margin-top: 8rem; }
.f-overview { width: 100%; font-size: 1.8rem; line-height: 1.6; }
.f-overview th, .f-overview td { border-bottom: 1px solid var(--f-color-red); padding: 1.5rem 0; vertical-align: top; }
.f-overview th { width: 14rem; font-weight: 700; }
.f-overview td { overflow-wrap: anywhere; }
.f-access-title { margin-top: 8rem; margin-bottom: 2.4rem; }
.f-embed-slot--map {
  inline-size: min(1280px, calc(100vw - 80px));
  block-size: 480px;
  scroll-margin-block-start: 80px;
  aspect-ratio: auto;
  margin-inline-start: 50%;
  translate: -50% 0;
  background: var(--f-color-sponsor);
}
.f-access-note { font-size: 1.8rem; margin-top: 2rem; font-weight: 700; }
@media (max-width: 768px) {
  .f-title { font-size: 44px; margin-bottom: 22px; }
  .f-subtitle { font-size: 23px; }
  .f-hero { padding: 32px 0 65px; background-size: auto 100%; }
  .f-hero .swiper-slide { width: calc(100vw - 72px); }
  .f-hero__prev, .f-hero__next { top: calc((100vw - 72px) * .75 + 10px); width: 30px; height: 44px; }
  .f-hero__prev { left: 3px; } .f-hero__next { right: 3px; }
  .f-hero__prev img, .f-hero__next img { width: 10px; }
  .f-hero__pagination { top: auto; bottom: 35px; gap: 9px; }
  .f-hero .swiper-pagination-bullet { width: 18px; height: 4px; }
  .f-hero__pause { top: auto; bottom: 20px; left: auto; right: 8px; width: 30px; height: 36px; }
  .f-news { padding-bottom: 70px; }
  .fukuoka .f-readmore { font-size: 12px; }
  .f-news__list li { grid-template-columns: auto 1fr; gap: 5px 12px; font-size: 13px; padding: 12px 0; }
  .f-news__list a { grid-column: 1/-1; font-size: 14px; }
  .f-artists, .f-timetable, .f-tickets, .f-goods-movie, .f-liveinfo { padding: 60px 0 85px; }
  .f-artists::before, .f-timetable::before, .f-tickets::before, .f-goods-movie::before, .f-liveinfo::before { top: -22px; height: 23px; }
  .f-artists__group + .f-artists__group { margin-top: 40px; }
  .f-day { margin-bottom: 20px; }
  .f-day img { width: 170px; }
  .anisamaband img{ width: 355px !important;}
  .f-artists__group:last-child .f-day img { width: min(100%, 170px); }
  .f-artist-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .f-artist-grid img, .fukuoka .f-artist-grid button, .f-andmore { border-radius: 10px; }
  .f-andmore { font-size: 16px; }
  .f-two-columns { grid-template-columns: 1fr; gap: 26px; }
  .f-timetable, .f-goods-movie { background-size: auto 100%; }
  .f-tickets { background-size: auto 100%; }
  .f-ticket-banners { gap: 14px; }
  .f-ticket-banners a { border-radius: 12px; }
  .f-ticket-banners span { right: 12px; font-size: 25px; }
  .f-tickets .f-subtitle { margin-top: 36px; }
  .f-seat { width: 100%; margin-top: 16px; }
  .f-price { grid-template-columns: 1fr; gap: 6px; font-size: 19px; margin: 20px 0; }
  .f-price small { font-size: 14px; margin-top: 4px; }
  .f-price dd { font-size: 18px; text-align: right; }
  .f-seat-details { gap: 28px; margin-block-start: 32px; }
  .f-seat-detail__title { margin-block-end: 16px; padding-inline: 10px; font-size: 20px; }
  .f-seat-detail__photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .f-seat-detail__photos img { border-radius: 10px; }
  .f-seat-detail__note { font-size: 13px; }
  .f-goods-coming { min-block-size: 200px; }
  .f-movie { margin-top: 60px; }
  .f-anthem { margin-top: 60px; }
  .f-anthem-title { margin-bottom: 10px; font-size: 48px; }
  .f-anthem p { font-size: 14px; }
  .f-liveinfo .f-title { font-size: 40px; margin-bottom: 32px; }
  .f-liveinfo__intro { font-size: 16px; }
  .f-liveinfo__intro p + p { margin-top: 24px; }
  .f-liveinfo__logo { margin: 32px 0; }
  .f-liveinfo__logo img { width: 220px; }
  .f-liveinfo__intro + .f-subtitle { margin-top: 44px; }
  .f-overview { font-size: 13px; }
  .f-overview th, .f-overview td { padding: 12px 0; }
  .f-overview th { width: 60px; padding-right: 10px; }
  .f-access-title { margin-top: 40px; margin-bottom: 16px; }
  .f-embed-slot--map {
    inline-size: min(750px, 100%);
    margin-inline: auto;
    translate: none;
  }
  .f-access-note { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .fukuoka *, .fukuoka *::before, .fukuoka *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

