@charset "UTF-8";
.p-top {
  position: relative;
}

.p-top__wrap {
  position: relative;
}

@media screen and (min-width: 901px) {
  .p-top__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    padding-bottom: 99px;
    max-width: 2135px;
  }
}

.p-top__main {
  position: relative;
}

@media screen and (min-width: 901px) {
  .p-top__main {
    width: 100%;
  }
}

.p-top__mv {
  position: relative;
}

.p-top__img {
  position: relative;
}

.p-top__img img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  opacity: 1;
}

.is-load .p-top__img img {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  opacity: 1;
  -webkit-transition: opacity 3s ease 0s, -webkit-transform 3s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  transition: opacity 3s ease 0s, -webkit-transform 3s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  transition: opacity 3s ease 0s, transform 3s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  transition: opacity 3s ease 0s, transform 3s cubic-bezier(0.25, 1, 0.5, 1) 0s, -webkit-transform 3s cubic-bezier(0.25, 1, 0.5, 1) 0s;
}

.p-top__img-slide {
  position: absolute;
  top: 0;
  left: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  opacity: 0 !important;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}

.p-top__img-slide:first-child {
  position: relative;
}

.is-load .p-top__img-slide {
  -webkit-transition: opacity 0.5s ease 0s !important;
  transition: opacity 0.5s ease 0s !important;
}

.p-top__img-slide--active {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  opacity: 1 !important;
}

.p-top__img-slide img {
  width: 100%;
}

.p-top__img-slide-inner {
  position: relative;
}

@media screen and (min-width: 901px) {
  .p-top__img-slide-inner--1::after {
    position: absolute;
    top: 0;
    left: 0;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(25%, rgba(255, 255, 255, 0.57)), to(rgba(255, 255, 255, 0))) left 50% top;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.57) 25%, rgba(255, 255, 255, 0) 100%) left 50% top;
    padding-top: 21%;
    width: 100%;
    content: '';
  }
}

.p-top__img-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 100%;
  left: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 1;
  padding-left: 230px;
  height: 61px;
}

@media screen and (max-width: 900px) {
  .p-top__img-pagination {
    display: none;
  }
}

@media screen and (min-width: 901px) and (max-width: 1100px) {
  .p-top__img-pagination {
    padding-left: 180px;
  }
}

.p-top__img-pagination::before {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
  padding-left: 42px;
  width: 230px;
  font-family: termina, YakuHanJP_Noto, "Noto Sans JP", "游ゴシック", YuGothic, "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.17em;
  line-height: 1;
  content: "KEY VISUAL";
}

@media screen and (max-width: 1100px) {
  .p-top__img-pagination::before {
    width: 180px;
  }
}

.p-top__img-pagination-bullet {
  display: block;
  position: relative;
  cursor: pointer;
  background-color: #000;
  width: 25px;
  height: 1px;
}

.p-top__img-pagination-bullet + .p-top__img-pagination-bullet {
  margin-left: 10px;
}

.p-top__img-pagination-bullet--active {
  background-color: #00a0ff;
}

.p-top__img-pagination-bullet::before {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
  width: 100%;
  height: 20px;
  content: "";
}

.p-top__catch {
  position: absolute;
  -webkit-transform: translate(0%, -3%);
      -ms-transform: translate(0%, -3%);
          transform: translate(0%, -3%);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  opacity: 0;
}

.is-load .p-top__catch {
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  opacity: 1;
  -webkit-transition: opacity 1.2s ease 0.7s, -webkit-transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 0.7s;
  transition: opacity 1.2s ease 0.7s, -webkit-transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 0.7s;
  transition: opacity 1.2s ease 0.7s, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 0.7s;
  transition: opacity 1.2s ease 0.7s, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 0.7s, -webkit-transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 0.7s;
}

