/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.3.6,
* Autoprefixer: v10.3.1
* Browsers: last 4 version
*/

@charset "utf-8";
/************************************************

@PC - style.css v5.0.0

(c) ULM Co.,Ltd. - https://www.ulm-design.com
************************************************/

#wrapper{
  min-height: 100vh;
  background: url(../img/body/bg.jpg)!important;
  background-position: center;
	background-size: cover!important;
  background-attachment: fixed!important;
  width:100%;
	height: 100%;
}

img, source{
  width: 100%;
  vertical-align: bottom;
}

#preloader #preloader-inner .center {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
      transform: translate(-50%,-50%);
}

#preloader #preloader-inner .text {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  color: #bdbdbd;
  position: absolute;
  text-align: center;
  line-height: 200px;
  top: 0;
  left: 0;
  font-size: .7em;
  letter-spacing: 3px;
  background: 0 0;
  -webkit-box-shadow: 0 0 5px rgb(255 255 255 / 20%);
  box-shadow: 0 0 5px rgb(255 255 255 / 20%);
}

#preloader #preloader-inner .ring {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: 0 0;
  -webkit-animation: ani 2s linear infinite;
  animation: ani 2s linear infinite;
}

@-webkit-keyframes ani {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-box-shadow: 1px 5px 2px #ff002e;
    box-shadow: 1px 5px 2px #ff002e;
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-box-shadow: 1px 5px 2px #221c1c;
    box-shadow: 1px 5px 2px #221c1c;
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    -webkit-box-shadow: 1px 5px 2px #d43403;
    box-shadow: 1px 5px 2px #d43403;
  }
}

@keyframes ani {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-box-shadow: 1px 5px 2px #ff002e;
    box-shadow: 1px 5px 2px #ff002e;
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-box-shadow: 1px 5px 2px #221c1c;
    box-shadow: 1px 5px 2px #221c1c;
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    -webkit-box-shadow: 1px 5px 2px #d43403;
    box-shadow: 1px 5px 2px #d43403;
  }
}

/* @keyframes shake {
  0% {
    -webkit-transform: scale(2) translate(0, 0) rotateZ(0);
            transform: scale(2) translate(0, 0) rotateZ(0);
            opacity: 0;
  }
  50% {
    -webkit-transform: scale(1) translate(0, 0) rotateZ(0);
            transform: scale(1) translate(0, 0) rotateZ(0);
  }
  100% {
    -webkit-transform: translate(0, 0) rotateZ(0);
            transform: translate(0, 0) rotateZ(0);
            opacity: 1;
  }
} */

@media screen and (min-width:1025px) {
  #wrapper{
    min-height: 100vh;
    background: url(../img/body/sp_bg.jpg)!important;
    background-position: center;
    background-size: cover!important;
    background-attachment: fixed!important;
    width:100%;
    height: 100%;
  }
}

/*-------------------------------

anime

-------------------------------*/

