@charset "UTF-8";
/* Main
********************************/
.intro {
  padding-top: 50px;
}
.intro__title {
  text-align: center;
}
.intro__title img {
  width: min(689 / 2 * 1px, 689vw / 7.5);
}
.intro__text {
  text-align: center;
  padding-top: 20px;
}
.intro__obj {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  overflow: hidden;
}
.intro__obj--l {
  width: min(295 / 2 * 1px, 295vw / 7.5);
  -webkit-animation: bounce 1.5s infinite ease-in-out;
          animation: bounce 1.5s infinite ease-in-out;
}
.intro__obj--r {
  width: min(333 / 2 * 1px, 333vw / 7.5);
  margin-bottom: 2vw;
  -webkit-animation: swim 1s infinite ease-in-out alternate;
          animation: swim 1s infinite ease-in-out alternate;
}

@-webkit-keyframes bounce {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -5px;
  }
}

@keyframes bounce {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -5px;
  }
}
@-webkit-keyframes swim {
  0% {
    translate: 0;
  }
  100% {
    translate: 10px;
  }
}
@keyframes swim {
  0% {
    translate: 0;
  }
  100% {
    translate: 10px;
  }
}
.menu__title {
  text-align: center;
}
.menu__title img {
  width: min(240 / 2 * 1px, 240vw / 7.5);
}
.menu-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px;
  padding-top: 20px;
}
.menu-list-item {
  position: relative;
  color: #287C81;
  font-size: min(12 * 1px, 24vw / 7.5);
  text-align: center;
  width: calc(50% - 8px);
}
.menu-list-item__text {
  border: solid 3px;
  border-radius: 55px;
  position: absolute;
  top: 2px;
  font-size: 0.7rem;
  width: 150px;
  height: 113px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.4;
  background-color: #fff;
}
.menu-list-item--wide {
  width: 100%;
  color: #FF8D40;
}
.menu-list-item--wide img {
  width: min(412 / 2 * 1px, 412vw / 7.5);
}
.menu-list-item.--textcenter {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 45%;
}
.menu-list-item.--commingsoon {
  pointer-events: none;
  position: relative;
}
.menu-list-item.--commingsoon::before {
  display: block;
  width: 100%;
  content: "coming soon";
  line-height: 1;
  color: red;
  position: absolute;
  top: 35%;
  z-index: 1;
}
.menu-list-item.--commingsoon img {
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
}
.menu-list-item__label {
  text-align: center;
}
.menu-list-item__label::after {
  content: "＞";
  margin-inline: 1em -2em;
}
.menu-list-item a {
  text-decoration: none;
}
.menu-list-item img {
  width: min(320 / 2 * 1px, 320vw / 7.5);
}

