@charset "UTF-8";

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q,
blockquote {
  quotes: none;
}

q:before,
q:after,
blockquote:before,
blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

body {
  overflow-x: hidden;
  font-family: "\6E38\30B4\30B7\30C3\30AF\4F53", YuGothic, "\6E38\30B4\30B7\30C3\30AF   Medium", "Yu Gothic Medium", "\6E38\30B4\30B7\30C3\30AF", "Yu Gothic", "\30E1\30A4\30EA\30AA", sans-serif;
  -webkit-text-size-adjust: 100%;
}

section {
  position: relative;
}

canvas {
  pointer-events: none;
}

.wrapper {
  width: 1024px;
  position: relative;
  margin: auto;
}

.disp-none {
  display: none;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}

main {
  display: block;
}

a {
  cursor: pointer;
  outline: none;
}

.hide-text {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  height: 0;
  display: inline-block;
}

.fancybox-slide--iframe .fancybox-content {
    margin-top: 5vw;
  }

.fancybox-close-small {
  display: none !important;
}

.close-btn:after {
    display: block;
    background: url(../../resources/img/common/modal_close_7fd186f2ecc4e764f54818d38416582d.png) center top no-repeat;
    background-size: contain;
    width: 5vw;
    height: 5vw;
    content: "";
    position: absolute;
    right: 0;
    min-width: auto;
    top: -5vw;
    pointer-events: none;
  }

.shadow,
.frame,
.black,
.star {
  position: absolute;
  top: 0;
  left: 0;
}

.black,
.star {
  pointer-events: none;
}

.star {
  z-index: 25;
}

.black {
  z-index: 20;
}

.frame {
  z-index: 15;
}

.shadow {
  z-index: 5;
}

.visual {
  position: relative;
  z-index: 10;
}

.light-frame .text {
    position: relative;
    z-index: 5;
    opacity: 0;
    -webkit-transition: opacity 0.8s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    transition: opacity 0.8s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  }

.light-frame .text.run {
      opacity: 1;
    }

.light-frame .black.hide {
      -webkit-transition: opacity 0.8s cubic-bezier(0.445, 0.05, 0.55, 0.95);
      transition: opacity 0.8s cubic-bezier(0.445, 0.05, 0.55, 0.95);
      opacity: 0;
    }

.light-frame canvas {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 15;
  }

