@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Sacramento:wght@400&display=swap');

/*★ リセット ★*/
#topbuttonApp {
  position: relative;
  z-index: 3;
}
#footer {
  background: #fff;
  position: relative;
  z-index: 1;
}
.footer {
  margin-top: 0 !important;
}

/*★ 変数設定 ★*/
body {
  --default-color-brown: #6d553d;
  --default-color-pink: #ff8f8f;
  --default-color-mira: #48d1cc;
  --default-color-kohinata: #d7b113;
  --default-color-meido: #e73562;
  --default-color-kato: #543589;
  --default-color-akai: #b7282e;
  --default-color-perupo: #87d6f5;
  --default-color-amami: #5bc7f3;
  --default-color-ginkai: #524959;
  --default-color-hoshinone: #ff89cf;
  --default-color-shizukawa: #f77784;
  --default-color-suimori: #7a665a;
  --default-color-shirokumata: #89addb;
  --default-bg-type01: #fff7f2;
  --default-bg-type02: #f8eded;
  --default-bg-mira: #d5f4f3;
  --default-bg-kohinata: #fff9e0;
  --default-bg-meido: #ffebf0;
  --default-bg-kato: #eae3f8;
  --default-bg-akai: #ffe6e7;
  --default-bg-perupo: #dbf0f9;
  --default-bg-amami: #dbf0f9;
  --default-bg-ginkai: #ebddf6;
  --default-bg-hoshinone: #ffceeb;
  --default-bg-shizukawa: #f4d3d6;
  --default-bg-suimori: #dcdcc9;
  --default-bg-shirokumata: #ddeeff;
  --default-width: min((670vw / 7.5), 992px);
}

/*------------------------------------------------*/
/*★ 共通 ★*/
#pageApp, button {
  letter-spacing: 0.03em;
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.7;
}
#breadcrumbArea, .breadcrumb__contents {
  width: 100%;
  overflow-x: auto;
}
#pageApp a:not(.map__list--item--link):hover, #pageApp button:hover {
  opacity: 0.7;
}
#pageApp a {
  transition: 0.3s;
}
.text-center {
  text-align: center;
}
.fuwa {
  opacity: 0;
  transform: translateY(80px);
  transition: opacity 1.2s, transform 1.2s;
}
.btn-sm {
  display: flex;
  color: #fff;
  font-weight: 700;
  border: none;
  padding: 10px;
  width: 210px;
  border-radius: 30px;
  font-size: min((30vw / 7.5), 19px);
  position: relative;
  cursor: pointer;
  transition: 0.3s;
  .is-mira & {
    background: var(--default-color-mira);
  }
  .is-kohinata & {
    background: var(--default-color-kohinata);
  }
  .is-meido & {
    background: var(--default-color-meido);
  }
  .is-kato & {
    background: var(--default-color-kato);
  }
  .is-akai & {
    background: var(--default-color-akai);
  }
  .is-perupo & {
    background: var(--default-color-perupo);
  }
  .is-amami & {
    background: var(--default-color-amami);
  }
  .is-ginkai & {
    background: var(--default-color-ginkai);
  }
  .is-hoshinone & {
    background: var(--default-color-hoshinone);
  }
  .is-shizukawa & {
    background: var(--default-color-shizukawa);
  }
  .is-suimori & {
    background: var(--default-color-suimori);
  }
  .is-shirokumata & {
    background: var(--default-color-shirokumata);
  }
  .btn-text {
    background: url(../images/icon_angle-right_white.svg) no-repeat right center / .55em;
    padding: 0 1em;
    line-height: 1;
    width: 100%;
  }
} 
.btn-md {
  font-size: min((28vw / 7.5), 18px);
  font-weight: 500;
  color: var(--default-color-brown);
  border: solid 1px var(--default-color-brown);
  padding: min((20vw / 7.5), 15px) 0;
  display: block;
  border-radius: 30px;
  background-color: #fff;
  width: 280px;
  margin: 0 auto;
  margin-top: auto;
  position: relative;
  .btn-text {
    display: block;
    background: url(../images/icon_angle-right_brown.svg) no-repeat right .5em center / .55em;
    line-height: 1;
    width: 100%;
  }
}
.container {
  width: 100%;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  /*padding-right: 15px;
  padding-left: 15px;*/
}
.pc-only {
  display: none !important;
}
.sp-only {
  display: block !important;
}
@media screen and (min-width:768px) {
  .container {
    max-width: 992px;
  }
  .pc-only {
    display: block !important;
  }
  .sp-only {
    display: none !important;
  }
}
:where(#pageApp p) {
  font-weight: 700 !important;
  font-style: normal;
  color: var(--default-color-brown);
  font-size: min((24vw / 7.5), 16px);
}
#pageApp .section__title {
  margin-bottom: min((35vw / 7.5), 40px);
}
.fixed-img {
  position: fixed;
}
.fixed-img--1 {
  width: 352px;
  top: 26%;
  right: 66%;
}
.fixed-img--2 {
  width: 192px;
  top: 62%;
  right: 24%;
}
:not(.mv) > .section__inner {
  width: var(--default-width);
  margin: auto;
  padding: min((60vw / 7.5), 65px) 0;
}
.section__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: min((45vw / 7.5), 40px) !important;
  font-weight: 900 !important;
  color: var(--default-color-brown);
  text-align: center;
  line-height: 1;
  &::before {
    display: block;
    content: "";
    width: min((38vw / 7.5), 39px);
    height: min((17vw / 7.5), 17px);
    background: url(../images/illust_h3-title.png) no-repeat center center / contain;
    margin-bottom: min((20vw / 7.5), 15px);
  }
}
#mainArea {
  position: relative;
  transform: translate(0);
}



