@charset "UTF-8";
/* INIT --------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400&display=swap");
html {
  line-height: 1.5;
  font-size: 6.25%;
  position: relative;
}

body {
  background: #1b1b1b;
  position: relative;
  font-size: 21rem;
  font-family: Arial, Helvetica, sans-serif;
}

* {
  margin: 0;
  padding: 0;
}

::-moz-selection {
  background: cornflowerblue;
  color: white;
}

::selection {
  background: cornflowerblue;
  color: white;
}

a {
  outline: none;
  text-decoration: underline;
  cursor: pointer;
}

a:link {
  color: #1b1b1b;
}

a:visited {
  color: #1b1b1b;
}

button {
  padding: 0;
  border: none;
  outline: none;
  background-color: transparent;
  cursor: pointer;
}

li {
  list-style: none;
}

.br-sp {
  display: none;
}

.br-pc {
  display: block;
}

.pc-hide {
  display: none;
}

.wrapper {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.container {
  display: block;
  width: 100%;
  position: relative;
}

.section {
  display: block;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.content-container {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
}

.image-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: 3% auto;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.image-wrapper .image {
  width: 48%;
  margin: 1%;
  margin: 0 auto;
}

.image-wrapper .image:only-child {
  width: 90%;
}

.image-wrapper .image img {
  width: 100%;
  height: auto;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  -o-object-fit: cover;
     object-fit: cover;
}

.image-wrapper .image img:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-filter: brightness(1.2);
          filter: brightness(1.2);
}

.image-wrapper .image img:hover::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0%;
  top: 0%;
  background: rgba(255, 255, 255, 0.6);
  z-index: 100;
  opacity: 1;
}

.movie-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100%;
  margin: 3% auto;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: normal;
      -ms-flex-pack: normal;
          justify-content: normal;
}

.movie-wrapper .movie-frame {
  display: block;
  position: relative;
  width: 48%;
  margin: 1%;
  margin: 0 auto;
}

.movie-wrapper .movie-frame:only-child {
  width: 80%;
}

.movie-wrapper .movie-frame .movie {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin-bottom: 50px;
}

.movie-wrapper .movie-frame .movie iframe {
  position: absolute;
  top: 0;
  left: 0;
}

.glNav {
  display: block;
  background-color: #1b1b1b;
  width: 100%;
  height: 70px;
  position: fixed;
  padding-right: 3vw;
  z-index: 5000;
  -webkit-box-shadow: 0 0 4px 0 white;
          box-shadow: 0 0 4px 0 white;
}

.glNav_menu {
  width: 100%;
  height: 100%;
  bottom: 0;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  right: 10vw;
  vertical-align: bottom;
}

.glNav_item {
  padding-left: 15px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: block;
  position: relative;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.glNav_item.no-anim {
  -webkit-filter: initial;
          filter: initial;
  -webkit-filter: brightness(0.6);
          filter: brightness(0.6);
  pointer-events: none;
}

.glNav_item.no-anim:hover {
  -webkit-filter: initial;
          filter: initial;
  -webkit-filter: brightness(0.6);
          filter: brightness(0.6);
  -webkit-transform: none;
          transform: none;
}

.glNav_item:hover {
  -webkit-filter: drop-shadow(0px 0px 4px rgba(10, 186, 255, 0.986)) drop-shadow(0px 0px 4px rgba(10, 186, 255, 0.3));
          filter: drop-shadow(0px 0px 4px rgba(10, 186, 255, 0.986)) drop-shadow(0px 0px 4px rgba(10, 186, 255, 0.3));
}

.glNav_item.logo {
  display: block;
  height: 70px;
  width: auto;
  padding-right: 1vw;
  /*
			filter: drop-shadow(0px -1px 1px rgba(255,255,255,0.6))
			drop-shadow(0px 1px 1px rgba(255,255,255,0.6)) 
			drop-shadow(1px 0px 1px rgba(255,255,255,0.6))
			drop-shadow(-1px 0px 1px rgba(255,255,255,0.6));
			*/
}

.glNav_item.logo:hover {
  -webkit-filter: none;
          filter: none;
}

.glNav_item.logo .image {
  height: 80%;
  width: auto;
  margin: 5px 0 0 0;
}

.sp-glNav-button {
  display: none;
}

.sctop-button {
  display: block;
  width: 9%;
  max-width: 80px;
  position: fixed;
  bottom: calc(30px + 65px);
  right: 30px;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease, visibility 1s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.3s ease, visibility 1s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.3s ease, visibility 1s ease, transform 0.2s ease;
  transition: opacity 0.3s ease, visibility 1s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
  cursor: pointer;
}

.sctop-button img {
  width: 100%;
  vertical-align: bottom;
}

.sctop-button:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.sctop-button.show {
  opacity: 1;
  visibility: visible;
}

.layer {
  width: 100%;
  height: 100%;
}

.cliplayer {
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
}

.movableLayer {
  position: absolute;
  width: 103%;
  height: 103%;
  left: -2%;
  top: -2%;
  overflow: hidden;
}

.movableLayer.only-x {
  height: 100%;
  top: 0%;
}

.movableLayer.only-y {
  width: 100%;
  left: 0%;
}

.header {
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  position: relative;
  display: block;
}

.header .bg {
  display: block;
  position: absolute;
  background: url(../img/main_visual.jpg) 50% 50% no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
}

.header .caption {
  position: absolute;
  left: 10vw;
  top: 15vh;
  max-width: 75vw;
  visibility: hidden;
  opacity: 0;
}

