@charset "UTF-8";
/* -----------------------------------
  BASE
----------------------------------- */
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
}

body {
  background: #000;
  color: #fff;
  font-family: 'ゴシックMB101 B', 'Gothic MB101 Bold', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', sans-serif;
  font-size: 2.4rem;
  line-height: 1.6;
  min-width: 320px;
}

input, textarea, select, button {
  border: none;
  border-radius: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  outline: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

input, textarea, select, button, label {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

*::-webkit-media-controls-panel {
  display: none !important;
  -webkit-appearance: none;
}

*::--webkit-media-controls-play-button {
  display: none !important;
  -webkit-appearance: none;
}

*::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}

.fix-bg {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}

.fix-bg img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  max-width: inherit;
}

@media (min-width: 769px) {
  .fix-bg img {
    width: 100%;
  }
}

.bg-01 {
  display: block;
}

.kiyaku a {
  color: #fff;
  text-decoration: underline;
}

.entry {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 999;
}

.isAndorid .ios_only {
  display: none;
}

.isIos .android_only {
  display: none;
}

.isSp .pc_only {
  display: none;
}

.pc {
  display: none;
}

/* -----------------------------------
  MAIN
----------------------------------- */
#main {
  background: #000;
  padding: 534px 0 0;
  text-align: center;
  overflow: hidden;
  position: relative;
  width: 100%;
}

#main.no_js {
  background: url("../images/bg_main_sp.jpg") no-repeat center 0;
}

#main.no_js .mv_movie {
  display: none;
}

#main h1 {
  position: relative;
}

#main .bg_grd {
  background: url("../images/bg_grd.png") repeat-x center bottom;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
}

#main .slash {
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0 0 0 -458px;
  width: 876px;
}

#main .bg_killua {
  position: absolute;
  left: 50%;
  margin: 0 0 0 -440px;
  top: 0;
}

#main .bg_killua .mask {
  overflow: hidden;
  height: 2210px;
  -webkit-transform: rotate(44deg);
  -ms-transform: rotate(44deg);
  transform: rotate(44deg);
}

#main .bg_killua video {
  -webkit-transform: scale(1.2) rotate(-44deg) translate(-296px, -76px);
  -ms-transform: scale(1.2) rotate(-44deg) translate(-296px, -76px);
  transform: scale(1.2) rotate(-44deg) translate(-296px, -76px);
}

#main .bg_gon {
  position: absolute;
  left: 0;
  margin: 0;
  top: 0;
}

#main .bg_gon .mask {
  overflow: hidden;
}

#main .bg_gon video {
  -webkit-transform: scale(1.32) translate(-340px, -130px);
  -ms-transform: scale(1.32) translate(-340px, -130px);
  transform: scale(1.32) translate(-340px, -130px);
}

#main .mv_movie {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 100%;
  width: 100%;
}

#main .mv_movie video {
  position: absolute;
  top: 52%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 250%;
}

/* -----------------------------------
  CONTENTS
----------------------------------- */
.block .header {
  margin: 0 0 126px;
  position: relative;
}

.block .header h2 {
  background: #000;
  font-size: 5.4rem;
  line-height: 1.4;
  margin: 0 50px 0 0;
  padding: 45px 0 45px 190px;
  letter-spacing: -4px;
  text-align: center;
}

.block .header h2.short {
  padding: 45px 0 45px 70px;
}

.block .header h2 span {
  display: inline-block;
}

.block .header h2 .small {
  font-size: 3rem;
  letter-spacing: 0;
}

.block .header .img {
  position: absolute;
  top: -270px;
  left: 0;
}

.block .h-block {
  padding: 0 80px 60px 76px;
}

.block .bg-text-line {
  line-height: 1.3;
}

.block .bg-text-line p {
  display: inline-block;
  position: relative;
  color: #fff;
  font-size: 7.5rem;
  letter-spacing: -4px;
  margin: 0 0 5px;
  padding: 0 20px;
  z-index: 1;
}