@-webkit-keyframes active-animation-text1{
  0%{
    opacity: 0;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    -webkit-filter: blur(20px);
            filter: blur(20px);
  }
  100%{
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

@keyframes active-animation-text1{
  0%{
    opacity: 0;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    -webkit-filter: blur(20px);
            filter: blur(20px);
  }
  100%{
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
.active-animation-text1{
  -webkit-animation: active-animation-text1 2.5s;
          animation: active-animation-text1 2.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes active-animation-text2{
  0%{
    opacity: 0;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100%{
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

@keyframes active-animation-text2{
  0%{
    opacity: 0;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100%{
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
.active-animation-text2{
  -webkit-animation: active-animation-text2 1.5s;
          animation: active-animation-text2 1.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

/*-------------------------------

#menu

-------------------------------*/
.menu{
  position: fixed;
  bottom: 1.5%;
  right: 3%;
  width: 20%;
  z-index: 100;
  -webkit-transition: .4s all;
  -o-transition: .4s all;
  transition: .4s all;
  cursor: pointer;
}

.menu:hover{
  opacity: 0.7;
}

.menu-btn{
  display: block;
  width: 100%;
}

.menu-modal{
  width: 100%;
  height: 100vh;
  background: url(../img/menu/menubg_sp.jpg);
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
}

.menu-close-btn{
  position: fixed;
  bottom: 1.5%;
  right: 3%;
  width: 20%;
  -webkit-transition: .4s all;
  -o-transition: .4s all;
  transition: .4s all;
  cursor: pointer;
}

.menu-close-btn:hover{
  opacity: 0.7;
}

.menu-list{
  width: 80%;
  position: absolute;
  top: 35%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  list-style: none;
}

.menu-list li{
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: calc(40 / 750 * 100vw);
  letter-spacing: 0.05em;
  color: #d3d3d4;
  margin: 0 0 calc(80 / 750 * 100vw);
  -webkit-transition: .4s all;
  -o-transition: .4s all;
  transition: .4s all;
  cursor: pointer;
}

.menu-list li:hover{
  color: #e6002d;
}

.menu-list li a{
  text-decoration: none;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: calc(40 / 750 * 100vw);
  letter-spacing: 0.05em;
  color: #d3d3d4;
  margin: 0 0 calc(80 / 750 * 100vw);
  -webkit-transition: .4s all;
  -o-transition: .4s all;
  transition: .4s all;
  cursor: pointer;
}

.menu-list li a:hover{
  color: #e6002d;
}

@media screen and (min-width:1025px) {
  .menu{
    position: fixed;
    bottom: 1%;
    right: 1%;
    width: 7%;
    max-width: 110px;
    z-index: 100;
  }

  .menu-modal{
    width: 100%;
    height: 100vh;
    background: url(../img/menu/menubg_pc.jpg);
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
  }

  .menu-close-btn{
    position: fixed;
    bottom: 1%;
    right: 1%;
    width: 7%;
    max-width: 190px;
    -webkit-transition: .4s all;
    -o-transition: .4s all;
    transition: .4s all;
    cursor: pointer;
  }

  .menu-list{
    width: 40%;
    position: absolute;
    top: 47%;
    left: 75%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .menu-list li{
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 32px;
    letter-spacing: 0.05em;
    color: #d3d3d4;
    margin: 0 0 65px;
    -webkit-transition: .4s all;
    -o-transition: .4s all;
    transition: .4s all;
    cursor: pointer;
  }

  .menu-list li a{
    text-decoration: none;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 32px;
    letter-spacing: 0.05em;
    color: #d3d3d4;
    margin: 0 0 65px;
    -webkit-transition: .4s all;
    -o-transition: .4s all;
    transition: .4s all;
    cursor: pointer;
  }
}

/*-------------------------------

#top

-------------------------------*/

#top{
  width: 100%;
  position: relative;
  overflow: hidden;
}

.top-bg{
  display: block;
  width: 100%;
}

.top-ore{
  display: block;
  width: calc(126 / 750 * 100vw);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 100;
  opacity: 0;
/*   font-size: calc(32 / 750 * 100vw);
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 700;
  writing-mode: vertical-rl;
  color: #fff;
  opacity: 0.7; */
}

.top-saiaku{
  display: block;
  width: calc(200 / 750 * 100vw);
  position: absolute;
  bottom: -1%;
  left: 0;
  z-index: 100;
  opacity: 0;
}

.top-center{
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  opacity: 0;
}

.top-ttl{
  display: block;
  width: calc(502 / 750 * 100vw);
}

.top-release{
  display: block;
  width: calc(590 / 750 * 100vw);
}

.top-venom{
  display: block;
  width: calc(760 / 750 * 100vw);
  position: absolute;
  bottom: -30%;
  right: 0;
  opacity: 0;
  z-index: 50;
}

.top-carnage{
  display: block;
  width: calc(750 / 750 * 100vw);
  position: absolute;
  top: -30%;
  left: 0;
  opacity: 0;
  z-index: 51;
}

@media screen and (min-width:1025px) {
  .top-ore{
    display: block;
    width: calc(120 / 1280 * 100vw);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100;
  }
  
  .top-saiaku{
    display: block;
    width: calc(142 / 1280 * 100vw);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 100;
  }
  
  .top-center{
    position: absolute;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    z-index: 100;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  
  .top-ttl{
    display: block;
    width: calc(414 / 1280 * 100vw);
  }
  
  .top-release{
    display: block;
    width: calc(425 / 1280 * 100vw);
  }
  
  .top-venom{
    display: block;
    width: calc(975 / 1280 * 100vw);
    position: absolute;
    bottom: -30%;
    right: -30%;
    z-index: 51;
  }
  
  .top-carnage{
    display: block;
    width: calc(1280 / 1280 * 100vw);
    position: absolute;
    top: -30%;
    left: -30%;
    z-index: 50;
  }
}


/*-------------------------------

#digital

-------------------------------*/

#digital {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0 calc(50 / 750 * 100vw) ;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#digital a{
  display: block;
  text-decoration: none;
  width: 43%;
  margin: 2%;
  -webkit-transition: .4s all;
  -o-transition: .4s all;
  transition: .4s all;
  max-width: 184px;
}

#digital a:hover{
  opacity: 0.7;
}

#digital a figure{
  display: block;
  width: 100%;
}

@media screen and (min-width:1024px) {
  #digital{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 0 0 40px;
    margin-bottom: 20px;
    margin-top: 60px
  }

  #digital a{
    width: 15%;
    max-width: 184px;
    margin: 0 10px;
  }
}

.digital-ttl{
  display: block;
  width: calc(194 / 750 * 100vw);
  margin: 0 auto calc(20 / 750 * 100vw);
}

@media screen and (min-width:1024px) {

  .digital-ttl{
    display: block;
    width: 326px;
    margin: 0 auto 20px;
    display: block;
  }
}

/*-------------------------------

#bnr

-------------------------------*/

#bnr{
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: calc(50 / 750 * 100vw) 0;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#bnr a{
  display: block;
  text-decoration: none;
  width: 45%;
  margin: 0;
  -webkit-transition: .4s all;
  -o-transition: .4s all;
  transition: .4s all;
}

#bnr a:hover{
  opacity: 0.7;
}

#bnr a figure{
  display: block;
  width: 100%;
}

@media screen and (min-width:1024px) {
  #bnr{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 80px 0 40px;
	  margin-bottom:100px;
  }

  #bnr a{
    width: 20%;
    max-width: 384px;
    margin: 0;
  }
}


/*-------------------------------

trailer

-------------------------------*/

#trailer {
  width: 100%;
}

.trailer-ttl{
  display: block;
  width: calc(194 / 750 * 100vw);
  margin: 0 auto calc(20 / 750 * 100vw);
}

.trailer-contents{
  width: 100%;
  margin: 0 auto;
}

.trailer-contents li{
  display: none;
  opacity: 0;
  width: 80%;
  height: 0;
  padding-bottom: 45%;
  position: relative;
  border: solid 1px #250206;
  border-radius: 2px;
  margin: 0 auto;
}

.trailer-contents li iframe{
  position: absolute;
  width: 100%;
  height: 100%;
}

.trailer-nav{
  width: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0 0 0;
  margin: 0 auto;
}

.trailer-nav li{
  padding: calc(20 / 768 * 100vw) 0;
  text-align: center;
  color: #bbbab9;
  font-size: calc(20 / 768 * 100vw);
  border: solid 1px #bbbab9;
  width: 45%;
  -webkit-transition: .4s all;
  -o-transition: .4s all;
  transition: .4s all;
  cursor: pointer;
  margin: calc(20 / 768 * 100vw) calc(10 / 768 * 100vw) 0;
}

.trailer-nav li:hover{
  background-color: #72060f;
  color: #bbbab9;
}

/* PC */
@media screen and (min-width:1024px) {
  #trailer {
    width: 100%;
  }

  .trailer-ttl{
    display: block;
    width: 192px;
    margin: 0 auto 20px;
  }

  .trailer-contents{
    width: 80%;
    max-width: 1536px;
  }

  .trailer-nav{
    width: 80%;
    max-width: 1536px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: center;
  }

  .trailer-nav li{
    font-size: 15px;
    width: 35%;
    padding: 20px 0;
    margin: 20px 10px 0;
  }
}

/*-------------------------------

wrap

-------------------------------*/
.wrap{
  width: 100%;
  position: relative;
  z-index: 10;
  margin: calc(70 / 1240 * 100vw) 0 0;
}

/*-------------------------------

intro

-------------------------------*/

#intro{
  width: 100%;
}