.map {
  /* 各ピンのアニメーション時間をずらす */
}
.map__title {
  text-align: center;
  padding-top: 50px;
  margin-bottom: 10px;
}
.map__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 640px) {
  .map__container {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    -webkit-transform-origin: top;
            transform-origin: top;
    margin-bottom: 100px;
  }
}
.map__container__item {
  position: relative;
}
.map__container__item .pin {
  position: absolute;
  -webkit-animation: floatingPin 5s ease-in-out infinite;
          animation: floatingPin 5s ease-in-out infinite;
}
.map__container__item .pin1 {
  top: 107px;
  right: 36px;
}
.map__container__item .pin2 {
  bottom: 67px;
  right: 80px;
}
.map__container__item .pin3 {
  top: 229px;
  left: 270px;
}
.map__container__item .pin4 {
  top: 30px;
  left: 168px;
}
.map__container__item .pin5 {
  top: 64px;
  right: 39px;
}
.map__container__item .pin6 {
  bottom: 24px;
  right: 15px;
}
.map__container__item .pin7 {
  top: 81px;
  left: 165px;
}
.map__container__item .pin8 {
  top: 67px;
  left: 20px;
}
.map__container__item .pin9 {
  top: 101px;
  left: 116px;
}
.map__container__item .pin10 {
  top: 86px;
  left: 24px;
}
.map__container__item .pin11 {
  top: 120px;
  left: 85px;
}
.map__container__item .pin12 {
  top: 152px;
  left: 20px;
}
.map__container__item .pin13 {
  top: 200px;
  left: 22px;
}
.map__container__item .pin14 {
  top: 168px;
  left: 126px;
}
.map__container__item .pin15 {
  top: 26px;
  left: 97px;
}
.map__container__item .pin16 {
  top: 73px;
  left: 147px;
}
.map__container__item .pin17 {
  top: 38px;
  left: 39px;
}
.map__container__item .pin18 {
  top: 40px;
  left: 82px;
}
@-webkit-keyframes floatingPin {
  0% {
    -webkit-transform: translateY(0) rotate(5deg);
            transform: translateY(0) rotate(5deg);
  }
  50% {
    -webkit-transform: translateY(0) rotate(-5deg);
            transform: translateY(0) rotate(-5deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(5deg);
            transform: translateY(0) rotate(5deg);
  }
}
@keyframes floatingPin {
  0% {
    -webkit-transform: translateY(0) rotate(5deg);
            transform: translateY(0) rotate(5deg);
  }
  50% {
    -webkit-transform: translateY(0) rotate(-5deg);
            transform: translateY(0) rotate(-5deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(5deg);
            transform: translateY(0) rotate(5deg);
  }
}

.news {
  padding-block: 50px 100px;
  padding-inline: min(20px, 5.3333333333vw);
}
.news__title {
  text-align: center;
  margin-bottom: max(-18px, -4.8vw);
  position: relative;
}
.news__title img {
  width: min(228 / 2 * 1px, 228vw / 7.5);
}
.news-container {
  max-height: 25em;
  overflow-y: scroll;
  background-color: #28D2D2;
  border: 1px solid #000;
  border-radius: 12px;
  padding: min(30px, 8vw) 20px;
}
.news-container::-webkit-scrollbar-track {
  background: transparent;
  -webkit-box-shadow: 0 0 5px transparent inset;
          box-shadow: 0 0 5px transparent inset;
}
.news-container::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
.news-container::-webkit-scrollbar-thumb {
  background: #fff;
  border-radius: 5px;
}
.news-item:nth-of-type(n+1) {
  padding-top: 1em;
}
.news-item__date {
  font-family: "Lilita One";
  font-size: min(15 * 1px, 30vw / 7.5);
  font-weight: 400;
}
.news-item__content {
  line-height: 1.6428571429;
}

.sns {
  padding-bottom: 100px;
}
.sns__title {
  text-align: center;
  padding-top: 50px;
}
.sns__title img {
  width: min(246 / 2 * 1px, 246vw / 7.5);
}
.sns-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  padding-top: 20px;
}
.sns-icons img {
  width: min(74 / 2 * 1px, 74vw / 7.5);
}
.sns .m-title-text {
  letter-spacing: -0.05em;
}
.sns__subtitle {
  text-align: center;
  padding-block: 30px 20px;
}
.sns__subtitle img {
  width: min(483 / 2 * 1px, 483vw / 7.5);
}
.sns__text {
  padding-block: 20px 50px;
}
.sns .twitter-timeline {
  margin-top: 25px !important;
}
.sns-iframe {
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 20px;
  margin-top: 25px;
  padding: 20px;
}
.sns-iframe::-webkit-scrollbar-track {
  background: transparent;
  -webkit-box-shadow: 0 0 5px #000 inset;
          box-shadow: 0 0 5px #000 inset;
}
.sns-iframe::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
.sns-iframe::-webkit-scrollbar-thumb {
  background: #fff;
  border-radius: 5px;
}

.music {
  padding-bottom: 100px;
}
.music a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.music-image {
  margin-top: 20px;
  margin-bottom: 20px;
}
.music-detail {
  line-height: 1.7142857143;
}
.music-detail__text {
  font-size: 12px;
}
.music-detail-list {
  padding-left: 1em;
}
.music-detail-list__item {
  font-size: min(12 * 1px, 24vw / 7.5);
  padding-left: 1.3em;
  position: relative;
}
.music-detail-list__item::before {
  content: "※";
  position: absolute;
  left: 0;
}
.music-detail-list2__item {
  font-size: min(12 * 1px, 24vw / 7.5);
  padding-left: 1.3em;
  position: relative;
}
.music-detail-list2__item::before {
  content: "■";
  position: absolute;
  left: 0;
}
.music-attention {
  margin-top: 1em;
}
.music .movie-slider {
  margin-top: 20px;
}
.music .movie-slider-item__text {
  font-size: 13px;
  line-height: 1.5571428571;
}
.music .slick-track .slick-slide {
  padding-bottom: 20px;
}
.music .slick-track .m-title-text {
  padding-top: 20px;
}

.movie {
  padding-bottom: 100px;
}
.movie-slider {
  margin-top: 50px;
}
.movie-slider-item {
  text-align: center;
  border: 1px solid #000;
  border-radius: 28px;
  margin-inline: 10px;
  background-color: #FFFFF5;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.movie-slider-item:hover {
  opacity: 0.7;
  cursor: pointer;
}
.movie-slider-item > img {
  border-radius: 29px 29px 0 0;
}
.movie-slider-item__copy {
  font-size: min(10 * 1px, 20vw / 7.5);
  text-align: center;
  padding-top: 0.5em;
}
.movie-slider-item__date {
  color: #28D2D2;
  font-family: "Lilita One";
  font-weight: 400;
  font-size: min(35 * 1px, 70vw / 7.5);
  text-align: center;
  line-height: 1;
  padding-top: 1rem;
}
.movie-slider-item__date .week {
  font-family: "Zen Kaku Gothic Antique", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
  font-size: min(14 * 1px, 28vw / 7.5);
}
.movie-slider-item__date .screening {
  font-family: "Zen Kaku Gothic Antique", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
  font-size: min(19 * 1px, 38vw / 7.5);
}
.movie-slider-item__date--caption {
  font-size: min(12 * 1px, 24vw / 7.5);
  margin-bottom: 0.5rem;
}
.movie-slider-item__title {
  font-size: min(17 * 1px, 34vw / 7.5);
}
.movie-slider-item__button {
  display: inline-block;
  color: #fff;
  font-size: min(19 * 1px, 38vw / 7.5);
  font-family: "Lilita One";
  font-weight: 400;
  background-color: #28D2D2;
  border: 1px solid #000;
  border-radius: 50vw;
  padding: 0 28px;
  margin-block: 20px;
}
.movie-slider-item__caption {
  text-align: left;
  padding-top: 1em;
}
.movie-slider-item__hp {
  text-align: left;
  padding-top: 0.5em;
}
.movie-slider-item__hp a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.movie-slider-item__iframe {
  margin-top: 20px;
}
.movie-slider-item__iframe iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.movie-slider-item__category {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: min(13 * 1px, 26vw / 7.5);
  border: 1px solid #000;
  line-height: 1;
  padding: 3px 20px;
  margin: 15px auto 7px;
}
.movie-slider-item-special {
  border-block: 2px solid #28D2D2;
  padding-block: 20px;
  margin-top: 20px;
}
.movie-slider-item-special__title {
  color: #28D2D2;
  font-size: min(27 * 1px, 54vw / 7.5);
  font-weight: 400;
  font-family: "Lilita One";
  text-align: center;
  line-height: 1;
}
.movie-slider-item-special__subtitle {
  font-size: min(15 * 1px, 30vw / 7.5);
  font-weight: bold;
  text-align: center;
  padding-block: 0.3em;
}
.movie-slider-item-special__text {
  font-weight: 500;
  text-align: left;
  padding-inline: min(30px, 8vw);
}
.movie-box {
  margin-top: 50px;
}
.movie-box a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.movie-box__title {
  font-size: min(15 * 1px, 30vw / 7.5);
  text-align: center;
  padding-bottom: 15px;
}
.movie-box__subtitle {
  font-size: min(15 * 1px, 30vw / 7.5);
  text-align: center;
}
.movie-box__text {
  font-size: min(13 * 1px, 26vw / 7.5);
  font-weight: 500;
  letter-spacing: -0.05em;
}
.movie-box__textline {
  font-weight: 500;
  margin-top: 20px;
  background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), linear-gradient(180deg, #000 1px, transparent 1px);
  background-size: 3px 100%, 100% 1.78em;
  padding-bottom: 1px;
}
.movie-box__textattention {
  font-size: min(12 * 1px, 24vw / 7.5);
  font-weight: 500;
  padding-left: 1.3em;
  margin-top: 1em;
  position: relative;
}
.movie-box__textattention::before {
  content: "※";
  position: absolute;
  left: 0;
}
.movie-banners {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  padding-top: 50px;
}
.movie-banners img {
  width: min(298 / 2 * 1px, 298vw / 7.5);
}

.slick-arrow {
  width: 35px;
  height: auto;
  aspect-ratio: 1;
  font-size: 0;
  color: transparent;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  z-index: 1;
}
.slick-arrow.slick-next {
  background-image: url(../images/top/next.png);
  right: 10px;
}
.slick-arrow.slick-prev {
  background-image: url(../images/top/prev.png);
  left: 10px;
}

.slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  margin-top: 20px;
}
.slick-dots li {
  width: 20px;
  height: 8px;
}
.slick-dots li button {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 0;
  color: transparent;
  border: 1px solid #000;
  background-color: #fff;
  border-radius: 10vw;
}
.slick-dots li.slick-active {
  width: 35px;
}
.slick-dots li.slick-active button {
  background-color: #28D2D2;
}

