html, body {
  height: 100%; }

body {
  margin: 0;
  padding: 0;
  background: #FFF;
  font-family: sans-serif; }

p, h1, h2, h3, h4, h5, h6, ul, ol, dl, dt, dd, div, section, li, table, th, td, tr, form, iframe {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  vertical-align: bottom; }

li {
  list-style-type: none; }

img {
  vertical-align: bottom;
  width: 100%;
  height: auto; }

.pc_hidden {
  display: none; }

.sp_hidden {
  display: block; }

.ld-overlay {
  position: fixed;
  color: #CCC;
  font-size: 12px;
  letter-spacing: 0.4pt;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  /*text-indent: -9999px;*/
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #FFF;
  z-index: 1000;
  overflow: hidden; }

.loader,
.loader:before,
.loader:after {
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out; }

.loader {
  color: #c3a2be;
  font-size: 10px;
  margin: auto;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0) scale(0.5);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s; }

.loader:before,
.loader:after {
  content: '';
  position: absolute;
  top: 0; }

.loader:before {
  left: -3.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s; }

.loader:after {
  left: 3.5em; }

@-webkit-keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em; }
  40% {
    box-shadow: 0 2.5em 0 0; } }
@keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em; }
  40% {
    box-shadow: 0 2.5em 0 0; } }
#wrap {
  width: 100%;
  height: 100%;
  min-width: 1200px;
  position: relative;
  opacity: 0; }
  @media screen and (max-width: 820px) {
    #wrap {
      min-width: 100%;
      min-height: 100%; } }

#home {
  width: 100%;
  min-width: 1200px; }
  @media screen and (max-width: 820px) {
    #home {
      min-width: 100px; } }
  #home .home-inner {
    width: 100%;
    min-width: 1100px;
    position: relative; }
    @media screen and (max-width: 820px) {
      #home .home-inner {
        min-width: 100%; } }
  #home .banner-illust-sp {
    display: none; }
    @media screen and (max-width: 820px) {
      #home .banner-illust-sp {
        display: block; } }
  #home .home-kv-sp {
    display: none; }
    @media screen and (max-width: 820px) {
      #home .home-kv-sp {
        display: block; } }
  #home .home-kv {
    width: 100%;
    min-width: 1100px;
    height: calc(100vh - 77px);
    background: #000 url("../images/launch/kv/home_kv1.jpg") no-repeat center top;
    background-size: cover;
    display: flex;
    justify-content: space-between;
    position: relative;
    overflow: hidden; }
    @media screen and (max-width: 1100px) {
      #home .home-kv {
        height: calc(100vh - 77px); } }
    @media screen and (max-width: 820px) {
      #home .home-kv {
        display: none; } }
    #home .home-kv-l, #home .home-kv-r {
      width: 50%;
      height: 0%;
      text-indent: -9999px; }
      #home .home-kv-l img, #home .home-kv-r img {
        /*height: 100%;
        width: auto;*/ }
    #home .home-kv-l {
      background: url("../images/launch/kv/home_kv_l.png") no-repeat left top;
      background-attachment: scroll;
      background-size: auto calc(100vh - 77px); }
    #home .home-kv-r {
      background: url("../images/launch/kv/home_kv_r.png") no-repeat right top;
      background-attachment: scroll;
      background-size: auto calc(100vh - 77px); }
    #home .home-kv-logo, #home .home-kv-text {
      position: absolute;
      bottom: 1%;
      left: 50%;
      width: auto;
      height: 96%;
      margin-left: -48%;
      z-index: 1000; }
      #home .home-kv-logo img, #home .home-kv-text img {
        height: 100%;
        width: auto; }
    #home .home-kv .banner-illust {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 310px;
      z-index: 1010; }
      @media screen and (min-width: 1460px) {
        #home .home-kv .banner-illust {
          width: 400px; } }
      @media screen and (max-height: 720px) {
        #home .home-kv .banner-illust {
          width: 250px; } }
      #home .home-kv .banner-illust a {
        transition: all 0.2s; }
        #home .home-kv .banner-illust a:hover {
          opacity: 0.8; }

