@charset "utf-8";

@import "../../../common/css/base.css";

body {
  min-width: 960px;
  /* overflow: hidden; */
}

.noscript .js {
  display:none !important;
}
.wii .moviePlayer,
.noscript .moviePlayer,
.ds .moviePlayer,
.nonFP .moviePlayer,
.iphone .moviePlayer,
.android .moviePlayer {
  display:none;
}
.poster {
  display:none;
}
.noscript .poster,
.wii .poster,
.ds .poster,
.iphone .poster,
.android .poster,
.nonFP .poster {
  display:block !important;
}

img {
  width: 100%;
  height: auto;
}


/*-------------------------------------------------------------------------
  All
  /*-----------------------------------------------------------------------*/

  body {
  }

  .wrap {
    margin: 0 6.8%;
    position: relative;
  }
  #container {
    position: relative;
  }
  #container img {
    width: 100%;
    height: auto;
  }

  #ttl {
    position: relative;
    z-index: 1;
  }
  #ttl .threeds-logo {
    width: 13.13%;
    min-width: 95px;
    max-width: 189px;
    position: absolute;
    top: 28px;
    right: 28px;
    z-index: 10;
  }

  #main #switch-logo {
    width: 6.5%;
    padding-right: 1%;
    border-right: solid 2px #282828;
    position: absolute;
    top: 20px;
    right: 199px;
    z-index: 10;
  }
  #main #threeds-logo {
    width: 170px;
    position: absolute;
    top: 3.5%;
    right: 20px;
    z-index: 10;
  }