/* メインビジュアル */
.mv {
  width: 100%;
  height: auto;
  position: relative;
  padding-bottom: 115px;
  z-index: 1;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.mv .section__inner {
  /*position: absolute;
  top: 0;
  left: 0;*/
  width: 100%;
  height: 100%;
  clip: rect(auto, auto, auto, auto);
  /*position: relative;
  z-index: 2*/;
}
.mv__bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100vw;
  height: 100vh;
  background-image: url("../images/mv_bg_pc.webp");
  background-repeat: repeat;
  background-size: cover;
  background-position: center 0;
}
.mv__content {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mv__logo {
  width: 1134px;
  height: 1006px;
   @media(width <= 1134px) {
    width: min((1004vw / 10.04), 1134px);
    height: min((891vw / 10.04), 1006px);
   }
}
.mv__logo--lead {
  width: 589px;
  height: 216px;
}

/* intro */
.intro {
  background: var(--default-bg-type01);
}
.intro .section__inner {
  padding-top: min((92vw / 7.5), 100px);
  position: relative;
  z-index: 2;
}
.intro .intro__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: min((80vw / 7.5), 75px);
  &::before {
    content: "";
    background: url(/v_tabi/haconect/common/images/illust_star.png) center top / contain;
    width: min((93vw / 7.5), 77px);
    height: min((59vw / 7.5), 48px);
    margin-bottom: min((30vw / 7.5), 27px);
  }
}
.intro .intro__lead img {
  width: min((572vw / 7.5), 691px);
  /*height: min((285vw / 7.5), 181px);*/
  margin: 0 auto;
}
.intro__text {
  font-size: min((24vw / 7.5), 18px);
  text-align: center;
}
.close__text {
  font-size: min((30vw / 7.5), 22px);
  text-align: center;
}

/* MAP */
.map {
  background: var(--default-bg-type01);
}
.map .section__inner {
  width: min(100vw , 1073px);
  position: relative;
  z-index: 2;
  padding-top: 35px;
}
.map__contents {
  position: relative;
  margin-bottom: min((35vw / 7.5), 45px);
  --map-h: min((432vw / 7.5), 432px);
  @media(width >= 751px) {
    --map-h : min((618vw / 10.73), 618px);
  }
}
.map__image--item {
  width: 100%;
  height: var(--map-h);
  object-fit: cover;
}
.map__list--item {
  position: absolute;
  top: var(--map-pin-posi-top);
  right: var(--map-pin-posi-right);
  /*--map-pin-h :min((93vw / 7.5), 93px);*/
  width: min((95vw / 7.5), 136px); 
  aspect-ratio: 136 / 130;
  --map-pin-posi-top : var(--map-pin-posi-top-sp);
  --map-pin-posi-right : var(--map-pin-posi-right-sp);
  @media(width >= 751px) {
    /*--map-pin-h: min((130vw / 10.73), 130px);*/
    --map-pin-posi-top : var(--map-pin-posi-top-pc);
    --map-pin-posi-right : var(--map-pin-posi-right-pc);
  }
  &.is-mira {
    --map-pin-posi-top-sp: min((62vw / 7.5), 62px);
    --map-pin-posi-right-sp: min((48vw / 7.5), 48px);
    --map-pin-posi-top-pc: min((88vw / 10.73), 88px);
    --map-pin-posi-right-pc: min((68vw / 10.73), 68px);
  }
  &.is-kohinata {
    --map-pin-posi-top-sp: min((154vw / 7.5), 154px);
    --map-pin-posi-right-sp: min((98vw / 7.5), 98px);
    --map-pin-posi-top-pc: min((221vw / 10.73), 221px);
    --map-pin-posi-right-pc: min((139vw / 10.73), 139px);
  }
  &.is-meido {
    --map-pin-posi-top-sp: min((110vw / 7.5), 110px);
    --map-pin-posi-right-sp: min((186vw / 7.5), 186px);
    --map-pin-posi-top-pc: min((156vw / 10.73), 156px);
    --map-pin-posi-right-pc: min((268vw / 10.73), 268px);
  }
  &.is-kato {
    --map-pin-posi-top-sp: min((27vw / 7.5), 27px);
    --map-pin-posi-right-sp: min((275vw / 7.5), 275px);
    --map-pin-posi-top-pc: min((38vw / 10.73), 38px);
    --map-pin-posi-right-pc: min((394vw / 10.73), 394px);
  }
  &.is-akai {
    --map-pin-posi-top-sp: min((178vw / 7.5), 178px);
    --map-pin-posi-right-sp: min((333vw / 7.5), 333px);
    --map-pin-posi-top-pc: min((254vw / 10.73), 254px);
    --map-pin-posi-right-pc: min((476vw / 10.73), 476px);
  }
  &.is-perupo {
    --map-pin-posi-top-sp: min((284vw / 7.5), 284px);
    --map-pin-posi-right-sp: min((187vw / 7.5), 187px);
    --map-pin-posi-top-pc: min((406vw / 10.73), 406px);
    --map-pin-posi-right-pc: min((268vw / 10.73), 268px);
  }
  &.is-amami {
    --map-pin-posi-top-sp: min((334vw / 7.5), 334px);
    --map-pin-posi-right-sp: min((59vw / 7.5), 59px);
    --map-pin-posi-top-pc: min((478vw / 10.73), 478px);
    --map-pin-posi-right-pc: min((85vw / 10.73), 85px);
  }
  &.is-ginkai {
    --map-pin-posi-top-sp: min((285vw / 7.5), 285px);
    --map-pin-posi-right-sp: min((353vw / 7.5), 353px);
    --map-pin-posi-top-pc: min((408vw / 10.73), 408px);
    --map-pin-posi-right-pc: min((505vw / 10.73), 505px);
  }
  &.is-hoshinone {
    --map-pin-posi-top-sp: min((41vw / 7.5), 41px);
    --map-pin-posi-right-sp: min((416vw / 7.5), 416px);
    --map-pin-posi-top-pc: min((58vw / 10.73), 58px);
    --map-pin-posi-right-pc: min((595vw / 10.73), 595px);
  }
  &.is-shizukawa {
    --map-pin-posi-top-sp: min((131vw / 7.5), 131px);
    --map-pin-posi-right-sp: min((525vw / 7.5), 525px);
    --map-pin-posi-top-pc: min((188vw / 10.73), 188px);
    --map-pin-posi-right-pc: min((751vw / 10.73), 751px);
  }
  &.is-suimori {
    --map-pin-posi-top-sp: min((48vw / 7.5), 48px);
    --map-pin-posi-right-sp: min((616vw / 7.5), 616px);
    --map-pin-posi-top-pc: min((68vw / 10.73), 68px);
    --map-pin-posi-right-pc: min((881vw / 10.73), 881px);
  }
  &.is-shirokumata {
    --map-pin-posi-top-sp: min((6vw / 7.5), 6px);
    --map-pin-posi-right-sp: min((145vw / 7.5), 145px);
    --map-pin-posi-top-pc: min((9vw / 10.73), 9px);
    --map-pin-posi-right-pc: min((208vw / 10.73), 208px);
  }
}
.map__list--item--link {
  display: block;
  position: relative;
  .is-pc & {
    width: min((136vw / 10.73), 136px);
    aspect-ratio: 136 / 130;
    /*height: 130px;*/
    overflow: hidden;
  }
}
.map__list--item--pin {
  height: var(--map-pin-h);
  .is-device-pc.is-pc & {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    display: block;
    transition: opacity .5s;
    &:nth-of-type(1) {
      opacity: 0;
    }
  }
  .is-device-pc.is-sp & {
    &:not(.is-active) {
      display: none;
    }
  }
}
.is-device-pc.is-pc .map__list--item--link:hover .map__list--item--pin:nth-of-type(2) {
	opacity: 0;
}
.is-device-pc.is-pc .map__list--item--link:hover .map__list--item--pin:nth-of-type(1) {
	opacity: 1;
}
.map__text {
  width: var(--default-width);
  color: var(--default-color-brown);
  font-size: min((24vw / 7.5), 18px);
  text-align: center;
  margin: 0 auto;
}
.map__text--announce {
  color: var(--default-color-pink);
  font-size: min((30vw / 7.5), 30px);
  font-weight: bold;
  line-height: calc(42 / 30);
  text-align: center;
  margin-top: min((45vw / 7.5), 50px);
  & .map__text--announce--date {
    font-size: min((24vw / 7.5), 24px);
  }
}

