@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%;
  }

header {
  height: 0;
  width: 640px;
  position: fixed;
  z-index: 99;
  pointer-events: none;
  -webkit-transition: top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

header .header-contents {
    background: url(../../resources/img/sp/common/header_bg_b95e0f540b5b75c625305398fd48688e.png);
    background-position: center top;
    background-size: cover;
    opacity: 0;
    position: relative;
    -webkit-transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  }

header .logo-bar {
    background: url(../../resources/img/sp/common/top_bg_fc1ad7ad0b2b767813392ba709d6d939.png) no-repeat;
    width: 640px;
    height: 102px;

    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: top 0.32s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: top 0.32s cubic-bezier(0.645, 0.045, 0.355, 1);
  }

header .logo-bar .top,
    header .logo-bar .tad2 {
      background: url(../../resources/img/sp/common/top_logo_6a5a04b137c1de5f418ad297702ba461.png) no-repeat;
      width: 176px;
      height: 107px;

      position: absolute;
      top: 0;
      left: 10px;
    }

header.top .logo-bar, header.tad2 .logo-bar {
      display: none;
    }

header.disp-enabled .menu-btn {
      top: -100px;
    }

header.disp-enabled .logo-bar {
      top: -115px;
    }

header.disp .menu-btn {
      top: 15px;
    }

header.disp .logo-bar {
      top: 0;
    }

header a {
    pointer-events: auto;
  }

header.open {
    height: 100%;
    pointer-events: auto;
  }

header.open .header-contents {
      opacity: 1;
    }

header.open.disp-enabled .menu-btn {
        top: 15px;
      }

header.open .h-close-btn {
      display: block;
    }

header.open .nav {
      width: 640px;
    }

header.open .nav li a {
          pointer-events: auto;
          opacity: 1;
          margin-top: 0;
        }

header.open .nav li a.start1 {
            -webkit-transition: all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.45s;
            transition: all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.45s;
          }

header.open .nav li a.start2 {
            -webkit-transition: all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.5s;
            transition: all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.5s;
          }

header.open .nav li a.start3 {
            -webkit-transition: all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.55s;
            transition: all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.55s;
          }

header.open .nav li a.start4 {
            -webkit-transition: all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.6s;
            transition: all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.6s;
          }

header.open .nav li a.start5 {
            -webkit-transition: all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.65s;
            transition: all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.65s;
          }

header.open .nav li:nth-child(1) a {
            -webkit-transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.4s;
            transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.4s;
          }

header.open .nav li:nth-child(7) a {
            -webkit-transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.7s;
            transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.7s;
          }

header .menu-btn {
    background: url(../../resources/img/sp/common/menu_btn_da38016ec37799cf5dda7c9cbf1629df.png) no-repeat;
    width: 84px;
    height: 84px;

    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 100;
    -webkit-transition: top 0.32s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition: top 0.32s cubic-bezier(0.645, 0.045, 0.355, 1);
    opacity: 1;
  }

header .menu-btn.top,
    header .menu-btn.tad2 {
      opacity: 0;
    }

header .menu-btn.run {
      opacity: 1;
    }

header .nav {
    height: 1600px;
  }

header .nav li {
      position: absolute;
      pointer-events: none;
    }

header .nav li.new a:after {
            content: '';
            position: absolute;
            top: -57px;
            right: 5px;

            background: url(../../resources/img/sp/common/h_new_ad07af0e22dd3c0a15c3df025d921371.png) no-repeat;

            width: 153px;

            height: 120px;
          }

header .nav li a {
        display: block;
        position: relative;
        pointer-events: none;
        opacity: 0;
        margin-top: -20px;
      }

header .nav li:nth-child(1) {
        top: -10px;
        left: 192px;
      }

header .nav li:nth-child(1) a {
          background: url(../../resources/img/sp/common/h_logo_163bf6158232f35b60b1f1e4cdbfe227.png) no-repeat;
          width: 260px;
          height: 172px;
        }

header .nav li:nth-child(2) {
        top: 165px;
        left: 185px;
      }

header .nav li:nth-child(2) a {
          background: url(../../resources/img/sp/common/h_character_1c1658f660e43b30e9807e9388bfcec2.png) no-repeat;
          width: 267px;
          height: 151px;
        }

header .nav li.new:nth-child(2) a:after {
              top: -20px;
              right: -40px;
            }

header .nav li:nth-child(3) {
        top: 350px;
        left: 0;
      }

header .nav li:nth-child(3) a {
          background: url(../../resources/img/sp/common/h_school_life_5d00b7062711632bf2b908d8bff6440d.png) no-repeat;
          width: 331px;
          height: 145px;
        }

header .nav li:nth-child(4) {
        top: 397px;
        left: 305px;
      }

header .nav li:nth-child(4) a {
          background: url(../../resources/img/sp/common/h_phantom_life_e2d95b31d37ba51b138b3e7246f1b226.png) no-repeat;
          width: 335px;
          height: 145px;
        }

header .nav li:nth-child(5) {
        top: 540px;
        left: 15px;
      }

header .nav li:nth-child(5) a {
          background: url(../../resources/img/sp/common/h_mt_8aa8fdb0997316df5e177f03d36c83a9.png) no-repeat;
          width: 303px;
          height: 156px;
        }

header .nav li:nth-child(6) {
        top: 565px;
        left: 342px;
      }

header .nav li:nth-child(6) a {
          background: url(../../resources/img/sp/common/h_special_fd232d6efb14232b99ddcd915817f759.png) no-repeat;
          width: 243px;
          height: 139px;
        }

header .nav li:nth-child(7) {
        top: 712px;
        left: 154px;
      }

header .nav li:nth-child(7) a {
          background: url(../../resources/img/sp/common/h_pre_order_d8268f7539bb3122bcd41b9bd5c18095.png) no-repeat;
          width: 339px;
          height: 165px;
        }

header .h-close-btn {
    background: url(../../resources/img/sp/common/h_close_btn_7d9851d8711a6b67e580998a1193d438.png) no-repeat;
    width: 600px;
    height: 67px;

    position: absolute;
    top: 914px;
    right: 0;
    left: 0;
    margin: 0 auto;
    display: none;
  }

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-text,
.visual {
  position: relative;
  z-index: 10;
}

.open {
  z-index: 30;
}

.new {
  z-index: 30;
}

.title {
  z-index: 28;
}

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

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

.pre-order-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);
  }