.to-mt-btn,
.to-top-btn {
  opacity: 0;
  position: fixed;
  z-index: 98;
  pointer-events: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.to-mt-btn.show, .to-top-btn.show {
    opacity: 1;
    pointer-events: auto;
  }

.to-mt-btn {
  background: url(../../resources/img/common/to_mt_btn_b8981d1743804d224aa719c530d1f83f.png) no-repeat;
  width: 120px;
  height: 188px;

  bottom: 122px;
  right: 0;
}

.to-top-btn {
  background: url(../../resources/img/common/to_top_btn_e07f1ac28ab13430668b0f511c2fe926.png) no-repeat;
  width: 91px;
  height: 75px;

  bottom: 25px;
  right: 0;
}

.rotate-right {
  -webkit-transform: rotate(-15deg);
          transform: rotate(-15deg);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
  opacity: 0;
  -webkit-transition: 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.rotate-right.run {
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1;
  }

.rotate-left {
  -webkit-transform: rotate(15deg);
          transform: rotate(15deg);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  opacity: 0;
  -webkit-transition: 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.rotate-left.run {
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1;
  }

.rotate-up-right {
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
  -webkit-transform-origin: top right;
          transform-origin: top right;
  opacity: 0;
  -webkit-transition: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.rotate-up-right.run {
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1;
  }

.rotate-up-left {
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
  -webkit-transform-origin: top left;
          transform-origin: top left;
  opacity: 0;
  -webkit-transition: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.rotate-up-left.run {
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1;
  }

.slide-left {
  -webkit-transform: translateX(-50px);
          transform: translateX(-50px);
  opacity: 0;
  -webkit-transition: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.slide-left.run {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }

.slide-right {
  -webkit-transform: translateX(50px);
          transform: translateX(50px);
  opacity: 0;
  -webkit-transition: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.slide-right.run {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }

.slide-up {
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  opacity: 0;
  -webkit-transition: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.slide-up.run {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }

.fade-in {
  opacity: 0;
  -webkit-transition: 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.fade-in.run {
    opacity: 1;
  }

.fade-out {
  opacity: 1;
  -webkit-transition: 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.fade-out.run {
    opacity: 0;
  }

.shadow-drop {
  top: 0;
  left: 11px;
  opacity: 0;
  -webkit-transform: translate3d(-11px, -6px, 0);
          transform: translate3d(-11px, -6px, 0);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: -webkit-transform 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: transform 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: transform 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95), -webkit-transform 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.shadow-drop.show {
    opacity: 1;
  }

.shadow-drop.run {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }

@-webkit-keyframes swingAnimation {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }

  1% {
    -webkit-transform: translate(-5px, -3px) rotate(2deg);
            transform: translate(-5px, -3px) rotate(2deg);
  }

  2% {
    -webkit-transform: translate(5px, -3px) rotate(-2deg);
            transform: translate(5px, -3px) rotate(-2deg);
  }

  3% {
    -webkit-transform: translate(-5px, 3px) rotate(2deg);
            transform: translate(-5px, 3px) rotate(2deg);
  }

  4% {
    -webkit-transform: translate(-5px, -3px) rotate(-2deg);
            transform: translate(-5px, -3px) rotate(-2deg);
  }

  5% {
    -webkit-transform: translate(5px, -3px) rotate(2deg);
            transform: translate(5px, -3px) rotate(2deg);
  }

  6% {
    -webkit-transform: translate(-5px, 3px) rotate(-2deg);
            transform: translate(-5px, 3px) rotate(-2deg);
  }

  7% {
    -webkit-transform: translate(5px, 3px) rotate(2deg);
            transform: translate(5px, 3px) rotate(2deg);
  }

  8% {
    -webkit-transform: translate(-5px, -3px) rotate(-2deg);
            transform: translate(-5px, -3px) rotate(-2deg);
  }

  9% {
    -webkit-transform: translate(5px, -3px) rotate(2deg);
            transform: translate(5px, -3px) rotate(2deg);
  }

  10% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}

@keyframes swingAnimation {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }

  1% {
    -webkit-transform: translate(-5px, -3px) rotate(2deg);
            transform: translate(-5px, -3px) rotate(2deg);
  }

  2% {
    -webkit-transform: translate(5px, -3px) rotate(-2deg);
            transform: translate(5px, -3px) rotate(-2deg);
  }

  3% {
    -webkit-transform: translate(-5px, 3px) rotate(2deg);
            transform: translate(-5px, 3px) rotate(2deg);
  }

  4% {
    -webkit-transform: translate(-5px, -3px) rotate(-2deg);
            transform: translate(-5px, -3px) rotate(-2deg);
  }

  5% {
    -webkit-transform: translate(5px, -3px) rotate(2deg);
            transform: translate(5px, -3px) rotate(2deg);
  }

  6% {
    -webkit-transform: translate(-5px, 3px) rotate(-2deg);
            transform: translate(-5px, 3px) rotate(-2deg);
  }

  7% {
    -webkit-transform: translate(5px, 3px) rotate(2deg);
            transform: translate(5px, 3px) rotate(2deg);
  }

  8% {
    -webkit-transform: translate(-5px, -3px) rotate(-2deg);
            transform: translate(-5px, -3px) rotate(-2deg);
  }

  9% {
    -webkit-transform: translate(5px, -3px) rotate(2deg);
            transform: translate(5px, -3px) rotate(2deg);
  }

  10% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}

.fancybox-slide--iframe.fancybox-slide--video .fancybox-content {
    width: 640px;
    height: 330px;
    max-width: 100%;
  }

footer {
  position: relative;
  height: 550px;
  background: #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 40px;
  z-index: 50;
}

footer a {
    display: inline-block;
  }

footer .footer-sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 140px 35px;
  }

footer .footer-logos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 46px 27px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

footer .bnr-p5s {
    width: 257px;
    display: block;
    margin: 0 auto 20px;
  }

footer p {
    color: #fff;
    font-size: 18px;
    text-align: center;
    line-height: 1.6;
  }

body {
  background: #000;
}

html,
body,
#container,
.wrapper {
  position: relative;
  width: 640px;
  margin: 0 auto;
  overflow-x: hidden;
}

.shadow,
.frame,
.black,
.star {
  position: absolute;
  top: 0;
  left: 0;
}

.shadow-text,
.visual {
  position: relative;
  z-index: 10;
}

.open {
  z-index: 30;
}

.new {
  z-index: 30;
}

.title {
  z-index: 28;
}

.star {
  z-index: 25;
}

.black {
  z-index: 20;
}

.frame {
  z-index: 15;
}

.shadow {
  z-index: 5;
}

.ss-image {
  z-index: 10;
}

.light-frame .text {
    position: relative;
    z-index: 5;
    opacity: 0;
    -webkit-transition: opacity 0.8s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    transition: opacity 0.8s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  }

.light-frame .text.run {
      opacity: 1;
    }

.light-frame .black.hide {
      -webkit-transition: opacity 0.8s cubic-bezier(0.445, 0.05, 0.55, 0.95);
      transition: opacity 0.8s cubic-bezier(0.445, 0.05, 0.55, 0.95);
      opacity: 0;
    }

.light-frame canvas {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 15;
  }

.pre-order-btn {
  display: inline-block;
  margin: 0 0 0 30px;
  position: relative;
}

.pre-order-btn .star {
    top: -13px;
    left: -35px;
  }

.pre-order-btn .text {
    -webkit-animation: swingAnimation 4s cubic-bezier(0.645, 0.045, 0.355, 1) infinite;
            animation: swingAnimation 4s cubic-bezier(0.645, 0.045, 0.355, 1) infinite;
  }

.text-box {
  position: relative;
}

.text-box p {
    font-size: 21px;
    line-height: 1.8;
    color: #fff;
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }

.ss {
  display: inline-block;
  position: relative;
}

.ss .frame {
    top: 0;
    left: 0;
  }

.ss .star {
    top: 0;
    left: 0;
  }

.ss .open {
    position: absolute;
    top: 0;
    left: 0;
  }

.ss .new {
    position: absolute;
    top: 0;
    left: 0;
  }

.canvas-mask {
  position: absolute;
  top: 0;
  left: 0;
}

main {
  overflow-x: hidden;
}

main #kv-canvas {
    width: 100vw;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
  }

main #bg-stars {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 15;
  }

main #bg-stars-mask {
    position: absolute;
    width: 100vw;
    height: 100vh;
    z-index: 12;
  }

main .bg-red-line {
    position: absolute;
    top: 959px;
    left: -5px;
    z-index: 10;
    width: 640px;
    height: 0;
    overflow: hidden;
    -webkit-transition: height 2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition: height 2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  }

main .bg-red-line.run {
      height: 17155px;
    }

main .bg-red-shadow {
    position: absolute;
    top: 951px;
    left: 0;
    z-index: 11;
    width: 640px;
    overflow: hidden;
  }

main section {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: relative;
  }

main section.first-view {
    position: relative;
    height: 1210px;
    padding-top: 72px;
    z-index: 20;
  }

main section.first-view .fv-ps4-logo {
      position: absolute;
      top: 71px;
      right: 8px;
      z-index: 6;
      opacity: 0;
      -webkit-transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
      transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    }

main section.first-view .fv-ps4-logo.run {
        opacity: 1;
      }

main section.first-view .fv-copy1 {
      margin-left: 35px;
      position: relative;
      z-index: 6;
      opacity: 0;
      -webkit-transition: 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
      transition: 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
      -webkit-transform: translate3d(0, -50px, 0);
              transform: translate3d(0, -50px, 0);
    }

main section.first-view .fv-copy1.run {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
      }

main section.first-view .fv-copy2 {
      margin: -18px 0 0 76px;
      position: relative;
      z-index: 6;
      opacity: 0;
      -webkit-transition: 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
      transition: 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
      -webkit-transform: translate3d(0, -50px, 0);
              transform: translate3d(0, -50px, 0);
    }

main section.first-view .fv-copy2.run {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
      }

main section.first-view .on-sale {
      margin-top: 604px;
      position: relative;
    }

main section.first-view .on-sale .canvas-mask {
        position: absolute;
        z-index: 20;
        width: 618px;
        height: 117px;
      }

main section.first-view .on-sale #on-sale-canvas {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 15;
      }

main section.first-view .on-sale img {
        position: relative;
        z-index: 10;
      }

main section.information {
    height: 740px;
    padding-top: 52px;
    position: relative;
    z-index: 20;
  }

main section.information .pv {
      display: block;
      position: relative;
      width: 553px;
      height: 373px;
      margin: auto;
    }

main section.information .pv .mask {
        width: 553px;
        height: 329px;
        position: absolute;
        top: 44px;
        left: 0;
        z-index: 5;
        background: rgba(0, 0, 0, 0.4);
      }

main section.information .pv .pv-player {
        position: absolute;
        top: 44px;
        left: 0;
        width: 553px;
        height: 329px;
        z-index: 3;
      }

main section.information .pv .thumbnail {
        position: relative;
        z-index: 8;
      }

main section.information .pv .star {
        top: -48px;
        left: -63px;
      }

main section.information .news .news-title {
        margin: 71px 0 0 27px;
        position: relative;
        z-index: 2;
      }

main section.information .news .news-title .star {
          top: -23px;
          left: -77px;
        }

main section.information .news .news-container {
        position: relative;
        margin: -91px 0 0 21px;
      }

main section.information .news .news-container ul {
          padding: 109px 42px 0 38px;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          position: absolute;
          top: 0;
          left: 0;
          z-index: 30;
        }

main section.information .news .news-container ul li a {
              font-size: 19px;
              color: #fff;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -ms-flex-wrap: no-wrap;
                  flex-wrap: no-wrap;
              line-height: 1.5;
              text-decoration: none;
            }

main section.information .news .news-container ul li a:hover {
                opacity: 1;
                text-decoration: underline;
              }

main section.information .news .news-container ul li a .news-date {
                margin-right: 20px;
              }

main section.information .news .news-container ul li + li {
            margin-top: 30px;
          }

main section.information .official-twitter-btn {
      display: inline-block;
      margin: -4px 0 0 41px;
      position: relative;
    }

main section.information .official-twitter-btn .text {
        opacity: 0;
        -webkit-transform: translate3d(-10px, 10px, 0);
                transform: translate3d(-10px, 10px, 0);
        -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
        transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
        transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
        transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
      }

main section.information .official-twitter-btn .text.run {
          opacity: 1;
          -webkit-transform: translate3d(0, 0, 0);
                  transform: translate3d(0, 0, 0);
        }

main section.information .official-twitter-btn .star {
        top: 1px;
        left: -32px;
      }

main section.information .next-information {
      display: inline-block;
      margin: 23px 0 0 -6px;
      position: relative;
    }

main section.information .next-information .text {
        opacity: 0;
        -webkit-transform: translate3d(-40px, 10px, 0);
                transform: translate3d(-40px, 10px, 0);
        -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
        transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
        transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
        transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
      }

main section.information .next-information .text.run {
          opacity: 1;
          -webkit-transform: translate3d(0, 0, 0);
                  transform: translate3d(0, 0, 0);
        }

main section.introduction {
    height: 1443px;
    padding-top: 85px;
    position: relative;
    z-index: 20;
  }

main section.introduction h2 {
      margin-left: 11px;
      position: relative;
      z-index: 25;
    }

main section.introduction h2 .star {
        top: -28px;
        left: -16px;
      }

main section.introduction .intro-ss {
      margin: -178px 0 0 -5px;
      position: relative;
      z-index: 20;
    }

main section.introduction .intro-ss .shadow {
        top: -7px;
        left: 5px;
      }

main section.introduction .intro-ss .intro-ss-image {
        position: relative;
        z-index: 10;
        left: 5px;
      }

main section.introduction .intro-ss .black-mask {
        display: none;
        position: absolute;
        top: 0;
        left: 5px;
        z-index: 8;
      }

main section.introduction .intro-text-wrapper {
      position: relative;
      z-index: 25;
    }

main section.introduction .intro-text-wrapper p {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        color: #fff;
        font-size: 20px;
        line-height: 1.7;
      }

main section.introduction .intro-text-wrapper .intro-text1 .shadow {
          top: 5px;
          left: 24px;
        }

main section.introduction .intro-text-wrapper .intro-text1 p {
          background: url(../../resources/img/sp/top/intro_text1_bg_dcf5ee72d4fd0dddb50a71c9c3bef566.png);
          height: 93px;
          width: 510px;
          margin: -254px 0 0 15px;
          padding: 15px 0 0 17px;
        }

main section.introduction .intro-text-wrapper .intro-text2 .shadow {
          top: 5px;
          left: 94px;
        }

main section.introduction .intro-text-wrapper .intro-text2 p {
          background: url(../../resources/img/sp/top/intro_text2_bg_b2ac3459c20564fe11fa4bd6fd805c19.png);
          height: 137px;
          width: 517px;
          margin: 2px 0 0 84px;
          padding: 15px 0 0 17px;
        }

main section.introduction .intro-text-wrapper .intro-text3 .shadow {
          top: 5px;
          left: 24px;
        }

main section.introduction .intro-text-wrapper .intro-text3 p {
          background: url(../../resources/img/sp/top/intro_text3_bg_f89e86dc54fb0ea6908e0b2323c17988.png);
          height: 48px;
          width: 520px;
          margin: 3 0 0 16px;
          padding: 8px 0 0 17px;
        }

main section.introduction .carousel {
      margin-top: 56px;
      position: relative;
    }

main section.introduction .carousel img {
        position: absolute;
        top: 0;
        left: 0;
      }

main section.introduction .carousel img:first-child {
        position: relative;
      }

main section.introduction .carousel {
      height: 210px;
      margin-top: 56px;
      position: relative;
    }

main section.introduction .carousel .slick-slide {
        margin-right: 27px;
      }

main section.introduction .carousel .slick-prev,
      main section.introduction .carousel .slick-next {
        top: 55px;
        -webkit-transform: translateY(0);
                transform: translateY(0);
        z-index: 2;
        -webkit-transition: all 0.1s ease-in-out;
        transition: all 0.1s ease-in-out;
      }

main section.introduction .carousel .slick-prev:hover, main section.introduction .carousel .slick-next:hover {
          opacity: 0.6;
        }

main section.introduction .carousel .slick-prev {
        left: 22px;
        background: url(../../resources/img/sp/top/carousel_arrow_left_4adbea8aae6013ebae2e056cdca0006a.png);
        width: 62px;
        height: 99px;
      }

main section.introduction .carousel .slick-prev:before {
          content: none;
        }

main section.introduction .carousel .slick-next {
        right: 22px;
        background: url(../../resources/img/sp/top/carousel_arrow_right_824357f8130d21db02c1579ad6a9909d.png);
        width: 62px;
        height: 99px;
      }

main section.introduction .carousel .slick-next:before {
          content: none;
        }

main section.royal1 {
    padding-top: 229px;
    position: relative;
    z-index: 20;
  }

main section.royal1 .section-number {
      position: absolute;
      top: 0;
      left: 40px;
      z-index: 10;
    }

main section.royal1 .section-number #royal1-number {
        width: 100vw;
        z-index: 12;
        position: relative;
      }

main section.royal1 .section-number .canvas-mask {
        z-index: 15;
        width: 640px;
        height: 520px;
      }

main section.royal1 .section-number .text {
        position: absolute;
        top: 204px;
        left: -61px;
      }

main section.royal1 h2 {
      position: relative;
      margin-left: 151px;
      z-index: 15;
    }

main section.royal1 h2 .star {
        top: -45px;
        left: -43px;
      }

main section.royal1 .chara-wrapper {
      position: relative;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      z-index: 20;
    }

main section.royal1 .chara-wrapper .chara-image {
        position: absolute;
        z-index: 10;
      }

main section.royal1 .chara-wrapper .chara-image .visual {
          position: relative;
          opacity: 0;
          -webkit-transform: translateX(-10px);
                  transform: translateX(-10px);
          -webkit-transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
          transition: 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
        }

main section.royal1 .chara-wrapper .chara-image .visual.run {
            opacity: 1;
            -webkit-transform: translateX(0);
                    transform: translateX(0);
          }

main section.royal1 .chara-wrapper .chara-image .shadow {
          top: 0;
          left: 11px;
          opacity: 0;
          -webkit-transform: translateX(-10px);
                  transform: translateX(-10px);
          -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95);
          transition: -webkit-transform 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95);
          transition: transform 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95);
          transition: transform 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95), -webkit-transform 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95);
        }

