.page-title {
  background-image: url(../images/movie/line-title.svg);
  color: #66bf4f;
}
.page-title span {
  background-image: url(../images/movie/deco-title01.svg), url(../images/movie/deco-title02.svg);
}

.lead {
  margin-bottom: 15.6667vw;
}
@media (min-width: 768px) {
  .lead {
    margin-bottom: 6.6667vw;
  }
}
@media (min-width: 1440px) {
  .lead {
    margin-bottom: 96px;
  }
}

.page-contents {
  padding-top: 11vw;
  background: url(../images/movie/bg-page_sp.png) repeat-x 50% 0 / 100% auto;
}
@media (min-width: 768px) {
  .page-contents {
    padding-top: 5.2778vw;
    background: url(../images/movie/bg-page_pc.png) repeat-x 50% 0 / 100% auto;
  }
}
@media (min-width: 1440px) {
  .page-contents {
    padding-top: 76px;
  }
}

.page-contents__bg {
  margin-bottom: 10.3vw;
}
@media (min-width: 768px) {
  .page-contents__bg {
    margin-bottom: 7.5694vw;
  }
}
@media (min-width: 1440px) {
  .page-contents__bg {
    margin-bottom: 109px;
  }
}

@media (min-width: 768px) {
  .logo-scroll {
    margin-bottom: 9.7917vw
  }
}
@media (min-width: 1440px) {
  .logo-scroll {
    margin-bottom: 141px;
  }
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-15px) scale(1.05);
  }
}

@keyframes twinkle {
  0%, 100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }
  50% {
    opacity: 0.7;
    transform: scale(1.1) rotate(5deg);
  }
}

@keyframes shake {
  0%, 100% {
    transform: translateX(0) rotate(0deg);
  }
  25% {
    transform: translateX(-5px) rotate(-2deg);
  }
  75% {
    transform: translateX(5px) rotate(2deg);
  }
}

/* movieページのキービジュアルのかわいいギミック */

@media (min-width: 768px) {
	.page-section::before {
    height: 10.4167vw;
    background: url(../images/common/mask-white2_pc.svg) no-repeat 50% 0 / 100% auto;
		top: -10.1167vw;
    clip-path: unset;
  }
}
.cm-gallery .grid {
  max-width: 1030px;
  width: 80vw;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 100%;
  row-gap: 9.3333vw;
}
@media (min-width: 768px) {
  .cm-gallery .grid {
    width: 100%;
    padding: 0 1.3889vw;
    grid-template-columns: repeat(2, calc((500 / 1030) * 100%));
    column-gap: calc((30 / 1030) * 100%);
    row-gap: unset;
  }
}
@media (min-width: 1440px) {
  .cm-gallery .grid {
    padding: 0;
  }
}

.cm-gallery .movie-link {
  margin: 0 auto;
}
.cm-gallery .movie-link__link {
  text-decoration: none;
}
.cm-gallery .movie-link__link:link {
  color: #763914;
}
.cm-gallery .movie-link__link:visited {
  color: #763914;
}
.cm-gallery .movie-link__link:hover {
  color: #763914;
}
.cm-gallery .movie-link__link:focus {
  color: #763914;
}
.cm-gallery .movie-link__image {
  border-radius: 2.6667vw;
  position: relative;
  overflow: hidden;
}
.cm-gallery .movie-link__image::before {
  width: 100%;
  height: 100%;
  background: url(../images/common/icon-play.svg) no-repeat 50% 50% / 13.3333vw auto;
  content: '\0020';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.cm-gallery .movie-link__caption {
  padding-top: 3.7333vw;
  font-family: 'Rounded Mplus 1c', 'Yomogi', "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 4.2667vw;
  line-height: calc(19 / 16);
  font-weight: 500;
  text-align: center;
  text-decoration: none;
}
@media (min-width: 768px) {
  .cm-gallery .movie-link__image {
    border-radius: 1.3889vw;
  }
  .cm-gallery .movie-link__image::before {
    background-size: 3.4722vw auto;
  }
  .cm-gallery .movie-link__caption {
    padding-top: 1.8056vw;
    font-size: 1.1111vw;
  }
  .cm-gallery .movie-link:nth-child(3) {
    margin-top: 2.7778vw;
  }
}
@media (min-width: 1440px) {
  .cm-gallery .movie-link__image {
    border-radius: 20px;
  }
  .cm-gallery .movie-link__image::before {
    background-size: 50px auto;
  }
  .cm-gallery .movie-link__caption {
    padding-top: 26px;
    font-size: 16px;
  }
  .cm-gallery .movie-link:nth-child(3) {
    margin-top: 40px;
  }
}

.cm-gallery .movie-link__image img:not(.content_bg) {
  width: 100%;
  position: static;
  transition: unset;
  vertical-align: top;
}


.page-contents .peco {
  width: 61.2vw;
  margin: 0;
  position: absolute;
  top: -57.8vw;
  left: calc(50% - 30.5vw);
}
.page-contents .peco img:not(.content_bg) {
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .page-contents .peco {
    width: 29.9306vw;
    top: -28.2639vw;
    left: calc(50% - 14.8611vw);
  }
}
@media (min-width: 1440px) {
  .page-contents .peco {
    width: 431px;
    top: -455px;
    left: calc(50% - 214px);
  }
}

.page-section {
  padding-top: 0;
}

#web-cm.page-section__inner {
  padding-top: 10.6667vw;
  padding-bottom: 15.2vw;
  background-color: #fff;
}
#web-cm .page-section__title {
  color: #66bf4f;
}
#web-cm .page-section__title .en {
  background: url(../images/common/bg-title-green_sp.svg) no-repeat 50% 0 / 100% auto;
}
@media (min-width: 768px) {
  #web-cm .page-section__title {
    margin-bottom: 2.5vw;
    transform: translateY(-0.4861vw);
  }
  #web-cm.page-section__inner {
    padding-top: 0;
    padding-bottom: 7.3611vw;
  }
  #web-cm .page-section__title .en {
    background: url(../images/common/bg-title-green_pc.svg) no-repeat 50% 0 / 100% auto;
  }
}
@media (min-width: 1440px) {
  #web-cm .page-section__title {
    margin-bottom: 36px;
    transform: translateY(-7px);
  }
  #web-cm.page-section__inner {
    padding-bottom: 106px;
  }
}