/* tokuten */
.tokuten {
  background: #fff;
  position: relative;
  z-index: 2;
}
.tokuten__text {
  font-size: min((24vw / 7.5), 18px);
  text-align: center;
}
.tokuten__image {
  margin: min((55vw / 7.5), 30px) auto 0;
  .is-pc & {
  width: 794px;
  height: 464px;
  }
}
.tokuten__notes {
  width: var(--default-width);
  color: var(--default-color-brown);
  margin: min((30vw / 7.5), 30px) auto 0;;
}
.tokuten__notes--item {
  font-size: min((24vw / 7.5), 14px);
  text-indent: -1em;
  padding-left: 1em;
  &::before {
    content: '※';
  }
}
.complete__tokuten {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: min((70vw / 7.5), 70px);
}
.complete__tokuten--title {
  width: min((344vw / 7.5), 286px);
  height: min((123vw / 7.5), 102px);
  margin-bottom: min((30vw / 7.5), 20px);
}
.complete__tokuten--text {
  font-size: min((30vw / 7.5), 24px);
  line-height: calc(30 / 24);
  text-align: center;
}
.complete__tokuten--text--notes {
  font-size: min((24vw / 7.5), 18px);
}
.complete__tokuten--image {
  margin: min((50vw / 7.5), 50px) min((5vw / 7.5), 5px) min((30vw / 7.5), 30px);
}
.complete__tokuten--text--coming {
  font-size: min((36vw / 7.5), 30px);
  margin-top: min((30vw / 7.5), 20px);
}