@media screen and (max-width: 900px) {
  .p-top__catch--1 {
    top: 17.6%;
    right: 4%;
    width: 5.85%;
  }
  .p-top__catch--2 {
    top: 10%;
    left: 3.8%;
    width: 5.07%;
  }
  .p-top__catch--3 {
    top: 16.2%;
    left: 3.3%;
    width: 6.93%;
  }
}

.p-top__logo-wrap {
  position: relative;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  opacity: 1;
  -webkit-transition: opacity 0.5s ease 0s;
  transition: opacity 0.5s ease 0s;
  margin: -21.7% auto 0;
}

.is-left-top .p-top__logo-wrap {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  opacity: 0;
}

@media screen and (min-width: 901px) {
  .p-top__logo-wrap {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    width: 100%;
    height: 100%;
  }
}

.p-top__logo {
  position: relative;
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  opacity: 0;
  width: 90.8%;
}

.is-load .p-top__logo {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  opacity: 1;
  -webkit-transition: opacity 1.7s ease 0.5s, -webkit-transform 1.7s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
  transition: opacity 1.7s ease 0.5s, -webkit-transform 1.7s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
  transition: opacity 1.7s ease 0.5s, transform 1.7s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
  transition: opacity 1.7s ease 0.5s, transform 1.7s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, -webkit-transform 1.7s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
}

@media screen and (max-width: 900px) {
  .p-top__logo {
    left: -0.8%;
    margin: 0 auto;
  }
}

@media screen and (min-width: 901px) {
  .p-top__logo {
    position: absolute;
    right: 0;
    bottom: 0;
    left: -1.2%;
    margin: 0 auto 17.95%;
    width: 42.9%;
  }
}

.p-top__onair {
  position: relative;
  margin: 4px auto 0;
  max-width: 317px;
}

@media screen and (max-width: 900px) {
  .p-top__onair {
    -webkit-transform: translate(0, 0px);
        -ms-transform: translate(0, 0px);
            transform: translate(0, 0px);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    opacity: 0;
  }
  .is-load .p-top__onair {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    opacity: 1;
    -webkit-transition: opacity 1.2s ease 1.2s, -webkit-transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.2s;
    transition: opacity 1.2s ease 1.2s, -webkit-transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.2s;
    transition: opacity 1.2s ease 1.2s, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.2s;
    transition: opacity 1.2s ease 1.2s, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.2s, -webkit-transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.2s;
  }
}