.header .caption.visible {
  -webkit-animation: anim-header-caption 2s ease forwards;
          animation: anim-header-caption 2s ease forwards;
  visibility: visible;
}

.header .logo {
  position: absolute;
  bottom: calc(80px + 82px);
  right: 10vw;
  max-width: 50vw;
  visibility: hidden;
  opacity: 1;
}

.header .logo.visible {
  -webkit-animation: anim-header-logo 3s ease forwards;
          animation: anim-header-logo 3s ease forwards;
  visibility: visible;
}

.header .release {
  position: absolute;
  bottom: 80px;
  right: 16vw;
  max-width: 40vw;
  visibility: hidden;
  opacity: 0;
}

.header .release.visible {
  -webkit-animation: anim-header-logo 3s ease forwards;
          animation: anim-header-logo 3s ease forwards;
  visibility: visible;
}

.header .preorder {
  position: fixed;
  display: block;
  height: 82px;
  bottom: 0;
  right: 0;
  opacity: 0;
  z-index: 1000;
}

.header .preorder.visible {
  -webkit-animation: anim-header-preorder 3s ease forwards;
          animation: anim-header-preorder 3s ease forwards;
  opacity: 1;
}

.header .preorder img {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.header .preorder img:hover {
  -webkit-filter: drop-shadow(0px 0px 2px rgba(255, 255, 255, 0.6));
          filter: drop-shadow(0px 0px 2px rgba(255, 255, 255, 0.6));
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.news {
  background-color: #dddddd;
  width: 100%;
  margin: 0 auto;
  padding-top: 2%;
  padding-bottom: 2%;
  position: relative;
}

.news a {
  color: #066a92;
  text-decoration: none;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

.news a:hover {
  opacity: 0.6;
}

.news_wrapper {
  position: relative;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 2%;
}

.news_container {
  width: 90%;
  max-width: 960px;
  height: auto;
  margin: 0 auto;
}

.news_container li {
  position: relative;
}

.news_container li:nth-child(n + 4) {
  visibility: hidden;
  opacity: 0;
  max-height: 0;
  -webkit-filter: blur(1em);
          filter: blur(1em);
  margin-bottom: 0%;
}

.news_container.show li:nth-child(n + 4) {
  visibility: visible;
  opacity: 1;
  max-height: 120px;
  -webkit-filter: blur(0);
          filter: blur(0);
  margin-bottom: 1%;
}

.news_item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1%;
  overflow: hidden;
  -webkit-transition: opacity 0.4s, height 0.4s, visibility 0.4s, max-height 1.2s ease-out,-webkit-filter 0.4s;
  transition: opacity 0.4s, height 0.4s, visibility 0.4s, max-height 1.2s ease-out,-webkit-filter 0.4s;
  transition: opacity 0.4s, height 0.4s, visibility 0.4s, max-height 1.2s ease-out,filter 0.4s;
  transition: opacity 0.4s, height 0.4s, visibility 0.4s, max-height 1.2s ease-out,filter 0.4s, -webkit-filter 0.4s;
}

.news_caption {
  position: relative;
  left: 0%;
  top: 1vh;
  padding: 0 0 20px 0;
}

.news_date {
  position: relative;
  width: 30%;
  color: black;
  font-size: 0.9em;
  border-bottom: 5px solid white;
}

.news_text {
  position: relative;
  width: 70%;
  color: black;
  padding-left: 4%;
  font-size: 0.9em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-bottom: 1px solid white;
}

.news_old {
  display: block;
  position: relative;
  width: 240px;
  background: black;
  color: white;
  right: 0%;
  bottom: 0%;
  margin-right: 0px;
  margin-left: auto;
  margin-top: 2%;
  padding: 10px 0px;
  cursor: pointer;
}

.news_old a {
  text-align: center bottom;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.news_old:hover {
  background: rgba(0, 0, 0, 0.8);
}

.news_old p {
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.news_old p:before {
  content: "▶";
}

.news_old:hover {
  background: rgba(0, 0, 0, 0.8);
}

.news_old.show p:before {
  content: "▲";
}

.section-about {
  width: 100%;
  margin: 0 auto;
  position: relative;
  -webkit-box-shadow: 0 0 10px 0 black;
          box-shadow: 0 0 10px 0 black;
  z-index: 10;
}

.about-first {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
}

.about-first .bg {
  display: block;
  position: absolute;
  background: url(../img/bg_about_first.jpg) 50% 100% no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
}

.about-first .image {
  position: absolute;
  top: 10%;
  left: -19px;
  z-index: 100;
  visibility: hidden;
  opacity: 0;
}

.about-first .image.visible {
  -webkit-animation: anim-fadeIn-horizontal-left 0.4s ease forwards;
          animation: anim-fadeIn-horizontal-left 0.4s ease forwards;
  visibility: visible;
}

.about-first .text {
  position: absolute;
  top: 10%;
  left: 0%;
  color: white;
  margin-top: 0%;
  width: 30%;
  min-width: 750px;
  padding: 12% 2% 0;
  background: rgba(0, 0, 0, 0.6);
  visibility: hidden;
  opacity: 0;
}

.about-first .text.visible {
  -webkit-animation: anim-fadeIn-horizontal-left 0.4s ease forwards;
          animation: anim-fadeIn-horizontal-left 0.4s ease forwards;
  visibility: visible;
}

.about-second {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative;
}

.about-second .bg {
  display: block;
  position: absolute;
  background: url(../img/bg_about_second.jpg) 100% 100% no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
}

.about-second .image {
  position: absolute;
  top: 12%;
  left: calc(15vw - 135px);
  z-index: 100;
  visibility: hidden;
  opacity: 0;
}

.about-second .image.visible {
  -webkit-animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
          animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
  visibility: visible;
}

.about-second .text {
  position: absolute;
  top: 10%;
  left: 15vw;
  color: white;
  margin-top: 0%;
  width: 30%;
  min-width: 940px;
  padding: 14% 2% 0;
  background: rgba(0, 0, 0, 0.6);
  visibility: hidden;
  opacity: 0;
}

.about-second .text.visible {
  -webkit-animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
          animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
  visibility: visible;
}

.section-system {
  width: 100%;
  margin: 0 auto;
  position: relative;
  -webkit-box-shadow: 0 0 10px 0 black;
          box-shadow: 0 0 10px 0 black;
  z-index: 10;
}

.system {
  background: url(../img/bg_system.jpg) 50% 50% no-repeat;
  background-size: cover;
  width: 100%;
  position: relative;
  padding-top: 4%;
  padding-bottom: 4%;
}

.system_section1 {
  overflow: hidden;
}

.system_section1 .bg {
  background: url(../img/bg_system1.jpg) 100% 50% no-repeat;
}

.system_section2 {
  overflow: hidden;
}

.system_section2 .bg {
  background: url(../img/bg_system2.jpg) 50% 50% no-repeat;
}

.system_section3 .bg {
  background: url(../img/bg_system3.jpg) 50% 50% no-repeat;
  overflow: hidden;
}

.system_section1, .system_section2, .system_section3 {
  width: 100%;
  position: relative;
  top: 3%;
  margin-bottom: 3%;
}

.system_section1 .bg, .system_section2 .bg, .system_section3 .bg {
  position: absolute;
  background-size: cover;
  width: 100%;
  height: 100%;
}

.system-section-left {
  position: relative;
  width: calc(46vw - ((100vw - 100%)/2));
  height: 100%;
  min-height: 400px;
  left: 0%;
  background: rgba(0, 0, 0, 0.6);
  overflow: hidden;
  padding: 1%;
}

.system-section-left_text {
  position: relative;
  left: 0%;
  width: 100%;
  margin: 2% auto;
  visibility: hidden;
  opacity: 0;
}

.system-section-left_text.visible {
  -webkit-animation: anim-fadeIn-horizontal-left 0.4s ease forwards;
          animation: anim-fadeIn-horizontal-left 0.4s ease forwards;
  visibility: visible;
}

.system-section-left_text_caption {
  width: 80%;
  color: white;
  font-size: 1.2em;
  font-weight: bold;
  padding-top: 2%;
  padding-bottom: 2%;
  font-family: 'Noto Serif JP', serif;
  margin: 0 auto;
}

.system-section-left_text_content {
  width: 80%;
  color: white;
  font-size: 0.8em;
  padding-top: 1%;
  padding-bottom: 1%;
  margin: 0 auto;
}

.system-section-left_image {
  position: absolute;
  left: calc(44vw - ((100vw - 100%)/2));
  height: 110%;
  bottom: 0%;
}

.system-section-left_image img {
  height: 100%;
  width: auto;
  bottom: 0%;
}

.system-section-right {
  position: relative;
  min-height: 400px;
  width: calc(46vw - ((100vw - 100%)/2));
  left: calc(54vw - ((100vw - 100%)/2));
  background: rgba(0, 0, 0, 0.6);
  overflow: hidden;
  padding: 1%;
}

.system-section-right_text {
  position: relative;
  height: 100%;
  width: 100%;
  margin: 2% auto;
  visibility: hidden;
  opacity: 0;
}

.system-section-right_text.visible {
  -webkit-animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
          animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
  visibility: visible;
}

.system-section-right_text_caption {
  width: 90%;
  color: white;
  font-size: 1.2em;
  font-weight: bold;
  padding-top: 2%;
  padding-bottom: 2%;
  font-family: 'Noto Serif JP', serif;
  margin: 0 auto;
}

.system-section-right_text_content {
  width: 90%;
  color: white;
  font-size: 0.8em;
  padding-top: 1%;
  padding-bottom: 1%;
  margin: 0 auto;
}

.common-button {
  width: 50%;
  height: 2em;
  margin: 0 auto;
  border: #777 1px solid;
  color: #555;
  background: #eee;
  border-radius: 5px;
  text-align: center;
  position: relative;
}

.common-button::after {
  position: absolute;
  content: "";
  right: 5%;
  top: calc(50% - 10px);
  bottom: 0;
  background: url("../img/icon_arrow.png");
  background-size: cover;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  opacity: 1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.common-button:hover {
  background: #D3D3FF;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.common-button:hover::after {
  content: "";
  -webkit-transform: translate(65%, 0);
          transform: translate(65%, 0);
}

.common-button a {
  display: block;
  line-height: 2.5em;
  font-size: 0.8em;
  text-decoration: none;
}

.common-button + .common-button {
  margin-top: 10px;
}

.section-map {
  width: 100%;
  margin: 0 auto;
  position: relative;
  -webkit-box-shadow: 0 0 10px 0 black;
          box-shadow: 0 0 10px 0 black;
  z-index: 10;
}

.map {
  background: url(../img/bg_product.jpg) 50% 50% no-repeat;
  background-size: cover;
  width: 100%;
  position: relative;
  padding-top: 3%;
  padding-bottom: 3%;
}

.map_container {
  width: 100%;
  max-width: 1280px;
  position: relative;
  display: block;
  margin: 0% auto;
  padding: 2%;
}

.map_caption {
  display: block;
  position: absolute;
  background: black;
  margin: 0% auto;
  z-index: 100;
  left: 2%;
  top: 4%;
  padding: 0% 1%;
  visibility: hidden;
  opacity: 0;
}

.map_caption p {
  color: white;
  font-size: 2.4em;
  font-family: 'Noto Serif JP', serif;
  word-wrap: nowrap;
}

.map_caption.visible {
  -webkit-animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
          animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
  visibility: visible;
}

.map_image {
  width: 90%;
  max-width: 1280px;
  position: relative;
  display: block;
  margin: 0% auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.map_image img {
  width: 100%;
}

.map_image.thumbnail {
  width: 74%;
}

.map_image .spot_info {
  position: absolute;
  left: 0;
  top: 0;
  width: auto;
  background-color: rgba(0, 0, 0, 0.7);
  max-width: 170px;
  -webkit-box-shadow: 1px 1px 5px black;
          box-shadow: 1px 1px 5px black;
  border: solid 2px black;
  padding: 0 3px;
  -webkit-transition: all ease 1s;
  transition: all ease 1s;
}

.map_image .spot_info.spot01 {
  position: absolute;
  left: calc(329 / 1152 * 100%);
  top: calc(466 / 781.25 * 100%);
}

.map_image .spot_info.spot02 {
  position: absolute;
  left: calc(594 / 1152 * 100%);
  top: calc(165 / 781.25 * 100%);
}

.map_image .spot_info.spot03 {
  position: absolute;
  left: calc(630 / 1152 * 100%);
  top: calc(574 / 781.25 * 100%);
}

.map_image .spot_info.spot04 {
  position: absolute;
  left: calc(300 / 1152 * 100%);
  top: calc(688 / 781.25 * 100%);
}

.map_image .spot_info.spot05 {
  position: absolute;
  left: calc(449 / 1152 * 100%);
  top: calc(588 / 781.25 * 100%);
}

.map_image .spot_info.spot06 {
  position: absolute;
  left: calc(506 / 1152 * 100%);
  top: calc(551 / 781.25 * 100%);
}

.map_image .spot_info.spot07 {
  position: absolute;
  left: calc(685 / 1152 * 100%);
  top: calc(464 / 781.25 * 100%);
}

.map_image .spot_info.spot08 {
  position: absolute;
  left: calc(326 / 1152 * 100%);
  top: calc(636 / 781.25 * 100%);
}

.map_image .spot_info.spot09 {
  position: absolute;
  left: calc(480 / 1152 * 100%);
  top: calc(656 / 781.25 * 100%);
}

.map_image .spot_info.spot10 {
  position: absolute;
  left: calc(433 / 1152 * 100%);
  top: calc(707 / 781.25 * 100%);
}

.map_image .spot_info.spot11 {
  position: absolute;
  left: calc(696 / 1152 * 100%);
  top: calc(649 / 781.25 * 100%);
}

.map_image .spot_info.spot12 {
  position: absolute;
  left: calc(735 / 1152 * 100%);
  top: calc(540 / 781.25 * 100%);
}

.map_image .spot_info.spot13 {
  position: absolute;
  left: calc(607 / 1152 * 100%);
  top: calc(235 / 781.25 * 100%);
}

.map_image .spot_info.spot14 {
  position: absolute;
  left: calc(415 / 1152 * 100%);
  top: calc(646 / 781.25 * 100%);
}

.map_image .spot_info.spot15 {
  position: absolute;
  left: calc(487 / 1152 * 100%);
  top: calc(487 / 781.25 * 100%);
}

.map_image .spot_info.spot16 {
  position: absolute;
  left: calc(463 / 1152 * 100%);
  top: calc(438 / 781.25 * 100%);
}

.map_image .spot_info.spot17 {
  position: absolute;
  left: calc(324 / 1152 * 100%);
  top: calc(584 / 781.25 * 100%);
}

.map_image .spot_info.spot18 {
  position: absolute;
  left: calc(350 / 1152 * 100%);
  top: calc(521 / 781.25 * 100%);
}

.map_image .spot_info.spot19 {
  position: absolute;
  left: calc(601 / 1152 * 100%);
  top: calc(403 / 781.25 * 100%);
}

.map_image .spot_info.spot20 {
  position: absolute;
  left: calc(586 / 1152 * 100%);
  top: calc(642 / 781.25 * 100%);
}

.map_image .spot_info a {
  color: white;
  text-decoration: none;
}

.map_image .spot_info a:hover {
  -webkit-filter: brightness(1.4);
          filter: brightness(1.4);
  -webkit-transition: -webkit-filter 0.3s;
  transition: -webkit-filter 0.3s;
  transition: filter 0.3s;
  transition: filter 0.3s, -webkit-filter 0.3s;
}

.map_image .spot_info:hover {
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
  background-color: rgba(50, 50, 50, 0.7);
  -webkit-box-shadow: 1px 1px 5px white;
          box-shadow: 1px 1px 5px white;
  border: solid 2px white;
}

.map_image .spot_info.hover {
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
  background-color: rgba(50, 50, 50, 0.7);
  -webkit-box-shadow: 1px 1px 5px white;
          box-shadow: 1px 1px 5px white;
  border: solid 2px white;
}

.map_image .spot_info img {
  width: 100%;
  -webkit-transition: -webkit-filter 0.3s, -webkit-transform 0.3s;
  transition: -webkit-filter 0.3s, -webkit-transform 0.3s;
  transition: filter 0.3s, transform 0.3s;
  transition: filter 0.3s, transform 0.3s, -webkit-filter 0.3s, -webkit-transform 0.3s;
  -webkit-box-shadow: 1px 1px 5px black;
          box-shadow: 1px 1px 5px black;
}

.map_image .spot_info img:hover {
  -webkit-filter: brightness(1.4);
          filter: brightness(1.4);
  -webkit-transition: -webkit-filter 0.3s;
  transition: -webkit-filter 0.3s;
  transition: filter 0.3s;
  transition: filter 0.3s, -webkit-filter 0.3s;
}

.map_image .spot_thumbnail-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

.map_image .spot_thumbnail-container {
  position: relative;
  display: block;
  width: 18%;
  margin: 5px 1%;
}

.map_image .spot_thumbnail-container img {
  width: 100%;
  -webkit-transition: -webkit-filter 0.3s, -webkit-transform 0.3s;
  transition: -webkit-filter 0.3s, -webkit-transform 0.3s;
  transition: filter 0.3s, transform 0.3s;
  transition: filter 0.3s, transform 0.3s, -webkit-filter 0.3s, -webkit-transform 0.3s;
  -webkit-box-shadow: 1px 1px 5px black;
          box-shadow: 1px 1px 5px black;
}

.map_image .spot_thumbnail-container img:hover {
  -webkit-filter: brightness(1.4);
          filter: brightness(1.4);
  -webkit-transition: -webkit-filter 0.3s;
  transition: -webkit-filter 0.3s;
  transition: filter 0.3s;
  transition: filter 0.3s, -webkit-filter 0.3s;
}

.section-offer {
  width: 100%;
  margin: 0 auto;
  position: relative;
  -webkit-box-shadow: 0 0 10px 0 black;
          box-shadow: 0 0 10px 0 black;
  z-index: 10;
}

.offer {
  background: url(../img/bg_offer.jpg) 50% 50% no-repeat;
  background-size: cover;
  width: 100%;
  position: relative;
  padding-top: 6%;
  padding-bottom: 6%;
}

.offer_caption {
  position: relative;
  width: 80%;
  max-width: 1280px;
  margin: 0 auto;
}

.offer_caption img {
  width: 60%;
  height: auto;
}

.offer_container {
  position: relative;
  width: 60%;
  height: auto;
  margin: 3% auto;
  padding: 2%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.offer_container a {
  text-decoration: none;
}

.offer_container li {
  display: block;
  position: relative;
  width: 100%;
  margin: 1% auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.offer_item {
  width: 100%;
  height: 220px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-bottom: 2%;
  background: white;
  border-radius: 4px;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  opacity: 0;
  -webkit-transform: translate(0, 20%) scale(1);
          transform: translate(0, 20%) scale(1);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-filter: blur(1em);
          filter: blur(1em);
}

.offer_item::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  z-index: -100;
  border: 1px solid rgba(255, 255, 255, 0);
}

.offer_item:hover::before {
  border: 1px solid black;
}

.offer_item.visible {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-filter: blur(0em);
          filter: blur(0em);
}

.offer_item::after {
  position: absolute;
  content: "";
  right: 4%;
  bottom: 4%;
  background: url("../img/icon_arrow.png");
  background-size: cover;
  background-repeat: no-repeat;
  height: 30px;
  width: 30px;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  opacity: 1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.offer_item:hover {
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
  -webkit-box-shadow: 0px 0px 2px white;
          box-shadow: 0px 0px 2px white;
}

.offer_item:hover::after {
  content: "";
  -webkit-transform: translate(65%, 0);
          transform: translate(65%, 0);
}

.offer_logo {
  position: relative;
  width: 36%;
  height: auto;
  padding: 4% 6%;
  margin: auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.offer_logo img {
  display: block;
  width: 100%;
}

.offer_text {
  width: 48%;
  padding: 2%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.offer_text p {
  font-size: 0.8em;
  margin: auto 0;
}

.offer_link {
  width: 100%;
  height: auto;
  display: block;
}

.section-gallery {
  width: 100%;
  margin: 0 auto;
  position: relative;
  -webkit-box-shadow: 0 0 10px 0 black;
          box-shadow: 0 0 10px 0 black;
  z-index: 10;
}

.gallery {
  background-color: #dddddd;
  width: 100%;
  position: relative;
  padding-top: 3%;
  padding-bottom: 3%;
}

.gallery_caption {
  position: relative;
  width: auto;
  height: 40px;
  max-width: 1280px;
  left: 0%;
  margin: 0 auto;
  padding-top: 2%;
  padding-bottom: 6%;
}

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

.gallery-slider {
  display: block;
  width: 90%;
  padding-top: 3%;
  padding-bottom: 3%;
  margin: 0 auto;
  max-width: 1280px;
}

.gallery-slide {
  background: white;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  opacity: 1;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  padding: 40px 0;
}

.gallery-slide a {
  text-decoration: none;
}

.gallery-slide_movie-frame {
  display: block;
  width: 80%;
  height: 100%;
  position: relative;
  border: 1px solid white;
  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
          box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
  margin: 0% auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.gallery-slide_movie-frame.thumbnail {
  display: block;
  width: 100%;
}

.gallery-slide_movie-frame.thumbnail::after {
  display: block;
  content: "";
  background: url("../img/btn_play.png");
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0%;
  left: 0%;
}

.gallery-slide_movie-frame.thumbnail img {
  display: block;
  width: 100%;
}

.gallery-slide_movie-frame:hover {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
  opacity: 0.8;
}

.gallery-slide_image-frame {
  display: block;
  width: 80%;
  height: 100%;
  position: relative;
  border: 1px solid white;
  -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
          box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
  margin: 0% auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.gallery-slide_image-frame.thumbnail {
  display: block;
  width: 100%;
}

.gallery-slide_image-frame.thumbnail img {
  display: block;
  width: 100%;
}

.gallery-slide_image-frame:hover {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
  opacity: 0.8;
}

.gallery-slide_title {
  display: block;
  text-align: center;
  margin: 0 auto;
  margin: 2% 0 0;
  font-family: 'Noto Serif JP', serif;
}

.gallery-slide_text {
  display: block;
  width: 80%;
  font-size: 0.8em;
  margin: 0 auto;
  margin-bottom: 2%;
}

.gallery-slide.interview {
  background: initial;
}

.swiper-button-prev {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.swiper-button-prev:hover {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  fill: rgba(10, 186, 255, 0.986);
}

.swiper-button-next {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.swiper-button-next:hover {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  fill: rgba(10, 186, 255, 0.986);
}

.swiper-pagination {
  position: relative;
  margin-top: 1%;
}

.section-product {
  width: 100%;
  margin: 0 auto;
  position: relative;
  -webkit-box-shadow: 0 0 10px 0 black;
          box-shadow: 0 0 10px 0 black;
  z-index: 10;
}

.product {
  background: url(../img/bg_product.jpg) 50% 50% no-repeat;
  background-size: cover;
  width: 100%;
  position: relative;
  padding-top: 4%;
  padding-bottom: 4%;
}

.product_wrapper {
  width: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
}

.product_logo {
  position: relative;
  width: 100%;
  height: auto;
  padding: 2%;
}

.product_item {
  position: relative;
  width: 50%;
  padding: 2%;
  overflow-y: visible;
}

.product_text {
  width: 70%;
  padding: 2%;
}

.product_text p {
  font-size: 0.8em;
  white-space: nowrap;
}

.product_type {
  width: 30%;
  padding: 2%;
  vertical-align: top;
}

.product_type p {
  font-size: 0.8em;
}

.product_order-wrapper {
  display: block;
  width: 100%;
  margin: 40px auto;
}

.product_order-wrapper_button {
  display: block;
  width: 600px;
  background: black;
  margin: 0 auto;
  text-decoration: none;
  padding: 8px;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  -webkit-transform: scale(1);
          transform: scale(1);
  border-radius: 2px;
}

.product_order-wrapper_button a {
  text-decoration: none;
}

.product_order-wrapper_button p {
  text-align: center;
  color: white;
  font-weight: bold;
  font-size: 1.0em;
  text-shadow: none;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.product_order-wrapper_button p:before {
  content: "▶";
}

.product_order-wrapper_button:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  background: rgba(0, 0, 0, 0.8);
}

.product_benefit-caption {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1280px;
  margin: 2% auto;
  color: black;
  font-weight: 900;
  font-size: 1.6em;
  font-family: 'Noto Serif JP', serif;
}

.product_benefit-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 95%;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.product_benefit-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  width: 30%;
  padding: 1%;
  margin: 1% 1%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: white;
  -webkit-box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.4);
          box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.4);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.product_benefit-container .item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}

.product_benefit-container a {
  text-decoration: none;
}

.product_benefit-container .shop-name {
  color: black;
  font-size: 1.5em;
  font-weight: 900;
  padding: 2%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: 'Noto Serif JP', serif;
  text-align: center;
}

.product_benefit-container .detail {
  color: black;
  font-size: 1.2em;
  font-weight: 600;
  padding: 2%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
}

.product_benefit-container .image-frame {
  display: block;
  position: relative;
  margin: 2% auto 2%;
  border: 1px solid rgba(0, 0, 0, 0.4);
  width: 90%;
  max-height: 800px;
  padding: 1%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  border-radius: 6px;
}

.product_benefit-container .image-frame img {
  width: 100%;
}

.product_benefit-container .image-frame:hover {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
  -webkit-filter: brightness(1.2);
          filter: brightness(1.2);
}

.product_benefit-container .button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 2%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.product_benefit-container .shop-button {
  display: block;
  position: relative;
  width: 90%;
  background: black;
  color: white;
  border-radius: 4px;
  margin: 2% auto 3%;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  padding: 2%;
}

.product_benefit-container .shop-button p {
  text-align: center;
  font-weight: 900;
}

.product_benefit-container .shop-button:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  background: rgba(0, 0, 0, 0.8);
}

.product_benefit-container .shop-button.ps4 {
  background: #0d98e9;
}

.product_benefit-container .shop-button.switch {
  background: #ff3628;
}

.product_benefit-container .shop-button.prepare {
  background: #b0b0b0;
  color: black;
  pointer-events: none;
}

.cero {
  width: 64px;
  height: 64px;
  vertical-align: text-top;
}

.footer {
  display: block;
  background-color: #1b1b1b;
  width: 100%;
  position: relative;
  overflow: hidden;
  padding: 1em 0;
}

.banner-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 40%;
}

.banner {
  display: block;
  width: 100%;
  position: relative;
  margin: 5px 2px;
}

.banner img {
  width: 100%;
  vertical-align: bottom;
}

.footer-wrapper {
  max-width: 960px;
  margin: 0 auto;
  position: relative;
}

.sns-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: 1% 0;
}

.sns-button__item {
  position: relative;
  width: 5.20833%;
}

.sns-button__item img {
  vertical-align: bottom;
  width: 100%;
}

.sns-button__item + .sns-button__item {
  margin-left: 1%;
}

.official-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 2% auto 0;
  width: 100%;
  position: relative;
}

.official-sns__item {
  width: 15.83333%;
}

.official-sns__item img {
  width: 100%;
}

.official-sns__item:not(:last-of-type) {
  margin-right: 1%;
}

.copy-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 3%;
  font-size: 0.5em;
}

.copy {
  color: white;
  width: 72%;
}

.fullview-wrapper {
  display: block;
  position: relative;
  width: 75%;
  margin: 0 auto;
  max-width: 960px;
  padding-bottom: 40px;
}

.fullview-frame {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: calc(540 / 960 * 100%) 0 0;
  -webkit-box-shadow: 0 0 8px black;
          box-shadow: 0 0 8px black;
}

.fullview-frame .overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1.1em;
  background: rgba(255, 255, 255, 0.5);
  z-index: 100;
}

.fullview-frame .overlay p {
  color: #333;
  font-size: 0.7em;
  text-align: center;
}

.fullview-frame iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#page_system .gameflow {
  width: 100%;
  height: 100vh;
  min-height: 900px;
  overflow: hidden;
  position: relative;
  -webkit-box-shadow: 0 0 10px 0 black;
          box-shadow: 0 0 10px 0 black;
  margin: 0 auto;
}

#page_system .gameflow.h1050 {
  min-height: 1050px;
}

#page_system .gameflow .bg1 {
  background: url(../img/system/bg01.jpg) 100% 100% no-repeat;
}

#page_system .gameflow .bg2 {
  background: url(../img/system/bg02.jpg) 100% 100% no-repeat;
}

#page_system .gameflow .bg3 {
  background: url(../img/system/bg03.jpg) 100% 100% no-repeat;
}