/* 催行日 */
.schedule {
  background-color: var(--default-bg-type02);
  z-index: 2;
  position: relative;
  text-align: center;
}
.schedule .section__inner {
  width: min((670vw / 7.5), 1104px);
}
.schedule__list {
  display: flex;
  flex-wrap: wrap;
  gap: min((85vw / 7.5), 50px) min((22vw / 7.5), 22px);
  margin-top: min((50vw / 7.5), 50px);
  h4 {
    font-size: min((36vw / 7.5), 28px);
    font-weight: 700;
    margin-bottom: -4px;
    .is-mira & {
      color: var(--default-color-mira);
    }
    .is-kohinata & {
      color: var(--default-color-kohinata);
    }
    .is-meido & {
      color: var(--default-color-meido);
    }
    .is-kato & {
      color: var(--default-color-kato);
    }
    .is-akai & {
      color: var(--default-color-akai);
    }
    .is-perupo & {
      color: var(--default-color-perupo);
    }
    .is-amami & {
      color: var(--default-color-amami);
    }
    .is-ginkai & {
      color: var(--default-color-ginkai);
    }
    .is-hoshinone & {
      color: var(--default-color-hoshinone);
    }
    .is-shizukawa & {
      color: var(--default-color-shizukawa);
    }
    .is-suimori & {
      color: var(--default-color-suimori);
    }
    .is-shirokumata & {
      color: var(--default-color-shirokumata);
    }
  }
}
.schedule__list--item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc((100% - 44px) / 3);
}
.schedule__list--item p {
  font-size: min((26vw / 7.5), 18px);
  margin-bottom: 5px;
}
.schedule__info {
  font-size: min((34vw / 7.5), 28px);
  color: var(--default-color-brown);
  font-weight: 700;
  border: solid 1px var(--default-color-brown);
  border-radius: 14px;
  width: 570px;
  margin: 0 auto;
  background-color: #fff;
  padding-top: 7px;
  padding-bottom: 12px;
  margin-top: 35px;
  .schedule__info--main {
    font-size: min((24vw / 7.5), 20px);
  }
  .schedule__info--notes {
    font-size: min((24vw / 7.5), 16px);
    font-weight: normal;
  }
}
.schedule h5 span {
  margin-top: -4px;
  display: block;
}
.schedule__list--link {
  height: 100%;
}
.schedule__banner {
  width: 430px;
  margin-bottom: 40px;
}
.schedule__list--button {
  margin-top: min((20vw / 7.5), 14px);
}
.schedule__list--button--link {
  display: flex;
  align-items: center;
  width: min((250vw / 9.92), 250px);
  min-height: min((40vw / 9.92), 40px);
  color: #fff;
  background-color: var(--default-color-pink);;
  font-size: min((16vw / 9.92), 16px);
  font-weight: bold;
  border-radius: 100px;
  padding: 10px;
}
.schedule__list--button--text {
  display: block;
  background: url(/cmn/icon/icon_launch_white.svg) no-repeat right .5em center / 1em;
  line-height: 1;
  width: 100%;
}
.archive__info {
  color: var(--default-color-brown);
  font-weight: 700;
  border: solid 1px var(--default-color-brown);
  border-radius: min((14vw / 7.5), 14px);
  width: min((740vw / 9.92), 740px);
  margin: 0 auto;
  background-color: #fff;
  padding: min((30vw / 7.5), 20px);
  margin-top: 35px;
}
.archive__info--title {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  font-size: min((34vw / 7.5), 24px);
  &::before, &::after {
    content: "";
    width: 2px;
    height: 1.25em;
    background: currentColor;
  }
  &::before {
    transform: rotate(-45deg);
  }
  &::after {
    transform: rotate(45deg);
  }
}
.archive__info--text {
  font-size: min((28vw / 7.5), 24px);
}
.archive__info a {
  font-size: min((28vw / 7.5), 24px);
  font-weight: 700;
  color: #fff;
  display: block;
  width: 500px;
  margin: 0 auto;
  background-color: var(--default-color-pink);
  padding: min((22vw / 7.5), 20px) 0;
  border-radius: 50px;
  position: relative;
  margin-top: min((15vw / 7.5), 15px);
  margin-bottom: 5px;
  .btn-text {
    display: block;
    background: url(../images/icon_angle-right_white.svg) no-repeat right .5em center / .55em;
    line-height: 1;
    width: 100%;
  }
}

/* 紹介動画 */
.movie {
  text-align: center;
  background-color: var(--default-bg-type01);
}
.movie .section__title {
  text-align: center;
  position: relative;
  z-index: 2;
}
.movie__list {
  width: min((630vw / 7.5), 560px);
  margin: 0 auto;
}
.movie iframe {
  width: 560px;
  aspect-ratio: 16 / 9;
  position: relative;
  z-index: 2;
}
.nextprev {
  width: min((28vw / 7.5), 38px);
  height: min((42vw / 7.5), 58px);
  background: url(../images/icon_angle-right_pink.svg) no-repeat center center / cover;
  position: absolute;
  top: 35%;
  /*bottom: 0;*/
  margin: auto;
  z-index: 5;
  cursor: pointer;
}
.nextprev.is-prev {
  transform: rotate(180deg);
  left: max((-50vw / 7.5), -100px);
}
.nextprev.is-next {
  right: max((-50vw / 7.5), -100px);
}
.slick-dots {
  display: flex;
  justify-content: center;
  margin-top: min((35vw / 7.5), 20px);
}
.slick-dots button {
  background: #e5e5e5;
  outline: 0;
  border: none;
  font-size: 0;
  width: min((24vw / 7.5), 24px);
  height: min((24vw / 7.5), 24px);
  cursor: pointer;
  display: block;
  border-radius: 100%;
  margin: 0 min((12vw / 7.5), 12px);
}
.slick-dots .slick-active button {
  background: var(--default-color-pink);
}