.home-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  /*height: 186px;*/
  height: 77px;
  background: #FFF;
  z-index: 999;
  /*@include mq() {
  	position: static;
  	min-width: 1000px;
  	padding: 20px 0;
  	height: auto;
  	background: url("../sp/images/common_bg.jpg");
  }*/ }
  .home-nav-inner {
    display: flex;
    justify-content: center;
    width: 1200px;
    padding: 15px 0;
    margin: 0 auto; }
    @media screen and (max-width: 820px) {
      .home-nav-inner {
        flex-direction: column-reverse;
        width: 100%;
        padding: 0;
        margin: 0; } }
  .home-nav-btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 1200px;
    margin: 0 auto; }
    @media screen and (max-width: 820px) {
      .home-nav-btns {
        width: 100%;
        padding: 20px;
        margin: 0; } }
    .home-nav-btns a {
      transition: all .2s; }
      .home-nav-btns a:hover {
        opacity: 0.6; }
  .home-nav-bddvd {
    width: 260px;
    margin-right: 8px; }
  .home-nav-primevideo {
    width: 240px;
    margin-right: 8px; }
  .home-nav-about {
    width: 231px;
    margin-right: 8px;
    margin-bottom: 5px; }
  .home-nav-twitter, .home-nav-instagram {
    width: 50px; }
    .home-nav-twitter a, .home-nav-instagram a {
      display: block;
      width: 100%;
      height: 47px;
      text-decoration: none;
      text-indent: -9999px;
      background: url("../images/launch/footer_nav/footer_nav_snsbtns2.png") no-repeat left top;
      background-size: 100px 47px; }
  .home-nav-instagram {
    width: 50px; }
    .home-nav-instagram a {
      background-position: right top;
      background-size: 100px 47px; }
  .home-nav-instagram {
    width: 50px; }
  .home-nav-comment, .home-nav-trailer {
    width: 100px;
    margin-right: 8px;
    margin-bottom: 12px; }
  .home-nav-theaters {
    width: 100px;
    margin-right: 8px; }
  .home-nav-bnr {
    width: 100%;
    display: flex; }
    .home-nav-bnr-mvtk {
      margin-right: 5px; }
    .home-nav-bnr-mjr {
      margin-left: 5px; }
  .home-nav-mvtk {
    width: 721px; }
    @media screen and (max-width: 820px) {
      .home-nav-mvtk {
        width: 100%;
        text-align: center; } }
    @media screen and (max-width: 820px) {
      .home-nav-mvtk #mvtk-widgets-container {
        margin: 0 auto; } }

#sidebar {
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  /*width: 31.7%;*/
  /*width: 36.2%;*/
  width: 27%;
  background: url("../images/launch/gnav_bg2.png") no-repeat right top;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 999; }

#sidebar .snsbtns {
  width: 60px;
  margin: 0 0 0 auto; }

#sidebar .snsbtns li {
  width: 100%; }

#sidebar .snsbtns li:first-child {
  margin-bottom: 5px; }

#sidebar .btns {
  width: 230px;
  margin: auto auto auto 18%; }

#sidebar .btns li {
  margin: 30px 0; }

#sidebar .koukai {
  width: 230px;
  margin: 0 auto 460px 18%; }

.tickets {
  width: 33.8%;
  position: fixed;
  bottom: 0px;
  right: 0px;
  padding-bottom: 20px;
  text-align: center;
  z-index: 1000; }

.tickets .bnrs {
  width: 342px;
  margin: 10px auto 0;
  display: flex;
  justify-content: space-between; }

.tickets .bnrs li {
  width: 167px; }

.tickets .bnrs li img {
  vertical-align: bottom; }

.tickets .mvtk-widget {
  width: 342px;
  margin: 0 auto;
  height: 337px; }

/* Tickets Layout2 */
.tickets2 {
  width: 260px;
  position: absolute;
  top: 0px;
  left: 0px;
  text-align: center;
  background: #000;
  padding: 20px;
  z-index: 1000; }

.tickets2 .bnrs {
  width: 100%;
  margin: 10px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.tickets2 .bnrs li {
  width: 100%; }

.tickets2 .bnrs li:first-child {
  margin-bottom: 20px; }

.tickets2 .bnrs li img {
  vertical-align: bottom; }

.tickets2 .mvtk-widget {
  width: 100%;
  margin: 0 auto 20px;
  height: auto; }

.home-catch1,
.home-logo,
.home-billing {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0; }

.banner-illust,
.home-catch1,
.home-logo,
.home-kv-logo,
.home-kv-text,
.home-billing,
.bnrs,
.mvtk-widget,
#site-title,
#sidebar .snsbtns,
#sidebar .btns li,
#sidebar .koukai,
#sidebar .scroll-arrow {
  opacity: 0; }