#page_system .gameflow .bg4 {
  background: url(../img/system/bg04.jpg) 100% 100% no-repeat;
}

#page_system .gameflow .bg5 {
  background: url(../img/system/bg05.jpg) 100% 100% no-repeat;
}

#page_system .gameflow .bg6 {
  background: url(../img/system/bg06.jpg) 100% 100% no-repeat;
}

#page_system .gameflow .bg1, #page_system .gameflow .bg2, #page_system .gameflow .bg3, #page_system .gameflow .bg4, #page_system .gameflow .bg5, #page_system .gameflow .bg6 {
  display: block;
  position: absolute;
  background-size: cover;
  width: 100%;
  height: 100%;
  z-index: -1;
}

#page_system .gameflow .content-container {
  display: block;
  width: 80%;
  height: auto;
  background: rgba(0, 0, 0, 0.6);
  padding-bottom: 4px;
  visibility: hidden;
  opacity: 0;
}

#page_system .gameflow .content-container.visible {
  -webkit-animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
          animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
  visibility: visible;
}

#page_system .gameflow .caption {
  position: absolute;
  top: 4%;
  left: calc(5vw - 135px);
  z-index: 100;
  visibility: hidden;
  opacity: 0;
}

#page_system .gameflow .caption.visible {
  -webkit-animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
          animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
  visibility: visible;
}