/* 出演者紹介 */
.performer {
  background: url(../images/bg_fixed.png);
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  width: 100%;
  position: relative;
  z-index: 2;
}
.performer__wrapper {
  display: flex;
  text-align: center;
  gap: 7px;
  margin-bottom: 10px;
}
.performer__card {
  display: flex;
  flex-direction: column;
  width: 33.333%;
  padding: 10px 10px 25px 10px;
  border-radius: 10px;
  margin-bottom: 8px;
  &.is-mira {
    background: var(--default-bg-mira);
  }
  &.is-kohinata {
    background: var(--default-bg-kohinata);
  }
  &.is-meido {
    background: var(--default-bg-meido);
  }
  &.is-kato {
    background: var(--default-bg-kato);
  }
  &.is-akai {
    background: var(--default-bg-akai);
  }
  &.is-perupo {
    background: var(--default-bg-perupo);
  }
  &.is-amami {
    background: var(--default-bg-amami);
  }
  &.is-ginkai {
    background: var(--default-bg-ginkai);
  }
  &.is-hoshinone {
    background: var(--default-bg-hoshinone);
  }
  &.is-shizukawa {
    background: var(--default-bg-shizukawa);
  }
  &.is-suimori {
    background: var(--default-bg-suimori);
  }
  &.is-shirokumata {
    background: var(--default-bg-shirokumata);
  }
}
.performer__card__img {
  margin-bottom: 8px;
}
.performer__card__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-grow: 1;
  /*.is-mira & {
    img {
      width: min((152vw / 7.5), 94px);
      height: min((45vw / 7.5), 28px);
    }
  }
  .is-kohinata & {
    img {
      width: min((186vw / 7.5), 114px);
      height: min((28vw / 7.5), 18px);
    }
  }
  .is-meido & {
    img {
      width: min((176vw / 7.5), 108px);
      height: min((28vw / 7.5), 18px);
    }
  }
  .is-kato & {
    img {
      width: min((176vw / 7.5), 108px);
      height: min((28vw / 7.5), 18px);
    }
  }
  .is-akai & {
    img {
      width: min((176vw / 7.5), 108px);
      height: min((28vw / 7.5), 18px);
    }
  }
  .is-perupo & {
    img {
      width: min((176vw / 7.5), 108px);
      height: min((28vw / 7.5), 18px);
    }
  }
  .is-amami & {
    img {
      width: min((176vw / 7.5), 108px);
      height: min((28vw / 7.5), 18px);
    }
  }
  .is-ginkai & {
    img {
      width: min((176vw / 7.5), 108px);
      height: min((28vw / 7.5), 18px);
    }
  }
  .is-hoshinone & {
    img {
      width: min((176vw / 7.5), 108px);
      height: min((28vw / 7.5), 18px);
    }
  }
  .is-shizukawa & {
    img {
      width: min((176vw / 7.5), 108px);
      height: min((28vw / 7.5), 18px);
    }
  }
  .is-suimori & {
    img {
      width: min((176vw / 7.5), 108px);
      height: min((28vw / 7.5), 18px);
    }
  }
  .is-shirokumata & {
    img {
      width: min((176vw / 7.5), 108px);
      height: min((28vw / 7.5), 18px);
    }
  }*/
}
.performer__card h4 {
  font-size: min((48vw / 7.5), 30px);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  color: var(--default-color-brown);
  margin:10px 0 -4px;
}
.performer__card__en {
  display: block;
  font-family: "Sacramento", sans-serif;
  font-size: min((35vw / 7.5), 22px);
  font-weight: 400;
  margin-bottom: 7px;
  .is-mira & {
    color: var(--default-color-mira);
  }
  .is-kohinata & {
    color: var(--default-color-kohinata);
  }
  .is-meido & {
    color: var(--default-color-meido);
  }
  .is-kato & {
    color: var(--default-color-kato);
  }
  .is-akai & {
    color: var(--default-color-akai);
  }
  .is-perupo & {
    color: var(--default-color-perupo);
  }
  .is-amami & {
    color: var(--default-color-amami);
  }
  .is-ginkai & {
    color: var(--default-color-ginkai);
  }
  .is-hoshinone & {
    color: var(--default-color-hoshinone);
  }
  .is-shizukawa & {
    color: var(--default-color-shizukawa);
  }
  .is-suimori & {
    color: var(--default-color-suimori);
  }
  .is-shirokumata & {
    color: var(--default-color-shirokumata);
  }
}
.performer__card .tour__info {
  margin-bottom: 18px;
  dt {
    font-size: min((30vw / 7.5), 18px);
    font-weight: 900;
    color: var(--default-color-brown);
    margin-bottom: -2px;
    &.tour__info--title--dst {
      font-size: min((36vw / 7.5), 22px);
      /*margin-bottom: -8px;*/
    }
  }
  dd {
    font-size: min((24vw / 7.5), 18px);
    color: #333;
    margin-bottom: 4px;
    &.tour__info--detail--dst {
      font-size: min((48vw / 7.5), 30px);
      line-height: calc(32/30);
      margin-bottom: 10px;
      & .tour__info--detail--dst--sub {
        font-size: min((30vw / 7.5), 18px);
      }
      @media(width >= 751px) {
        .is-amami & {
          letter-spacing: -1px;
        }
      }
    }
    &.tour__info--detail--date {
      font-size: min((24vw / 7.5), 16px);
    }
  }
}
.performer__card--link--tour {
  margin-top: auto;
}
.performer__benefits {
  text-align: center;
}
.performer__benefits h5 {
  font-size: min((36vw / 7.5), 30px);
  font-weight: 900;
  color: var(--default-color-pink);
  margin-bottom: 10px;
}
.performer__benefits span {
  font-size: min((30vw / 7.5), 22px);
  display: block;
}
.performer__benefits ul {
  font-size: min((28vw / 7.5), 22px);
  display: block;
  font-weight: 900;
  margin-bottom: 15px;
  color: var(--default-color-brown);
}
.performer__benefits p {
  font-size: min((22vw / 7.5), 18px);
  display: block;
  font-weight: 400 !important;
  color: #333 !important;
}
/* モーダル */
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 1;
  transition: opacity 0.4s ease-in;
  z-index: 9999;
}
.modal-content {
  background-color: #fefefe;
  margin: 2% auto;
  padding: 20px;
  width: 93%;
  display: flex;
  border-radius: 32px;
  gap: 30px;
  max-width: 960px;
  position: relative;
  padding-bottom: 35px;
  animation: modalopen 0.4s;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 0% 90%;
  &.is-mira {
    background-image: url(../images/bg_modal-mira.webp);
  }
  &.is-kohinata {
    background-image: url(../images/bg_modal-kohinata.webp);
  }
  &.is-meido {
    background-image: url(../images/bg_modal-meido.webp);
  }
  &.is-kato {
    background-image: url(../images/bg_modal-kato.webp);
  }
  &.is-akai {
    background-image: url(../images/bg_modal-akai.webp);
  }
  &.is-perupo {
    background-image: url(../images/bg_modal-perupo.webp);
  }
  &.is-amami {
    background-image: url(../images/bg_modal-amami.webp);
  }
  &.is-ginkai {
    background-image: url(../images/bg_modal-ginkai.webp);
  }
  &.is-hoshinone {
    background-image: url(../images/bg_modal-hoshinone.webp);
  }
  &.is-shizukawa {
    background-image: url(../images/bg_modal-shizukawa.webp);
  }
  &.is-suimori {
    background-image: url(../images/bg_modal-suimori.webp);
  }
  &.is-shirokumata {
    background-image: url(../images/bg_modal-shirokumata.webp);
  }
}
.modal-content::-webkit-scrollbar {
  display: none;
}
@keyframes modalopen {
  from {
    transform: scale(0);
  }
  to {
    transform: scale(1);
  }
}
@keyframes modalopen {
  from {
    transform: scale(0);
  }
  to {
    transform: scale(1);
  }
}

