@charset "UTF-8";
@keyframes loop_circle {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes loop_circle2 {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes shootingStar-slide {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  15% {
    opacity: 0;
  }
  20% {
    transform: translateY(600px);
  }
  100% {
    opacity: 0;
    transform: translateY(600px);
  }
}
@keyframes shootingStar-slide-sp {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  15% {
    opacity: 0;
  }
  20% {
    transform: translateY(150px);
  }
  100% {
    opacity: 0;
    transform: translateY(150px);
  }
}
@keyframes loopTitle {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes down_animation {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateY(88px);
    opacity: 0;
  }
}
@keyframes down_animation-scale {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes top_logo {
  0% {
    transform: rotateY(400deg);
  }
  100% {
    transform: rotateY(0deg);
  }
}
@keyframes modal_fadein {
  0% {
    opacity: 0;
    transform: translateY(18px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes modal_fadein-line {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes modal_fadein-scale {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.p-movie__inner {
  margin: 0 auto;
  width: 90%;
  max-width: 1200px;
}
.p-movie__list {
  display: flex;
  flex-wrap: wrap;
  transform: translateY(18px);
  opacity: 0;
}
.is-load .p-movie__list {
  transform: translateY(0);
  opacity: 1;
  transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.8s cubic-bezier(0.33, 1, 0.68, 1);
  transition-delay: 0.4s;
}
.p-movie__list-item {
  width: 47.5%;
  margin-right: 5%;
  margin-bottom: 4.8%;
}
@media screen and (min-width: 900px) {
  .p-movie__list-item:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 899px) {
  .p-movie__list-item {
    margin-bottom: 5%;
    width: 100%;
    margin-right: 0;
  }
}
.p-movie__list-thumb {
  width: 100%;
  padding-top: 56%;
  position: relative;
  cursor: pointer;
  overflow: hidden;
}
.p-movie__list-thumb::before, .p-movie__list-thumb::after {
  content: "";
  width: 22%;
  padding-top: 22%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
}
.p-movie__list-thumb::before {
  background: url(../img/top/btn_play01.png) no-repeat center center;
  background-size: contain;
}
.is-load .p-movie__list-thumb::before {
  animation: loop_circle2 10s linear infinite;
}
.p-movie__list-thumb::after {
  background: url(../img/top/btn_play02.png) no-repeat center center;
  background-size: contain;
}
@media screen and (min-width: 900px) {
  .p-movie__list-thumb:hover .p-movie__list-thumb-img {
    transform: scale(1.05);
  }
  .p-movie__list-thumb:hover .p-movie__list-thumb-img::before {
    opacity: 0.5;
  }
}
.p-movie__list-thumb-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: transform 0.8s cubic-bezier(0.33, 1, 0.68, 1);
}
.p-movie__list-thumb-img::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #05143d;
  opacity: 0.3;
  transition: opacity 1s cubic-bezier(0.33, 1, 0.68, 1);
}
.p-movie__list-ttl {
  color: #fff;
  line-height: 1.6;
  margin-top: 19px;
  font-size: 16px;
  letter-spacing: 1px;
  font-family: YakuHanMP, "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", serif;
}
@media screen and (max-width: 899px) {
  .p-movie__list-ttl {
    font-size: 13px;
  }
}
.p-movie__pager {
  margin-top: 32px;
  transform: translateY(18px);
  opacity: 0;
}
.p-movie__pager.is-active {
  transform: translateY(0);
  opacity: 1;
  transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.8s cubic-bezier(0.33, 1, 0.68, 1);
}