/*-------------------------------------------------------------------------
  Footer
  /*-----------------------------------------------------------------------*/
  #footer {
    margin-top: -1%;
    position: relative;
  }
  #footer .return {
    min-width: 107px;
    width: 7.43%;
    position: absolute;
    bottom: 106%;
    right: 1%;
    z-index: 2;
  }
  #footer .wrap {
    margin: 0 4.8%;
  }
  #footer #gnavi {
    position: relative;
  }
  #footer #gnavi ul {
    width: 100%;
    padding: 12% 2%;
    /* top: -50%; */
    z-index: 3;
    overflow: hidden;
    margin-top: -20%;
  }
  #footer #gnavi ul li {
    width: 13.79%;
    position: relative;
    float: left;
    margin-right: 0.8%;
  }
  #footer #gnavi ul li.btn {
    background: url(../img/navi/bg_off.png) no-repeat;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
  }
  #footer #gnavi ul li.btn:hover,
  #footer #gnavi ul li.btn.current {
    background: url(../img/navi/bg_on.png) no-repeat;
    -webkit-background-size: 100% auto;
    background-size: 100% auto;
  }
  #footer #gnavi ul li .txt {
    padding: 6% 0 9.4%;
    position: relative;
    z-index: 2;
  }
  #footer #gnavi ul li:nth-child(1) {
    margin: 0 auto;
    margin-top: -8%;
    z-index: 10;
  }
  #footer #gnavi ul li:nth-child(2) .txt {
    width: 60.27%;
    margin: 0 auto;
    margin-top: -39%;
  }
  #footer #gnavi ul li:nth-child(4) .txt {
    width: 86.53%;
    margin: 0 auto;
  }
  #footer #gnavi ul li .chr {
    display: none;
    position: absolute;
  }
  #footer #gnavi ul li:hover .chr,
  #footer #gnavi ul li.current .chr {
    margin: auto;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: -80%;
  }
  #footer #gnavi ul li:nth-child(2) .chr {
    width: 50.78%;
  }
  #footer #gnavi ul li:nth-child(3) .chr {
    width: 37.82%;
  }
  #footer #gnavi ul li:nth-child(4) .chr {
    width: 53.89%;
  }
  #footer #gnavi ul .top {
    width: 14.36%;
    background: none;
  }
  #footer #gnavi ul .pagetop {
    width: 9.29%;
    background: none;
  }
  #footer #links {
    padding: 28px 0 26px;
    position: relative;
    background-color: #fff;
    margin-top: -12.5%;
  }
  #footer .copyright {
    width: 11.13%;
    line-height: 1.8;
    letter-spacing: 0;
    position: absolute;
    top: 20px;
    right: 18%;
  }
  #footer .nlinks {
    margin-left: 4%;
  }
  #footer .nlinks li {
    float: left;
    margin-right: 1.55%;
  }

  #footer.innner .return {
    bottom: 84%;
    right: 1%;
  }
  #footer.innner #links {
    text-align: center;
  }
  #footer.innner .nlinks {
    margin: 0 auto;
  }
  #footer.innner .nlinks li {
    float: none;
    display: inline-block;
    margin-right: 2%;
  }
  #footer.innner .nlinks li:last-child {
    margin-right: 0;
  }
  #gnavi ul li:nth-of-type(1){
    margin-right: 2% !important;
    margin-left: 1% !important;
  }
  #gnavi ul li:nth-of-type(2) .bg,
  #gnavi ul li:nth-of-type(3) .bg,
  #gnavi ul li:nth-of-type(4) .bg,
  #gnavi ul li:nth-of-type(5) .bg,
  #gnavi ul li:nth-of-type(6) .bg {
    background: url(../img/navi/bg_off.png) no-repeat;
    display: block;
    background-size: contain;
  }
  #gnavi ul li:nth-of-type(2):hover .bg,
  #gnavi ul li:nth-of-type(3):hover .bg,
  #gnavi ul li:nth-of-type(4):hover .bg,
  #gnavi ul li:nth-of-type(5):hover .bg,
  #gnavi ul li:nth-of-type(6):hover .bg {
    background: url(../img/navi/bg_on.png) no-repeat;
    display: block;
    background-size: contain;
  }
  #gnavi ul li:nth-of-type(2) {
    margin-top: 1%;
  }
  #gnavi ul li:nth-of-type(2) .chara{
    position: absolute;
    margin-top: -76%;
    z-index: -1;
    width: 57%;
    margin-left: 21%;
  }
  #gnavi ul li:nth-of-type(2) .txt{
    background: url(../img/navi/02_off.png) no-repeat;
    display: block;
    background-size: contain;
    margin-top: -30%;
    width: 66%;
    margin-left: 16%;
  }
  #gnavi ul li:nth-of-type(2):hover .txt{
    background: url(../img/navi/02_on.png) no-repeat;
    display: block;
    background-size: contain;
  }
  #gnavi ul li:nth-child(2) .txt {
    width: 100% !important;
    margin: 0 auto;
  }
  #footer #gnavi ul li:nth-child(3){
    margin-top: 1%;
  }
  #footer #gnavi ul li:nth-of-type(3) .chara{
    position: absolute;
    margin-top: -75%;
    z-index: -1;
    width: 40%;
    margin-left: 26%;
  }
  #footer #gnavi ul li:nth-of-type(3) .txt{
    background: url(../img/navi/03_off.png) no-repeat;
    display: block;
    background-size: contain;
    margin-top: -31%;
    width: 60%;
    margin-left: 21%;
  }
  #footer #gnavi ul li:nth-child(3) .txt {
    width: 100% !important;
    margin: 0 auto;
    margin-top: -39% !important;
  }
  #footer #gnavi ul li:nth-of-type(3):hover .txt{
    background: url(../img/navi/03_on.png) no-repeat;
    display: block;
    background-size: contain;
  }
  #footer #gnavi ul li:nth-child(4){
    margin-top: 1%;
  }
  #footer #gnavi ul li:nth-of-type(4) .chara{
    position: absolute;
    margin-top: -75%;
    z-index: -1;
    width: 54%;
    margin-left: 27%;
  }
  #footer #gnavi ul li:nth-of-type(4) .txt{
    background: url(../img/navi/04_off.png) no-repeat;
    display: block;
    position: relative;
    pointer-events: none;
    background-size: contain;
    margin-top: -39%;
    width: 100%;
  }
  #footer #gnavi ul li:nth-of-type(4):hover .txt{
    background: url(../img/navi/04_on.png) no-repeat;
    display: block;
    background-size: contain;
  }
  #footer #footer #gnavi ul li:nth-child(4) .txt {
    margin-top: -34.9% !important;
  }
  #footer #gnavi ul li:nth-child(5){
    margin-top: 1%;
  }
  #footer #gnavi ul li:nth-of-type(5) .chara{
    position: absolute;
    margin-top: -87%;
    z-index: -1;
    width: 40%;
    margin-left: 28%;
  }
  #footer #gnavi ul li:nth-of-type(5) .txt{
    background: url(../img/navi/05_off.png) no-repeat;
    display: block;
    position: relative;
    pointer-events: none;
    background-size: contain;
    margin-top: -39%;
    width: 100%;
  }
  #footer #gnavi ul li:nth-of-type(5):hover .txt{
    background: url(../img/navi/05_on.png) no-repeat;
    display: block;
    background-size: contain;
  }
  #footer #footer #gnavi ul li:nth-child(5) .txt {
    margin-top: -34.9% !important;
  }
  #footer #gnavi ul li:nth-child(6){
    margin-top: 1%;
    margin-right: 0%;
  }
  #footer #gnavi ul li:nth-of-type(6) .chara{
    position: absolute;
    margin-top: -68%;
    z-index: -1;
    width: 40%;
    margin-left: 29%;
  }
  #footer #gnavi ul li:nth-of-type(6) .txt{
    background: url(../img/navi/06_off.png) no-repeat;
    display: block;
    position: relative;
    pointer-events: none;
    background-size: contain;
    margin-top: -39%;
    width: 100%;
  }
  #footer #gnavi ul li:nth-of-type(6):hover .txt{
    background: url(../img/navi/06_on.png) no-repeat;
    display: block;
    background-size: contain;
  }
  #footer #footer #gnavi ul li:nth-child(6) .txt {
    margin-top: -34.9% !important;
  }

  #footer #gnavi ul li:nth-child(7){
    width: 10%;
    margin-top: -1%;
  }
  @-webkit-keyframes hover-jump {
    0% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
      opacity: 0;
      z-index: 0!important;
    }
    10% {
      opacity: 1 !important;
    }
    50% {
      -webkit-transform: translateY(-60px);
      transform: translateY(-60px);
      opacity: 1 !important;
      z-index: 0 !important;
    }
    100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
      z-index: 1 !important;
    }
  }

  @keyframes hover-jump {
    0% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
      opacity: 0;
      z-index: 0 !important;
    }
    10% {
      opacity: 1 !important;
    }
    50% {
      -webkit-transform: translateY(-60px);
      transform: translateY(-60px);
      opacity: 1 !important;
      z-index: 0 !important;
    }
    100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
      z-index: 1 !important;
    }
  }
  #footer #gnavi ul li .chara{
    opacity: 0;
  }
  #footer #gnavi ul li:hover .chara{
    -webkit-animation-name: hover-jump;
    animation-name: hover-jump;
    -webkit-animation-duration: 600ms;
    animation-duration: 600ms;
    -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    opacity: 1;
    z-index: 1;
  }




  #sns {
    float: right;
    padding-right: 4%;
    display: flex;
  }
  #sns li {
    width: 60%;
    padding-right: 10%;
  }