ul#trailer-btns {
  margin: 10px;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap; }

#trailer-btns li {
  width: 25%;
  box-sizing: border-box;
  padding-bottom: 10px;
  padding-right: 10px; }

/*#trailer-btns li:nth-child(2n) {
	padding-left: 5px;
}
#trailer-btns li:nth-child(2n+1) {
	padding-right: 5px;
}*/
#trailer-btns li span {
  display: block;
  letter-spacing: 0.6pt;
  background: #CCC;
  line-height: 36px;
  text-align: center;
  font-size: 14px;
  color: #2a2824;
  border: solid 1px #CCC !important;
  border-radius: 30px;
  cursor: pointer; }

#trailer-btns li span:hover {
  background: #FFF;
  border: solid 1px #FFF !important; }

#trailer-btns li span.current {
  background: #e60038 !important;
  color: #FFF !important;
  border: solid 1px #e60038 !important;
  cursor: default !important; }

#trailer-btns li span.current:hover {
  background: #e60038;
  border: solid 1px #e60038 !important; }

.trailer-sp ul#trailer-sp-btns {
  margin: 10px 0 0;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap; }

.trailer-sp li {
  width: 50%;
  box-sizing: border-box;
  padding-bottom: 10px; }

.trailer-sp li:nth-child(2n) {
  padding-left: 5px; }

.trailer-sp li:nth-child(2n+1) {
  padding-right: 5px; }

.trailer-sp li span {
  display: block;
  letter-spacing: 0.6pt;
  background: #FFF;
  line-height: 36px;
  text-align: center;
  font-size: 14px;
  color: #2a2824;
  border: solid 1px #d1c1a8 !important;
  border-radius: 30px;
  cursor: pointer; }

.trailer-sp li span.current {
  background: #e60038 !important;
  color: #FFF !important;
  border: solid 1px #e60038 !important;
  cursor: default !important; }

@media screen and (max-width: 820px) {
  body {
    background: #FFF; }

  .pc_hidden {
    display: block; }

  .sp_hidden {
    display: none; }

  #wrap {
    height: auto;
    min-height: auto;
    max-height: auto;
    min-width: 0; }

  #home {
    width: 100%;
    background: none;
    margin: 0; }

  #site-title {
    width: 90%;
    padding: 0;
    margin: auto auto 10px; }

  .koukai {
    width: 26%;
    position: relative;
    left: auto;
    bottom: auto;
    margin: 0 20px 20px auto;
    z-index: 2; }

  .tickets {
    width: 100%;
    position: static;
    padding: 0 20px 20px;
    background: url("../sp/images/common_bg.jpg") repeat-y left bottom;
    background-size: 100% auto;
    text-align: center; }

  .tickets .bnrs {
    width: 100%;
    margin: 0 auto; }

  .tickets .mvtk-widget {
    width: 100%;
    margin: 0 auto 20px;
    text-align: center; }

  .tickets .mvtk-widget #mvtk-widgets-container {
    margin: 0 auto; }

  .tickets .bnrs {
    justify-content: center; }

  .tickets .bnrs li:first-child {
    padding-right: 5px; }

  .tickets .bnrs li:last-child {
    padding-left: 5px; }

  .tickets .mvtk-widget {
    margin-bottom: 10px; }

  .trailer-sp {
    padding: 0 20px 20px;
    background: url(../sp/images/trailer_bg.jpg) no-repeat left bottom;
    background-size: 100% auto;
    margin-bottom: 10px; }

  .trailer-sp iframe {
    width: 100%;
    height: 52vw; }

  .snsbtns {
    display: flex;
    flex-wrap: wrap;
    width: 152px;
    margin: 0 auto; }

  .btn-twitter,
  .btn-instagram {
    width: 76px; }

  .btn-twitter a {
    display: block;
    position: relative;
    width: 100%;
    transition: all 0.4s; }

  .homebtns-sp {
    width: 100%;
    padding: 0 12%;
    margin: 0; }

  .homebtns-sp .homebtns-theater {
    width: 100%;
    margin: 0 0 15px; }

  .homebtns-sp .homebtns-comment {
    width: 100%;
    margin: 0 0 40px; }

  .homebtns-sp li a {
    width: 100%;
    display: block;
    border: solid 2px #d1c1a8;
    text-decoration: none;
    color: #2a2824;
    border-radius: 30px;
    text-align: center;
    font-size: 18px;
    line-height: 2.3em; }

  #intro {
    width: 100%; }

  .billing {
    width: 100%;
    margin: 0;
    padding: 0; }

  #comments-sp {
    background: #FFF;
    padding: 20px; }

  #comments-sp dl {
    margin: 0 0 30px;
    font-size: 14px;
    line-height: 1.4em;
    letter-spacing: 0.4pt; }

  #comments-sp dt {
    display: inline-block;
    background: #000;
    padding: 0 5px;
    line-height: 1.4em;
    color: #FFF;
    margin-bottom: 15px; }

  #comments-sp dt span {
    color: #df0050;
    margin: 0 7px; } }