.modal-content__left {
  display: grid;
  align-items: center;
  justify-content: center;
  width: 42%;
  text-align: center;
}
.modal-content__right {
  width: 58%;
  display: flex;
  flex-direction: column;
}
.modal-content__right h4 {
  font-size: min((50vw / 7.5), 36px);
  font-weight: 700;
  line-height: 1.5;
  color: var(--default-color-brown);
  margin-bottom: -5px;
  margin-top: 10px;
}
.modal .performer__card__en {
  margin-bottom: 16px;
}
.modal-content__right__text span {
  display: block;
  margin-bottom: 25px;
  color: #333;
  font-size: min((24vw / 7.5), 16px);
  font-weight: normal;
}
.modal-content__right ul {
  display: flex;
  flex-wrap: wrap;
  width: 80%;
  gap: 10px;
  margin-bottom: 30px;
}
.modal-content__right ul li a {
  display: flex;
  align-items: center;
  color: #333;
  background-color: #fff;
  border: solid 1px #333333;
  padding: 5px 0;
  border-radius: 4px;
  width: 130px;
  text-align: center;
  position: relative;
}
.modal-content__right ul li a span {
  width: 100%;
  background: url(../images/icon_angle-right_black.svg) right .4em center / 0.55em no-repeat;
}
.modal-content__right ul li a img {
  width: 8px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5px;
}
.modal-content__bottom-wrapper {
  margin-top: auto;
}
.modal-content .tour__info {
  display: grid;
  grid-template-columns: 10em 1fr;
  margin-bottom: min((25vw / 7.5), 40px);
  dt {
    justify-self: end;
    font-size: min((26vw / 7.5), 18px);
    font-weight: 900;
    color: var(--default-color-brown);
  }
  dd {
    font-size: min((26vw / 7.5), 18px);
  }
}
.modal__btn {
  display: block;
  width: 345px;
  text-align: center;
  border-radius: 50px;
  background-color: var(--default-color-pink);
  color: #fff;
  font-weight: 700;
  font-size: min((30vw / 7.5), 22px);
  padding: 10px 0;
  position: relative;
  .btn-text {
    display: block;
    background: url(../images/icon_angle-right_white.svg) no-repeat right .5em center / .7em;
    padding: 0 1em;
    width: 100%;
  }
}
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  position: absolute;
  top: 15px;
  right: 20px;
}
.close img {
  width: 40px;
}
.close:hover, .close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/* 参加方法 */
.flow {
  background-color: var(--default-bg-type02);
  z-index: 1;
  position: relative;
  text-align: center;
}
.flow__list--item {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: min((20vw / 7.5),10px);
  &::after {
    display: block;
    content: "";
    width: min((24vw / 7.5), 24px);
    height: min((24vw / 7.5), 24px);
    background: url(../images/icon_angle-bottom_brown.svg) no-repeat center center / contain;
  }
  &:last-child::after {
    content: none;
  }
}
.flow__list--item--title {
  font-size: min((36vw / 7.5), 30px);
  color: var(--default-color-pink);
  font-weight: 700;
  margin-bottom: -4px;
}
.flow__list--item--text {
  margin-bottom: min((20vw / 7.5), 12px);
  font-size: min((22vw / 7.5), 18px) !important;
}
.flow a {
  font-size: min((28vw / 7.5), 24px);
  font-weight: 700;
  color: #fff;
  display: block;
  width: 500px;
  margin: 0 auto;
  background-color: var(--default-color-pink);
  padding: min((22vw / 7.5), 20px) 0;
  border-radius: 50px;
  position: relative;
  margin-top: 60px;
  margin-bottom: 5px;
  .btn-text {
    display: block;
    background: url(../images/icon_angle-right_white.svg) no-repeat right .5em center / .55em;
    line-height: 1;
    width: 100%;
  }
}
.flow .flow__notes {
  font-size: min((22vw / 7.5), 16px) !important;
  color: var(--default-color-brown);
  font-weight: 500 !important;
}