/*-------------------------------------------------------------------------
  Modal
/*-----------------------------------------------------------------------*/
#modal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10200;
  display: none;
  overflow-y: auto;
  background:rgba(0, 0, 20, 0.75);
}
  #modal #modal-bg {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5;
  }
  #modal .close {
    width: 7%;
    position: absolute;
    top: 50px;
    right: -50px;
    z-index: 15;
  }
  #modal .box {
    width: 90%;
    max-width: 720px;
    margin: 0 auto;
    position: relative;
    z-index: 10;
    display: none;
  }
  #modal .box.video {
    padding: 15px;
    min-width: 780px;
  }
  #modal .box.active {
    display: block;
  }
  #modal .box.video .controller {
    margin-top: 100px;
  }
    #modal .box.video .controller ul {
      margin-left: 49%;
      margin-left: 49%;
    }
    #modal .box.video .controller li {
      display: inline-block;
      width: 26%;
      text-align: center;
      margin: 0 2%;
    }
      #modal .box.video .controller li a {
        position: relative;
        display: block;
      }
      #modal .box.video .controller li a .new {
        position: absolute;
        top: -10%;
        left: 7%;
        width: 35%;
      }
      #modal .box.video .controller li a .v-img {
        width: 106%;
        border:5px solid #ccc;
        display: block;
        margin: 0 auto 5px;
        border-radius: 8px;
      }
      #modal .box.video .controller li a.current .v-img {
        border-color: #f00000;
        border-radius: 8px;
      }
      #modal .box.video .controller li a:hover .v-img {
        border-color: #f00000;
        border-radius: 8px;
      }
      #modal .box.video .controller li a .v-txt {
        width: auto;
      }
      #modal .box.video .controller li a .v-txt.on {
        display: none;
      }
      #modal .box.video .controller li a.current .v-txt.off {
        display: none;
      }
      #modal .box.video .controller li a.current .v-txt.on {
        display: inline-block;
      }
      #modal .player {
        position: relative;
        padding-top: 57.25%;
        margin: 4% 0 4%;
        box-sizing: content-box;
      }
      #modal .player .title {
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 15;
        text-align: center;
      }
      #modal .pointer-none{
        pointer-events: none;
      }
        #modal .player .title img {
          width: auto;
        }
        #modal .player iframe {
          margin: auto;
          border: solid 10px #f00000;
          border-radius: 16px;
          position: absolute;
          top: 16%;
          right: 0;
          left: 0;
          width: 92%;
        }


  #modal .box .inner {
    background-color: rgba(0, 0, 0, .8);
    border-bottom-right-radius: 30px;
    border-bottom-left-radius: 30px;
    padding: 15px 0 5px;
  }
    #modal .box .carousel {
      display:none;
    }
    #modal .box .carousel.slick-initialized {
      display: block;
    }
    #modal .box .carousel p {
      text-align: center;
      color: #fff;
      font-size: 12px;
      font-weight: bold;
    }
    #modal .box .carousel li {
      padding: 10px 0;
    }

    #modal .box .carousel li .img {
      transition: .3s ease;
      transform: rotate(-6deg);
      -moz-transform: rotate(-6deg);
      -webkit-transform: rotate(-6deg);
      box-shadow: -5px 5px 8px #111;
      border: 5px solid #fff;
    }
    #modal .box .carousel li.slick-current .img {
      transform: rotate(6deg);
      -moz-transform: rotate(6deg);
      -webkit-transform: rotate(6deg);
    }