main section.royal1 .chara-wrapper .chara-image .shadow.show {
            opacity: 1;
          }

main section.royal1 .chara-wrapper .chara-image .shadow.run {
            -webkit-transform: translateX(0);
                    transform: translateX(0);
          }

main section.royal1 .chara-wrapper .chara-name {
        position: relative;
        z-index: 15;
      }

main section.royal1 .chara-wrapper .chara-name .cv,
        main section.royal1 .chara-wrapper .chara-name .name-en {
          position: absolute;
          top: 0;
          left: 0;
          z-index: 30;
          opacity: 0;
          -webkit-transition: opacity 0.8s cubic-bezier(0.445, 0.05, 0.55, 0.95);
          transition: opacity 0.8s cubic-bezier(0.445, 0.05, 0.55, 0.95);
        }

main section.royal1 .chara-wrapper .chara-name .cv.run, main section.royal1 .chara-wrapper .chara-name .name-en.run {
            opacity: 1;
          }

main section.royal1 .chara-wrapper .chara-description {
        position: relative;
        z-index: 15;
      }

main section.royal1 .chara-wrapper .chara-description p {
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          position: relative;
          color: #fff;
          font-size: 21px;
          line-height: 1.9;
        }

main section.royal1 .chara-wrapper .ss {
        z-index: 15;
      }

