@charset "UTF-8";
/* --------------------------------------------------
Contents
-------------------------------------------------- */
.hero {
  position: sticky;
  left: 0;
  top: 0;
  z-index: 1;
}
.hero__visualMedia img {
  height: 100svh;
  object-fit: cover;
}
.hero__heading {
  position: absolute;
  inset-inline: 0;
  top: 11.02%;
}
.hero__headingMark {
  width: min(50.26%, 23.22vh);
  margin-block: 0 min(0.51%, 0.24vh);
  margin-inline: auto;
}
.hero__headingMark #type-path {
  stroke-dasharray: 1750;
  stroke-dashoffset: 1750;
}
body.is-loaded .hero__headingMark #type-path {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 1s linear 1s;
}
.hero__headingMark #mark-path {
  stroke-dasharray: 7110;
  stroke-dashoffset: 7110;
}
body.is-loaded .hero__headingMark #mark-path {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 2s linear 2.5s;
}
.hero__headingTitle {
  margin-block: 0 min(5.13%, 2.37vh);
  font-size: min(5.13vw, 2.37vh);
  line-height: 1.45;
  text-align: center;
  opacity: 0;
}
body.is-loaded .hero__headingTitle {
  opacity: 1;
  transition: opacity 1.2s var(--easeinout) 5s;
}
.hero__headingLives {
  display: grid;
  justify-items: center;
  gap: min(4.62vw, 2.13vh);
  opacity: 0;
}
body.is-loaded .hero__headingLives {
  opacity: 1;
  transition: opacity 1.2s var(--easeinout) 5s;
}
.hero__headingLivesItem {
  position: relative;
  text-align: center;
}
.hero__headingLivesItem img {
  width: auto;
  height: min(13.33vw, 6.16vh);
}
.hero__headingLivesItemNote {
  position: absolute;
  top: min(-1.28vw, -0.59vh);
  font-size: min(2.56vw, 1.18vh);
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.hero__headingLivesItemNote--home {
  left: 67.94%;
}
.hero__headingLivesItemNote--all {
  left: 71.71%;
}

.stage {
  position: relative;
  background: var(--bg-color);
  z-index: 2;
}

.overview {
  padding-block: 8rem;
  padding-inline: var(--contents-pd);
}
.overview__title {
  margin-block: 0 8rem;
  font-size: 2.3rem;
  line-height: 1.33;
  letter-spacing: 0.06em;
  text-align: center;
}
.overview__title img {
  width: 2.5rem;
  vertical-align: sub;
}
.overview__contentLivesGrid {
  display: grid;
  gap: 8rem;
}
.overviewLive {
  display: grid;
  gap: 2.4rem;
}
.overviewLive__heading {
  text-align: center;
}
.overviewLive__headingEn {
  width: fit-content;
  margin-block: 0 1rem;
  margin-inline: auto;
}
.overviewLive__headingEn img {
  display: block;
  width: auto;
  height: 2.8rem;
  transform: rotate(-6deg);
}
.overviewLive__headingEn--kagoshima img {
  aspect-ratio: 25/6;
}
.overviewLive__headingEn--kanagawa img {
  aspect-ratio: 500/129;
}
.overviewLive__headingMeta {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.5rem;
}
.overviewLive__headingMetaLead {
  font-size: 1.4rem;
  letter-spacing: 0.06em;
}
.overviewLive__headingMetaType {
  font-size: 2.7rem;
  letter-spacing: 0.06em;
}
.overviewLive__headingTagline {
  font-size: 1.5rem;
  line-height: 1.4;
}
.overviewLive__headingTitle {
  width: fit-content;
  margin-inline: auto;
}
.overviewLive__headingTitle img {
  width: auto;
  height: min(12.5vw, 4.4rem);
}
.overviewLive__information {
  display: grid;
  gap: 2.4rem;
  justify-items: center;
  padding-block: 3rem;
  border: solid 0.2rem;
  border-radius: 3.2rem;
}
.overviewLive__informationItem {
  width: min(96%, 28rem);
}
.overviewLive__informationItemSchedule {
  margin-block: 0 1.6rem;
}
.overviewLive__informationItemScheduleDate {
  display: flex;
  align-items: baseline;
  font-size: 3.2rem;
  margin-block: 0 0.6rem;
}
.overviewLive__informationItemScheduleDateIcon {
  display: grid;
  place-items: center;
  width: 2rem;
  aspect-ratio: 1;
  font-size: 1.2rem;
  border-radius: 50%;
}
.overviewLive__informationItemScheduleDateIcon--week {
  background: var(--primary-color);
  color: var(--white-color);
}
.overviewLive__informationItemScheduleDateIcon--holiday {
  border: 0.1rem solid;
}
.overviewLive__informationItemScheduleTime {
  font-size: 1.1rem;
  line-height: 1.45;
  letter-spacing: 0.04em;
}
.overviewLive__informationItemPlace {
  padding-block: 1.6rem 0;
  border-top: 0.1rem solid;
}
.overviewLive__informationItemPlaceLocation {
  font-size: 2rem;
  margin-block: 0 0.8rem;
}
.overviewLive__informationItemPlaceLocationSub {
  font-size: 1.2rem;
  margin-inline: 0.35rem 0;
}
.overviewLive__informationItemPlaceVenue {
  font-size: 2rem;
}
.overviewLive__informationItemPlaceVenueSub {
  font-size: 1.4rem;
  margin-inline: -0.5em 0;
}
.overviewLive__note {
  display: grid;
  grid-template-columns: 2.4rem 1fr;
  align-items: center;
  gap: 0.8rem;
  margin-inline: calc((100% - 29rem) / 2) 0;
}
.overviewLive__noteIcon img {
  aspect-ratio: 1;
}
.overviewLive__noteValueText {
  font-size: 1.2rem;
  line-height: 1.33;
}

.ticket {
  padding-block: 8rem 0;
  padding-inline: var(--contents-pd);
  border-top: 0.1rem dotted;
}
.ticket__title {
  margin-block: 0 4rem;
  font-size: 5rem;
  text-align: center;
}
.ticket__contentLives {
  display: grid;
  gap: 8rem;
  margin-block: 0 8rem;
}
.ticket__contentNote {
  display: grid;
  gap: 4rem;
}
.ticket__contentNoteItem {
  display: grid;
  gap: 2.4rem;
  text-align: center;
}
.ticket__contentNoteItemPeriod {
  font-size: 1.6rem;
  letter-spacing: 0.06em;
}
.ticket__contentNoteItemPeriodLabel {
  margin-block: 0 2.4rem;
}
.ticket__contentNoteItemBtn {
  width: min(100%, 32rem);
  margin-inline: auto;
  font-size: 1.6rem;
  letter-spacing: 0.06em;
}
.ticket__contentNoteItemBtnLink {
  height: 4.8rem;
}
.ticket__contentNoteItemCaption {
  padding-inline: 4.17%;
  font-size: 1.1rem;
  line-height: 1.82;
  letter-spacing: 0.06em;
  text-align: left;
}
.ticket__contentNoteItemCaptionItem {
  position: relative;
  padding-inline: 1.5em 0;
}
.ticket__contentNoteItemCaptionItem::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.ticket__contentNoteItem--ended {
  position: relative;
}
.ticket__contentNoteItem--ended::after {
  display: block;
  content: "受付終了";
  position: absolute;
  inset-inline: 0;
  top: 6.5rem;
  color: #FFD1DC;
  font-size: 7.6rem;
  letter-spacing: 0.06em;
  text-align: center;
  mix-blend-mode: multiply;
}
.ticketLive {
  display: grid;
  gap: 4rem;
}
.ticketLive__heading {
  text-align: center;
}
.ticketLive__headingMeta {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.5rem;
}
.ticketLive__headingMetaLead {
  font-size: 1.4rem;
  letter-spacing: 0.06em;
}
.ticketLive__headingMetaType {
  font-size: 2.7rem;
  letter-spacing: 0.06em;
}
.ticketLive__headingTagline {
  font-size: 1.5rem;
  line-height: 1.4;
}
.ticketLive__headingTitle {
  width: fit-content;
  margin-inline: auto;
}
.ticketLive__headingTitle img {
  width: auto;
  height: min(12.5vw, 4.4rem);
}
.ticketLive__ticketsList {
  display: grid;
  gap: 2.4rem;
  margin-block: 0 1.2rem;
}
.ticketLive__ticketsListItem .frame {
  border: 0.1rem solid #707070;
}
.ticketLive__ticketsListItemType {
  margin-block: 0 1.2rem;
  text-align: center;
}
.ticketLive__ticketsListItemTypeText {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
.ticketLive__ticketsListItemSeatsItemLabel {
  display: grid;
  place-items: center;
  height: 4rem;
  font-size: 1.5rem;
  border-block: 0.1rem solid #707070;
}
.ticketLive__ticketsListItemSeatsItem:first-child .ticketLive__ticketsListItemSeatsItemLabel {
  border-top: none;
}
.ticketLive__ticketsCaption {
  font-size: 1.1rem;
  text-align: right;
}
.ticketLive__akarenga {
  width: min(100%, 32rem);
  margin-inline: auto;
}
.ticketLive__akarengaTitle {
  margin-block: 0 4rem;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-align: center;
}
.ticketLive__akarengaLead {
  margin-block: 0 4rem;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-align: center;
}
.ticketLive__akarengaType {
  display: grid;
  gap: 4rem;
  margin-block: 0 4rem;
}
.ticketLive__akarengaTypeItemLabel {
  margin-block: 0 1.2rem;
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  text-align: center;
}
.ticketLive__akarengaTypeItemText {
  padding-inline: 3.6rem;
  border-inline: solid 0.4rem #EA8E9A;
  font-size: 1.3rem;
  line-height: 1.54;
  letter-spacing: 0.06em;
  text-align: justify;
}
.ticketLive__akarengaNote {
  font-size: 1.1rem;
  line-height: 1.82;
  letter-spacing: 0.06em;
}
.ticketLive__noteCaption {
  font-size: 1.1rem;
  line-height: 1.82;
  letter-spacing: 0.06em;
}
.ticketLive__noteCaptionItem {
  position: relative;
  padding-inline: 1.5em 0;
}
.ticketLive__noteCaptionItem::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.ticketLive__seatsTitle {
  margin-block: 0 1.2rem;
  font-size: 2rem;
  letter-spacing: 0.06em;
  text-align: center;
}
.ticketLive__seatsFigureMedia img {
  aspect-ratio: 145/98;
}
.ticketLivePrices {
  font-size: 1.4rem;
}
.ticketLivePrices__price {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.ticketLivePrices__priceLabel, .ticketLivePrices__priceValue {
  display: grid;
  place-items: center;
  height: 4rem;
}
.ticketLivePrices__priceLabel {
  border-right: 0.1rem dotted;
}
.ticketLivePrices__priceLabelText {
  min-width: 10rem;
}
.ticketLivePrices__priceValueText {
  min-width: 7rem;
  text-align: right;
}
.ticketLivePrices__price:not(:last-child) {
  border-bottom: 0.1rem solid #707070;
}

@media screen and (orientation: landscape) {
  .hero__heading {
    left: min(17.08%, 30.37vh);
    right: auto;
    top: 15.78%;
    width: min(29.79%, 52.96vh);
  }
  .hero__headingMark {
    width: 56.88%;
    margin-block: 0 3.03%;
  }
  .hero__headingTitle {
    margin-block: 0 4.43%;
    font-size: min(1.81vw, 3.21vh);
    line-height: 1.42;
  }
  .hero__headingLives {
    gap: min(1.11vw, 1.98vh);
  }
  .hero__headingLivesItem img {
    height: min(4.44vw, 7.9vh);
  }
  .hero__headingLivesItemNote {
    top: min(-0.35vw, -0.62vh);
    font-size: min(0.76vw, 1.36vh);
  }
  .hero__headingLivesItemNote--home {
    left: 70.16%;
  }
  .hero__headingLivesItemNote--all {
    left: 74.22%;
  }
}
@media screen and (min-width: 768px) {
  .overview__title {
    font-size: 4rem;
    line-height: 1.6;
  }
  .overview__title img {
    width: 4.2rem;
  }
  .overview__contentLivesGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.85%;
    width: min(96%, 104rem);
    margin-inline: auto;
  }
  .overviewLive__headingMeta {
    display: block;
    margin-block: 0 1.2rem;
  }
  .overviewLive__headingMetaLead {
    font-size: 1.6rem;
    margin-block: 0 0.8rem;
  }
  .overviewLive__headingMetaType {
    font-size: 3.2rem;
  }
  .overviewLive__headingTagline {
    font-size: 1.8rem;
    line-height: 1.44;
  }
  .overviewLive__headingTitle img {
    height: 6.4rem;
  }
  .overviewLive__information {
    gap: 1.7rem;
    padding-block: 2.8rem;
  }
  .overviewLive__informationItem {
    width: min(96%, 43.5rem);
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }
  .overviewLive__informationItemSchedule {
    margin-block: 0;
    white-space: nowrap;
  }
  .overviewLive__informationItemPlace {
    padding-block: 0;
    padding-inline: 1rem 0;
    border-top: none;
    border-left: 0.1rem solid;
    white-space: nowrap;
  }
  .overviewLive__note {
    display: flex;
    gap: 0.8rem;
    justify-content: center;
    margin-inline: 0;
  }
  .overviewLive__noteIcon {
    width: 2.4rem;
  }
  .ticket__contentLives {
    gap: 10.8rem;
  }
  .ticket__contentNote {
    gap: 5.8rem;
  }
  .ticket__contentNoteItemCaption {
    width: fit-content;
    margin-inline: auto;
    padding-inline: 0;
  }
  .ticket__contentNoteItem--ended::after {
    top: 6.5rem;
    font-size: 6rem;
  }
  .ticketLive__headingTitle img {
    height: 6.4rem;
  }
  .ticketLive__tickets {
    width: min(92%, 80rem);
    margin-inline: auto;
    margin-block: 0 4rem;
  }
  .ticketLive__ticketsList {
    gap: 0;
    border: 0.2rem solid;
  }
  .ticketLive__ticketsListItem {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .ticketLive__ticketsListItem .frame {
    border: none;
  }
  .ticketLive__ticketsListItemType {
    display: grid;
    place-items: center;
    margin-block: 0;
    text-align: left;
    border-right: 0.1rem solid;
  }
  .ticketLive__ticketsListItemTypeText {
    min-width: 31.5rem;
    font-size: 1.4rem;
  }
  .ticketLive__ticketsListItemSeats {
    display: grid;
    grid-template-columns: calc(16rem + (100% - 16rem) / 2) 1fr;
  }
  .ticketLive__ticketsListItemSeatsItem {
    position: relative;
  }
  .ticketLive__ticketsListItemSeatsItemLabel {
    display: block;
    position: absolute;
    right: 0;
    bottom: calc(100% + 0.7rem);
    width: calc(100% - 16rem);
    height: auto;
    margin-inline: auto;
    font-size: 1.1rem;
    text-align: center;
    border-block: none;
  }
  .ticketLive__ticketsListItem:not(:first-child) .ticketLive__ticketsListItemSeatsItemLabel {
    display: none;
  }
  .ticketLive__ticketsListItemSeatsItem:not(:first-child) .ticketLive__ticketsListItemSeatsItemLabel {
    width: 100%;
  }
  .ticketLive__ticketsListItem:not(:last-child) {
    border-bottom: 0.1rem solid;
  }
  .ticketLive__akarenga {
    width: 64rem;
    margin-block: 0 4rem;
  }
  .ticketLive__akarengaTitle {
    font-size: 2.7rem;
    line-height: 1.19;
  }
  .ticketLive__akarengaLead {
    margin-block: 0 8rem;
  }
  .ticketLive__akarengaType {
    width: 56rem;
    margin-inline: auto;
  }
  .ticketLive__akarengaTypeItemText {
    padding-block: 1.3rem;
    padding-inline: 6rem;
  }
  .ticketLive__note {
    width: min(92%, 80rem);
    margin-block: 0 4rem;
    margin-inline: auto;
  }
  .ticketLive__noteCaption {
    margin-inline: 0 -1rem;
  }
  .ticketLive__seatsTitle {
    margin-block: 0 2.4rem;
    font-size: 2.7rem;
  }
  .ticketLive__seatsFigure {
    width: 58rem;
    margin-inline: auto;
  }
  .ticketLive__seatsFigureMedia img {
    aspect-ratio: 145/98;
  }
  .ticketLivePrices__price {
    grid-template-columns: 16rem 1fr;
  }
  .ticketLive__ticketsListItemSeatsItem:not(:first-child) .ticketLivePrices__price {
    grid-template-columns: 1fr;
  }
  .ticketLive__ticketsListItemSeatsItem:not(:first-child) .ticketLivePrices__priceLabel {
    display: none;
  }
  .ticketLivePrices__priceValueText {
    min-width: 7rem;
    text-align: right;
  }
  .ticketLive__ticketsListItemSeatsItem:first-child .ticketLivePrices__priceValue {
    border-right: 0.1rem dotted;
  }
}