@media screen and (min-width: 901px) {
  .p-top__onair {
    -webkit-transform: translate(-5%, 0);
        -ms-transform: translate(-5%, 0);
            transform: translate(-5%, 0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    opacity: 0;
  }
  .is-load .p-top__onair {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    opacity: 1;
    -webkit-transition: opacity 1.2s ease 1.2s, -webkit-transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.2s;
    transition: opacity 1.2s ease 1.2s, -webkit-transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.2s;
    transition: opacity 1.2s ease 1.2s, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.2s;
    transition: opacity 1.2s ease 1.2s, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.2s, -webkit-transform 1.2s cubic-bezier(0.25, 1, 0.5, 1) 1.2s;
  }
}

@media screen and (min-width: 901px) {
  .p-top__onair {
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 17%;
    width: 28.2%;
    max-width: 846px;
  }
}

.p-news {
  position: relative;
  margin: 34px 0 0 30px;
  background-color: #000;
  padding: 27px 20px 22px 23px;
  color: #fff;
}

@media screen and (min-width: 901px) {
  .p-news {
    margin: -6.5% 0 0 auto;
    padding: 37px 35px 33px 49px;
    width: 53.05%;
  }
}

@media screen and (min-width: 901px) {
  .p-news::before {
    position: absolute;
    top: 0;
    right: -200px;
    background-color: #000;
    width: 201px;
    height: 100%;
    content: "";
  }
}

.p-news__main {
  position: relative;
}

.p-news__cap {
  font-family: termina, YakuHanJP_Noto, "Noto Sans JP", "游ゴシック", YuGothic, "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.22em;
  line-height: 1;
  text-align: left;
}

.p-news__list {
  position: relative;
  margin-top: 23px;
}

@media screen and (min-width: 901px) {
  .p-news__list {
    margin-top: 26px;
    min-height: 80px;
  }
}

.p-news__item {
  position: relative;
  text-align: left;
}

.p-news__item + .p-news__item {
  margin-top: 12px;
}

@media screen and (min-width: 901px) {
  .p-news__item + .p-news__item {
    margin-top: 9px;
  }
}

.p-news__link {
  display: block;
  position: relative;
  color: #fff;
}

.p-news__inner {
  position: relative;
}

@media screen and (min-width: 901px) {
  .p-news__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-news__date {
  font-family: "Inter", YakuHanJP_Noto, "Noto Sans JP", "游ゴシック", YuGothic, "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Arial, sans-serif;
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1;
}

@media screen and (max-width: 900px) {
  .p-news__date {
    margin-bottom: 7px;
  }
}

@media screen and (min-width: 901px) {
  .p-news__date {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    padding-top: 2px;
    width: 89px;
    font-size: 11px;
    letter-spacing: 0.05em;
    line-height: 1;
  }
}

.p-news__title {
  font-size: 10px;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

@media screen and (min-width: 901px) {
  .p-news__title {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    display: -webkit-box;
    -webkit-transition: color 0.5s ease 0s;
    transition: color 0.5s ease 0s;
    max-height: 1.75em;
    overflow: hidden;
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 1.75;
  }
  .p-news__link:hover .p-news__title {
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    color: #00a0ff;
  }
}

.p-news__more {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0 2px 0 38px;
  color: #fff;
  font-family: termina, YakuHanJP_Noto, "Noto Sans JP", "游ゴシック", YuGothic, "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.22em;
  line-height: 1.5;
}

@media screen and (min-width: 901px) {
  .p-news__more {
    padding: 0 1px 0 43px;
    font-size: 10px;
    letter-spacing: 0.35em;
    line-height: 1.5;
  }
}

.p-news__more::after {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -2px;
  background-color: #fff;
  width: 30px;
  height: 1px;
  content: "";
}

@media screen and (min-width: 901px) {
  .p-news__more::after {
    -webkit-transition: width 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s, background-color 0.5s ease 0s;
    transition: width 0.5s cubic-bezier(0.25, 1, 0.5, 1) 0s, background-color 0.5s ease 0s;
    width: 30%;
  }
}

@media screen and (min-width: 901px) {
  .p-news__more:hover::after {
    background-color: #00a0ff;
    width: 98%;
  }
}

.p-movie {
  position: relative;
  margin-top: 40px;
  background-color: #000;
  color: #fff;
}

@media screen and (min-width: 901px) {
  .p-movie {
    margin-top: 0;
  }
}

@media screen and (min-width: 901px) {
  .p-movie::before {
    position: absolute;
    top: 0;
    right: -200px;
    background-color: #000;
    width: 201px;
    height: 100%;
    content: "";
  }
}

.p-movie__main {
  position: relative;
}

@media screen and (min-width: 901px) {
  .p-movie__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 901px) {
  .p-movie__catch {
    width: 46.95%;
  }
}

.p-movie__trailer {
  position: relative;
  padding: 40px 0 56px 50px;
}

@media screen and (min-width: 901px) {
  .p-movie__trailer {
    padding: 0;
    width: 53.05%;
  }
}

@media screen and (min-width: 901px) {
  .p-movie__head {
    position: relative;
    padding-top: 11.7%;
  }
}

@media screen and (min-width: 901px) {
  .p-movie__head-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 7.25%;
    width: 100%;
    height: 100%;
  }
}

.p-movie__cap {
  font-family: termina, YakuHanJP_Noto, "Noto Sans JP", "游ゴシック", YuGothic, "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Arial, sans-serif;
  font-size: 10px;
  font-weight: normal;
  letter-spacing: 0.17em;
  line-height: 1;
}

@media screen and (max-width: 900px) {
  .p-movie__cap {
    position: absolute;
    top: 30px;
    left: 20px;
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
            transform-origin: left bottom;
  }
}

@media screen and (min-width: 901px) {
  .p-movie__cap {
    padding-top: 3px;
    font-size: 14px;
    letter-spacing: 0.2em;
    line-height: 1;
  }
}

.p-movie__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 57px;
  padding-top: 1px;
  font-family: "Inter", YakuHanJP_Noto, "Noto Sans JP", "游ゴシック", YuGothic, "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  letter-spacing: normal;
  line-height: 1;
}

@media screen and (max-width: 900px) {
  .p-movie__num {
    display: none;
  }
}

.p-movie__current {
  min-width: 1em;
  color: #00a0ff;
  text-align: left;
}

.p-movie__border {
  margin: 0 13px 0 7px;
  background-color: #fff;
  width: 50px;
  height: 1px;
}

.p-movie__body {
  overflow: hidden;
}

@media screen and (min-width: 901px) {
  .p-movie__body {
    margin-right: -200px;
    padding-right: 200px;
  }
}

.p-movie__slider {
  position: relative;
}

.p-movie__slide-wrap {
  font-size: 0;
  letter-spacing: -0.4em;
  white-space: nowrap;
}

.p-movie__slide-wrap > * {
  font-size: 16px;
  letter-spacing: normal;
}

.p-movie__slide {
  display: inline-block;
  width: 100%;
}

@media screen and (min-width: 901px) {
  .p-movie__slide {
    width: 67.6%;
  }
}

.p-movie__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 32px;
}