main section.royal1 .chara1 {
      height: 1785px;
      padding-top: 743px;
      padding-bottom: 26px;
    }

main section.royal1 .chara1 .image1 {
        top: -61px;
        left: 255px;
      }

main section.royal1 .chara1 .image2 {
        top: 317px;
        left: -12px;
      }

main section.royal1 .chara1 .chara-name {
        margin: 0 0 0 250px;
      }

main section.royal1 .chara1 .chara-name .frame {
          top: 0;
          left: 6px;
        }

main section.royal1 .chara1 .chara-name .star {
          top: -35px;
          left: -35px;
        }

main section.royal1 .chara1 .chara-name .name-en {
          top: -46px;
          left: 28px;
        }

main section.royal1 .chara1 .chara-name .cv {
          top: 85px;
          left: 166px;
        }

main section.royal1 .chara1 .chara-description .shadow {
          top: 5px;
          left: 265px;
        }

main section.royal1 .chara1 .chara-description p {
          background: url(../../resources/img/sp/top/royal1_c1_text_bg_b48555872c5658fe5b5ec68dcc52a0d5.png) no-repeat center top;
          height: 264px;
          width: 353px;
          margin: 27px 0 0 254px;
          padding: 15px 0 0 17px;
        }

main section.royal1 .chara1 .royal1-chara1-ss1 {
        margin: 45px 0 0 23px;
      }

