body {
  width: 100%;
  overflow: hidden;
}

h2, h3 {
  font-size: 200% !important;
}

section .inner {
  width: 100%;
  max-width: inherit;
  padding: 20px;
}

.store_banner {
  width: 100%;
  padding: 0 20px;
}
.store_banner li {
  width: 50%;
}
.store_banner li img {
  width: 100%;
  height: auto;
}
/**/
.h2_anime_title {
  width: 100%;
  background-image: url(../images/bg_h2ttl_sp.png);
  background-position: top center;
  margin: 0 auto 10px;
  text-align: center;
}
.h2_anime_title picture ,.h2_anime_title img {
  position: relative;
  width: auto;
  max-width: 100%;
  height: auto;
}
#sec_chara .h2_anime_title {
  background-position: top center;
}
@media (max-width: 576px) {
  .h2_anime_title {
    background-image: url(../images/bg_h2ttl_spmin.png);
  }
  #sec_chara .h2_anime_title {
    background-image: url(../images/bg_h2ttl_blue_spmin.png);
  }
}

#sec_mainVisual {
  position: relative;
  min-height: inherit;
  background-size: cover;
}

#sec_mainVisual .mainVisualWrap {
  min-height: inherit;
  padding-top: calc(80%*736/414);
}
#sec_mainVisual .mainBg {
  width: inherit;
  height: 100%;
  transform: translateX(-100%) translateY(-50%) !important;
}
#sec_mainVisual .mainBg img {
  width: auto;
  height: 105%;
}
#sec_mainVisual .mainInner {
  min-width: inherit;
  width: 100%;
}
#sec_mainVisual .mainInner .mainChara01 div {
  min-width: inherit;
  width: inherit;
  height: 110%;
  top: 55%;
  left: -70%;
}
#sec_mainVisual .mainInner .mainChara02 div {
  min-width: inherit;
  width: inherit;
  height: 110%;
  top: 55%;
  left: -30%;
}
#sec_mainVisual .mainTxt .mainLogo {
    width: 70%;
    top: 3%;
}
#sec_mainVisual .mainTxt .pickupBnr {
    width: 50%;
    padding-top: calc(100vw*0.22);
}

#sec_mainVisual .playText {
  width: 60%;
}
#sec_mainVisual .Comingsoon {
  bottom: 3%;
}
#sec_mainVisual .Comingsoon img {
  display: inline-block;
  position: relative;
}

#sec_mainVisual .mainCopy .mainCopyLeft {
  top: 60%;
  height: 60%;
}
#sec_mainVisual .mainCopy .mainCopyRight {
  top: 60%;
  height: 60%;
}

#sec_mainVisual #btn1 {
  width: 35%;
}
  #sec_mainVisual #btn1 img {
  width: 100%;
}

@media (max-width: 576px) {
  #sec_mainVisual .mainVisualWrap {
    min-height: inherit;
    /* padding-top: calc(80%*736/414); */
  }
  #sec_mainVisual .mainTxt .mainLogo img {
    width: 100%;
  }
  #sec_mainVisual .Comingsoon img {
    width: 100%;
  }

}

/**/
#sec_banner .newsWrap {
  padding-bottom: 0 !important;
  padding-top: 10px !important;
}
#sec_banner .newsWrap .news_important {
  display: block;
  background-size: cover;
}
#sec_banner .newsWrap .news_important .news_ttl {
  width: 100%;
}
#sec_banner .newsWrap .news_important .news_importantBox {
  width: 100%;
  padding: 10px;
}
#sec_banner .newsWrap .news_important .news_importantBox a {
  display: block;
}
#sec_banner .newsWrap .news_important .news_importantBox a span {
  width: 100%;
}
#sec_banner .newsWrap .news_important .news_importantBox a p {
  width: 100%;
  padding-left: 0;
  overflow: visible;
  white-space: pre-wrap;
}
#sec_banner .bigbannerWrap {
  overflow: visible;
}
#sec_banner .inner {
  min-width: inherit;
  display: block;
}
#sec_banner .bannerWrap {
  width: 100%;
  padding: 0 20px;
  overflow: visible;
}
#sec_banner .bannerWrap ul {
  padding-left: 0;
}
#sec_banner .bannerWrap ul li {
  margin-bottom: 10px;
}
#sec_banner .bannerWrap ul li a img {
  width: 100%;
  height: auto;
}

#sec_banner .bannerWrap .swiper-container {
  overflow: visible !important;
}
#sec_banner .bannerWrap .swiper-slide {
  width: 100%;
}
#sec_banner .bannerWrap .swiper-button-prev, #sec_banner .bannerWrap .swiper-button-next {
  width: 10% !important;
  margin: 0 -30px;
  height: auto;
}
#sec_banner .bannerWrap .swiper-button-prev img, #sec_banner .bannerWrap .swiper-button-next img {
  width: 100%;
  height: auto;
}

#sec_banner .twitterWrap {
  width: 90%;
  margin: 20px auto 0;
}
#sec_banner .twitterWrap .twitterInner {
  height: 60vh;
}
/*swiper*/
.swiper-button-prev {
  left: -20px !important;
}
.swiper-button-next {
  right: -20px !important;
}
.swiper-button-prev,
.swiper-button-next {
  width: 40px !important;
  height: 40px !important;
  background-image: none !important;
  z-index: 100;
}
.swiper-button-prev img,
.swiper-button-next img {
  width: 100%;
  height: auto;
}