.is_loaded .home-kv-logo {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.is_loaded .home-kv-l {
  -webkit-animation-name: scaleVerticalLeft;
  animation-name: scaleVerticalLeft;
  -webkit-animation-duration: 0.54s;
  animation-duration: 0.54s;
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.is_loaded .home-kv-r {
  -webkit-animation-name: scaleVerticalRight;
  animation-name: scaleVerticalRight;
  -webkit-animation-duration: 0.54s;
  animation-duration: 0.54s;
  -webkit-animation-delay: 0.82s;
  animation-delay: 0.82s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.is_loaded .home-catch1,
.is_loaded .home-kv-text,
.is_loaded .home-billing,
.is_loaded .banner-illust {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.is_loaded .snsbtns {
  -webkit-animation-name: moveLeft;
  animation-name: moveLeft;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.is_loaded .btns .btns-trailer {
  -webkit-animation-name: moveLeft;
  animation-name: moveLeft;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.is_loaded .btns .btns-theaters {
  -webkit-animation-name: moveLeft;
  animation-name: moveLeft;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.is_loaded .btns .btns-comment {
  -webkit-animation-name: moveLeft;
  animation-name: moveLeft;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.is_loaded .btns .btns-intro {
  -webkit-animation-name: moveLeft;
  animation-name: moveLeft;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.is_loaded .koukai,
.is_loaded .bnrs,
.is_loaded .mvtk-widget {
  -webkit-animation-name: moveLeft;
  animation-name: moveLeft;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.is_loaded .scroll-arrow {
  -webkit-animation-name: moveBottom;
  animation-name: moveBottom;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.is_loaded .copyright {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

@-webkit-keyframes scaleVerticalLeft {
  from {
    transform: translateY(-40px);
    opacity: 0;
    height: 0%; }
  to {
    transform: translateY(0px);
    opacity: 1;
    height: 100%; } }
@-webkit-keyframes scaleVerticalRight {
  from {
    transform: translateY(-40px);
    height: 0%; }
  to {
    transform: translateY(0px);
    height: 100%; } }
@-webkit-keyframes scaleLeft {
  from {
    width: 100%; }
  to {
    width: 0; } }
@keyframes scaleLeft {
  from {
    width: 100%; }
  to {
    width: 0; } }
@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@-webkit-keyframes moveLeft {
  from {
    transform: translateX(40px);
    opacity: 0; }
  to {
    transform: translateX(0px);
    opacity: 1; } }
@keyframes moveLeft {
  from {
    transform: translateX(40px);
    opacity: 0; }
  to {
    transform: translateX(0px);
    opacity: 1; } }
@-webkit-keyframes moveBottom {
  from {
    transform: translateY(-40px);
    opacity: 0; }
  to {
    transform: translateY(0px);
    opacity: 1; } }
@keyframes moveBottom {
  from {
    transform: translateY(-40px);
    opacity: 0; }
  to {
    transform: translateY(0px);
    opacity: 1; } }
.fadein {
  opacity: 0;
  transform: translateY(40px);
  transition: all 1.6s; }

.fadeinLeft {
  opacity: 0;
  transform: translateY(40px) translateX(-40px);
  transition: all 1.6s; }

.fadeinRight {
  opacity: 0;
  transform: translateY(40px) translateX(40px);
  transition: all 1.6s; }