/* よくある質問 */
.question {
  background: var(--default-bg-type01);
}
.question .section__inner {
  position: relative;
  z-index: 1;
}
.question .accordion-container {
  padding: 0 80px;
  margin-bottom: 90px;
}
.question .accordion-title {
  padding-top: 50px;
  font-size: min((24vw / 7.5), 22px) !important;
  font-weight: 700;
  color: var(--default-color-pink);
  margin-bottom: 20px;
}
.question .accordion-text {
  background-color: #fff;
  border-radius: 10px;
  padding: 15px 0;
  padding-left: 4%;
  padding-right: 4%;
}
.question .accordion-text p {
  font-size: min((22vw / 7.5), 16px) !important;
  color: #333;
  font-weight: 400 !important;
  text-indent: -1em;
  padding-left: 1em;
}
.question .accordion-text p span {
  padding-left: 2.2%;
  display: block;
}
.question .accordion-text p span span {
  padding-left: 0%;
  display: block;
  color: #fb9393;
}
.question span a {
  color: var(--default-color-pink);
}
.question__btn {
  font-size: min((28vw / 7.5), 24px) !important;
  width: 400px;
  border-radius: 50px;
  border: solid 1px #998877;
  display: block;
  text-align: center;
  padding: min((20vw / 7.5), 20px) 0;
  margin: 0 auto;
  color: #998877;
  position: relative;
  background-color: #fff;
  .btn-text {
    display: block;
    background: url(../images/icon_angle-right_brown.svg) no-repeat right .5em center / .55em;
    line-height: 1;
    width: 100%;
  }
}
.question a img {
  width: 10px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 13px;
}
/* バナー */
.banner {
  background: var(--default-bg-type01);
  padding-bottom: min((80vw / 7.5), 80px);
}
/*.banner {
  display: flex;
  background-color: #fff;
  padding: 35px 40px;
  gap: 30px;
  position: relative;
  z-index: 1;
}*/
.reco-banner__list {
  display: flex;
  background-color: #fff;
  padding: 35px 40px;
  gap: 30px;
  position: relative;
  z-index: 1;
}
.reco-banner__link {
  display: block;
}
/* リンク */
.link {
  background-color: #998877;
  text-align: center;
  position: relative;
  z-index: 1;
  padding: 80px 0;
}
.link a {
  color: #fff;
  font-weight: 700;
  font-size: min((32vw / 7.5), 24px) !important;
  display: block;
}
.link a:first-of-type {
  margin-bottom: 80px;
}
.link a span {
  display: block;
}
.link a span img {
  color: #fff;
  font-weight: 24px;
  width: 80px;
}
#footer_sp .footer__logo-wrap {
  margin-top: 0px;
}
.footer__logo {
  padding-left: 0;
}
.site-copy {
  font-size: 12px !important;
  color: #333 !important;
  font-weight: 400 !important;
}
.shopTx {
  font-size: 11px !important;
  color: #333 !important;
  font-weight: 400 !important;
}

/* タブレット */
@media screen and (max-width:1280px) {
  .btn-md {
    width: 100%;
  }
  .fixed-img--2 {
    right: 0%;
  }
}