#youtube.page-section__inner {
  padding-bottom: 2.2vw;
  margin-top: 10.6667vw;
  position: relative;
}
#youtube.page-section__inner::before {
  width: 100%;
  height: 10.6667vw;
  background: url(../images/common/mask_sp.svg) repeat-x 50% 0 / 100% auto;
  content: '\0020';
  display: block;
  position: absolute;
  bottom: 100%;
  left: 0;
}
@media (min-width: 768px) {
  #youtube.page-section__inner {
    padding-bottom: 2.7vw;
    margin-top: 10.4167vw;
  }
  #youtube.page-section__inner::before {
    height: 10.4167vw;
    background: url(../images/common/mask_pc.svg) repeat-x 50% 0 / 100% auto;
  }
}

#youtube .page-section__title {
  padding-top: 6.6667vw;
  margin-bottom: 6.6667vw;
  color: #fff;
}
#youtube .page-section__title .en {
  background: url(../images/common/bg-title-white_sp.svg) no-repeat 50% 0 / 100% auto;
}
@media (min-width: 768px) {
  #youtube .page-section__title {
    padding-top: 0;
    margin-bottom: 0.5556vw;
    transform: translateY(-0.3472vw);
  }
  #youtube .page-section__title .en {
    background: url(../images/common/bg-title-white_pc.svg) no-repeat 50% 0 / 100% auto;
  }
}
@media (min-width: 1440px) {
  #youtube .page-section__title {
    margin-bottom: 8px;
    transform: translateY(-5px);
  }
}
.youtube-box {
  max-width: 1030px;
  width: 91.4667vw;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 2.6667vw;
  position: relative;
}
.youtube-box__link {
  padding: 5.3333vw;
  display: block;
  text-decoration: none;
}
.youtube-box__link[target="_blank"] .youtube-box__caption p::after {
  width: 2.9333vw;
  height: 2.9333vw;
  margin-left: 2.6667vw;
  background: url(../images/common/icon-ext.svg) no-repeat 50% 50% / 100% auto;
  content: '\0020';
  display: inline-block;
}
.youtube-box__image {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  border-radius: 2.6667vw;
  overflow: hidden;
  display: block;
}
.youtube-box__image img:not(.content_bg) {
  width: 100%;
  position: static;
  transition: unset;
  vertical-align: top;
}
.youtube-box__caption {
  max-width: 800px;
  margin: 0 auto;
  font-family: 'Rounded Mplus 1c', 'Yomogi', "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 4.2667vw;
  color: #763914;
  line-height: calc(19 / 16);
  font-weight: 500;
  text-align: center;
}
@media (min-width: 768px) {
  .youtube-box {
    border-radius: 1.3889vw;
  }
  .youtube-box__link {
    padding: 4.386vw 4.386vw 2.6388vw;
  }
  .youtube-box__link[target="_blank"] .youtube-box__caption p::after {
    width: 0.7638vw;
    height: 0.6944vw;
    margin-left: 0.6944vw;
  }
  .youtube-box__image {
    width: 100%;
    border-radius: 0.6944vw;
  }
  .youtube-box__caption {
    font-size: 1.1111vw;
  }
}
@media (min-width: 1440px) {
  .youtube-box {
    border-radius: 20px;
  }
  .youtube-box__link {
    padding: 50px 50px 38px;
  }
  .youtube-box__link[target="_blank"] .youtube-box__caption p::after {
    width: 11px;
    height: 10px;
    margin-left: 10px;
  }
  .youtube-box__image {
    border-radius: 10px;
  }
  .youtube-box__caption {
    font-size: 16px;
  }
}