main section.royal1 .chara1 .royal1-chara1-ss1 .star {
          top: -70px;
          left: -88px;
        }

main section.royal1 .chara1 .royal1-chara1-ss1 .open {
          top: 235px;
          left: 427px;
        }

main section.royal1 .chara1 .royal1-chara1-ss2 {
        margin: 43px 0 0 199px;
      }

main section.royal1 .chara1 .royal1-chara1-ss2 .star {
          top: -30px;
          left: -33px;
        }

main section.royal1 .chara1 .royal1-chara1-ss2 .open {
          top: 175px;
          left: 317px;
        }

main section.royal1 .chara2 {
      padding-top: 516px;
      padding-bottom: 66px;
      height: 1362px;
    }

main section.royal1 .chara2 .image1 {
        top: 0;
        left: -29px;
      }

main section.royal1 .chara2 .image2 {
        top: 20px;
        left: 179px;
      }

main section.royal1 .chara2 .image2 .shadow {
          left: 20px;
        }

main section.royal1 .chara2 .chara-name {
        margin: 0 0 0 233px;
      }

main section.royal1 .chara2 .chara-name .frame {
          top: 0;
          left: 0;
        }

main section.royal1 .chara2 .chara-name .star {
          top: -44px;
          left: -7px;
        }

main section.royal1 .chara2 .chara-name .name-en {
          top: -36px;
          left: 57px;
        }

main section.royal1 .chara2 .chara-name .cv {
          top: 119px;
          left: 155px;
        }

main section.royal1 .chara2 .chara-description .shadow {
          top: 8px;
          left: 215px;
        }

main section.royal1 .chara2 .chara-description p {
          background: url(../../resources/img/sp/top/royal1_c2_text_bg_0cc7f07a1b0b5e6d410319d3af50cbcb.png) no-repeat center top;
          height: 292px;
          width: 426px;
          margin: 40px 0 0 207px;
          padding: 13px 0 0 17px;
        }

main section.royal1 .chara2 .royal1-chara2-ss1 {
        margin: 38px 0 0 131px;
      }

main section.royal1 .chara2 .royal1-chara2-ss1 .star {
          top: -22px;
          left: -40px;
        }

main section.royal1 .chara2 .royal1-chara2-ss1 .open {
          top: 202px;
          left: 367px;
        }

main section.royal2 {
    padding-top: 415px;
    height: 1861px;
    position: relative;
    z-index: 20;
  }

main section.royal2 .section-number {
      position: absolute;
      top: -55px;
      left: 281px;
    }

main section.royal2 .section-number .text {
        position: absolute;
        top: 191px;
        left: -102px;
      }

main section.royal2 .section-number #royal2-number {
        width: 100vw;
        z-index: 12;
        position: relative;
      }

main section.royal2 .section-number .canvas-mask {
        z-index: 15;
        width: 640px;
        height: 552px;
      }

main section.royal2 h2 {
      position: relative;
      margin: 0 0 0 3px;
    }

main section.royal2 h2 .star {
        top: -54px;
        left: -62px;
      }

main section.royal2 .section-text {
      position: relative;
    }

main section.royal2 .section-text .shadow {
        top: 5px;
        left: 25px;
      }

main section.royal2 .section-text p {
        background: url(../../resources/img/sp/top/royal2_text_bg_93a96be4c033d7d515157ce6f1b09c43.png) no-repeat center top;
        height: 99px;
        width: 516px;
        margin: 18px 0 0 6px;
        padding: 10px 0 0 20px;
        color: #fff;
        font-size: 22px;
        line-height: 1.8;
        position: relative;
      }

main section.royal2 .royal2-ss1 {
      margin: -12px 0 0 25px;
    }

main section.royal2 .royal2-ss1 .frame {
        top: 10px;
        left: -1px;
      }

main section.royal2 .royal2-ss1 .star {
        top: -43px;
        left: -16px;
      }

main section.royal2 .royal2-ss1 .open {
        top: 310px;
        left: 488px;
      }

main section.royal2 .royal2-ss1 .title {
        display: block;
        margin: -37px 0 0 71px;
        position: relative;
      }

main section.royal2 .royal2-ss2 {
      margin: 21px 0 0 1px;
    }

main section.royal2 .royal2-ss2 .frame {
        top: 0;
        left: 0;
      }

main section.royal2 .royal2-ss2 .star {
        top: 8px;
        left: -6px;
      }

main section.royal2 .royal2-ss2 .open {
        top: 240px;
        left: 441px;
      }

main section.royal2 .royal2-ss2 .title {
        display: block;
        margin: -39px 0 0 38px;
        position: relative;
      }

main section.royal3 {
    padding-top: 368px;
    position: relative;
    z-index: 20;
  }

main section.royal3 .section-number {
      position: absolute;
      top: 67px;
      left: 14px;
    }

main section.royal3 .section-number #royal3-number {
        width: 100vw;
        z-index: 12;
        position: relative;
      }

main section.royal3 .section-number .canvas-mask {
        z-index: 15;
        width: 640px;
        height: 570px;
      }