@media screen and (min-width: 901px) {
  .p-movie__pagination {
    display: none;
  }
}

.p-movie__pagination-bullet {
  display: block;
  position: relative;
  cursor: pointer;
  background-color: #fff;
  width: 25px;
  height: 1px;
}

.p-movie__pagination-bullet + .p-movie__pagination-bullet {
  margin-left: 10px;
}

.p-movie__pagination-bullet--active {
  background-color: #00a0ff;
}

.p-movie__pagination-bullet::before {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
  width: 100%;
  height: 20px;
  content: "";
}

.p-movie__btn {
  position: absolute;
  top: 50%;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  opacity: 0;
  -webkit-transition: opacity 0.3s ease 0s;
  transition: opacity 0.3s ease 0s;
  cursor: pointer;
  margin-top: -50px;
  width: 100px;
}

@media screen and (min-width: 901px) {
  .p-movie__slider:hover .p-movie__btn {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    opacity: 1;
  }
}

.p-movie__btn--prev {
  display: none;
  left: 27px;
}

.p-movie__btn--prev img {
  -webkit-transform: translate(0px, 0px);
      -ms-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  transition: -webkit-transform 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0s, -webkit-transform 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0s;
}

@media screen and (min-width: 901px) {
  .p-movie__btn--prev img:hover {
    -webkit-transform: translate(-5px, 0px);
        -ms-transform: translate(-5px, 0px);
            transform: translate(-5px, 0px);
    -webkit-transition-duration: 0.7s;
            transition-duration: 0.7s;
  }
}

.p-movie__btn--next {
  right: 27px;
}

.p-movie__btn--next img {
  -webkit-transform: translate(0px, 0px);
      -ms-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  transition: -webkit-transform 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0s;
  transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0s, -webkit-transform 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0s;
}

@media screen and (min-width: 901px) {
  .p-movie__btn--next img:hover {
    -webkit-transform: translate(5px, 0px);
        -ms-transform: translate(5px, 0px);
            transform: translate(5px, 0px);
    -webkit-transition-duration: 0.7s;
            transition-duration: 0.7s;
  }
}