@media not all and (min-width: 768px) {
  .follow-us {
    margin-top: -10.6667vw;
  }
}

#web-cm img.movie-ame1:not(.content_bg) {
  width: 40vw;
  position: absolute;
  top: -27.5vw;
  left: calc(50% - 59vw);
  vertical-align: top;
  display: none;
  animation: contentFloat1 3.6s ease-in-out infinite
}
#web-cm img.movie-ame2:not(.content_bg) {
  width: 47vw;
  position: absolute;
  top: -23.5vw;
  left: calc(50% - 62vw);
  vertical-align: top;
  animation: contentFloat3 3.2s ease-in-out infinite;
}
#web-cm img.movie-stars1:not(.content_bg) {
  width: 16vw;
  position: absolute;
  top: -57.5vw;
  left: calc(50% + 28vw);
  vertical-align: top;
  animation: contentFloat3 3.7s ease-in-out infinite;
}
@media (min-width: 768px) {
  #web-cm img.movie-ame1:not(.content_bg) {
    width: 17.3611vw;
    top: -37.7778vw;
    left: calc(50% - 42.4306vw);
    display: block;
  }
  #web-cm img.movie-ame2:not(.content_bg) {
    display: none;
  }
  #web-cm img.movie-stars1:not(.content_bg) {
    width: 7.9861vw;
    top: -5.0694vw;
    left: calc(50% - 46.6667vw);
  }
}
@media (min-width: 1440px) {
  #web-cm img.movie-ame1:not(.content_bg) {
    width: 250px;
    top: -544px;
    left: calc(50% - 611px);
  }
  #web-cm img.movie-stars1:not(.content_bg) {
    width: 115px;
    top: -73px;
    left: calc(50% - 532px);
  }
}

#youtube img.movie-ame1:not(.content_bg) {
  width: 40vw;
  position: absolute;
  top: -27.5vw;
  left: calc(50% - 59vw);
  vertical-align: top;
  display: none;
  animation: contentFloat4 3.8s ease-in-out infinite;
}
#youtube img.movie-ame2:not(.content_bg) {
  width: 51vw;
  position: absolute;
  top: -41.5vw;
  left: calc(50% + 21vw);
  vertical-align: top;
  animation: contentFloat2 3.5s ease-in-out infinite;
}
#youtube img.movie-milky1:not(.content_bg) {
  width: 41vw;
  position: absolute;
  top: -21.5vw;
  left: calc(50% - 50vw);
  vertical-align: top;
  animation: contentFloat4 3.9s ease-in-out infinite;
}
@media (min-width: 768px) {
  #youtube img.movie-ame1:not(.content_bg) {
    width: 17.6389vw;
    top: -14.1111vw;
    left: calc(50% + 35.3472vw);
    display: block;
  }
  #youtube img.movie-ame2:not(.content_bg) {
    display: none;
  }
  #youtube img.movie-milky1:not(.content_bg) {
    width: 20.0694vw;
    top: -16.5972vw;
    left: calc(50% - 35.4167vw);
  }
}
@media (min-width: 1440px) {
  #youtube img.movie-ame1:not(.content_bg) {
    width: 254px;
    top: -304px;
    left: calc(50% + 509px);
  }
  #youtube img.movie-milky1:not(.content_bg) {
    width: 289px;
    top: -239px;
    left: calc(50% - 510px);
  }
}

.follow-us .content-float.milky1 {
  width: 46.6667vw;
  top: -20.667vw;
  left: calc(50% - 31vw);
}
.follow-us .content-float.star1 {
  top: -6.5333vw;
  left: calc(50% + 24vw);
  animation: contentFloat2 3.5s ease-in-out infinite;
}
@media (min-width: 768px) {
  .follow-us .content-float.milky1 {
    width: 20.0833vw;
    top: -5.2778vw;
    left: calc(50% - 45.1389vw);
  }
  .follow-us .content-float.star1 {
    width: 9.0278vw;
    top: 3.2639vw;
    left: calc(50% + 38.9583vw);
  }
}
@media (min-width: 1440px) {
  .follow-us .content-float.milky1 {
    width: 300px;
    top: -76px;
    left: calc(50% - 650px);
  }
  .follow-us .content-float.star1 {
    width: 130px;
    top: 47px;
    left: calc(50% + 561px);
  }
}

@media not all and (min-width: 768px) {
  .movie .follow-us::before {
    top: 2.2vw;
  }
}