#page_system .gameflow .text {
  display: block;
  position: relative;
  color: white;
  margin-top: 10%;
  width: 95%;
  padding: 18% 2% 2%;
  visibility: hidden;
  opacity: 0;
}

#page_system .gameflow .text.visible {
  -webkit-animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
          animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
  visibility: visible;
}

#page_system .imagebox {
  position: absolute;
  top: 57%;
  left: 18vw;
}

#page_system .imagebox img {
  width: 400px;
}

#page_system .image:only-child {
  width: 70%;
}

#page_character .character {
  width: 100%;
  height: 100vh;
  min-height: 900px;
  overflow: hidden;
  position: relative;
  -webkit-box-shadow: 0 0 10px 0 black;
          box-shadow: 0 0 10px 0 black;
  margin: 0 auto;
  padding-bottom: 4%;
}

#page_character .character .btn-voice {
  background: #369AC2;
  border: white solid 1px;
  border-radius: 15px;
  padding: 0.3em 0.4em;
  color: white;
  cursor: pointer;
  font-size: 0.9em;
}

#page_character .character .btn-voice.mini {
  font-size: 0.6em;
  cursor: pointer;
}

#page_character .character.other {
  height: auto;
}

#page_character .character .bg1 {
  background: url(../img/character/bg01.jpg) 100% 100% no-repeat;
}