main section.royal3 .section-number .text {
        position: absolute;
        top: 149px;
        left: -37px;
      }

main section.royal3 h2 {
      margin: 0 0 0 172px;
      position: relative;
    }

main section.royal3 h2 .star {
        top: -40px;
        left: -82px;
      }

main section.royal3 .feature1 .feature1-title {
        margin: 20px 0 0 -54px;
      }

main section.royal3 .feature1 .feature1-description {
        position: relative;
      }

main section.royal3 .feature1 .feature1-description .shadow {
          top: 6px;
          left: 28px;
        }

main section.royal3 .feature1 .feature1-description p {
          background: url(../../resources/img/sp/top/royal3_sec1_text_bg_6d8fba19ed86b3e4ee17bdda15d6a252.png) no-repeat center top;
          height: 103px;
          width: 528px;
          margin: -104px 0 0 10px;
          padding: 10px 0 0 20px;
          color: #fff;
          font-size: 22px;
          line-height: 1.8;
          position: relative;
        }

main section.royal3 .feature1 .feature1-ss1 {
        margin: 12px 0 0 92px;
      }

main section.royal3 .feature1 .feature1-ss1 .open {
          top: 246px;
          left: 413px;
        }

main section.royal3 .feature1 .feature1-ss1 .new {
          top: 2px;
          left: -69px;
        }

main section.royal3 .feature1 .feature1-ss1 .title {
          margin: -100px 0 0 -74px;
          position: relative;
        }

main section.royal3 .feature1 .feature1-ss1-caption .shadow {
          top: 5px;
          left: 21px;
        }

main section.royal3 .feature1 .feature1-ss1-caption p {
          background: url(../../resources/img/sp/top/royal3_sec1_ss1_text_bg_b715297bc3c8249725a8ed3020716176.png) no-repeat center top;
          height: 85px;
          width: 594px;
          margin: 10px 0 0 16px;
          padding: 5px 0 0 20px;
        }

main section.royal3 .feature1 .feature1-ss2 {
        margin: 78px 0 0 14px;
      }

main section.royal3 .feature1 .feature1-ss2 .frame {
          top: 10px;
          left: 7px;
        }

main section.royal3 .feature1 .feature1-ss2 .open {
          top: 320px;
          left: 517px;
        }

main section.royal3 .feature1 .feature1-ss2 .new {
          top: 27px;
          left: -20px;
        }

main section.royal3 .feature1 .feature1-ss2 .title {
          position: relative;
          margin: -97px 0 0 89px;
        }

main section.royal3 .feature1 .feature1-ss2-caption .shadow {
          top: 9px;
          left: 20px;
        }

main section.royal3 .feature1 .feature1-ss2-caption p {
          background: url(../../resources/img/sp/top/royal3_sec1_ss2_text_bg_09d77252a3d1441b1fab45166e49f3d4.png) no-repeat center top;
          height: 158px;
          width: 378px;
          margin: 10px 0 0 16px;
          padding: 5px 0 0 20px;
        }

main section.royal3 .feature1 .feature1-ss3 {
        margin: 60px 0 0 166px;
      }

main section.royal3 .feature1 .feature1-ss3 .open {
          top: 200px;
          left: 378px;
        }

main section.royal3 .feature1 .feature1-ss3 .new {
          top: -59px;
          left: 267px;
        }

main section.royal3 .feature1 .feature1-ss3 .title {
          position: relative;
          margin: -67px 0 0 -141px;
        }

main section.royal3 .feature1 .feature1-ss4 {
        margin: 69px 0 0 15px;
      }

main section.royal3 .feature1 .feature1-ss4 .frame {
          top: 2px;
          left: 6px;
        }

main section.royal3 .feature1 .feature1-ss4 .open {
          top: 245px;
          left: 0;
        }

main section.royal3 .feature1 .feature1-ss4 .new {
          top: 18px;
          left: -20px;
        }

main section.royal3 .feature1 .feature1-ss4 .title {
          position: relative;
          margin: -83px 0 0 99px;
        }

main section.royal3 .feature1 .feature1-ss5 {
        margin: 80px 0 0 214px;
      }

main section.royal3 .feature1 .feature1-ss5 .open {
          top: 172px;
          left: 325px;
        }

main section.royal3 .feature1 .feature1-ss5 .new {
          top: -84px;
          left: 217px;
        }

main section.royal3 .feature1 .feature1-ss5 .title {
          position: relative;
          margin: -87px 0 0 -189px;
        }

main section.royal3 .feature2 .feature2-title {
        margin: 72px 0 0 126px;
      }

main section.royal3 .feature2 .feature2-description {
        position: relative;
      }

main section.royal3 .feature2 .feature2-description .shadow {
          top: 4px;
          left: 168px;
        }

main section.royal3 .feature2 .feature2-description p {
          background: url(../../resources/img/sp/top/royal3_sec2_text_bg_e3099f6277d3a4e4a6670c6fb3693721.png) no-repeat center top;
          height: 91px;
          width: 456px;
          margin: -90px 0 0 153px;
          padding: 10px 0 0 20px;
          color: #fff;
          font-size: 22px;
          line-height: 1.8;
          position: relative;
        }

main section.royal3 .feature2 .feature2-ss1 {
        margin: 22px 0 0 3px;
      }

main section.royal3 .feature2 .feature2-ss1 .open {
          top: 276px;
          left: 502px;
        }

main section.royal3 .feature2 .feature2-ss1 .new {
          top: 13px;
          left: -7px;
        }

main section.royal3 .feature2 .feature2-ss1 .title {
          position: relative;
          margin: -113px 0 0 16px;
        }

main section.royal3 .feature2 .feature2-ss2 {
        margin: 42px 0 0 68px;
      }