#sec_banner .movieWrap {
  padding: 20px 0;
}

/**/
#sec_system .bg_wrap {
  padding: 60px 20px;
}
#sec_system .system_txt {
  font-size: 120%;
}
/**/
#sec_chara {
  padding: 40px 20px;
}
#sec_chara .inner {
  padding: 20px 0;
  background-size: 100%;
}
#sec_chara .slider_chara .box_inner {
  max-width: 100%;
  padding: 0 15px;
}
#sec_chara .slider_chara .box_txt {
  margin-bottom: 20px;
  align-items: flex-start;
}
#sec_chara .slider_chara .box_txt .box_job img {
  max-width: 100%;
  height: auto;
  margin-left: -10px;
}
#sec_chara .slider_chara .box_txt h3 {
  padding-left: 0;
}
#sec_chara .slider_chara .box_txt p {
  padding-left: 0;
}
#sec_chara .slider_chara .chara_class_list {
  flex-wrap: wrap;
  justify-content: center;
}
#sec_chara .slider_chara .chara_class_list li {
  max-width: 45%;
}
#sec_chara .slider_chara .chara_class_list li a img {
  max-width: ;
}
#sec_chara .slider_nav {
  width: 100%;
}
#sec_chara .slider_nav span {
  height: 40px;
  background-size: auto;
}

@media (max-width: 576px) {
  #sec_chara .slider_chara .box_txt .box_job {
    width: 60%;
  }
}
/*==========*/
/*modal*/
.modaal-inner-wrapper {
  padding: 0 !important;
}
.modal_inner {
  width: 100%;
  height: 100%;
  min-width: inherit;
  overflow: hidden;
}
.modal_charaImg img {
  max-width: 180%;
  height: auto;
}
.modal_info .modal_infoName span img {
  max-width: 100%;
}
.modaal-wrapper .modaal-close {
  right: 0;
  top: 20%;
}
@media (max-width: 576px) {
  .modaal-wrapper .modaal-close {
    right: 2%;
    top: 1%;
  }
  .modal_inner {
    width: 100%;
    min-height: 570px;
    height: 70%;
    flex-wrap: wrap;
  }
  .modal_charaImg {
    width: 100%;
    z-index: 50;
    margin: auto;
    text-align: center;
  }
  .modal_charaImg img {
    max-width: 110%;
    max-height: 400px;
  }
  .modal_info {
    width: 100%;
    padding: 20px;
  }
  .modal_info .modal_infoName span {
    position: relative;
    text-align: right;
  }
  .modal_info .modal_infoName span img {
    max-width: 100%;
  }
  .modal_info .modal_infoName::before {
    left: 0;
    padding-left: 50%;
    padding-top: calc(25%*44/79);
    background-position: center left;
  }
  .modal_info .modal_infoTxt {
    margin-top: 20px;
  }
}
/**/
#sec_box {
  padding: 60px 20px;
}
#sec_box .slider_box .swiper-slide .slide-inner {
  display: block;
  padding-bottom: 30px;
  background-position: center bottom;
  background-size: 100%;
}
#sec_box .slider_box .swiper-slide .box_img {
  display: block;
  width: 100%;
  text-align: center;
}
#sec_box .slider_box .swiper-slide .box_img img {
  width: 70%;
  max-width: 267px;
  height: auto;
}
#sec_box .slider_box .swiper-slide .box_txt {
  width: 100%;
  padding: 0;
  padding: 0 30px;
  margin-top: -40px;
}
#sec_box .swiper-pagination {
  margin-top: 30px;
}
/**/
#sec_dotnet {
  padding: 40px 20px;
}
.entry_btn {
  margin-top: 0;
}
.entry_btn a img {
  max-width: 100%;
  height: auto;
}


/**/
.pagetop a img {
  width: 50px;
  height: auto;
}
footer {
  padding: 30px 0 0;
}
footer .inner {
  width: 100%;
  padding: 0;
}
footer .footer_list {
  display: block;
  height: auto;
}
footer .footer_list ul {
  padding: 0 20px;
}
footer .footer_list ul li {
  font-size: 14px;
}
footer .footer_bottom {
  display: block;
  padding: 20px 20px 60px;
}
footer .footer_bottom ul {
  margin: 0;
}
footer .footer_bottom ul li a {
  font-size: 12px;
}
footer .footer_bottom small {
  display: block;
  margin-top: 40px;
  font-size: 85%;
  text-align: center;
}


@media (max-width: 414px) {

  section .inner {
    padding: 20px;
  }

  #sec_banner .bigbannerWrap {
    padding: 20px 0 10px;
  }
  #sec_banner .bannerWrap {
    padding: 0;
  }

  #sec_banner .twitterWrap {
    width: 100%;
  }
  
}

/**/

@keyframes effImpact {
  from {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  60% {
    opacity: .2;
    -webkit-transform: scale(.2);
            transform: scale(.2);
  }
  90% {
    opacity: 1;
    -webkit-transform: scale(1.6);
            transform: scale(1.6);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(2);
            transform: scale(2);
  }
}
.effImpact {
  -webkit-animation-name: effImpact;
          animation-name: effImpact;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  transition-timing-function: ease;
  -webkit-animation-delay: .9s;
          animation-delay: .9s;
}

