body {
  position: relative;
}

#btn_ptop {
  display: none !important;
}

.index-container {
  background: url("../img/index/mainvisual_sp.jpg") no-repeat center 50px;
  background-size: contain;
  position: relative;
}

/* cast loop
==================================== */
.index-cast {
  background: url(../img/index/cast.jpg) repeat;
  background-position: 0 0;
  bottom: 0;
  line-height: 0;
  position: absolute;
  width: 100%;
}

@-webkit-keyframes rightLoop {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 1440px 0;
  }
}

@keyframes rightLoop {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 1440px 0;
  }
}

@-webkit-keyframes rightLoop_xl {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 116.12903vw 0;
  }
}

@keyframes rightLoop_xl {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 116.12903vw 0;
  }
}

.releaseday {
  position: absolute;
}

.copy {
  position: absolute;
}

.copy img {
  width: 100%;
}

.index-chara img {
  min-width: 100%;
}

/* koneko
==================================== */
.koneko {
  background: #000;
  bottom: 0;
  padding: 10px 0;
  right: 0;
}

.koneko dt {
          align-items: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      -ms-flex-align: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 10px;
}

.koneko .list_event {
  border-bottom: 1px solid #333;
  border-top: 1px solid #333;
}

.koneko-btn01:not(:hover) {
  background: #fff;
  color: #000;
}

.koneko-btn01:not(:hover):after {
  background-image: url("../img/common/ico_arrow01_b.png");
}

.koneko-btn01:hover:before {
  -webkit-animation: btn_koneko_on .3s ease-out forwards;
          animation: btn_koneko_on .3s ease-out forwards;
}

@-webkit-keyframes btn_koneko_on {
  0% {
    background: #fff;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  to {
    background: #fff;
    -webkit-transform: scale(0);
  }
}

@keyframes btn_koneko_on {
  0% {
    background: #fff;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  to {
    background: #fff;
    -webkit-transform: scale(0);
            transform: scale(0);
  }
}

.copyright {
  color: #fff;
  font-size: 10px;
  font-size: 16px;
  font-size: 1rem;
  font-weight: normal;
  line-height: 2;
}

@media (min-width: 769px) and (max-width: 1500px) {
  .index-container {
    margin-left: 64px;
    min-height: 680px;
  }
}

@media screen and (min-width: 769px) {
  .index-container {
    background: url("../img/index/mainvisual.jpg") no-repeat center top;
    background-size: cover;
    height: 100vh;
  }
  .logo {
    bottom: 190px;
    position: absolute;
    right: 50%;
    text-align: center;
    -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
            transform: translateX(50%);
    width: 42.09677vw;
  }
  .logo img {
    width: 100%;
  }
  .releaseday img {
    width: 100%;
  }
  .index-bnr {
    position: absolute;
    right: 40px;
    top: 144px;
  }
  .index-bnr img {
    width: 100%;
  }
  .index-bnr li {
    margin-bottom: 15px;
    width: 9.67742vw;
  }
  .copy {
    top: 3vw;
    width: 4.03226vw;
  }
  .index-chara {
    bottom: 96px;
    left: 0;
    position: absolute;
  }
  .koneko {
    background: #d6000f;
    padding: 12px 0 16px;
  }
  .koneko dt {
    margin-bottom: 12px;
  }
  .koneko .list_event {
    border-bottom: 1px solid rgba(255, 255, 255, .6);
    border-top: 1px solid rgba(255, 255, 255, .6);
  }
  #footer {
    left: calc(64px + 6.45161vw);
    padding: 0;
    position: absolute;
    text-align: left;
    width: auto;
    z-index: 1;
  }
  #bg_set {
    background-position: 100% 0;
    background-size: auto 93%;
    left: 64px;
    width: calc(100% - 64px);
  }
  .koneko {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 104px;
    padding-left: 24px;
    padding-right: 24px;
    position: absolute;
    right: 0;
    top: 0;
    width: 320px;
    z-index: 1;
  }
  .koneko-btn01 {
    font-size: 14px;
    font-size: 22.4px;
    font-size: 1.4rem;
    font-weight: normal;
    font-weight: normal;
    height: 26px;
    line-height: 2;
    line-height: 2;
    margin-left: 16px;
  }
}

@media (min-width: 769px) and (max-width: 1241px) {
  .index-cast {
    -webkit-animation: rightLoop 40s linear infinite;
            animation: rightLoop 40s linear infinite;
    background-size: 1440px auto;
    height: 96px;
  }
  .releaseday {
    bottom: 122px;
    right: 27px;
    width: 11.85484vw;
  }
  .copy {
    width: 50px;
  }
  #footer {
    bottom: 110px;
  }
}

@media (min-width: 769px) and (max-width: 992px) {
  .copy {
    left: 30px;
  }
}

@media screen and (min-width: 992px) {
  .copy {
    left: 11.2vw;
  }
}

@media screen and (min-width: 1241px) {
  .index-cast {
    -webkit-animation: rightLoop_xl 40s linear infinite;
            animation: rightLoop_xl 40s linear infinite;
    background-size: 116.12903vw auto;
    height: 7.74194vw;
  }
  .releaseday {
    bottom: 9vw;
    right: 27px;
    width: 11.85484vw;
  }
  .index-bnr li {
    margin-bottom: 15px;
    width: 120px;
  }
  .index-chara {
    bottom: 7.74194vw;
    width: 6.29032vw;
  }
  #footer {
    bottom: 9vw;
  }
}

@media (min-width: 1241px) and (max-width: 1500px) {
  .copy {
    max-width: 50px;
    width: 4.03226vw;
  }
}

@media screen and (min-width: 1500px) {
  .index-container {
    min-height: 800px;
  }
  .copy {
    left: 11.2vw;
    max-width: 60px;
    width: 4.03226vw;
  }
  .index-chara {
    left: 64px;
  }
}

@media screen and (max-width: 768px) {
  .index-container {
    height: calc(141.33333vw + 50px);
    margin-bottom: 24px;
    width: 100%;
  }
  .index-cast {
    display: none;
  }
  .logo {
    position: absolute;
    right: 50%;
    top: calc(76.13333vw + 50px);
    -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
            transform: translateX(50%);
    width: 69.86667vw;
  }
  .releaseday {
    bottom: 28vw;
    right: 5px;
    width: 19.6vw;
  }
  .index-bnr {
    -webkit-box-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 48px;
    padding-left: 6.4vw;
    padding-right: 6.4vw;
  }
  .index-bnr li {
    margin-left: 3.2vw;
    margin-right: 3.2vw;
  }
  .copy {
    right: 5px;
    top: calc(50px + 10vw);
    width: 7.86667vw;
  }
  #header .logo {
    display: none;
  }
  #bg_set {
    background-position: 100% 75px;
    background-size: 56.5% auto;
  }
  #footer {
    padding: 40px 0 155px;
  }
  .share {
    padding-top: 40px;
  }
  .koneko {
    position: fixed;
    width: 100%;
    z-index: 1;
  }
  .koneko > * {
    margin: 0 auto;
    width: 264px;
  }
  .koneko-logo {
    width: 111px;
  }
  .koneko-btn01 {
    font-size: 14px;
    font-size: 22.4px;
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 2;
    margin-left: 20px;
  }
}