#page_character .character .bg2 {
  background: url(../img/character/bg02.jpg) 100% 100% no-repeat;
}

#page_character .character .bg3 {
  background: url(../img/character/bg03.jpg) 100% 100% no-repeat;
}

#page_character .character .bg4 {
  background: url(../img/character/bg04.jpg) 100% 100% no-repeat;
}

#page_character .character .bg5 {
  background: url(../img/character/bg05.jpg) 100% 100% no-repeat;
}

#page_character .character .bg6 {
  background: url(../img/character/bg06.jpg) 100% 100% no-repeat;
}

#page_character .character .bg1, #page_character .character .bg2, #page_character .character .bg3, #page_character .character .bg4, #page_character .character .bg5, #page_character .character .bg6 {
  display: block;
  position: absolute;
  background-size: cover;
  width: 100%;
  height: 100%;
  z-index: -1;
}

#page_character .character .content-container {
  display: block;
  width: 80%;
  height: auto;
  background: rgba(0, 0, 0, 0.6);
  padding-bottom: 4px;
  visibility: hidden;
  opacity: 0;
}

#page_character .character .content-container.visible {
  -webkit-animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
          animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
  visibility: visible;
}

#page_character .character .caption {
  position: absolute;
  top: 4%;
  left: calc(5vw - 135px);
  z-index: 100;
  visibility: hidden;
  opacity: 0;
}