main section.royal3 .feature2 .feature2-ss2 .open {
          top: 220px;
          left: -2px;
        }

main section.royal3 .feature2 .feature2-ss2 .new {
          top: -57px;
          left: 322px;
        }

main section.royal3 .feature2 .feature2-ss2 .title {
          position: relative;
          margin: -61px 0 0 19px;
        }

main section.royal3 .feature2 .feature2-ss3 {
        margin: 50px 0 0 22px;
      }

main section.royal3 .feature2 .feature2-ss3 .frame {
          top: 2px;
          left: 5px;
        }

main section.royal3 .feature2 .feature2-ss3 .open {
          top: 213px;
          left: 385px;
        }

main section.royal3 .feature2 .feature2-ss3 .new {
          top: -16px;
          left: -28px;
        }

main section.royal3 .feature2 .feature2-ss3 .title {
          position: relative;
          margin: -74px 0 0 -13px;
        }

main section.royal3 .feature3 .feature3-title {
        margin: 23px 0 0 -5px;
      }

main section.royal3 .feature3 .feature3-description {
        position: relative;
      }

main section.royal3 .feature3 .feature3-description .shadow {
          top: 4px;
          left: 32px;
        }

main section.royal3 .feature3 .feature3-description p {
          background: url(../../resources/img/sp/top/royal3_sec3_text_bg_310128cec5f01bce02b9473b6b1e9291.png) no-repeat center top;
          height: 37px;
          width: 386px;
          margin: -44px 0 0 15px;
          padding: 0 0 0 20px;
          color: #fff;
          font-size: 22px;
          line-height: 1.8;
          position: relative;
        }

main section.royal3 .feature3 .feature3-item1 .feature3-item1-ss {
          margin: 36px 0 0 0;
        }

main section.royal3 .feature3 .feature3-item1 .feature3-item1-ss .star {
            top: -55px;
            left: -5px;
          }

main section.royal3 .feature3 .feature3-item1 .feature3-item1-ss .open {
            top: 270px;
            left: 548px;
          }

main section.royal3 .feature3 .feature3-item1 .feature3-item1-ss .shadow {
            top: 318px;
            left: 28px;
          }

main section.royal3 .feature3 .feature3-item1 .feature3-item1-ss .title {
            margin: -70px 0 0 16px;
            position: relative;
          }

main section.royal3 .feature3 .feature3-item1 .feature3-item1-text {
          position: relative;
        }

main section.royal3 .feature3 .feature3-item1 .feature3-item1-text .shadow {
            top: 15px;
            left: 45px;
          }

main section.royal3 .feature3 .feature3-item1 .feature3-item1-text p {
            background: url(../../resources/img/sp/top/royal3_sec3_item1_text_bg_519edbc678746491afaaf2a1683976f6.png) no-repeat center top;
            height: 90px;
            width: 543px;
            margin: -2px 0 0 28px;
            padding: 6px 0 0 8px;
          }

main section.royal3 .feature3 .feature3-item2 .feature3-item2-title {
          margin: 90px 0 0 139px;
          position: relative;
        }

main section.royal3 .feature3 .feature3-item2 .feature3-item2-title .shadow {
            top: 6px;
            left: 12px;
          }

main section.royal3 .feature3 .feature3-item2 .feature3-item2-title .title {
            position: relative;
          }

main section.royal3 .feature3 .feature3-item2 .feature3-item2-text {
          position: relative;
        }

main section.royal3 .feature3 .feature3-item2 .feature3-item2-text .shadow {
            top: 6px;
            left: 176px;
          }

main section.royal3 .feature3 .feature3-item2 .feature3-item2-text p {
            background: url(../../resources/img/sp/top/royal3_sec3_item2_text_bg_f0578ca0005e3f66ffa2a4f71b44ac3a.png) no-repeat center top;
            height: 163px;
            width: 445px;
            margin: 5px 0 0 163px;
            padding: 5px 0 0 20px;
          }

main section.royal3 .feature3 .feature3-item3 .feature3-item3-title {
          margin: 44px 0 0 48px;
          position: relative;
        }

main section.royal3 .feature3 .feature3-item3 .feature3-item3-title .shadow {
            top: 10px;
            left: 20px;
          }

main section.royal3 .feature3 .feature3-item3 .feature3-item3-title .title {
            position: relative;
          }

main section.royal3 .feature3 .feature3-item3 .feature3-item3-text {
          position: relative;
        }

main section.royal3 .feature3 .feature3-item3 .feature3-item3-text .shadow {
            top: 8px;
            left: 32px;
          }

main section.royal3 .feature3 .feature3-item3 .feature3-item3-text p {
            background: url(../../resources/img/sp/top/royal3_sec3_item3_text_bg_78bc8f2b2cd281d64c8f649046c71b6f.png) no-repeat center top;
            height: 155px;
            width: 582px;
            margin: 2px 0 74px 15px;
            padding: 18px 0 0 20px;
          }

main section.spec {
    padding-top: 45px;
    position: relative;
    z-index: 20;
  }

main section.spec h2 {
      margin: 0 0 0 23px;
      position: relative;
    }

main section.spec h2 .star {
        top: -32px;
        left: -48px;
      }

main section.spec .spec-logo {
      margin: -59px 0 0 16px;
    }

main section.spec .spec-info {
      position: relative;
    }

main section.spec .spec-info .shadow {
        top: 4px;
        left: 153px;
      }

main section.spec .spec-info ul {
        background: url(../../resources/img/sp/top/spec_info_bg_5da0f9bef2c5cdbc8c4c8c045a1503e2.png) no-repeat center top;
        height: 354px;
        width: 460px;
        margin: 28px 0 0 82px;
        padding: 16px 0 0 0;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        position: relative;
      }

main section.spec .spec-info ul li {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          font-size: 22px;
          line-height: 1.2;
        }

