@-webkit-keyframes msbl-btn-shake {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  33% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  66% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes msbl-btn-shake {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  33% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  66% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes msbl-icon-shake {
  0% {
    margin-left: 0;
  }
  33% {
    margin-left: -5px;
  }
  66% {
    margin-left: 5px;
  }
  100% {
    margin-left: 0;
  }
}
@keyframes msbl-icon-shake {
  0% {
    margin-left: 0;
  }
  33% {
    margin-left: -5px;
  }
  66% {
    margin-left: 5px;
  }
  100% {
    margin-left: 0;
  }
}
@-webkit-keyframes msbl-slide-shake-l {
  0% {
    left: 0;
  }
  33% {
    left: -5px;
  }
  66% {
    left: 5px;
  }
  100% {
    left: 0;
  }
}
@keyframes msbl-slide-shake-l {
  0% {
    left: 0;
  }
  33% {
    left: -5px;
  }
  66% {
    left: 5px;
  }
  100% {
    left: 0;
  }
}
@-webkit-keyframes msbl-slide-shake-r {
  0% {
    right: 0;
  }
  33% {
    right: -5px;
  }
  66% {
    right: 5px;
  }
  100% {
    right: 0;
  }
}
@keyframes msbl-slide-shake-r {
  0% {
    right: 0;
  }
  33% {
    right: -5px;
  }
  66% {
    right: 5px;
  }
  100% {
    right: 0;
  }
}
@-webkit-keyframes msbl-fm-feature-chara-slide-card-chara {
  0% {
    -webkit-transform: translateX(30%) scale(1.2);
    transform: translateX(30%) scale(1.2);
    opacity: 0;
  }
  30% {
    -webkit-transform: translateX(-10%) scale(0.9);
    transform: translateX(-10%) scale(0.9);
    opacity: 1;
  }
  75% {
    -webkit-transform: translateX(5%) scale(1.05);
    transform: translateX(5%) scale(1.05);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(0%) scale(1);
    transform: translateX(0%) scale(1);
    opacity: 1;
  }
}
@keyframes msbl-fm-feature-chara-slide-card-chara {
  0% {
    -webkit-transform: translateX(30%) scale(1.2);
    transform: translateX(30%) scale(1.2);
    opacity: 0;
  }
  30% {
    -webkit-transform: translateX(-10%) scale(0.9);
    transform: translateX(-10%) scale(0.9);
    opacity: 1;
  }
  75% {
    -webkit-transform: translateX(5%) scale(1.05);
    transform: translateX(5%) scale(1.05);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(0%) scale(1);
    transform: translateX(0%) scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes msbl-st-technique-slide {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@keyframes msbl-st-technique-slide {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@-webkit-keyframes msbl-st-stadium-slide {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@keyframes msbl-st-stadium-slide {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@-webkit-keyframes msbl-st-feature-slide {
  0% {
    -webkit-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
  }
  100% {
    -webkit-transform: translate(-50%, 35.2%);
    transform: translate(-50%, 35.2%);
  }
}
@keyframes msbl-st-feature-slide {
  0% {
    -webkit-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
  }
  100% {
    -webkit-transform: translate(-50%, 35.2%);
    transform: translate(-50%, 35.2%);
  }
}
.msbl-nav {
  z-index: 10;
  position: relative;
  margin-top: -1.5vw;
  padding: 20px 20px 15px;
  background-image: url(../img/common/nav_bg.png);
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}
.msbl-nav-body {
  position: relative;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.msbl-nav-logo {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 17.1875%;
}
.msbl-nav-logo > a {
  display: block;
}
.msbl-nav-logo > a.hover:hover {
  -webkit-animation-duration: 0.1s;
  animation-duration: 0.1s;
  -webkit-animation-name: msbl-btn-shake;
  animation-name: msbl-btn-shake;
}
.msbl-nav-link {
  padding-left: 18.75%;
}
.msbl-nav-link > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.msbl-nav-link > ul > li > a {
  display: block;
}
.msbl-nav-link > ul > li > a.hover:hover > div, .msbl-nav-link > ul > li > a.press > div {
  -webkit-animation-duration: 0.1s;
  animation-duration: 0.1s;
  -webkit-animation-name: msbl-btn-shake;
  animation-name: msbl-btn-shake;
}
.msbl-nav-link > ul > li > a.hover:hover > div > img:first-of-type, .msbl-nav-link > ul > li > a.press > div > img:first-of-type {
  visibility: hidden;
}
.msbl-nav-link > ul > li > a.hover:hover > div > img:last-of-type, .msbl-nav-link > ul > li > a.press > div > img:last-of-type {
  visibility: visible;
}
.msbl-nav-link > ul > li > a.on > div > img:first-of-type {
  visibility: hidden;
}
.msbl-nav-link > ul > li > a.on > div > img:last-of-type {
  visibility: visible;
}
.msbl-nav-link > ul > li > a > div {
  position: relative;
}
.msbl-nav-link > ul > li > a > div > img {
  position: relative;
}
.msbl-nav-link > ul > li > a > div > img:last-of-type {
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.msbl-footer {
  position: relative;
  padding: 0 20px;
  background-color: #000000;
  color: #fff;
}
.msbl-footer-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  max-width: 1280px;
  height: 64px;
  margin: 0 auto;
}
.msbl-footer-link {
  font-weight: bold;
  font-size: 14px;
}
.msbl-footer-link > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.msbl-footer-link > ul > li:nth-of-type(n+2) {
  margin-left: 40px;
}
.msbl-footer-link > ul > li > a {
  display: inline-block;
  padding-left: 15px;
  background-image: url(../img/common/footer_arrow.svg);
  background-position: left center;
  background-size: 6px;
  background-repeat: no-repeat;
  color: #fff;
}
.msbl-footer-copy {
  font-weight: bold;
  font-size: 12px;
}
.msbl-footer-share > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.msbl-footer-share > ul > li {
  line-height: 0;
}
.msbl-footer-share > ul > li:nth-of-type(n+2) {
  margin-left: 10px;
}

html:not(.msbl-touch-enable) {
  overflow-y: scroll;
}

.msbl-contents {
  position: relative;
  overflow: hidden;
  background-image: url(../img/common/bg.jpg);
  background-position: center top;
  background-size: 100%;
  background-repeat: repeat-y;
  color: #000000;
}
.msbl-contents * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.msbl-contents *:before, .msbl-contents *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.msbl-contents section {
  position: relative;
}
.msbl-contents video,
.msbl-contents img {
  width: 100%;
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  vertical-align: bottom;
}
.msbl-contents img[data-src] {
  visibility: hidden;
}
.msbl-contents video {
  background-color: #000000;
}
.msbl-contents sup {
  position: relative;
  font-size: 50%;
  vertical-align: top;
}
.msbl-contents-main {
  position: relative;
}
.msbl-contents-body {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 20px;
}
.msbl-switch-logo {
  z-index: 5;
  position: absolute;
  top: 0;
  right: 0;
  width: 100px;
}
.msbl-switch-logo > a {
  display: block;
}
.msbl-video {
  position: relative;
  overflow: hidden;
  background-color: #000;
  cursor: pointer;
}
.msbl-video:after {
  display: none;
  z-index: 10;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/common/icon_play.png);
  background-position: center center;
  background-size: 80px;
  background-repeat: no-repeat;
  content: "";
}
.msbl-video.on:before {
  display: none;
}
.msbl-video.on:after {
  display: block;
}
.msbl-video.on.hover:hover:after, .msbl-video.on.press:after {
  -webkit-animation-duration: 0.1s;
  animation-duration: 0.1s;
  -webkit-animation-name: msbl-icon-shake;
  animation-name: msbl-icon-shake;
}
.msbl-video.on > img {
  visibility: hidden;
  pointer-events: none;
}
.msbl-video.on .msbl-video-btn {
  display: block;
}
.msbl-video.play:before {
  display: none;
}
.msbl-video.play:after {
  display: none;
}
.msbl-video:before {
  display: block;
  z-index: 8;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/common/loading.gif);
  background-position: center center;
  background-repeat: no-repeat;
  background-color: rgba(0, 0, 0, 0.5);
  content: "";
}
.msbl-video > img {
  z-index: 5;
  position: relative;
}
.msbl-video > video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.msbl-video-btn {
  display: none;
  z-index: 15;
  position: absolute;
  right: 2%;
  bottom: 2%;
  width: 10%;
}
.msbl-video-btn > img {
  position: relative;
}
.msbl-video-btn > img:first-of-type {
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.msbl-video-btn.on > img:last-of-type {
  visibility: hidden;
}
.msbl-video-btn.on > img:first-of-type {
  visibility: visible;
}
.msbl-video-auto {
  position: relative;
  overflow: hidden;
  background-color: #000;
}
.msbl-video-auto.on > img {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.msbl-video-auto > img {
  z-index: 5;
  position: relative;
  opacity: 1;
}
.msbl-video-auto > video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 759px) {
  .msbl-nav {
    margin-top: -25vw;
    padding: 0 10px 15px;
    background-image: url(../img/common/nav_bg_sp.png);
    background-position: center 20vw;
  }
  .msbl-nav-logo {
    position: relative;
    width: 75%;
    margin: 0 auto;
  }
  .msbl-nav-link {
    margin-top: 15px;
    padding-left: 0;
  }
  .msbl-nav-link > ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .msbl-nav-link > ul > li {
    width: 45%;
  }
  .msbl-nav-link > ul > li:nth-of-type(1) {
    width: 55%;
  }
  .msbl-nav-link > ul > li:nth-of-type(n+2) {
    margin-top: 1%;
  }
  .msbl-nav-link > ul > li:nth-of-type(2n) {
    margin-left: -3%;
  }
  .msbl-footer {
    padding: 20px 10px 25px;
  }
  .msbl-footer-body {
    display: block;
    height: auto;
  }
  .msbl-footer-link {
    width: 100%;
    margin-bottom: 15px;
    font-size: 11px;
  }
  .msbl-footer-link > ul {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .msbl-footer-link > ul > li:nth-of-type(n+2) {
    margin-left: 30px;
  }
  .msbl-footer-link > ul > li > a {
    padding-left: 10px;
    background-size: 4px;
  }
  .msbl-footer-copy {
    font-size: 11px;
    text-align: center;
  }
  .msbl-contents {
    background-image: url(../img/common/bg_sp.jpg);
  }
  .msbl-contents .pc {
    display: none;
  }
  .msbl-switch-logo {
    top: 5px;
    right: 5px;
    width: 44px;
  }
}
@media screen and (min-width: 760px) and (max-width: 1280px) {
  .msbl-nav-link {
    padding-left: 17.1875%;
  }
}
@media screen and (min-width: 760px), print {
  .msbl-nav-link > ul > li:nth-of-type(n+2) {
    margin-left: -1%;
  }
  .msbl-footer-link > ul > li > a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .msbl-footer-link > ul > li > a:hover {
    opacity: 0.7;
  }
  .msbl-contents video,
.msbl-contents img {
    image-rendering: -webkit-optimize-contrast;
  }
  .msbl-contents .sp {
    display: none;
  }
}