#page_character .character .caption.visible {
  -webkit-animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
          animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
  visibility: visible;
}

#page_character .character .text-caption {
  width: 80%;
  color: white;
  font-size: 1.2em;
  font-weight: bold;
  padding-top: 2%;
  padding-bottom: 2%;
  font-family: 'Noto Serif JP', serif;
  margin: 0 auto;
}

#page_character .character .text-caption.other {
  margin-top: 0%;
  padding-top: 0%;
}

#page_character .character .text {
  display: block;
  position: relative;
  color: white;
  margin-top: 10%;
  width: 95%;
  padding: 18% 2% 2%;
  visibility: hidden;
  opacity: 0;
}

#page_character .character .text.visible {
  -webkit-animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
          animation: anim-fadeIn-horizontal-right 0.4s ease forwards;
  visibility: visible;
}

#page_character .character .text.other {
  margin-top: 0%;
  padding-top: 0%;
}

#page_character .character .main-character {
  position: absolute;
  overflow: hidden;
  right: 1%;
  top: 0px;
  height: 100%;
  width: 400px;
}

#page_character .character .main-character img {
  width: 100%;
}

#page_character .content-container {
  min-height: 80%;
}

#page_character .image-wrapper.main {
  width: 60%;
  margin: 3% 3% auto;
}