.block .bg-text-line p::after {
  content: '';
  position: absolute;
  background-image: -moz-linear-gradient(0, #3600bb 0%, #a300e9 100%);
  background-image: -webkit-linear-gradient(0, #3600bb 0%, #a300e9 100%);
  background-image: -ms-linear-gradient(0, #3600bb 0%, #a300e9 100%);
  background-image: -webkit-gradient(linear, left top, right top, from(#3600bb), to(#a300e9));
  background-image: -webkit-linear-gradient(left, #3600bb 0%, #a300e9 100%);
  background-image: -o-linear-gradient(left, #3600bb 0%, #a300e9 100%);
  background-image: linear-gradient(to right, #3600bb 0%, #a300e9 100%);
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}

.block .bg-text-line span {
  position: relative;
}

.block .bg-text-line em {
  position: absolute;
}

.block .line1 {
  position: relative;
  z-index: 2;
}

.block .line3 p {
  font-size: 3rem;
  letter-spacing: -2px;
  margin: 0;
}

.block .line3 p::after {
  z-index: 0;
}

.block .line3 span {
  z-index: 1;
}

.read-block {
  background: #000;
  padding: 50px 0 90px;
  text-align: center;
}

.read-block h2 {
  font-size: 5.2rem;
  line-height: 1.2;
  letter-spacing: -3px;
  margin: 0 0 50px;
}

.read-block h2 span {
  display: block;
  letter-spacing: 2px;
}

.read-block .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.read-block .btn li {
  margin: 0 12px;
}

.entry-block {
  padding: 140px 0 180px;
  text-align: center;
}

.entry-block h2 {
  font-size: 6rem;
  line-height: 1;
  margin: 0 0 60px;
}

.entry-block h2 span {
  font-size: 2.4rem;
  font-weight: normal;
}

.entry-block .sns {
  margin: 0 0 44px;
}

.entry-block li {
  margin: 0 0 26px;
}

.entry-block li a {
  border-radius: 50px;
  color: #fff;
  display: block;
  font-size: 2.8rem;
  letter-spacing: 2px;
  margin: auto;
  padding: 30px;
  text-align: center;
  width: 498px;
}

.entry-block li a img {
  margin: 0 30px 0 0;
}

@media (min-width: 769px) {
  .entry-block li a {
    font-size: 1.8rem;
    line-height: 1;
    padding: 25px;
    width: 354px;
  }
  .entry-block li a img {
    margin: -5px 30px -5px 0;
    width: 34px;
  }
}

.entry-block .tw a {
  background: #1da1f2;
}

.entry-block .line a {
  background: #00b900;
  padding: 30px 40px 30px 30px;
}

.entry-block .line a img {
  margin: 0 50px 0 0;
}

.entry-block .mission {
  margin: 40px 0 0;
  padding: 70px 0 80px;
  position: relative;
  z-index: 1;
}

.entry-block .mission .bg {
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0 0 0 -292px;
  z-index: -1;
}

.entry-block .mission h3 {
  font-size: 6rem;
  line-height: 1;
  margin: 0 0 30px;
}

.entry-block .mission h3 span {
  font-size: 4rem;
}

.entry-block .mission .btn a {
  background-image: -moz-linear-gradient(0, #cd5c00 0%, #efc900 100%);
  background-image: -webkit-linear-gradient(0, #cd5c00 0%, #efc900 100%);
  background-image: -ms-linear-gradient(0, #cd5c00 0%, #efc900 100%);
  background-image: -webkit-gradient(linear, left top, right top, from(#cd5c00), to(#efc900));
  background-image: -webkit-linear-gradient(left, #cd5c00 0%, #efc900 100%);
  background-image: -o-linear-gradient(left, #cd5c00 0%, #efc900 100%);
  background-image: linear-gradient(to right, #cd5c00 0%, #efc900 100%);
  border-radius: 50px;
  color: #fff;
  display: block;
  font-size: 2.8rem;
  letter-spacing: 2px;
  margin: auto;
  padding: 30px;
  text-align: center;
  width: 498px;
  margin: 400px auto 90px;
}

.entry-block .mission .btn a img {
  margin: 0 30px 0 0;
}

@media (min-width: 769px) {
  .entry-block .mission .btn a {
    font-size: 1.8rem;
    line-height: 1;
    padding: 25px;
    width: 354px;
  }
  .entry-block .mission .btn a img {
    margin: -5px 30px -5px 0;
    width: 34px;
  }
}

.entry-block .bnr img {
  border: 2px solid #fff;
}

.movie-block {
  padding: 170px 0 0;
}

.movie-block .list {
  margin: auto;
  padding: 0 60px;
  width: 768px;
}

.movie-block .list li {
  margin: 0 0 60px;
}

.about-block {
  padding: 350px 0 0;
}

.about-block .header {
  margin: 0 0 240px;
}

.about-block .header .img {
  top: -300px;
}

.about-block .list {
  text-align: center;
}

.about-block .list li {
  margin: 0 0 80px;
}

.about-block .slider01, .about-block .slider02, .about-block .slider03 {
  padding: 0 0 234px;
}

.about-block .slider01 .bg-text-line em {
  top: -320px;
  right: -226px;
}

.about-block .slider02 .bg-text-line em {
  top: -288px;
  right: -226px;
}

.about-block .slider02 .bg-text-line p::after {
  background-image: -moz-linear-gradient(0, #a1000d 0%, #e60012 100%);
  background-image: -webkit-linear-gradient(0, #a1000d 0%, #e60012 100%);
  background-image: -ms-linear-gradient(0, #a1000d 0%, #e60012 100%);
  background-image: -webkit-gradient(linear, left top, right top, from(#a1000d), to(#e60012));
  background-image: -webkit-linear-gradient(left, #a1000d 0%, #e60012 100%);
  background-image: -o-linear-gradient(left, #a1000d 0%, #e60012 100%);
  background-image: linear-gradient(to right, #a1000d 0%, #e60012 100%);
}

.about-block .slider03 .bg-text-line em {
  top: -277px;
  right: -297px;
}

.about-block .slider03 .bg-text-line p::after {
  background-image: -moz-linear-gradient(0, #9b6600 0%, #de9200 100%);
  background-image: -webkit-linear-gradient(0, #9b6600 0%, #de9200 100%);
  background-image: -ms-linear-gradient(0, #9b6600 0%, #de9200 100%);
  background-image: -webkit-gradient(linear, left top, right top, from(#9b6600), to(#de9200));
  background-image: -webkit-linear-gradient(left, #9b6600 0%, #de9200 100%);
  background-image: -o-linear-gradient(left, #9b6600 0%, #de9200 100%);
  background-image: linear-gradient(to right, #9b6600 0%, #de9200 100%);
}

.about-block .swiper-wrapper {
  max-width: 580px;
}

.about-block .swiper-wrapper .swiper-slide .caption {
  color: #000;
  font-size: 3rem;
  position: absolute;
  bottom: -114px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  -webkit-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
  opacity: 0;
}

.about-block .swiper-wrapper .swiper-slide::before {
  content: '';
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
  border-radius: 25px;
  height: 100%;
  width: 100%;
  z-index: 1;
}

.about-block .swiper-wrapper .swiper-slide.swiper-slide-active::before {
  background: 0;
}

.about-block .swiper-wrapper .swiper-slide.swiper-slide-active .caption {
  opacity: 1;
}

@media (max-width: 768px) {
  .about-block .swiper-wrapper .swiper-slide img {
    width: 100%;
  }
}

@media (min-width: 769px) {
  .about-block .swiper-wrapper .swiper-slide::before {
    border-radius: 15px;
  }
  .about-block .swiper-wrapper .swiper-slide .caption {
    bottom: -95px;
    font-size: 2rem;
    -webkit-transform: translate(-14%, 0);
    -ms-transform: translate(-14%, 0);
    transform: translate(-14%, 0);
    width: 140%;
  }
}

.about-block .swiper-container {
  padding: 0 0 160px;
  z-index: 2;
}

.about-block .swiper-container::before {
  content: '';
  background: -moz-linear-gradient(to right, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.6));
  background: -webkit-linear-gradient(to right, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.6));
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.6)), color-stop(50%, rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0.6)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.6));
  background: -o-linear-gradient(left, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.6));
  background: linear-gradient(to right, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.6));
  bottom: 40px;
  left: 0;
  right: 0;
  height: 60px;
  width: 100%;
  margin: auto;
  position: absolute;
}

@media (min-width: 769px) {
  .about-block .swiper-container {
    padding: 0 0 140px;
  }
  .about-block .swiper-container::before {
    background: -moz-linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0));
    background: -webkit-linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0));
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0));
    background: -o-linear-gradient(left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0));
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0));
    bottom: 40px;
    height: 44px;
    width: 890px;
  }
}

.about-block .swiper-container-horizontal > .swiper-pagination-bullets, .about-block .swiper-pagination-custom, .about-block .swiper-pagination-fraction {
  bottom: 0;
}

.about-block .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 15px;
}

.about-block .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.5);
  width: 12px;
  height: 12px;
}

.about-block .swiper-pagination-bullet-active {
  background: white;
}

.mission-block {
  padding: 138px 0 176px;
}

.mission-block .bg {
  background-image: -moz-linear-gradient(-90deg, rgba(186, 20, 31, 0.8) 0%, rgba(149, 16, 25, 0.8) 100%);
  background-image: -webkit-linear-gradient(-90deg, rgba(186, 20, 31, 0.8) 0%, rgba(149, 16, 25, 0.8) 100%);
  background-image: -ms-linear-gradient(-90deg, rgba(186, 20, 31, 0.8) 0%, rgba(149, 16, 25, 0.8) 100%);
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(186, 20, 31, 0.8)), to(rgba(149, 16, 25, 0.8)));
  background-image: -webkit-linear-gradient(bottom, rgba(186, 20, 31, 0.8) 0%, rgba(149, 16, 25, 0.8) 100%);
  background-image: -o-linear-gradient(bottom, rgba(186, 20, 31, 0.8) 0%, rgba(149, 16, 25, 0.8) 100%);
  background-image: linear-gradient(to top, rgba(186, 20, 31, 0.8) 0%, rgba(149, 16, 25, 0.8) 100%);
  border-radius: 40px;
  margin: 0 20px;
  padding: 0 0 70px;
  position: relative;
  text-align: center;
}

.mission-block .bg-head {
  background: url("../images/bg_mission_head.png") no-repeat center 0;
  height: 650px;
  margin: 0 -20px;
  padding: 470px 0 0;
  position: relative;
  top: -138px;
  left: 0;
}

.mission-block .bg-head h2 {
  font-size: 3rem;
  position: relative;
}

.mission-block .bg-head h2 span {
  display: block;
  font-size: 2.4rem;
}

.mission-block .chara-head {
  position: absolute;
  top: 339px;
  left: 0;
}

.mission-block .mission_light {
  position: absolute;
  left: 0;
  right: 0;
  top: 700px;
  margin: auto;
}

.mission-block .list {
  margin: -153px 0 0;
}

.mission-block .list li:nth-child(2) {
  margin: -22px 0;
}

.mission-block .list li:nth-child(4) {
  margin: -20px 0 -18px;
}

.mission-block .list li:nth-child(6) {
  margin: -110px 0 0;
}

.mission-block dt {
  font-size: 6rem;
  line-height: 1;
  margin: -30px 0 60px;
}

.mission-block dd .sns {
  margin: 0 0 44px;
}

.mission-block dd li {
  margin: 0 0 26px;
}

.mission-block dd li a {
  border-radius: 50px;
  color: #fff;
  display: block;
  font-size: 2.8rem;
  letter-spacing: 2px;
  margin: auto;
  padding: 30px;
  text-align: center;
  width: 498px;
  border: 2px solid #fff;
}

.mission-block dd li a img {
  margin: 0 30px 0 0;
}

@media (min-width: 769px) {
  .mission-block dd li a {
    font-size: 1.8rem;
    line-height: 1;
    padding: 25px;
    width: 354px;
  }
  .mission-block dd li a img {
    margin: -5px 30px -5px 0;
    width: 34px;
  }
}

.mission-block dd .tw a {
  background: #1da1f2;
}

.mission-block dd .line a {
  background: #00b900;
  padding: 30px 40px 30px 30px;
}

.mission-block dd .line a img {
  margin: 0 50px 0 0;
}

.mission-block .mission-chara {
  position: absolute;
  bottom: -136px;
  right: -20px;
}

.arena-block {
  background: #fff;
  padding: 0 0 100px;
}

.arena-block .bg-head {
  background: #f1f1f1;
  padding: 70px 0;
  text-align: center;
}

.arena-block .bg-head h2 span {
  color: #000;
  display: block;
  margin: 35px 0 0;
}

.arena-block .list {
  border-bottom: 2px solid #e2e0e1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 9px 80px;
  padding: 90px 0 0;
}

.arena-block .list li {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin: 0 0 16px;
  width: 370px;
}

.arena-block .list li:nth-child(odd) {
  border-right: 2px solid #e2e0e1;
  padding: 0 4px 0 0;
}

.arena-block .list li a {
  color: #000;
}

.arena-block .list dl {
  padding: 35px 25px 25px;
}

.arena-block .list dt {
  color: #969696;
  font-size: 1.8rem;
}

.arena-block .list dt span {
  background: #00653d;
  border-radius: 3px;
  color: #fff;
  display: inline-block;
  margin: 0 20px 0 0;
  padding: 3px 20px;
}

.arena-block .list dt .topics {
  background: #593d89;
}

.arena-block .list dt .capture {
  background: #2659b5;
}

.arena-block .list dt .board {
  background: #d5619d;
}

.arena-block .list dt .preceding {
  background: #d67f0e;
}

.arena-block .list dt .tw {
  background: #1da1f2;
}

.arena-block .list dd {
  padding: 30px 0 0;
}

.arena-block .btn-more a {
  border-radius: 50px;
  color: #fff;
  display: block;
  font-size: 2.8rem;
  letter-spacing: 2px;
  margin: auto;
  padding: 30px;
  text-align: center;
  width: 498px;
  background-image: -moz-linear-gradient(0, #b2b2b2 0%, #d6d6d6 100%);
  background-image: -webkit-linear-gradient(0, #b2b2b2 0%, #d6d6d6 100%);
  background-image: -ms-linear-gradient(0, #b2b2b2 0%, #d6d6d6 100%);
  background-image: -webkit-gradient(linear, left top, right top, from(#b2b2b2), to(#d6d6d6));
  background-image: -webkit-linear-gradient(left, #b2b2b2 0%, #d6d6d6 100%);
  background-image: -o-linear-gradient(left, #b2b2b2 0%, #d6d6d6 100%);
  background-image: linear-gradient(to right, #b2b2b2 0%, #d6d6d6 100%);
}

.arena-block .btn-more a img {
  margin: 0 30px 0 0;
}

@media (min-width: 769px) {
  .arena-block .btn-more a {
    font-size: 1.8rem;
    line-height: 1;
    padding: 25px;
    width: 354px;
  }
  .arena-block .btn-more a img {
    margin: -5px 30px -5px 0;
    width: 34px;
  }
}

/* -----------------------------------
  FOOTER
----------------------------------- */
footer {
  background: #000;
  padding: 200px 0 10px;
}

footer .bnr-list {
  margin: 0 0 100px;
  text-align: center;
}

footer .bnr-list li {
  margin: 0 0 20px;
}

footer .share {
  text-align: center;
}

footer .share dt {
  font-size: 3rem;
  letter-spacing: -2px;
  margin: 0 0 40px;
}

footer .share ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

footer .share ul li {
  margin: 0 40px;
}

footer .footer_logo {
  margin: 60px 0 50px;
  text-align: center;
}

footer .data {
  overflow: hidden;
}

footer .data .icon {
  float: left;
  margin: 10px 20px 0 80px;
}

footer .data table {
  border-collapse: separate;
  border-spacing: 20px 10px;
  margin: 0 0 10px;
}

footer .data th {
  border: 1px solid #fff;
  font-size: 2rem;
  font-weight: normal;
  vertical-align: middle;
  width: 150px;
}

footer .data .btn {
  clear: both;
  margin: 50px 0 72px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

footer .data .btn li {
  margin: 0 13px;
}

footer .attention {
  border: 1px solid #fff;
  height: 400px;
  margin: 0 80px;
  padding: 3px;
}

footer .scroll-inner {
  font-size: 2rem;
  height: 100%;
  padding: 20px;
  position: relative;
}

footer .scroll-inner h3 {
  font-size: 3rem;
  margin: 0 0 20px;
  text-align: center;
}

footer .scroll-inner p {
  margin: 0 0 20px;
}

footer .scroll-inner strong {
  font-weight: bold;
  display: block;
}

footer .scroll-inner a {
  color: #fff;
  text-decoration: underline;
}

footer .scroll-inner .ps__rail-y {
  display: block;
  opacity: 1;
  width: 2px;
  background: #808080;
  margin: 0 3px 0 0;
}

footer .scroll-inner .ps__rail-y .ps__thumb-y {
  background-color: #fff;
  border-radius: 0;
  width: 8px;
  right: -3px;
}

footer .ps:hover > .ps__rail-y {
  opacity: 1;
}

footer .footer-content {
  padding: 184px 0 126px;
  position: relative;
}

footer .footer-content .bg-footer {
  position: absolute;
  top: 92px;
  left: 0;
}

footer .footer-content .footer-inner {
  position: relative;
  text-align: center;
}

footer .footer-content .sns li {
  margin: 0 0 26px;
}

footer .footer-content .sns li a {
  border-radius: 50px;
  color: #fff;
  display: block;
  font-size: 2.8rem;
  letter-spacing: 2px;
  margin: auto;
  padding: 30px;
  text-align: center;
  width: 498px;
  border: 2px solid #fff;
}

footer .footer-content .sns li a img {
  margin: 0 30px 0 0;
}

@media (min-width: 769px) {
  footer .footer-content .sns li a {
    font-size: 1.8rem;
    line-height: 1;
    padding: 25px;
    width: 354px;
  }
  footer .footer-content .sns li a img {
    margin: -5px 30px -5px 0;
    width: 34px;
  }
}

footer .footer-content .sns li a img {
  margin: 0 0 0 30px;
}

footer .footer-content .sns .line a {
  padding: 30px 30px 30px 40px;
}

footer .footer-content .sns .line a img {
  margin: 0 0 0 50px;
}

footer .footer-content .footer-link {
  font-size: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 40px 0;
}

footer .footer-content .footer-link li {
  margin: 0 30px;
}

footer .footer-content .footer-link a {
  color: #fff;
  text-decoration: underline;
}

footer .footer-content small {
  font-size: 1.5rem;
  display: block;
  margin: auto;
  text-align: left;
  width: 340px;
}

.end-contents {
  height: 12000px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.end-contents .end-bg {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.end-contents .bg-fire {
  display: block;
  top: 2443px;
  left: 50%;
  margin: 0 0 0 -514px;
  width: 1335px;
}

.end-contents .bg-end_01 {
  display: block;
}

.end-contents .character {
  position: absolute;
  left: 50%;
}

.end-contents .chara01 {
  top: 592px;
  margin: 0 0 0 -104px;
}

.end-contents .chara02 {
  top: 1303px;
  margin: 0 0 0 -215px;
}

.end-contents .chara03 {
  top: 1710px;
  margin: 0 0 0 16px;
}

.end-contents .chara04 {
  top: 2070px;
  margin: 0 0 0 -88px;
}

.end-contents .chara05 {
  top: 2158px;
  margin: 0 0 0 -275px;
}

.end-contents .chara06 {
  top: 2244px;
  margin: 0 0 0 -112px;
}

.end-contents .chara07 {
  top: 2786px;
  margin: 0 0 0 -333px;
}

.end-contents .chara08 {
  top: 2808px;
  margin: 0 0 0 -180px;
}

.end-contents .chara09 {
  top: 2878px;
  margin: 0 0 0 218px;
}

.end-contents .chara10 {
  top: 3203px;
  margin: 0 0 0 -262px;
}

.end-contents .chara11 {
  top: 3547px;
  margin: 0 0 0 -352px;
}

.end-contents .chara12 {
  top: 3579px;
  margin: 0 0 0 18px;
}

.end-contents .chara13 {
  top: 3735px;
  margin: 0 0 0 -468px;
}

.end-contents .chara14 {
  top: 3935px;
  margin: 0 0 0 167px;
}

.end-contents .chara15 {
  top: 4101px;
  margin: 0 0 0 -20px;
}

.end-contents .chara16 {
  top: 4855px;
  margin: 0 0 0 -88px;
}

.end-contents .chara17 {
  top: 5441px;
  margin: 0 0 0 107px;
}

.end-contents .chara18 {
  top: 5212px;
  margin: 0 0 0 -491px;
}

.end-contents .chara19 {
  top: 4357px;
  margin: 0 0 0 -516px;
}

.end-contents .chara20 {
  top: 6144px;
  margin: 0 0 0 -151px;
}

.end-contents .chara21 {
  top: 6265px;
  margin: 0 0 0 -299px;
}

.end-contents .chara22 {
  top: 5782px;
  margin: 0 0 0 -278px;
}

.end-contents .chara23 {
  top: 6515px;
  margin: 0 0 0 224px;
}

.end-contents .chara24 {
  top: 6667px;
  margin: 0 0 0 -189px;
}

.end-contents .chara25 {
  top: 7060px;
  margin: 0 0 0 -337px;
}

.end-contents .chara26 {
  top: 7337px;
  margin: 0 0 0 93px;
}

.end-contents .chara27 {
  top: 7960px;
  margin: 0 0 0 -191px;
}

.end-contents .chara28 {
  top: 9521px;
  margin: 0 0 0 -34px;
}

.end-contents .chara29 {
  bottom: -194px;
  right: 0;
  left: 0;
  margin: auto;
  width: 306px;
}

@media print, screen and (min-width: 769px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  #page {
    overflow: hidden;
    min-width: 1200px;
  }
  .bg-end_01 img,
  .bg-end_05 img,
  .bg-end_06 img {
    background: #000;
  }
  .entry {
    background: url("../images/btn_entry.png") no-repeat 0 0;
    overflow: hidden;
    width: 288px;
    height: 66px;
  }
  .entry:hover {
    background: url("../images/btn_entry_on.png") no-repeat 0 0;
  }
  .entry a {
    display: block;
    height: 100%;
    width: 50%;
    float: left;
  }
  .entry .pc_only {
    height: 100%;
  }
  .isPc .ios_only,
  .isPc .android_only {
    display: none;
  }
  #main {
    padding: 460px 0 0;
  }
  #main .bg_killua {
    width: 72%;
    min-width: 1300px;
    position: absolute;
    top: 50%;
    margin: -34% 0 0 -540px;
    left: 50%;
  }
  #main .bg_killua .mask {
    background: #000;
    height: auto;
    -webkit-transform: skewX(-44deg) translate(390px, 0);
    -ms-transform: skewX(-44deg) translate(390px, 0);
    transform: skewX(-44deg) translate(390px, 0);
  }
  #main .bg_killua video {
    -webkit-transform: skewx(44deg) translate(-200px, 0);
    -ms-transform: skewx(44deg) translate(-200px, 0);
    transform: skewx(44deg) translate(-200px, 0);
    width: 100%;
  }
  #main .bg_gon {
    width: 72%;
    min-width: 1300px;
    position: absolute;
    top: 50%;
    right: 50%;
    left: auto;
    margin: -36% -400px 0 0;
  }
  #main .bg_gon video {
    -webkit-transform: translate(0, -90px);
    -ms-transform: translate(0, -90px);
    transform: translate(0, -90px);
    width: 100%;
  }
  #main .slash {
    top: -162px;
    margin: 0 0 0 -418px;
  }
  #main .mv_movie video {
    top: 45%;
    width: auto;
  }
  .block .h-block {
    padding: 0 20px 40px;
    width: 1000px;
    margin: auto;
  }
  .block .bg-text-line p {
    font-size: 5.1rem;
  }
  .block .line3 p {
    font-size: 2.5rem;
    padding: 4px 20px;
  }
  .read-block {
    padding: 50px 0 72px;
  }
  .read-block h2 {
    font-size: 4rem;
    letter-spacing: -2px;
  }
  .read-block .btn li {
    width: 220px;
  }
  .entry-block {
    padding: 72px 0 35px;
  }
  .entry-block h2 {
    font-size: 4.5rem;
    margin: 0 0 24px;
  }
  .entry-block h2 span {
    font-size: 1.8rem;
  }
  .entry-block .sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 0 30px;
  }
  .entry-block .sns li {
    margin: 0 8px;
  }
  .entry-block .line a {
    padding: 23px;
  }
  .entry-block .line a img {
    margin: -5px 30px -5px 0;
  }
  .entry-block .mission {
    margin: 60px 0 0;
    padding: 160px 0 80px;
  }
  .entry-block .mission .bg {
    margin: 0 0 0 -565px;
  }
  .entry-block .mission h3 {
    font-size: 4.5rem;
    margin: 0 0 20px;
  }
  .entry-block .mission h3 img {
    width: 388px;
  }
  .entry-block .mission h3 span {
    font-size: 3rem;
  }
  .entry-block .mission .inner {
    margin: auto;
    text-align: left;
    width: 980px;
  }
  .entry-block .mission .cap {
    font-size: 1.8rem;
  }
  .entry-block .mission .btn a {
    margin: 20px 0 206px 10px;
  }
  .entry-block .bnr img {
    width: 550px;
  }
  .movie-block {
    padding: 165px 0 0;
  }
  .movie-block .header {
    margin: 0 0 235px;
  }
  .movie-block .header h2 {
    font-size: 4rem;
    position: absolute;
    width: 100%;
    right: 50%;
    margin: 0 -340px 0 0;
    text-align: right;
  }
  .movie-block .header h2.short {
    padding: 40px 270px 40px 0;
  }
  .movie-block .header .img {
    top: -194px;
    left: 50%;
    margin: 0 0 0 -553px;
  }
  .movie-block .list {
    padding: 0;
  }
  .about-block {
    padding: 190px 0 0;
  }
  .about-block .header {
    margin: 0 0 350px;
  }
  .about-block .header h2 {
    font-size: 4rem;
    line-height: 1.2;
    position: absolute;
    width: 100%;
    right: 50%;
    margin: 0 -340px 0 0;
    padding: 35px 180px 35px 0;
    text-align: right;
  }
  .about-block .header h2 .small {
    font-size: 2.2rem;
    margin: 0 70px 0 0;
  }
  .about-block .header .img {
    top: -258px;
    left: 50%;
    margin: 0 0 0 -511px;
  }
  .about-block .slider01 .bg-text-line em {
    top: -158px;
    right: -330px;
  }
  .about-block .slider02 .bg-text-line em {
    top: -198px;
    right: -350px;
  }
  .about-block .slider03 {
    padding: 0 0 52px;
  }
  .about-block .slider03 .bg-text-line em {
    top: -204px;
    right: -360px;
  }
  .about-block .swiper-container {
    padding: 0 0 120px;
  }
  .about-block .swiper_block {
    margin: auto;
    width: 1120px;
  }
  .about-block .swiper-wrapper .swiper-slide .caption {
    bottom: -75px;
  }
  .mission-block {
    padding: 138px 0 140px;
  }
  .mission-block .bg {
    margin: auto;
    padding: 0 0 100px;
    width: 960px;
  }
  .mission-block .bg-head {
    background: url("../images/bg_mission_head_pc.png") no-repeat center 0;
    margin: 0 -32px;
    padding: 377px 0 0;
    height: 510px;
    top: -76px;
  }
  .mission-block .bg-head h2 {
    font-size: 2.2rem;
  }
  .mission-block .bg-head h2 span {
    font-size: 1.8rem;
  }
  .mission-block .chara-head {
    top: 198px;
  }
  .mission-block .mission_light {
    top: 704px;
  }
  .mission-block .list {
    margin: -76px 0 0;
    position: relative;
  }
  .mission-block .list li:nth-child(1) {
    position: absolute;
    top: 0;
    left: 67px;
  }
  .mission-block .list li:nth-child(2) {
    margin: -22px 0 0 -44px;
  }
  .mission-block .list li:nth-child(3) {
    position: absolute;
    top: -6px;
    right: 66px;
  }
  .mission-block .list li:nth-child(4) {
    margin: -12px 0 -18px;
  }
  .mission-block .list li:nth-child(6) {
    margin: -78px 0 0;
  }
  .mission-block dt {
    font-size: 4.5rem;
    margin: -20px 0 40px;
  }
  .mission-block dd .sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 0 50px;
  }
  .mission-block dd .sns li {
    margin: 0 20px;
  }
  .mission-block dd .line a {
    padding: 23px;
  }
  .mission-block dd .line a img {
    margin: -5px 30px -5px 0;
  }
  .mission-block .mission-chara {
    bottom: -160px;
    right: -73px;
  }
  .arena-block .bg-head {
    padding: 45px 0;
  }
  .arena-block .bg-head h2 img {
    width: 480px;
  }
  .arena-block .bg-head h2 span {
    margin: 30px 0 0;
  }
  .arena-block .list {
    margin: 0 auto 80px;
    padding: 80px 0 0;
    width: 676px;
  }
  .arena-block .list li {
    width: 332px;
  }
  .arena-block .list li:nth-child(odd) {
    padding: 0 5px 0 0;
  }
  .arena-block .list dl {
    padding: 32px 22px 20px;
  }
  .arena-block .list dt {
    font-size: 1.4rem;
  }
  .arena-block .list dt span {
    margin: 0 15px 0 0;
    padding: 1px 18px;
  }
  .arena-block .list dd {
    font-size: 2.2rem;
    padding: 20px 0 0;
  }
  footer {
    padding: 100px 0 10px;
  }
  footer .bnr-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto 80px;
    width: 960px;
  }
  footer .bnr-list li {
    margin: 0 0 20px;
    width: 470px;
  }
  footer .share dt {
    font-size: 3rem;
    margin: 0 0 30px;
  }
  footer .share ul li {
    margin: 0 48px;
    width: 71px;
  }
  footer .data {
    margin: 0 auto;
    width: 640px;
  }
  footer .data .icon {
    margin: 8px 0 0;
    width: 154px;
  }
  footer .data th {
    font-size: 1.3rem;
    width: 110px;
  }
  footer .data td {
    font-size: 1.8rem;
  }
  footer .data .btn li {
    width: 220px;
  }
  footer .attention {
    height: 260px;
    margin: auto;
    width: 960px;
  }
  footer .attention h3 {
    font-size: 2.6rem;
  }
  footer .attention p {
    font-size: 1.6rem;
  }
  footer .footer-content {
    padding: 130px 0 110px;
  }
  footer .footer-content .bg-footer {
    top: 50px;
    left: 50%;
    margin: 0 0 0 -700px;
  }
  footer .footer-content .sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 0 50px;
  }
  footer .footer-content .sns li {
    margin: 0 20px;
  }
  footer .footer-content .sns li a {
    border: 1px solid #fff;
    padding: 15px;
    line-height: 2;
  }
  footer .footer-content .sns li a img {
    margin: -5px 0 -5px 30px;
    width: 48px;
  }
  footer .footer-content .sns .line a {
    border: 1px solid #fff;
    padding: 15px;
    line-height: 2;
  }
  footer .footer-content .sns .line a img {
    margin: -5px 0 -5px 30px;
    width: 48px;
  }
  footer .footer-content .footer-link {
    font-size: 1.6rem;
    padding: 0 0 0 60px;
  }
  .end-contents {
    height: 7463px;
  }
  .end-contents .bg-fire {
    margin: 0 0 0 -484px;
    top: 1464px;
    width: 1097px;
  }
  .end-contents .chara01 {
    top: 586px;
    margin: 0 0 0 -113px;
    width: 346px;
  }
  .end-contents .chara02 {
    top: 1074px;
    margin: 0 0 0 -143px;
    width: 218px;
  }
  .end-contents .chara03 {
    top: 1334px;
    margin: 0 0 0 5px;
    width: 219px;
  }
  .end-contents .chara04 {
    top: 1565px;
    margin: 0 0 0 -61px;
    width: 89px;
  }
  .end-contents .chara05 {
    top: 1621px;
    margin: 0 0 0 -181px;
    width: 163px;
  }
  .end-contents .chara06 {
    top: 1677px;
    margin: 0 0 0 -77px;
    width: 302px;
  }
  .end-contents .chara07 {
    top: 2023px;
    margin: 0 0 0 -218px;
    width: 222px;
  }
  .end-contents .chara08 {
    top: 2037px;
    margin: 0 0 0 -120px;
    width: 258px;
  }
  .end-contents .chara09 {
    top: 2082px;
    margin: 0 0 0 135px;
    width: 85px;
  }
  .end-contents .chara10 {
    top: 2290px;
    margin: 0 0 0 -173px;
    width: 279px;
  }
  .end-contents .chara11 {
    top: 2510px;
    margin: 0 0 0 -230px;
    width: 104px;
  }
  .end-contents .chara12 {
    top: 2531px;
    margin: 0 0 0 7px;
    width: 218px;
  }
  .end-contents .chara13 {
    top: 2631px;
    margin: 0 0 0 -305px;
    width: 379px;
  }
  .end-contents .chara14 {
    top: 2758px;
    margin: 0 0 0 102px;
    width: 155px;
  }
  .end-contents .chara15 {
    top: 2865px;
    margin: 0 0 0 -15px;
    width: 287px;
  }
  .end-contents .chara16 {
    top: 3347px;
    margin: 0 0 0 -61px;
    width: 323px;
  }
  .end-contents .chara17 {
    top: 3722px;
    margin: 0 0 0 63px;
    width: 143px;
  }
  .end-contents .chara18 {
    top: 3576px;
    margin: 0 0 0 -319px;
    width: 426px;
  }
  .end-contents .chara19 {
    top: 3028px;
    margin: 0 0 0 -335px;
    width: 486px;
  }
  .end-contents .chara20 {
    top: 4173px;
    margin: 0 0 0 -101px;
    width: 94px;
  }
  .end-contents .chara21 {
    top: 4250px;
    margin: 0 0 0 -196px;
    width: 226px;
  }
  .end-contents .chara22 {
    top: 3940px;
    margin: 0 0 0 -184px;
    width: 411px;
  }
  .end-contents .chara23 {
    top: 4410px;
    margin: 0 0 0 139px;
    width: 68px;
  }
  .end-contents .chara24 {
    top: 4507px;
    margin: 0 0 0 -125px;
    width: 354px;
  }
  .end-contents .chara25 {
    top: 4758px;
    margin: 0 0 0 -221px;
    width: 114px;
  }
  .end-contents .chara26 {
    top: 4865px;
    margin: 0 0 0 54px;
    width: 174px;
  }
  .end-contents .chara27 {
    top: 5081px;
    margin: 0 0 0 -139px;
    width: 213px;
  }
  .end-contents .chara28 {
    top: 5774px;
    margin: 0 0 0 -37px;
    width: 120px;
  }
  .end-contents .chara29 {
    width: 320px;
  }
}

@media print, screen and (min-width: 769px) and (max-width: 1820px) {
  #main .bg_killua {
    margin: -614px 0 0 -540px;
  }
  #main .bg_gon {
    margin: -650px -400px 0 0;
  }
}

@media print, screen and (min-width: 1900px) {
  #main .bg_killua .mask {
    -webkit-transform: skewX(-44deg) translate(380px, 0);
    -ms-transform: skewX(-44deg) translate(380px, 0);
    transform: skewX(-44deg) translate(380px, 0);
  }
}
