body {
  font-size: calc(25rem + (1vw - 6.4px) * 3.571);
}

.br-sp {
  display: block;
}

.br-pc {
  display: none;
}

.bg-movie__movie {
  height: 100vh;
  width: auto;
}

/* GLNAV --------------------------------*/
.sp-menu-button {
  display: block;
  background-color: white;
  border: 6px solid #8ee34e;
  border-radius: 6px;
  width: 10vw;
  height: 10vw;
  position: fixed;
  top: 2vw;
  right: 2vw;
  z-index: 8000;
  -webkit-transition: all 0.45s;
  transition: all 0.45s;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
.sp-menu-button .glnav-line-up, .sp-menu-button .glnav-line-middle, .sp-menu-button .glnav-line-down {
  display: block;
  position: absolute;
  width: 80%;
  margin: 0 auto;
  height: 8%;
  border-radius: 3px;
  background: #8ee34e;
  -webkit-transition: top 0.45s, opacity 0.45s, background-color 0.45s, -webkit-transform 0.45s;
  transition: top 0.45s, opacity 0.45s, background-color 0.45s, -webkit-transform 0.45s;
  transition: transform 0.45s, top 0.45s, opacity 0.45s, background-color 0.45s;
  transition: transform 0.45s, top 0.45s, opacity 0.45s, background-color 0.45s, -webkit-transform 0.45s;
  left: 10%;
}
.sp-menu-button .glnav-line-up {
  top: 25%;
}
.sp-menu-button .glnav-line-up.show {
  top: 50%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  background-color: white;
}
.sp-menu-button .glnav-line-down {
  top: 75%;
}
.sp-menu-button .glnav-line-down.show {
  top: 50%;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  background-color: white;
}
.sp-menu-button .glnav-line-middle {
  top: 50%;
}
.sp-menu-button .glnav-line-middle.show {
  opacity: 0;
}
.sp-menu-button.show {
  background-color: #8ee34e;
  border: 6px solid white;
  border-radius: 6px;
}
.sp-menu-button.hide {
  opacity: 0;
  z-index: -1;
}

.glNav {
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  top: 0;
  margin: 0 auto;
  padding: 10% 0 14%;
  -webkit-transform: translate(0, -100%);
          transform: translate(0, -100%);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.glNav.show {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.glNav-corner {
  display: block;
}

.glNav-wrapper {
  max-width: auto;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
}

.glNav-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: auto;
  width: 100%;
  margin: 0 auto;
  position: relative;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.glNav-menu__item {
  display: block;
  margin: 0 auto 2em;
  -webkit-transform: scale(2);
          transform: scale(2);
  width: auto;
  height: 100%;
}

.glNav-offset {
  /*
  &:first-child{
  	height:70px;
  }
  */
}
.glNav-offset:last-child {
  height: 142px;
}
.glNav-offset.top {
  height: 0px;
}

.glNav-bg {
  height: 100%;
}

.glNav-button-top {
  background: url(../img/glnav_top.png) no-repeat;
  display: block;
  margin: 0 auto;
  width: 125;
  height: 106;
  background-size: 100% auto;
}
.glNav-button-top:hover {
  background-position: none;
}
.glNav-button-top.selected {
  background-position: 0 100%;
  pointer-events: none;
}

.glNav-button-character {
  background: url(../img/glnav_character.png) no-repeat;
  display: block;
  margin: 0 auto;
  width: 213;
  height: 106;
  background-size: 100% auto;
}
.glNav-button-character:hover {
  background-position: none;
}
.glNav-button-character.selected {
  background-position: 0 100%;
  pointer-events: none;
}

.glNav-button-system {
  background: url(../img/glnav_system.png) no-repeat;
  display: block;
  margin: 0 auto;
  width: 172;
  height: 102;
  background-size: 100% auto;
}
.glNav-button-system:hover {
  background-position: none;
}
.glNav-button-system.selected {
  background-position: 0 100%;
  pointer-events: none;
}

.glNav-button-story {
  background: url(../img/glnav_story.png) no-repeat;
  display: block;
  margin: 0 auto;
  width: 211;
  height: 102;
  background-size: 100% auto;
}
.glNav-button-story:hover {
  background-position: none;
}
.glNav-button-story.selected {
  background-position: 0 100%;
  pointer-events: none;
}

.glNav-button-gallery {
  background: url(../img/glnav_gallery.png) no-repeat;
  display: block;
  margin: 0 auto;
  width: 210;
  height: 108;
  background-size: 100% auto;
}
.glNav-button-gallery:hover {
  background-position: none;
}
.glNav-button-gallery.selected {
  background-position: 0 100%;
  pointer-events: none;
}

.glNav-button-special {
  background: url(../img/glnav_special.png) no-repeat;
  display: block;
  margin: 0 auto;
  width: 211;
  height: 136;
  background-size: 100% auto;
}
.glNav-button-special:hover {
  background-position: none;
}
.glNav-button-special.selected {
  background-position: 0 100%;
  pointer-events: none;
}

/* FLOAT --------------------------------*/
.reserve-button-float {
  width: 32%;
  right: -5%;
  bottom: 13%;
}
.reserve-button-float:hover {
  right: -3%;
}

/* FOOTER --------------------------------*/
.sns-button {
  width: 8vw;
  height: 24vw;
  right: 2vw;
  z-index: -1;
  opacity: 0;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}

.official-sns {
  max-width: auto;
  max-width: initial;
  width: 98%;
  margin-top: 5%;
}
.official-sns__item {
  width: 32.6666666667%;
}
.official-sns__item img {
  width: 100%;
}
.official-sns__item:not(:last-of-type) {
  margin-right: auto;
}
.official-sns__item:not(:nth-of-type(3n)) {
  margin-right: 1%;
}

.copy-wrapper {
  display: block;
  margin: 3% auto 5%;
  padding: 0 2%;
  text-align: center;
}

.banner-nip {
  display: block;
  margin: 5% auto 0;
  width: 50%;
}
.banner-nip img {
  width: 100%;
  vertical-align: bottom;
}

.footer {
  position: relative;
  bottom: initial;
  left: initial;
}
.footer.show {
  z-index: 5000;
}

.footer-wrapper {
  padding: 6% 0 6%;
}

/* NEW --------------------------------*/
/* top */
.topics-card.new::before {
  content: "";
  display: block;
  background: url(../img/new.png) 0 0 no-repeat;
  background-size: cover;
  width: 20%;
  height: 0;
  padding-bottom: 8.1012658228%;
  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;
}

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

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