main section.spec .spec-info ul li span:last-child {
            color: #fff;
          }

main section.spec .spec-info ul li:nth-child(1) span:first-child {
              display: inline-block;
              margin: 0 40px 0 55px;
            }

main section.spec .spec-info ul li:nth-child(2) span:first-child {
              display: inline-block;
              margin: 0 50px 0 90px;
            }

main section.spec .spec-info ul li:nth-child(3) span:first-child {
              display: inline-block;
              margin: 0 50px 0 43px;
            }

main section.spec .spec-info ul li:nth-child(4) span:first-child {
              display: inline-block;
              margin: 0 40px 32px 43px;
            }

main section.spec .spec-info ul li:nth-child(5) span:first-child {
              display: inline-block;
              margin: 0 40px 0 140px;
            }

main section.spec .spec-info ul li:nth-child(6) span:first-child {
              display: inline-block;
              margin: 0 30px 0 110px;
            }

main section.spec .spec-info ul li:nth-child(7) span:first-child {
              display: inline-block;
              margin: 0 20px 0 115px;
            }

main section.spec .spec-info ul li + li {
          margin-top: 17px;
        }

main section.spec .spec-cero {
      margin: -60px 0 30px 555px;
    }

.kv {
  position: absolute;
  top: 0;
  left: 0;
}

.kv .kv-chara1 {
    position: absolute;
    bottom: 0;
    left: 0;
  }

.kv .kv-chara2 {
    position: absolute;
    bottom: 0;
    left: 0;
  }

.kv .kv-chara3 {
    position: relative;
  }

.ss-wrapper {
  position: relative;
}

.ss-wrapper .ss {
    display: inline-block;
    position: relative;
  }

.ss-wrapper .ss:hover {
      opacity: 1;
    }

.ss-wrapper .ss:hover .image,
      .ss-wrapper .ss:hover .frame {
        -webkit-transform: scale(1);
                transform: scale(1);
      }

main .bg-red-line {
    height: 16100px;
  }

main .bg-red-line .line1 {
      background: url(../../resources/img/sp/top/bg_red_line_6bf913ba28ca62367bdcf8471231e54e.png) center top no-repeat;
      height: 1400px;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
    }

main .bg-red-line .line2 {
      background: url(../../resources/img/sp/top/bg_red_line_6bf913ba28ca62367bdcf8471231e54e.png) center top -2878px no-repeat;
      height: 14350px;
      width: 100%;
      position: absolute;
      top: 1400px;
      left: 0;
    }

main .bg-red-shadow {
    height: 16080px;
  }

main section.first-view .fv-copy1,
    main section.first-view .fv-copy2,
    main section.first-view .fv-ps4-logo {
      opacity: 1;
    }

main section.first-view .fv-ps4-logo {
      top: 20px;
    }

main section.first-view .fv-copy1 {
      margin-top: 20px;
    }

main section.first-view .on-sale {
      margin-top: 584px;
    }

main section.information .pv .pv-thumbnail {
        position: absolute;
        top: 60px;
        left: 10px;
        z-index: 1;
      }

main section.information .pv .pv-frame {
        position: relative;
        z-index: 2;
      }

main section.introduction {
    height: 1358px;
    padding: 0;
  }

main section.royal1 .chara-wrapper .chara-image .shadow,
        main section.royal1 .chara-wrapper .chara-image .visual {
          opacity: 1;
        }

main section.royal1 .chara-wrapper .chara-name .name-en,
        main section.royal1 .chara-wrapper .chara-name .cv {
          opacity: 1;
        }

footer {
  height: 300px;
}

footer .footer-logos {
    margin: 0 170px 27px;
  }

#float-pre-order-btn {
  position: fixed;
  top: -130px;
  z-index: 100;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

#float-pre-order-btn.show {
    top: 0;
    opacity: 1;
  }

.fancybox-container .fancybox-caption-wrap {
    background: transparent;
    opacity: 1 !important;
    visibility: visible;
    padding: 0;
    height: 119px;
    margin: auto;
    top: 0;
  }

.fancybox-container .fancybox-caption-wrap .fancybox-caption {
      border: none;
      padding: 0;
      top: 235px;
      position: relative;
    }

.fancybox-container .fancybox-caption-wrap .fancybox-caption .modal-pre-order-btn {
        background: url(../../resources/img/sp/top/pre_order_btn_2e1b38999b8391517e31148d601e9159.png) no-repeat center top;
        width: 300px;
        height: 119px;
        background-size: cover;
        display: inline-block;
        position: absolute;
        right: 0;
      }

@media screen and (min-width: 641px) {
  a {
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
  }

    a:hover {
      opacity: 0.6;
    }

    a.non-action:hover {
      opacity: 1;
    }

    a.scale-action {
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
    }

      a.scale-action:hover {
        opacity: 1;
        -webkit-transform: scale(1.05);
                transform: scale(1.05);
      }
    .to-mt-btn:hover, .to-top-btn:hover {
      -webkit-animation: swingAnimation 4s both;
              animation: swingAnimation 4s both;
    }
}

@media screen and (max-width: 640px) {
  body,
  .wrapper {
    width: 640px;
  }
  .to-mt-btn {
    background: url(../../resources/img/sp/common/to_mt_btn_638d7663f7f5c6a6c6e738f0fb724d9d.png) no-repeat;
    width: 640px;
    height: 80px;

    bottom: auto;
    top: -100px;
  }

    .to-mt-btn.show {
      top: 0;
    }

  .to-top-btn {
    background: url(../../resources/img/sp/common/to_top_btn_032ba2733e9d37cb96d67585dcaa0cc8.png) no-repeat;
    width: 78px;
    height: 65px;

    bottom: 25px;
    right: 0;
  }
}