#modal .slick-prev, #modal .slick-next {
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100%;
  width: 60px;
  height: 60px;
  text-indent: -9999px;
  z-index: 10;
  transition: all .1s ease-out;
  top: 40%;
}
#modal ..slick-list {
  overflow-x: hidden;
  overflow-y: visible;
}
#modal .slick-next {
  background-image: url(../img/btn_right.png);
  right: 19.9%;
}
#modal .slick-prev {
  background-image: url(../img/btn_left.png);
  left: 20%;
}
#modal .slick-next:hover {
  right: 19.4%;
  width: 67px;
  height: 67px;
}
#modal .slick-prev:hover {
  left: 19.6%;
  width: 67px;
  height: 67px;
}
#modal .slick-disabled {
  display: none !important;
}
#modal .slick-slide {
  transition: .3s ease;
  transform: scale(.9);
  -moz-transform: scale(.9);
  -webkit-transform: scale(.9);
}
#modal .slick-current {
  transform: scale(.9);
  -moz-transform: scale(.9);
  -webkit-transform: scale(.9);
}


@keyframes bound {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  30% {
    -webkit-transform: translateY(-7px);
    transform: translateY(-7px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes float {
    0% { transform: translateY(0) }
    50% { transform: translateY(-10px) }
    100% { transform: translateY(0) }
  }

/*-------------------------------------------------------------------------
  Modaal
  /*-----------------------------------------------------------------------*/

.mfp-bg {
  background: url(../img/modal/bg.png) center;
}
  .mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
      height: 496px;
      width: 626px;
      margin: 0 auto;
      text-align: center;
      background: url(../img/modal/bg01.png) no-repeat;
      box-shadow: none;
  }
  .popup-modal-dismiss {
    width: 65px;
    height: 65px;
    position: absolute;
    top: -80px;
    right: -80px;
  }

  .mfp-content .title {
    height: 47px;
    width: 100%;
    margin-top: 30px;
    z-index: 15;
    text-align: center;
    position: relative;
  }
  .mfp-content .title img {
    width: auto;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .mfp-content iframe {
    margin: 22px auto 0;
    border: solid 10px #f00000;
    border-radius: 16px;
    width: 500px !important;
    height: 290px !important;
  }
  .mfp-content .txt {
    margin: 16px auto 0;
    text-align: center;
  }
  .mfp-content .txt img {
    width: auto;
  }
.gallery-arrow{
  position: absolute;
  top: 50%;
  margin-top: -15px;
  display: block;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  cursor: pointer;
}
.mfp-arrow-left{
  left: calc(50% - 440px);
}
.mfp-arrow-right{
  left: calc(50% + 304px);
}
.mfp-arrow-left::before{
  border: none;
}
.mfp-arrow-left::after{
  border: none;
  content: url(../img/modal/btn/prev_off.png);
}
.mfp-arrow-left:hover::after{
  border: none;
  content: url(../img/modal/btn/prev_on.png);
}
.mfp-arrow-right::before{
  border: none;
}
.mfp-arrow-right::after{
  border: none;
  content: url(../img/modal/btn/next_off.png);
}
.mfp-arrow-right:hover::after{
  border: none;
  content: url(../img/modal/btn/next_on.png);
}
button.mfp-close {
  display: none;
}
.mfp-first .mfp-arrow-left {
    display: none;
}
.mfp-last .mfp-arrow-right {
    display: none;
}

  @keyframes bound {
    0% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
    }
    30% {
      -webkit-transform: translateY(-7px);
      transform: translateY(-7px);
    }
    100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
    }
  }

  @keyframes float {
    0% { transform: translateY(0) }
    50% { transform: translateY(-10px) }
    100% { transform: translateY(0) }
  }

/*-------------------------------------------------------------------------
  Data movie
  /*-----------------------------------------------------------------------*/
  [data-movie] {

  }

  [data-movie] iframe {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
  }


/*-------------------------------------------------------------------------
  special
/*-----------------------------------------------------------------------*/
.special_navigation{
    position: relative;
    z-index: 10;
    width: 80%;
    margin-left: 10%;
    margin-top: 4%;
    z-index: 1;
}
.special_navigation ul li{
    float: left;
    width: 22%;
    margin-left: 1.5%;
}
.special_navigation ul{
    display: block;
    margin-left: 25%;
}
.special_navigation_bg{
    z-index: -1;
    margin-top: -2%;
    position: absolute;
    width: 100%;
}