/* SP */
@media screen and (max-width:750px) {
  .fixed-img--1 {
    width: 140px;
    top: 40%;
    right: 60%;
  }
  .fixed-img--2 {
    width: 95px;
    top: 69%;
    right: 2%;
  }
  .fuwa {
    opacity: 0;
    transform: translateY(80px);
    transition: opacity 1.0s, transform 1.0s;
  }
  .btn-sm {
    .btn-text {
      background-size: .65em;
    }
  }
  .btn-md {
    color: #998877;
    border: solid 1px #998877;
    width: 280px !important;
    .btn-text {
      background-size: .7em;
    }
  }
  .mv {
    padding-bottom: 115px;
  }
  .mv__bg {
    background-image: url("../images/mv_bg_sp.webp");
  }
  .mv__logo {
    width: 100vw;
    height: calc(1375vw / 7.5);
    /*margin-top: calc(70vw / 7.5);*/
  }
  .mv__logo--lead {
    width: calc(619vw / 7.5);
    height: calc(360vw / 7.5);
    margin: calc(110vw / 7.5) auto 0;
  }
  .map .section__inner {
    padding-top: 0;
  }
  .map__contents {
    margin-top: calc(18vw / 7.5);
  }
  .tokuten .section__inner {
    width: calc(728vw / 7.5);
  }
  .tokuten__image {
    width: calc(604vw / 7.5);
    height: calc(1384vw / 7.5);
  }
  .performer .section__inner{
    width: 100%;
  }

  .schedule {
  }
  .schedule__list {
    flex-direction: column;
  }
  .schedule__list--item {
    width: 100%;
  }
  .schedule h4 {
    margin-bottom: -3px;
  }
  .schedule h5 {
    width: 100%;
    padding-top: 11px;
    padding-bottom: 17px;
    margin-top: 10px;
  }
  .schedule h5 span {
    margin-top: -2px;
  }
  .schedule__banner {
    margin-bottom: 20px;
  }
  .schedule__list--button--link {
    width: min((350vw / 7.5), 250px);
    min-height: min((55vw / 7.5), 40px);
    font-size: min((24vw / 7.5), 16px);
  }
  .archive__info {
    width: 100%;
  } 
  .archive__info a {
    width: 90%;
  }
  .movie {
  }
  .movie iframe {
    width: 100%;
  }
  .performer {
    background: url(../images/bg_fixed_sp.png);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
  }
  .performer__wrapper {
    flex-wrap: wrap;
    gap: 0;
    margin-bottom: 40px;
  }
  .performer__card {
    width: 100%;
    margin-bottom: 0;
    padding: 25px 10px 25px 10px;
  }
  .performer__card__img {
    width: 220px;
    margin: 0 auto;
    margin-bottom: 18px;
  }
  .performer__benefits {
    padding-left: 15px;
    padding-right: 15px;
  }
  .performer__benefits span {
    margin-top: 4px;
  }
  .performer__benefits ul {
    margin-bottom: 10px;
  }
  .modal-content {
    flex-wrap: wrap;
    gap: 0;
    overflow-y: auto;
    max-height: none;
    margin: 6% auto;
    background-position: center;
    &.is-mira {
      background-image:url(../images/bg_modal-mira_sp.webp);
    }
    &.is-kohinata {
      background-image:url(../images/bg_modal-kohinata_sp.webp);
    }
    &.is-meido {
      background-image:url(../images/bg_modal-meido_sp.webp);
    }
    &.is-kato {
      background-image:url(../images/bg_modal-kato_sp.webp);
    }
    &.is-akai {
      background-image:url(../images/bg_modal-akai_sp.webp);
    }
    &.is-perupo {
      background-image:url(../images/bg_modal-perupo_sp.webp);
    }
    &.is-amami {
      background-image:url(../images/bg_modal-amami_sp.webp);
    }
    &.is-ginkai {
      background-image:url(../images/bg_modal-ginkai_sp.webp);
    }
    &.is-hoshinone {
      background-image:url(../images/bg_modal-hoshinone_sp.webp);
    }
    &.is-shizukawa {
      background-image:url(../images/bg_modal-shizukawa_sp.webp);
    }
    &.is-suimori {
      background-image:url(../images/bg_modal-suimori_sp.webp);
    }
    &.is-shirokumata {
      background-image:url(../images/bg_modal-shirokumata_sp.webp);
    }
  }
  .close img {
    width: 32px;
  }
  .modal-content__left {
    width: 100%;
    text-align: center;
  }
  .modal-content__left img {
    width: 250px;
    .is-kato & {
      width: min((300vw / 6.0), 300px);
    }
    .is-akai & {
      width: min((220vw / 6.0), 220px);
    }
    .is-perupo & {
      width: min((392vw / 6.0), 392px);
    }
    .is-amami & {
      width: min((350vw / 6.0), 350px);
    }
    .is-ginkai & {
      width: min((366vw / 6.0), 366px);
    }
    .is-hoshinone & {
      width: min((343vw / 6.0), 343px);
    }
    .is-shizukawa & {
      width: min((298vw / 6.0), 298px);
    }
    .is-suimori & {
      width: min((354vw / 6.0), 354px);
    }
    .is-shirokumata & {
      width: min((350vw / 6.0), 350px);
    }
  }
  .modal-content__right {
    width: 100%;
  }
  .modal-content__right h4 {
    text-align: center;
    margin-top: -2px;
  }
  .modal .performer__card__en {
    margin: 0 auto calc(35vw / 7.5);
  }
  .modal-content__right ul {
    width: 100%;
    margin-bottom: 18px;
  }
  .modal-content__right ul li {
    width: 100%;
  }
  .modal-content__right ul li a {
    width: 100%;
  }
  .modal-content__right ul li a span {
    right: 9px;
  }
  .modal-content__right__text span {
    margin-bottom: 20px;
    font-weight: 400;
  }
  .modal-content .tour__info {
    grid-template-columns: 7.5em 1fr;
  }
  .modal__btn {
    width: 100%;
    padding: 11px 0;
    .btn-text {
      background-position: right 1em center;
      background-size: 1em;
      padding: 0 2.5em;
    }
  }
  .modal__btn span {
    top: 4px;
  }
  .flow {
  }
  .flow a {
    width: 85%;
    margin-top: 40px;
  }
  .question {
  }
  .question .section__inner {
    width: 100%;
  }
  .question .accordion-container {
    margin: 40px auto 0;
    width: 100%;
    padding: 0;
    margin-bottom: 20px;
  }
  .question .accordion-list:not(:first-child) {
    margin-top: 10px;
  }
  .question .accordion-title {
    background: #fff;
    cursor: pointer;
    font-size: 16px;
    padding: 15px 20px;
    position: relative;
    margin-bottom: 0;
    border-top: solid 1px #333;
    padding-right: 80px;
  }
  .question .accordion-title span {
    text-indent: -1em;
    padding-left: 1em;
    display: block;
  }
  .question .accordion-list:not(:first-child) {
    margin-top: 0px;
  }
  .question .accordion-list:last-of-type {
    border-bottom: solid 1px #333;
  }
  .question .accordion-title:before {
    position: absolute;
    content: '';
    top: 50%;
    right: 25px;
    height: 2px;
    width: 15px;
    background: #333;
    transform: rotate(90deg);
    transition: all .3s ease-in-out;
  }
  .question .accordion-title:after {
    position: absolute;
    content: '';
    top: 50%;
    right: 25px;
    height: 2px;
    width: 15px;
    background: #333;
    transition: all .3s ease-in-out;
  }
  .question .accordion-title.open:before {
    transform: rotate(180deg);
  }
  .question .accordion-title.open:after {
    opacity: 0;
  }
  .question .accordion-text {
    display: none;
    padding: 15px 20px;
    border-radius: 0;
    padding-top: 0;
  }
  .question .accordion-text p {
    padding-left: 0;
    display: block;
    text-indent: -1em;
    padding-left: 1em;
  }
  .question__btn {
    width: 80%;
    .btn-text {
      background-size: .7em;
    }
  }
  .reco-banner__list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    padding: 20px 18px;
  }
  .reco-banner__item {
    width: calc(50% - 7.5px);
  }
  .pb-80 {
    padding-bottom: 45px;
  }
  .link {
    padding: 40px 0;
  }
  .link a:first-of-type {
    margin-bottom: 50px;
  }
}
/* スクロール止め */
.no-scroll {
  overflow: hidden;
  position: fixed;
  top: 0;
  width: 100%;
}
/* CLOSE対応 */
.announce__text {
  font-size: min((22vw / 7.5), 22px) !important;
  padding: min((20vw / 7.5), 30px);
  background: #fff;
  border-radius: 10px;
}
.top-link-text {
  display: block;
  padding-top: min((20vw / 7.5), 30px);
  font-size: min((20vw / 7.5), 16px);
}
.top-link-text:link, .top-link-text:visited {
  color: rgb(109, 85, 61);
}