.intro-top{
  width: 100%;
  position: relative;
}

.intro-top:after{
  content: "";    
  width: 100%;    
  height: 100%; 
  display: block;   
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(80%, transparent), to(#000));   
  background: -o-linear-gradient(top, transparent 0%, transparent 80%, #000 100%);   
  background: linear-gradient(to bottom, transparent 0%, transparent 80%, #000 100%);
  position: absolute; 
  top: 0;
  left: 0;
}

.intro-top-bg{
    display: block;
    width: 100%;
    opacity: 0;
}

.intro-billing-wrap{
  position: absolute;
  top: 2%;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}

.intro-billing{
  width: 100%;
  opacity: 0;
}

.intro-bottom{
  background: url(../img/intro/intro_bg_sp.jpg);
  background-position: top;
	background-size: cover;
  background-attachment: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}

.intro-bottom:before{
  content: "";    
  width: 100%;    
  height: 100%; 
  display: block;   
  background: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(95%, transparent), to(#000));   
  background: -o-linear-gradient(bottom, transparent 0%, transparent 95%, #000 100%);   
  background: linear-gradient(to top, transparent 0%, transparent 95%, #000 100%);
  position: absolute; 
  top: 0;
  left: 0;
}

.intro-bottom:after{
  content: "";    
  width: 100%;    
  height: 100%; 
  display: block;   
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(95%, transparent), to(#000));   
  background: -o-linear-gradient(top, transparent 0%, transparent 95%, #000 100%);   
  background: linear-gradient(to bottom, transparent 0%, transparent 95%, #000 100%);
  position: absolute; 
  top: 0;
  left: 0;
}

.intro-text1{
  width: calc(620 / 750 * 100vw);
  padding: calc(80 / 750 * 100vw) 0 0;
  opacity: 0;
}

.intro-text2{
  width: calc(671 / 750 * 100vw);
  padding: calc(40 / 750 * 100vw) 0 0;
  opacity: 0;
}

.intro-text3{
  width: calc(449 / 750 * 100vw);
  padding: calc(80 / 750 * 100vw) 0 0;
  opacity: 0;
}

.intro-text4{
  width: calc(644 / 750 * 100vw);
  padding: calc(40 / 750 * 100vw) 0 0;
  opacity: 0;
}

.intro-text5{
  width: calc(730 / 750 * 100vw);
  padding: calc(40 / 750 * 100vw) 0 calc(40 / 750 * 100vw);
  opacity: 0;
}

.intro-bottom-border{
  width: 100%;
}

/* PC */
@media screen and (min-width:1024px) {

  .intro-bottom{
    background: url(../img/intro/intro_bg_pc.jpg);
    background-position: top;
    background-size: cover;
    background-attachment: fixed;
  }

  .intro-text1{
    width: calc(665 / 1240 * 100vw);
    max-width: 665px;
    padding: 80px 0 0;
  }
  
  .intro-text2{
    width: calc(620 / 1240 * 100vw);
    max-width: 620px;
    padding: 40px 0 0;
  }
  
  .intro-text3{
    width: calc(481 / 1240 * 100vw);
    max-width: 481px;
    padding: 80px 0 0;
  }
  
  .intro-text4{
    width: calc(586 / 1240 * 100vw);
    max-width: 586px;
    padding: 40px 0 0;
  }
  
  .intro-text5{
    width: calc(945 / 1240 * 100vw);
    max-width: 945px;
    padding: 40px 0 40px;
  }

}

/*-------------------------------

defilee

-------------------------------*/
.defilee__outer_wrap{
  width: 100%;
  position: relative;
  overflow: hidden;
  background: url(../img/defilee/defileebg_sp.png);
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
}

.defilee__outer_wrap:before{
  content: '';    
  width: 100%;
  height: 100%;
  background: url(../img/intro/intro_bottom_sp.png);
  background-position: top center;
  background-size: contain;
  background-repeat: no-repeat;
  display: block;   
  position: absolute; 
  top: 0;
  left: 0;
  z-index: 10;
}

.defilee__outer_wrap:after{
  content: '';    
  width: 100%;
  height: 100%;
  background: url(../img/character/chara_top_sp.png);
  background-position: bottom center;
  background-size: contain;
  background-repeat: no-repeat;
  display: block;   
  position: absolute; 
  bottom: 0;
  left: 0;
  z-index: 10;
}

.defilee__outer{
  position: relative;
  width: 100%;
  height: 90vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-perspective: 0.5px;
          perspective: 0.5px;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  overflow: hidden;
}

.defilee__ctnr {
    will-change: transform;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto;
}

.defilee__div{
  width: 40vw;
}

.defilee__div--special1{
  -webkit-transform: translateZ(-0.15px) scale(1.3) translateX(-5vw) translateY(0vw);
          transform: translateZ(-0.15px) scale(1.3) translateX(-5vw) translateY(0vw);
}

.defilee__div--special2{
  -webkit-transform: translateZ(0) scale(1.3) translateX(25vw) translateY(2vw);
          transform: translateZ(0) scale(1.3) translateX(25vw) translateY(2vw);
}

.defilee__div--special3{
  -webkit-transform: translateZ(0.15px) scale(1.3) translateX(-30vw) translateY(10vw);
          transform: translateZ(0.15px) scale(1.3) translateX(-30vw) translateY(10vw);
}

.defilee__div--special4{
  -webkit-transform: translateZ(-0.15px) scale(1.3) translateX(15vw) translateY(12vw);
          transform: translateZ(-0.15px) scale(1.3) translateX(15vw) translateY(12vw);
}

.defilee__div--special5{
  -webkit-transform: translateZ(0.15px) scale(1.3) translateX(-20vw) translateY(-10vw);
          transform: translateZ(0.15px) scale(1.3) translateX(-20vw) translateY(-10vw);
}

.defilee__div--special6{
  -webkit-transform: translateZ(0) scale(1.3) translateX(-10vw) translateY(-8vw);
          transform: translateZ(0) scale(1.3) translateX(-10vw) translateY(-8vw);
}

@media screen and (min-width:768px){
  .defilee__outer_wrap{
    background: url(../img/defilee/defileebg_pc.png);
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
  }

  .defilee__outer_wrap:before{
    content: '';    
    width: 100%;
    height: 100%;
    background: url(../img/intro/intro_bottom_sp.png);
    background-position: top center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;   
    position: absolute; 
    top: 0;
    left: 0;
    z-index: 10;
  }
  
  .defilee__outer_wrap:after{
    content: '';    
    width: 100%;
    height: 100%;
    background: url(../img/character/chara_top_sp.png);
    background-position: bottom center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;   
    position: absolute; 
    bottom: 0;
    left: 0;
    z-index: 10;
  }

  .defilee__outer{
    padding: calc(60 / 750 * 100vw) 0 0;
    height: 100vw;
  }

  .defilee__div{
    width: 30vw;
  }

  .defilee__div--special1{
    -webkit-transform: translateZ(-0.15px) scale(1.4) translateX(0) translateY(-5vw);
            transform: translateZ(-0.15px) scale(1.4) translateX(0) translateY(-5vw);
  }
  
  .defilee__div--special2{
    -webkit-transform: translateZ(0) scale(1.4) translateX(20vw) translateY(5vw);
            transform: translateZ(0) scale(1.4) translateX(20vw) translateY(5vw);
  }
  
  .defilee__div--special3{
    -webkit-transform: translateZ(0.15px) scale(1.4) translateX(-30vw) translateY(12vw);
            transform: translateZ(0.15px) scale(1.4) translateX(-30vw) translateY(12vw);
  }
  
  .defilee__div--special4{
    -webkit-transform: translateZ(-0.15px) scale(1.4) translateX(10vw) translateY(15vw);
            transform: translateZ(-0.15px) scale(1.4) translateX(10vw) translateY(15vw);
  }
  
  .defilee__div--special5{
    -webkit-transform: translateZ(0.15px) scale(1.4) translateX(-30vw) translateY(-15vw);
            transform: translateZ(0.15px) scale(1.4) translateX(-30vw) translateY(-15vw);
  }
  
  .defilee__div--special6{
    -webkit-transform: translateZ(0) scale(1.4) translateX(-15vw) translateY(-7vw);
            transform: translateZ(0) scale(1.4) translateX(-15vw) translateY(-7vw);
  }
}

@media screen and (min-width:1025px) {
  .defilee__outer_wrap{
    background: url(../img/defilee/defileebg_pc.png);
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
  }

  .defilee__outer_wrap:before{
    content: '';    
    width: 100%;
    height: 100%;
    background: url(../img/intro/intro_bottom_pc.png);
    background-position: top center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;   
    position: absolute; 
    top: 0;
    left: 0;
    z-index: 10;
  }
  
  .defilee__outer_wrap:after{
    content: '';    
    width: 100%;
    height: 100%;
    background: url(../img/character/chara_top_pc.png);
    background-position: bottom center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;   
    position: absolute; 
    bottom: 0;
    left: 0;
    z-index: 10;
  }

  .defilee__outer{
    padding: calc(80 / 1025 * 100vw) 0 ;
    height: 80vw;
  }

  .defilee__ctnr {
    will-change: transform;
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto;
  }

  .defilee__div{
    width: 25vw;
  }

  .defilee__div--special1{
    -webkit-transform: translateZ(-0.15px) scale(1.1) translateX(-7.5vw) translateY(2vw);
            transform: translateZ(-0.15px) scale(1.1) translateX(-7.5vw) translateY(2vw);
  }
  
  .defilee__div--special2{
    -webkit-transform: translateZ(0px) scale(1.1) translateX(22.5vw) translateY(7vw);
            transform: translateZ(0px) scale(1.1) translateX(22.5vw) translateY(7vw);
  }
  
  .defilee__div--special3{
    -webkit-transform: translateZ(0.17px) scale(1.1) translateX(-22.5vw) translateY(15vw);
            transform: translateZ(0.17px) scale(1.1) translateX(-22.5vw) translateY(15vw);
  }
  
  .defilee__div--special4{
    -webkit-transform: translateZ(-0.15px) scale(1.1) translateX(10vw) translateY(20vw);
            transform: translateZ(-0.15px) scale(1.1) translateX(10vw) translateY(20vw);
  }
  
  .defilee__div--special5{
    -webkit-transform: translateZ(0.17px) scale(1.1) translateX(-35vw) translateY(-15vw);
            transform: translateZ(0.17px) scale(1.1) translateX(-35vw) translateY(-15vw);
  }
  
  .defilee__div--special6{
    -webkit-transform: translateZ(0) scale(1.1) translateX(-10vw) translateY(-7.5vw);
            transform: translateZ(0) scale(1.1) translateX(-10vw) translateY(-7.5vw);
  }
}

/*-------------------------------

character

-------------------------------*/
.character_wrap{
  width: 100%;
}

#character{
  width: 100%;
  position: relative;
  overflow: hidden;
}

.character-bg-top{
  display: block;
  width: 100%;
}

.character-bg{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: url(../img/character/chara_bg_sp2.jpg);
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
}

.character-bg div{
  display: inline-block;
  width: 100%;
  position: relative;
}

.open-modal{
  -webkit-transition: .4s all;
  -o-transition: .4s all;
  transition: .4s all;
  cursor: pointer;
}

.open-modal:hover{
  opacity: 0.7;
}

.character-list{
  display: block;
  width: 100%;
}

.character-ttl{
  position: absolute;
  top: 10%;
  left: 22%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(267 / 750 * 100vw);
}

.venom{
  position: absolute;
  top: 12%;
  left: 78%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(226 / 750 * 100vw);
}

.eddie{
  position: absolute;
  top: 40%;
  left: 21.5%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(307 / 750 * 100vw);
}

.cretus{
  position: absolute;
  top: 47%;
  left: 75%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(310 / 750 * 100vw);
}

.shuriek{
  position: absolute;
  top: 64%;
  left: 23%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(325 / 750 * 100vw);
}

.anne{
  position: absolute;
  top: 69%;
  left: 78%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(304 / 750 * 100vw);
}

.carnage{
  position: absolute;
  top: 88%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(274 / 750 * 100vw);
}

.character-bg-bottom{
  display: block;
  width: 100%;
}

.character-modal{
  width: 100%;
  border: 1px solid #ac0022;
  position: relative;
  padding: 30px 12px;
}

.character-modal a{
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translateY(90%);
      -ms-transform: translateY(90%);
          transform: translateY(90%);
  font-size: 46px;
  color: #fff;
  cursor: pointer;
}

.character-modal figure{
  display: inline-block;
}

.character-modal p{
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #fff;
  margin: 35px 0 0;
  text-align: justify;
}

@media screen and (min-width:768px){
  .character_wrap{
    width: 100%;
  }
  
  .character-modal{
    width: 100%;
    border: 1px solid #ac0022;
    position: relative;
    padding: 55px 35px;
  }
  
  .character-modal a{
    position: absolute;
    top: 0;
    right: 0;
    font-size: 46px;
    color: #fff;
    cursor: pointer;
  }
  
  .character-modal figure{
    display: inline-block;
  }
  
  .character-modal p{
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #fff;
    margin: 35px 0 0
  }
}

/* PC */
@media screen and (min-width:1025px) {
  .character_wrap{
    width: 100%;
  }

  .character-bg{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: url(../img/character/chara_bg_pc2.jpg);
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
  }

  .character-bg div{
    display: inline-block;
    width: 80%;
    max-width: 1920px;
    position: relative;
  }

  .character-list{
    display: block;
    width: 100%;
  }

  .character-ttl{
    position: absolute;
    top: 22%;
    left: 13%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: calc(267 / 1280 * 100vw);
  }
  
  .venom{
    position: absolute;
    top: 22%;
    left: 75.5%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: calc(175 / 1280 * 100vw);
  }
  
  .eddie{
    position: absolute;
    top: 32%;
    left: 22%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: calc(238 / 1280 * 100vw);
  }
  
  .cretus{
    position: absolute;
    top: 42.5%;
    left: 70%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: calc(302 / 1280 * 100vw);
  }
  
  .shuriek{
    position: absolute;
    top: 55%;
    left: 23%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: calc(252 / 1280 * 100vw);
  }
  
  .anne{
    position: absolute;
    top: 55.5%;
    left: 72.5%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: calc(236 / 1280 * 100vw);
  }
  
  .carnage{
    position: absolute;
    top: 72%;
    left: 28%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: calc(213 / 1280 * 100vw);
  }
  
  .character-modal{
    width: 100%;
    border: 1px solid #ac0022;
    position: relative;
    padding: 55px 35px;
  }
  
  .character-modal a{
    position: absolute;
    top: 0;
    right: 0;
    font-size: 46px;
    color: #fff;
    cursor: pointer;
  }
  
  .character-modal figure{
    display: inline-block;
  }
  
  .character-modal p{
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #fff;
    margin: 35px 0 0
  }
}

@media screen and (min-width:2400px) {
  .character-ttl{
    width: 500px;
  }
  
  .venom{
    width: 328px;
  }
  
  .eddie{
    width: 447px;
  }
  
  .cretus{
    width: 567px;
  }
  
  .shuriek{
    width: 473px;
  }
  
  .anne{
    width: 443px;
  }
  
  .carnage{
    width: 400px;
  }
}

/*-------------------------------

staff

-------------------------------*/
.staff_wrap{
  width: 100%;
  position: relative;
}

.staff_wrap:before{
  content: '';    
  width: 100%;
  height: 100%;
  background: url(../img/character/chara_bottom_sp.png);
  background-position: top center;
  background-size: contain;
  background-repeat: no-repeat;
  display: block;   
  position: absolute; 
  top: 0;
  left: 0;
  z-index: 10;
}

#staff{
  width: 100%;
}

.staff-ttl{
  display: block;
  width: calc(146 / 750 * 100vw);
  margin: 0 auto calc(45 / 750 * 100vw);
  padding: calc(100 / 750 * 100vw) 0 0;
}

.staff-text{
  display: block;
  width: 60%;
  margin: 0 auto calc(150 / 750 * 100vw);
}

/* PC */
@media screen and (min-width:1025px) {
  .staff_wrap{
    width: 100%;
    position: relative;
  }
  
  .staff_wrap:before{
    content: '';    
    width: 100%;
    height: 100%;
    background: url(../img/character/chara_bottom_pc.png);
    background-position: top center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;   
    position: absolute; 
    top: 0;
    left: 0;
    z-index: 10;
  }

  #staff{
    width: 100%;
  }
  
  .staff-ttl{
    display: block;
    width: 146px;
    margin: 0 auto 45px;
    padding: 200px 0 0;
  }

  .staff-text{
    display: block;
    width: 35%;
    max-width: 450px;
    margin: 0 auto 250px;
  }
}

/*-------------------------------

footer

-------------------------------*/

footer{
  width: 100%;
}

.cast{
  display: block;
  width: 85%;
  margin: calc(60 / 750 * 100vw) auto 0;
}

.billing{
  width: 70%;
  margin: calc(50 / 750 * 100vw) auto 0;
  max-width: 360px;
}

.official{
  width: 80%;
  margin: calc(80 / 750 * 100vw) auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.official-ttl{
  width: calc(250 / 750 * 100vw);
  margin: 0 auto;
}

.social-links{
  width: 100%;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.social-links li{
  width: 18%;
  margin: calc(25 / 750 * 100vw);
}

.social-links li a{
  width: 100%;
  display: block;
}

.sns{
  width: 100%;
  margin: calc(60 / 750 * 100vw) auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: -o-linear-gradient(top, transparent 0%, transparent 45%, #000 45%,  #000 100%);
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(45%, transparent), color-stop(45%, #000),  to(#000));
  background: linear-gradient(to bottom, transparent 0%, transparent 45%, #000 45%,  #000 100%);
}

.sns-ttl{
  width: calc(100 / 750 * 100vw);
  margin: 0 auto;
}

#social-container{
  width: 80%;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#social-container li{
  width: 15%;
  margin: calc(15 / 750 * 100vw);
}

#social-container li div{
  width: 100%;
}

#social-container li div a{
  width: 100%;
  display: block;
}

.sony{
  width: 100%;
  /* background: #000; */
}

.logos{
  width: 100%;
  padding: 4em 0 2em;
  overflow: hidden;
  text-align: center;
  list-style-type: none;
}

.logos li{
  width: 40px;
  display: inline-block;
}

.copyright{
  margin: 0 0 2em;
  text-align: center;
  color: #999;
  font-size: 10px;
}

.legal-links{
  padding: 0 0 2em;
  text-align: center;
  list-style-type: none;
  color: #999;
  font-size: 10px;
}

.legal-links li{
  margin: 0 0 0 15px;
  display: inline-block;
}

.legal-links li:first-child{
  margin: 0;
  border-right: 1px solid #999;
}

.legal-links li a {
  margin-right: 15px;
  text-decoration: underline;
  color: #999;
  -webkit-transition: .4s all;
  -o-transition: .4s all;
  transition: .4s all;
}

.legal-links li a:hover{
  opacity: 0.7;
}

@media screen and (min-width:1024px) {
  .cast{
    width: 60%;
    max-width: 874px;
    margin: calc(70 / 750 * 100vw) auto 0;
  }

  .billing{
    width: 35%;
    max-width: 360px;
    margin: calc(40 / 750 * 100vw) auto 0;
  }

  .official{
    width: 40%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .official-ttl{
    width: calc(174 / 1280 * 100vw);
    margin: 40px auto 0;
  }

  .social-links li{
    width: 10%;
    margin: calc(10 / 750 * 100vw);
  }

  .sns{
    width: 40%;
    margin: 40px auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: transparent;
  }

  .sns-ttl{
    width: calc(85 / 1280 * 100vw);
    margin: 0 auto;
  }

  #social-container li{
    width: 10%;
    margin: calc(15 / 1280 * 100vw);
  }

  .sony{
    display: inline-block;
/*     background: -o-linear-gradient(top, transparent 0%, transparent 40%, #000 40%,  #000 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(40%, transparent), color-stop(40%, #000),  to(#000));
    background: linear-gradient(to bottom, transparent 0%, transparent 40%, #000 40%,  #000 100%);
 */    padding: 20px 0 30px 30px;
  }

  .logos {
    float: left;
    width: auto;
    padding: 0;
    text-align: left;
  }

  .logos li {
    width: 50px;
    vertical-align: bottom;
  }

  .copyright {
    float: left;
    margin: 93px 40px 0;
    text-align: left;
  }

  .legal-links {
    float: left;
    padding: 92px 0 0;
    text-align: left;
    margin: 0;
  }

  .legal-links li {
    margin: 0 0 0 10px;
  }

  .legal-links li:first-child {
    margin: 0;
    border-right: 1px solid #999;
  }

  .legal-links li a {
    margin-right: 10px;
  }
}


/* Digital*/

.digital-ttl{
  display: block;
  width: calc(267 / 750 * 100vw);
  margin: 20px auto calc(20 / 750 * 100vw);
}

/* PC */
@media screen and (min-width:1024px) {
  .digital-ttl{
    display: block;
    width: 320px;
    margin: 50px auto 20px;
  }
}



/**/


.btn-other {
  color:red; 
  text-align: center;
  margin-bottom:150px; 
  font-size:20px;
}

.btn-other a{
  font-size: 18px;
  line-height: 120%;
  color:#850000;
  padding: 20px 0;
  margin: 20px 10px 0;
  -webkit-transition: .4s all;
  -o-transition: .4s all;
  transition: .4s all;
  cursor: pointer;
  border: 1px solid white;
  background-color: #e0e0e0;
  max-width: 300px;
  width: 90%;
}

.btn-other a:hover{
 /*border:1px solid rgb(163, 1, 1);*/
  font-size: 18px;
  width: 300px;
  padding: 20px 0;
  margin: 20px 10px 0;
  opacity: .5;
}