#page_character .image-wrapper.other {
  margin: 0 auto;
}

#page_character .image:only-child {
  width: 60%;
}

.glNav_item.new:before {
  content: "";
  background: url(../img/new.png) 0 0 no-repeat;
  background-size: cover;
  width: 35%;
  height: 0;
  padding-bottom: 12.63889%;
  position: absolute;
  top: 1%;
  left: auto;
  bottom: auto;
  right: -8%;
  pointer-events: none;
  z-index: 100;
  -webkit-animation: anim-new 1.5s infinite ease;
          animation: anim-new 1.5s infinite ease;
}

.spot_info.new:before {
  content: "";
  background: url(../img/new.png) 0 0 no-repeat;
  background-size: cover;
  width: 30px;
  height: 0;
  padding-bottom: 10.83333px;
  position: absolute;
  top: -15%;
  left: auto;
  bottom: auto;
  right: -14%;
  pointer-events: none;
  z-index: 100;
  -webkit-animation: anim-new 1.5s infinite ease;
          animation: anim-new 1.5s infinite ease;
}

.spot_thumbnail-container.new:before {
  content: "";
  background: url(../img/new.png) 0 0 no-repeat;
  background-size: cover;
  width: 30%;
  height: 0;
  padding-bottom: 10.83333%;
  position: absolute;
  top: 0%;
  left: auto;
  bottom: auto;
  right: -1%;
  pointer-events: none;
  z-index: 100;
  -webkit-animation: anim-new 1.5s infinite ease;
          animation: anim-new 1.5s infinite ease;
}