.pre-order-btn .text.run {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }

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

.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;
  padding-top: 50px;
}

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: 1029px;
    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-x: 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: -5px;
      left: 10px;
      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: 683px 0 0 17px;
      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: 2260px;
    margin-top: 12px;
    position: relative;
    z-index: 20;
  }

main section.information .to-dl-btn {
      display: inline-block;
      margin: -10px 0 0 49px;
      position: relative;
    }

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

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 .pv .new {
        position: absolute;
        top: -23px;
        left: 420px;
      }

main section.information .news .news-title {
        margin: 51px 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: 150%;
              color: #fff;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -ms-flex-wrap: no-wrap;
                  flex-wrap: no-wrap;
              line-height: 2.2rem;
              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: 0.5rem;
          }

main section.information .official-twitter-btn {
      display: inline-block;
      margin: -20px 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;
      position: relative;
      margin: 15px 0 0 2px;
      opacity: 0;
    }

main section.information .next-information.run {
        opacity: 1;
      }

main section.information .next-information.run .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;
        }

main section.information .bnr-box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      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);
      margin-top: -20px;
    }

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

main section.information .bnr-box .bnr-research {
        margin: 40px 0 0 40px;
        position: relative;
      }

main section.information .bnr-box .bnr-faq {
        margin: -88px 0 0 365px;
        position: relative;
        z-index: 2;
      }

main section.information .bnr-box .to-dlc-btn {
        margin: -20px 0 0 20px;
      }

main section.introduction {
    height: 1362px;
    margin-top: 18px;
    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: 3px 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: -51px;
      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: 571px;
      }

main section.royal1 .section-number .text {
        position: absolute;
        top: 255px;
        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 canvas {
          top: -2px;
          left: 7px;
        }

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: 1775px;
      padding-top: 573px;
    }

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

main section.royal1 .chara1 .image2 {
        top: 200px;
        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 .view-detail {
        background: url(../../resources/img/top/view_detail_4afde0f1d7b2615e3ce9ffe13d6df7e7.png) no-repeat;
        width: 381px;
        height: 178px;

        display: block;
        position: relative;
        margin: 30px 0 0 253px;
        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 .chara1 .view-detail.run {
          opacity: 1;
        }

main section.royal1 .chara1 .view-detail.new:after {
            content: '';
            position: absolute;
            top: 0;
            left: -45px;
            opacity: 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);

            background: url(../../resources/img/top/view_detail_new_e1d8c3cc6d869633e04bf7580e239af0.png) no-repeat;

            width: 179px;

            height: 119px;
          }

main section.royal1 .chara1 .view-detail.new.run:after {
              opacity: 1;
            }

main section.royal1 .chara1 .royal1-chara1-ss1 {
        margin: 0 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: -106px;
      left: 281px;
    }

main section.royal2 .section-number .text {
        position: absolute;
        top: 242px;
        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: 603px;
      }

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: 16px;
      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: 621px;
      }

main section.royal3 .section-number .text {
        position: absolute;
        top: 200px;
        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: 52px 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: 10px 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.royal3 .pre-order-btn {
      margin: -40px 0 0 30px;
    }

main section.spec {
    padding-top: 25px;
    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: 90px;
      }

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 10px;
        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-mark {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin: -88px 0 30px 310px;
      position: relative;
      z-index: 10;
    }

main section.spec .spec-mark li {
        margin-right: 10px;
      }

main section.spec .spec-mark li:nth-child(3) {
        margin: 7px 0 0 10px;
      }

.remaster-modal {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 99999999999999;
}

.remaster-modal .modal-dialog {
    width: 640px;
    text-align: center;
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
  }

.remaster-modal .modal-dialog .remaster-close-btn {
      position: absolute;
      top: 15px;
      right: 10px;
      z-index: 10;
    }

.remaster-modal .modal-dialog .remaster-close-btn img {
        width: 70px;
      }

.remaster-modal .modal-dialog .modal-img {
      width: 640px;
      position: absolute;
      left: 0;
    }

.remaster-modal .modal-dialog .modal-img img {
        width: 640px;
      }

.remaster-modal .modal-dialog .modal-link {
      position: absolute;
      top: 810px;
      left: 52px;
    }

.remaster-modal .modal-dialog .modal-link img {
        width: 469px;
      }

.remaster-modal .modal-overlay-remaster {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    position: fixed;
    overflow: auto;
    outline: 0;
    top: 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;
  }
}