.movie-modal {
  width: 100%;
  height: 100%;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: rgba(255, 255, 255, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
}
.movie-modal-inner {
  height: 100%;
  padding-inline: min(30px, 8vw);
  padding-bottom: 50px;
  overflow-y: scroll;
}
.movie-modal-inner::-webkit-scrollbar-track {
  background: transparent;
  -webkit-box-shadow: 0 0 5px #000 inset;
          box-shadow: 0 0 5px #000 inset;
}
.movie-modal-inner::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
.movie-modal-inner::-webkit-scrollbar-thumb {
  background: #FFFFF5;
  border-radius: 5px;
}
.movie-modal-item {
  display: none;
  width: min(375px, 90%);
  height: 80%;
  padding-bottom: 50px;
  text-align: center;
  border: 1px solid #000;
  border-radius: 20px;
  background-color: #FFFFF5;
  -webkit-box-shadow: 0 0 5px #ccc;
          box-shadow: 0 0 5px #ccc;
  padding: 10px;
  position: relative;
}
.movie-modal__close {
  width: min(74 / 2 * 1px, 74vw / 7.5);
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
}
.movie-modal__close:focus {
  outline: none;
}

.access {
  text-align: center;
}
.access__text {
  padding-top: 50px;
}
.access-button {
  display: block;
  width: 270px;
  color: #287C81;
  font-weight: 900;
  border: 1px solid #287C81;
  background-color: #fff;
  border-radius: 20vw;
  margin: 10px auto 0;
  padding: 15px 10px 15px 25px;
  position: relative;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
}
.access-button::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 7px;
  aspect-ratio: 15/56;
  background-image: url(../images/top/icon_exclamation.png);
  background-size: contain;
  position: absolute;
  left: 25px;
}
.access-button:hover {
  text-decoration: none;
  background-color: rgba(40, 210, 210, 0.1);
}
.access-banner {
  border-top: 1px solid #000;
  margin-top: 60px;
  padding-top: 60px;
}
.access-outline {
  margin-top: 50px;
}
.access-outline a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.access-outline__text {
  font-size: min(13 * 1px, 26vw / 7.5);
  text-align: left;
  padding-top: 1em;
}
.access-map iframe {
  width: 100%;
  height: 300px;
  aspect-ratio: 16/9;
  margin-block: 30px 20px;
}
.access-modal {
  display: none;
  z-index: 1;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.access-modal-inner {
  width: min(375px, 90%);
  max-height: 80vh;
  overflow-y: scroll;
  padding: 30px 20px;
  background-color: #fff;
}
.access-modal-list {
  padding-top: 30px;
}
.access-modal-list__item {
  text-align: left;
  font-weight: 500;
  position: relative;
}
.access-modal__text {
  text-align: left;
  padding-top: 20px;
}

.movie {
  padding: 20px 20px 0;
}
.movie video {
  width: 100%;
  border: 3px solid #28D2D2;
}