.common-button.new:before {
  content: "";
  background: url(../img/new.png) 0 0 no-repeat;
  background-size: cover;
  width: 10%;
  height: 0;
  padding-bottom: 3.61111%;
  position: absolute;
  top: 0%;
  left: 0%;
  bottom: auto;
  right: auto;
  pointer-events: none;
  z-index: 100;
  -webkit-animation: anim-new 1.5s infinite ease;
          animation: anim-new 1.5s infinite ease;
}

.DLC-wrapper.new::before {
  content: "";
  background: url(../img/new.png) 0 0 no-repeat;
  background-size: cover;
  width: 15%;
  height: 0;
  padding-bottom: 5.41667%;
  position: absolute;
  top: -3%;
  left: auto;
  bottom: auto;
  right: 5%;
  pointer-events: none;
  z-index: 100;
  -webkit-animation: anim-new 1.5s infinite ease;
          animation: anim-new 1.5s infinite ease;
}

.btn_next {
  width: 30%;
  margin: 1em auto 0;
}

.btn_next a {
  display: block;
  background: white;
  border: 1px solid #444;
  color: #333;
  border-radius: 2px;
  padding: 0.5em;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-weight: bold;
}

.btn_next a:hover {
  background: #ddd;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.famitsu-wrapper {
  opacity: 0;
  display: block;
  position: absolute;
  bottom: 20px;
  left: calc(3%);
  visibility: visible;
  -webkit-animation: anim-header-famitsu 3s ease forwards;
          animation: anim-header-famitsu 3s ease forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.famitsu-div {
  display: block;
  width: 13.02083vw;
  position: relative;
  margin: 2% auto 0;
  z-index: 5;
}

.famitsu-div .famitsu {
  display: block;
  width: 100%;
}

.famitsu-div.pop {
  background: none;
}

.DLC-wrapper {
  opacity: 0;
  display: block;
  position: absolute;
  bottom: 20px;
  left: calc(20%);
  visibility: visible;
  -webkit-animation: anim-header-famitsu 3s ease forwards;
          animation: anim-header-famitsu 3s ease forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.DLC-wrapper a {
  display: block;
  position: relative;
  margin: 2% auto 0;
  z-index: 5;
  width: 23.4375vw;
}

.DLC-wrapper img {
  max-width: 100%;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.DLC-wrapper img:hover {
  opacity: 0.8;
}
