<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/*-------------------------------
共通
--------------------------------*/
#magazine,
#story,
#system,
#chara,
#product{
  padding:80px 0;
  position: relative;
  z-index: 1;
}

.floor{
  position:relative;
  margin: 0 auto;
  max-width: 936px;
  padding:10px;
}

@media screen and (max-width: 768px) {
  .floor{
    padding:2% 5%;
  }
}


/*---title-bg---*/
.title-bg01{
  background: #ec0054;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.title-bg01 .title-bg-img{
  width: 100%;
  height: 123px;
  background: url("../img/title_line01.png") top center repeat-x;
  background-size: cover;
}

.title-bg02{
  background: #000;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.title-bg02 .title-bg-img{
  width: 100%;
  height: 123px;
  background: url("../img/title_line02.png") top center repeat-x;
  background-size: cover;
}

.title-bg03{
  position: absolute;
  top:-200px;
  overflow: hidden;
}

.title-bg03{
  width: 100%;
  height: 308px;
  background: url("../img/title_line03.png") top center repeat-x;
  background-size: cover;
}


@media screen and (max-width: 640px) {
}

/*---floor-title--*/
.floor-title{
  position: relative;
  top:-40px;
  z-index: 10;
  max-width:768px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .floor-title{
    max-width:640px;
  }
}

@media screen and (max-width: 480px) {
  .floor-title{width: 95%;}
}

/*---text-link---*/
.link-text{
  text-align: right;
}

.link-text a{
  padding:5px 0;
  font-size: 1.4rem;
  display: inline-block;
}

.link-text a:before{
  content: url("../img/mv-link-text-icn.gif");
  width: 9px;
  height: 9px;
  position: relative;
}

.link-text a:hover{
  color:#fff!important;
}

.link-text a:hover::before{
  opacity:.4;
  transition: all 0.2s ease;
}

.link-text a:last-of-type{
  margin: 0 0 0 10px;
}

/*----movie-------*/
.movie{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  z-index: 1;
}

.movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/*-------------------------------
mv-main
--------------------------------*/
.mv-main{
  background:#000;
  height:auto;
}

@media screen and (max-width: 768px) {
  .mv-main{
    overflow: hidden;
    height: 100%;
  }
}

@media screen and (max-width: 480px) {
  .mv-main{
    height: 680px;
  }
}

/*---head---*/
.mv-main-head{
  width: 100%;
  background: linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,0));
  position:absolute;
  height: 200px;
  z-index: 1;
}

/*-----LOGO-----*/
.mv-logo{
  width: 100%;
  position: relative;
  z-index:100;
  top:50px;
}


.logo-box{
  position: relative;
  width: 100%;
  height: 320px;
}

.logo-box-line{
  width: 100%;
  max-width:inherit!important;
  height: 5px;
  background-image:url("../img/logo/logo_02_line.png");
  background-repeat: repeat-x;
  background-size:contain;
  position: absolute;
  z-index: 3;
}

.logo-box-line.top{
  top:30%;
}

.logo-box-line.bottom{
  bottom:30%;
}

.logo-box-sub{
  height: 100%;
  position: relative;
  margin: 0 auto;
  z-index: 1;
}

.logo-box-sub div{
  width: 100%;
  position: absolute;
  max-width: 500px;
  opacity: 0;
}

.logo-box-sub .logo01{width: 50%; max-width: 0;}
.logo-box-sub .logo02{width: 60%; max-width: 0;}

.logo-box-sub .logo01{z-index: 5}
.logo-box-sub .logo02{z-index: 4}
.logo-box-sub .logo03{z-index: 3; max-width: 0;}
.logo-box-sub .logo04{z-index: 2; max-width:800px;}
.logo-box-sub .logo05{z-index: 1}

.logo-box-sub .logo01,
.logo-box-sub .logo02,
.logo-box-sub .logo03,
.logo-box-sub .logo04,
.logo-box-sub .logo05{
  top:50%;
  left:50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);

}

@media screen and (max-width: 1024px) {
  .mv-logo{
    top: 45px;
  }
}

@media screen and (max-width: 1024px) {
  .mv-logo{
    top:10%;
  }
}

@media screen and (max-width:768px) {
  .mv-logo{
    top:4%;
  }
}

@media screen and (max-width:480px) {
  .mv-logo{
    top:-1%;
  }
}

@media screen and (max-width:320px) {
  .mv-logo{
    top:0;
  }
}

/*-----mv-release------*/
.mv-release{
  width: 100%;
  position: absolute;
  z-index:102;
  max-width: 640px;/*--728px--*/
  text-align: center;
  top:370px;
  left:50%;
  -webkit-transform: translateY(0) translateX(-50%);
  transform: translateY(0) translateX(-50%);
}
.mv-release img{
  opacity: 0;
  position: relative;
  top:-10px;
}

@media screen and (max-width: 1440px) {
  .mv-release{
    top:355px;
  }
}


@media screen and (max-width: 1024px) {
  .mv-release{
    top:35%;
  }
}

@media screen and (max-width: 768px) {
   .mv-release{
    top:320px;
    width: 90%;
  }
}

@media screen and (max-width:480px) {
  .mv-release{
    top:245px;
  }
}

/*---mv-chara-----*/
.mv-chara{
  width: 100%;
  position: relative;
  z-index:101;
  top:30px;
  opacity:0;
}

@media screen and (max-width: 1440px) {
  .mv-chara{
    top:0;
  }
}

@media screen and (max-width: 1024px) {
  .mv-chara{
    top:15%;
  }
}

@media screen and (max-width: 768px) {
  .mv-chara{
    top:6%;
  }
}

@media screen and (max-width: 480px) {
  .mv-chara{
    position: absolute;
    top:inherit;
    bottom:33%;
    left:50%;
    -webkit-transform: translateY(0) translateX(-50%);
    transform: translateY(0) translateX(-50%);
  }
}


.mv-chara .mv-chara-box{
  position: relative;
  max-width: 960px;
  height: 100%;
  margin: 0 auto;
  left: 0px;
  top: 0px;
}

.mv-chara .mv-chara-box-sub{
  width: 100%;
  max-width: 768px;
  height: 100%;
  position: absolute;
  bottom:30%;
  left:50%;
  -webkit-transform: translateY(0) translateX(-50%);
  transform: translateY(0) translateX(-50%);
  z-index: 1;
}

.mv-chara .mv-chara-bg{
  position: relative;
  z-index: 0;
}

@media screen and (max-width: 1440px) {
  .mv-chara .mv-chara-box{
    max-width: 768px;
  }
  
  .mv-chara .mv-chara-box-sub{
    max-width: 640px;
  }
  
}

@media screen and (max-width: 1024px) {
  .mv-chara .mv-chara-box{
    max-width: 960px;
  }
  
  .mv-chara .mv-chara-box-sub{
    max-width: 768px;
    bottom:25%;
  }
  
}

@media screen and (max-width: 768px) {
  .mv-chara .mv-chara-box-sub{
    width: 90%;
  }
}


.mv-main-chara{
  width: 100%;
  max-width: 460px;
  position: absolute;
  bottom:50%;
  left:50%;
  -webkit-transform: translateY(0) translateX(-50%);
  transform: translateY(0) translateX(-50%);
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .mv-main-chara{
    bottom:45%;
  }
}

@media screen and (max-width: 320px) {
  .mv-main-chara{
    bottom:40%;
  }
}

.mv-m-chara01{
  position: absolute;
  left:1%;
  z-index: 1;
  width:100%;
  max-width:900px;
  opacity: 0;
}
.mv-m-chara02{
  position: absolute;
  top:20px;
  right:1%;
  z-index: 0;
  width: 100%;
  max-width:774px;
  opacity: 0;
}

.mv-chara01,
.mv-chara02,
.mv-chara03,
.mv-chara04,
.mv-chara05,
.mv-chara06,
.mv-chara07,
.mv-chara08,
.mv-chara09,
.mv-chara10,
.mv-chara11,
.mv-chara12,
.mv-chara13{
  position: absolute;
  width:8%;
  z-index: 0;
}
.mv-chara01{
  left:0;
}
.mv-chara02{
  left:8%;
}
.mv-chara03{
  left:15%;
}
.mv-chara04{
  left:22%;
}
.mv-chara05{
  left:31%;
}
.mv-chara06{
  left:39%;
}
.mv-chara07{
  left:48%;
}
.mv-chara08{
  right:36%;
}
.mv-chara09{
  right:31%;
  width: 5%;
}
.mv-chara10{
  right:22%;
  width: 10%;
}
.mv-chara11{
  right:15%;
}
.mv-chara12{
  right:6%;
  width: 9%;
}
.mv-chara13{
  right:0;
  width: 7%;
}
.mv-chara-box-sub .bottom01,
.mv-chara-box-sub .bottom03{ bottom:100%; opacity: 0}/*--0--*/
.mv-chara-box-sub .bottom02,
.mv-chara-box-sub .bottom04{ bottom:100%; opacity: 0}/*-- -20 --*/



/*-----mv-catch------*/
.mv-catch{
  width: 100%;
  position: relative;
  z-index:102;
  margin: 0 auto;
  top:-10%;
  height: 232px;
}

.mv-catch-img01{
  position:absolute;
  left:-10%;
  top:-40%;
  z-index: 1;
  max-width: 200px;
}

.en .mv-catch-img01,
.ko .mv-catch-img01{
  max-width: 180px;
}

.mv-catch-img02{
  position: relative;
  width: 100%;
  bottom:110px;
  margin: 0 auto;
  opacity:0;
}

.mv-catch-sub{
  width: 100%;
  position: absolute;
  z-index:102;
  max-width: 560px;
  top:-50px;
  left:50%;
  -webkit-transform: translateY(0) translateX(-50%);
  transform: translateY(0) translateX(-50%);
  opacity:0;
}
@media screen and (max-width: 1440px) {
  .mv-catch-img02{
    bottom:70px;
  }
}

@media screen and (max-width: 1024px) {
  .mv-catch{
    width: 100%;
    top:10%;
  }
  .mv-catch-img01{
    left:-5%;
    top:-47%;
  }
  .mv-catch-img02{
    bottom:80px;
    width: 100%;
  }

  .mv-catch-sub{
    top:7%!important;
  }
}


@media screen and (max-width: 768px) {
  .mv-catch{
    top:5%;
    height: auto;
  }
  .mv-catch-img01,
  .en .mv-catch-img01{
    max-width: 150px;
  }
  .ko .mv-catch-img01{
    max-width: 130px;
  }
  
  .mv-catch-img02{
    bottom:50px;
    width: 90%;
  }
}

@media screen and (max-width: 640px) {
  .mv-m-chara01{
    width:60%;
    left:3%;
  }
  .mv-m-chara02{
    right:3%;
    width: 50%;
  }
  
  .mv-catch-img01{
    max-width: 80px;
    top: -61%;
  }
  
  .en .mv-catch-img01{
    max-width: 90px;
  }
  
  .ko .mv-catch-img01{
    max-width: 68px;
  }
  
  .mv-catch{
    position: absolute;
    top:inherit;
    bottom:12%;
    left:50%;
    -webkit-transform: translateY(0) translateX(-50%);
    transform: translateY(0) translateX(-50%);
  }
  
  .mv-catch-sub{
    max-width: 320px;
    top:4%!important;
  }
  
  .ko .mv-catch-sub{
    max-width: 280px;
    top:3%!important;
  }
  
  .en .mv-catch-sub{
    max-width: 280px;
    top:5%!important;
  }
  
  .mv-catch-img02{
    bottom:20px;
    width: 95%;
  }
  
}

@media screen and (max-width: 320px) {
  .mv-catch-sub{
    max-width: 220px;
    top:5%!important;
  }
  
  .ko .mv-catch-sub{
    max-width: 220px;
    top: 4%!important;
  }
  
   .en .mv-catch-img01{
    top: -80%;
  }
  
  .ko .mv-catch-img01{
    top: -75%;
  }
  
  .en .mv-catch-sub{
    max-width: 200px;
    top:6%!important;
  }
  
  
  
}


/*---mv-copy-----*/
.mv-copy{
  width: 100%;
  max-width: 254px;
  position: absolute;
  z-index:102;
  bottom:10px;
  left:10px;
}

.mv-copy-img{
  display:inline-block;
  vertical-align: middle;
}

.mv-copy-img:first-of-type img{
  max-width: 100px;
  margin-right: 10px;
}
.mv-copy-img:last-of-type img{
  max-width: 140px;
}

@media screen and (max-width: 768px) {
  .mv-copy{
    position: static;
    z-index:102;
    bottom:0;
    left:0;
    margin:20px auto 0;
  }
}

/*---mv-link-----*/
.mv-link{
  width: 100%;
  max-width: 274px;
  position: absolute;
  z-index:102;
  bottom:10%;
  right:10px;
}

.mv-link-btn{
  max-width: 258px;
  margin: 0 0 10px auto;
}

@media screen and (max-width: 1440px) {
  .mv-link{
    bottom:100px;
    max-width: 210px;
  }
}

@media screen and (max-width: 1024px) {
  .mv-link{
    max-width: inherit;
    bottom:-30px;
  }
  
  .mv-link-btn{
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .mv-link{
    width: 100%;
    max-width:inherit;
    bottom:10px;
    right:0;
    margin: 0 auto;
  }
}

@media screen and (max-width: 640px) {
  .mv-link-btn{
    max-width: 180px;
    margin: 20px auto 10px;
  }
}

/*---mv-bg-----*/
.mv-bg-ram{
  top:0;
  position: absolute;
  width: 100%;
  height: 100vh;
  opacity: .35;
  background: #000;
}

.mv-bg-parts{
  width: 100%;
  position: absolute;
  top:30%;
  mix-blend-mode: multiply;
  z-index: 2;
}

.mv-bg{
  width: 100%;
  height:100%;
  position:relative;
}

.mv-bg img{
  width:100%;
  position: absolute;  
}


@media screen and (max-width: 1024px) {
  .mv-bg-parts{
    top:38%;
  }
  .mv-bg img{
    width:180%;
  }
}

@media screen and (max-width: 640px) {
  .mv-bg-parts{
    top:38%;
  }
  
  .mv-bg-parts{
    height:80%;
    overflow: hidden;
  }
  
  .mv-bg img{
    width:275%;
  }
}

/*-------------------------------
赤雨
--------------------------------*/
.rain-container{
  display:flex;
  justify-content: center;
  align-items: center;
  position:absolute;
  width: 100%;
  height:100%;
  overflow: hidden;
  top:-10%;
  left:0;
}

.rains{
  position: absolute;
  left:-10%;
  top:-10%;
  width: 110%;
  height:150%;
  transform: rotate(5deg);
}

/*widthは雨の太さ、heightは長さ*/
.rains span{
  position: absolute;
  width:2px;
  height:180px;
  background:#f00;
  opacity:0.65;
}

 /*雨の初期位置とアニメーション指定、leftはx座標での基準位置、topは開始位置、アニメーション時間は揺らぎ*/
.rains span:nth-child(1){left:5%; top:0; animation: rain-anim 10s infinite;}
.rains span:nth-child(2){left:10%; top:0; animation: rain-anim 11s infinite;}
.rains span:nth-child(3){left:15%; top:0; animation: rain-anim 8s infinite;}
.rains span:nth-child(4){left:20%; top:0; animation: rain-anim 12s infinite;}
.rains span:nth-child(5){left:25%; top:0; animation: rain-anim 10s infinite;}

.rains span:nth-child(6){left:30%; top:0; animation: rain-anim 11s infinite;}
.rains span:nth-child(7){left:35%; top:0; animation: rain-anim 13s infinite;}
.rains span:nth-child(8){left:40%; top:0; animation: rain-anim 7s infinite;}
.rains span:nth-child(9){left:45%; top:0; animation: rain-anim 9s infinite;}
.rains span:nth-child(10){left:50%; top:0; animation: rain-anim 11s infinite;}

.rains span:nth-child(11){left:55%; top:0; animation: rain-anim 10s infinite;}
.rains span:nth-child(12){left:60%; top:0; animation: rain-anim 6s infinite;}
.rains span:nth-child(13){left:65%; top:0; animation: rain-anim 14s infinite;}
.rains span:nth-child(14){left:70%; top:0; animation: rain-anim 12s infinite;}
.rains span:nth-child(15){left:75%; top:0; animation: rain-anim 10s infinite;}

.rains span:nth-child(16){left:80%; top:0; animation: rain-anim 14s infinite;}
.rains span:nth-child(17){left:85%; top:0; animation: rain-anim 8s infinite;}
.rains span:nth-child(18){left:90%; top:0; animation: rain-anim 9s infinite;}
.rains span:nth-child(19){left:95%; top:0; animation: rain-anim 11s infinite;}
.rains span:nth-child(20){left:100%; top:0; animation: rain-anim9 13s infinite;}

/*アニメーションキーフレーム
一度落下したら次はキーフレーム1%の間に高さを戻して左右にずらして降らす*/
@keyframes rain-anim {
  
  0% { transform: translate(0px,0px);}
  4% { transform: translate(0px,600px);}
 
  5% { transform: translate(200px,0px);}
  9% { transform: translate(200px,600px);}
  
  10% { transform: translate(-100px,0px);}
  14% { transform: translate(-100px,600px);}
  
  15% { transform: translate(-200px,0px);}
  19% { transform: translate(-200px,600px);}
  
  20% { transform: translate(100px,0px);}
  24% { transform: translate(100px,600px);}
  
  25% { transform: translate(-150px,0px);}
  29% { transform: translate(-150px,600px);}
  
  30% { transform: translate(-80px,0px);}
  34% { transform: translate(-80px,600px);}
  
  35% { transform: translate(150px,0px);}
  39% { transform: translate(150px,600px);}
  
  40% { transform: translate(-60px,0px);}
  44% { transform: translate(-60px,600px);}
  
  45% { transform: translate(90px,0px);}
  49% { transform: translate(90px,600px);}
  
  50% { transform: translate(60px,0px);}
  54% { transform: translate(60px,600px);}
  
  55% { transform: translate(-60px,0px);}
  59% { transform: translate(-60px,600px);}
  
  60% { transform: translate(-40px,0px);}
  64% { transform: translate(-40px,600px);}
  
  65% { transform: translate(40px,0px);}
  69% { transform: translate(40px,600px);}
  
  70% { transform: translate(-20px,0px);}
  74% { transform: translate(-20px,600px);}

  75% { transform: translate(-110px,0px);}
  79% { transform: translate(-110px,600px);}
  
  80% { transform: translate(20px,0px);}
  84% { transform: translate(20px,600px);}
  
  85% { transform: translate(-20px,0px);}
  89% { transform: translate(-20px,600px);}
  
  90% { transform: translate(50px,0px);}
  99% { transform: translate(50px,600px);}

  100% { transform: translate(0px,0px);}
}


/*-------------------------------
メルマガ
--------------------------------*/
#magazine{
  margin: 80px 0 0;
  padding:0 0 0;
  background: #ec0054
}
#magazine p{
  max-width: 680px;
  margin: 0 auto;
}
.magazine-title{
  background: linear-gradient(180deg, #000 0%, #000 50%, #ec0054 50%, #ec0054 100%);
}

.magazine-title h2{
  max-width: 768px;
  margin: 0 auto;
}


.magazine-steam-img{
  max-width: 460px;
  margin: 10px auto 10px;
}


.magazine-steam-link{
  display:block;
  max-width: 460px;
  margin: 0 auto 10px;
  height: 34px;
  color: #d2efa9;
  text-shadow: 1px 1px 2px rgb(0 0 0 / 30%);
  text-align: center;
  padding: 0px 11px;
  line-height: 34px;
  border-radius: 2px;
  text-transform: unset;
  background: #75b022;
  background: -webkit-linear-gradient( top, #6fa720 5%, #588a1b 95%);
  background: linear-gradient( to bottom, #6fa720 5%, #588a1b 95%);
  background: linear-gradient( to right, #6fa720 5%, #588a1b 95%);
}

.h-search {
  width: 100%;
	height: 34px;
	font-size: 0px;
	margin: 20px 0 5px;
}

input.magazine-text {
	width: 80%;
  color:#000;
  font-size: 1.6rem;
  background: #fff;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	border-left: 1px solid #fff;
}

.magazine-text::placeholder{
	font-size: 1.2rem;
	color:#ccc;
}

button.magazine-icn {
	width: 20%;
	font-size: 1.6rem;
	line-height: 1.6rem;
	background: #000;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
}

input.magazine-text, button.magazine-icn {
	vertical-align: top;
	padding: 10px;
  height: 40px;
}

input.magazine-text:focus{
	border: 1px solid #09f;
	outline: 0;
}

button.magazine-icn:focus{
	outline: 0;
}

.magazine-icn span{
}

.magazine-icn span:before{
  content: "";
  background: url("../img/mail_icn.gif");
  width: 20px;
  height: 15px;
  position: relative;
  top: 2px;
  right: 4px;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .magazine-title{
    padding:0 5%;
  }
}

@media screen and (max-width: 640px) {
  #form{
    height: 100px;
  }
  input.magazine-text, button.magazine-icn {
    width: 100%;
    display: block;
  }
  
  button.magazine-icn{
    margin: 10px auto 0;
    max-width: 120px;
  }
  
  #magazine{
    margin: 40px 0 0;
    padding:0 0 0px;
  }
  
  #magazine p.center{
    text-align: left;
  }

}

/*-------------------------------
NEWS
--------------------------------*/
#news{
  background-color: #0e191f;
  background-image: url("../img/news_bg.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 0 100px;
  padding:0 0 200px;
}

#news:before{
  content: "";
  display: block;
  width: 100%;
  height: 90%;
  background-image: url("../img/news_bg02.png");
  background-repeat: repeat;
  position: absolute;
  top: 130px;
}

.tw-bg{
  width: 100%;
  height: 100%;
  margin: -10% auto 0;
  padding:22% 20%;
  background: url("../img/news_bg_parts.png") no-repeat top center;
  background-size: 100%;
}

.news-tw-box{
  width: 100%;
  height: 660px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
.news-tw-box iframe{
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top:  0;
  bottom: 0;
  left: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  #news{padding:0 0 100px;}
  #news .floor{padding:0;}
  
  .tw-bg{
    margin: -22% auto 0;
    padding: 24% 12%;
    background-size: 120%;
  }
  
  .news-tw-box{
    height: 695px;
  }
  
}

@media screen and (max-width: 640px) {
  #news{
    overflow: visible;
  }
  .news-tw-box{
    height: 480px;
  }
  
  .tw-bg{
    margin: -15% auto 0;
    padding: 22% 20%;
    background-size: cover;
  }
}

@media screen and (max-width: 640px) {
  .news-tw-box{
    height: 300px;
  }
}

/*-------------------------------
STORY
--------------------------------*/
#story{
  padding:80px 0 0;
  margin: 0 0 -180px;
}

#story .rain-container{
  top:0;
  z-index:0;
}

#story .rains{height: 100%;}
#story .rains span {height: 100px;}

.story-box{
  width: 100%;
  height: 100%;
  background: url("../img/story/story_bg.jpg");
  background-size:80%;
  background-position: top center;
  background-repeat: no-repeat;
  position: relative;
  top:-150px;
  padding:150px 0 80px;
  z-index: 0;
}

@media screen and (max-width: 768px) {
  #story{ overflow: visible!important;}  
}

@media screen and (max-width: 768px) {
  #story .floor-title{
    top: -20px;
  }  
}

/*---catch----*/
.story-catch{
  width: 100%;
  position: relative;
  z-index:102;
  max-width:inherit;
  margin: 0 auto;
  top:-10%;
}

.story-catch-img01{
  position:absolute;
  left:-1%;
  top:-82%;
  z-index: 1;
  max-width: 140px;
}

.en .story-catch-img01{
  left:0;
  top:-75%;
  max-width: 210px;
  z-index: 0;
}

.story-catch-img02{
  position: relative;
  width: 100%;
  max-width: 804px;
  bottom:30px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .story-catch-img01{z-index: 0;}
  
  .en .story-catch-img01{
    left:-1%;
    top:-75%;
    max-width: 160px;
  }
}
@media screen and (max-width: 768px) {
  .story-catch-img01{
    top:-92%;
    max-width: 100px;
  }
  
  .tw .story-catch-img01,
  .cn .story-catch-img01{top:-75%;}
}

@media screen and (max-width: 640px) {
  .story-catch-img01{
    top:-102%;
    max-width: 64px;
  }
  
  .en .story-catch-img01{
    left:-3%;
    top: -52%;
    max-width: 80px;
  } 
  
  .tw .story-catch-img01,
  .cn .story-catch-img01{top:-70%;} 
  
  .story-catch-img02{
    width: 100%;
    bottom:0;
    z-index: 2;
  }
}


/*---story text----*/
.story-text{
  width: 100%;
  background: rgba(157,0,56,.5);
  position: relative;
  margin: 10px auto 30px;
  z-index: 1;
}

.story-text p{
  padding:50px;
  text-align: center;
  line-height: 2;
}

@media screen and (max-width: 640px) {
  .story-text p{
    padding:20% 10%;
    text-align: left;
  }
  
}

/*---story chara----*/
.story-chara-box{
  position: relative;
  padding:0 0 30px;
  max-width: 480px;
  height: 120px;
  margin: 0 auto;
}

.story-chara{
  opacity: 0;
  -webkit-transition: opacity .25s ease;
  transition: opacity .25s ease;
  position: relative;
}

.story-chara.is-active{
  opacity: 1;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}

.story-chara.is-active img{
  max-width: 96px;
  animation: StChara .5s ease;
  position: relative;
}

@keyframes StChara {
  0%{ opacity: 0;top: -50px;}
  20% {opacity: 1;}
  100% {top: 0px;}
}

.story-chara-main,
.story-chara-sub{bottom:60px;}

.story-chara-main{
  max-width: 96px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.story-chara-sub{
  position: absolute;
}
.story-chara-sub:first-of-type{
  right: 0;
}
.story-chara-sub:nth-of-type(2){
  right:20%;
  z-index:1;
}
.story-chara-sub:nth-of-type(3){
  left:20%;
  z-index:1;
}
.story-chara-sub:last-of-type{
  left:0;
}

/*---story text head foot----*/
.story-head,.story-foot{
  position: relative;
}

.story-head:before,
.story-head:after,
.story-foot:before,
.story-foot:after{
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  background-size: cover;
}

.story-head:before{
  background: url("../img/story/story_head_parts_l.gif") no-repeat;
  top:5px;
  left:5px;
}
.story-head:after{
  background: url("../img/story/story_head_parts_r.gif") no-repeat;
  top:5px;
  right:5px;
}
.story-foot:before{
  background: url("../img/story/story_foot_parts_l.gif") no-repeat;
  bottom:5px;
  left:5px;
}
.story-foot:after{
  background: url("../img/story/story_foot_parts_r.gif") no-repeat;
  bottom:5px;
  right:5px;
}

@media screen and (max-width: 480px) {
  .story-chara-main{bottom:50px;}
  
  .story-chara-sub:first-of-type{bottom:60px;}
  .story-chara-sub:last-of-type{bottom:60px;}
  
  .story-text .br{
    display: none;
  }
}

/*-------------------------------
System
--------------------------------*/
#system{
  padding:0;
  background:#ec0054;
}

.system-tit-line{
  background: #fff;
  width: 100%;
  height: 3px;
  position: relative;
  top:-110px;
}

.system-box{ overflow: hidden;}
.system-box:nth-child(2n){background: #f73e81;}
.system-box .floor{
  padding:50px 10px;
}

.system-box:first-of-type .floor{
  padding:10px 10px 50px;
}

.system-sub-title{
  max-width: 835px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}

.system-movie{
  position: relative;
  max-width: 768px;
  margin: 0 auto;
  z-index: 1;
}

.system-movie .movie{
  border: 3px solid #fff;
  background: #fff;
}

.system-movie-parts{
  width: 100%;
  padding-top: 56.25%;
  position: absolute;
  top:-25px;
  left:-25px;
  background: #fff;
}

.system-box:nth-child(2n) .system-movie-parts{
  right:-25px;
  left:inherit;
}

.system-movie-chara01,
.system-movie-chara02,
.system-movie-chara03,
.system-movie-chara04{
  position:absolute;
  z-index: 10;
}

.system-movie-chara01{
  max-width: 150px;
  left:-74px;
  bottom:-20px;
}

.system-movie-chara02{
  max-width: 140px;
  left:-74px;
  bottom:-10px;
}

.system-movie-chara03{
  max-width: 100px;
  right:-60px;
  bottom:-10px;
}

.system-movie-chara04{
  max-width: 120px;
  left:-74px;
  bottom:-10px;
}

.system-text{
  max-width: 768px;
  margin: 0 auto;
  padding:10px 0 0 ;
  text-align: center;
  position: relative;
  z-index: 2;
}


@media screen and (max-width: 768px) {
  .system-box{
    padding:0 5%;
  }
  
  .system-movie-chara01{
    max-width: 120px;
    left: -68px;
    bottom: -20px;
  }
  
  .system-movie-chara02{
    max-width: 130px;
  }
  .system-movie-chara03{
    max-width: 90px;
  }
  .system-movie-chara04{
    max-width: 100px;
    left:-55px;
  }
}

@media screen and (max-width: 640px) {
  .system-box{
    padding:0 1%;
  }
  .system-movie-chara01{display: none;}
  
  .system-movie-chara02{
    display: none;
  }
  .system-movie-chara03{
   display: none;
  }
  .system-movie-chara04{
    display: none;
  }
  
  .system-movie-parts{
    top:-10px;
    left:-10px;
  }
  
  .system-box:nth-child(2n) .system-movie-parts{
    right:-10px;
    left:inherit;
  }
  
  .system-text{
    text-align: left;
  }
}


/*-------------------------------
Character
--------------------------------*/
#chara{
  padding:0 0 80px;
}

#chara .floor{
  padding:10px 25px;
}

.pc-chara{display: block;}
.sp-chara{display: none;}

@media screen and (max-width: 768px) {
  #chara{ overflow: visible!important;}  
}

@media screen and (max-width: 640px) {
  .pc-chara{display: none;}
  .sp-chara{display: block;}
}

/*---chara seiper----*/
.swiper-container,
.swiper-container_sp{
  position: static!important;
}

.swiper-slide{
  display: block;
}

.swiper-button-next, .swiper-button-prev{
  top: 0%!important;
  width: 25px!important;
  height: 100%!important;
  background-size: 25px 36px!important;
}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev{
  right: -25px!important;
  background-image:url("../img/chara/chara_arrow_r.png")!important
}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next{
  left:-25px!important;
  background-image:url("../img/chara/chara_arrow_l.png")!important
}
/*---
@media screen and (max-width: 640px) {
  .swiper-button-next, .swiper-button-prev{
  top: 50%!important;
  height: 44%!important;
  }
  .swiper-button-next, .swiper-container-rtl .swiper-button-prev{
  right: 0px!important;
  }
  .swiper-button-prev, .swiper-container-rtl .swiper-button-next{
  left:0px!important;
  }
}
----*/

/*---chara----*/
.chara-list-box{}

.chara-list{
  width: 100%;
  margin: 0 0 2%;
  background: rgba(0,0,0,.5);
  /*--border:2px solid #fff;--*/
  padding:20px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 300px;
}

.chara-list:nth-child(2){
  flex-direction: row-reverse;
}

.chara-list:nth-child(2) .chara-text-box{
  padding-right:10px;
  padding-left:0px;
}

.chara-img{
  width: 100%;
  max-width: 240px;
}

.chara-text-box{
  width: calc(100% - 280px);
  padding-left:10px;
}

.chara-name{}

.chara-name p{
  padding:0 15px 5px;
}

.chara-name h3{
  background: #ec0054;
  padding:10px;
  letter-spacing: 4px;
  font-weight: normal;
  line-height: 1;
  position: relative;
  overflow: hidden;
  font-size: 3.2rem;
}

.en .chara-name h3{letter-spacing: 2px;}

.ko .chara-name h3{
  padding: 10px 10px 0;
  font-size: 5rem;
  letter-spacing: 2px;
}

.cn .chara-name h3,
.tw .chara-name h3{
  font-size: 4.2rem;
  letter-spacing: 2px;
  padding:5px 10px 10px;
}

.chara-name h3:after{
  content: "";
  width: 20%;
  height: 100%;
  background: #f73e81;
  position: absolute;
  bottom:0;
  right:-10px;
  -webkit-transform: skew(-15deg);
  transform: skew(-15deg);
}

.chara-text{
  padding:10px 15px;
  line-height: 1.6;
}
/*---chara parts---*/
.chara-bg-part{
  width: 100%;
  max-width: 1600px;
  position: absolute;
  z-index: 1;
  left:50%;
  bottom:0;
  -webkit-transform: translateY(0) translateX(-50%);
  transform: translateY(0) translateX(-50%);
}

@media screen and (max-width: 768px) {
  .chara-bg-part{
    width: 150%;
  }
  
  .chara-img{
    max-width: 180px;
  }
  
  .chara-text-box{
    width: calc(100% - 100px);
  }
  
}

@media screen and (max-width: 640px) {
  .chara-list-box img{
    display: none;
  }
  .chara-list-box.swiper-slide.swiper-slide-active img{
    display: block;
  }
  
  .chara-list{
    display: block;
    padding:2%;
    min-height: 480px;
  }
  
  .chara-img{margin: 10px auto 0;}
  
  .chara-name p{
    padding:5px 0;
  }
  .chara-text-box{width: 100%;}
  .chara-text{padding:10px 0;}
  
  .chara-bg-part{
    width: 400%;
  }
  .chara-name h3{
    font-size: 2.4rem;
  }
  .ko .chara-name h3{
    font-size: 4.2rem;
  }
  
  .tw .chara-name h3,
  .cn .chara-name h3{
    font-size: 3.2rem;
  }
  
}
/*---背景----*/
.chara-bg-box{
  position:absolute;
  width: 100%;
  height: 100%;
  top:122px;
}

.chara-bg {
  opacity: .35;
  height: 100%;
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 768px) {
  .chara-bg-box{
    overflow: hidden;
  }
}


.chara-bg img {
  opacity: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-animation: chara-bg-anime 15s 0s infinite;
  animation: chara-bg-anime 15s 0s infinite;
}

.chara-bg img:nth-of-type(2) {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}

.chara-bg img:nth-of-type(3) {
  -webkit-animation-delay: 10s;
  animation-delay: 10s;
}

@keyframes chara-bg-anime {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  35% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}

/*-------------------------------
product
--------------------------------*/
#product{
  z-index: 1;
}

#product .title-bg03{
  top:-25px;
}

.product-img{
  width: 100%;
  max-width: 768px;
  margin: 0 auto 20px;
}

.pro-floor{
  max-width: 768px;
  margin: 0 auto;
}

.product-tit01{
  background:#ec0054;
  color:#fff;
  display:block;
  max-width:120px;
  margin:0 auto;
  text-align:center;
}

.product-tit01 span{
  font-size: 80%;
}

.product-tit02 {
  text-align: center;
  margin: 5px 0;
  display: block;
}

.product-tit02 .spac{
  letter-spacing: 2px;
}

.product-text{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  text-align:center;
  overflow: hidden;
  font-size: 0;
  flex-wrap:wrap;
}

.product-text .block{
  display:block;
  text-align:center
}

.product-text li{
  letter-spacing:1px;
  -webkit-box-flex:0;
  -ms-flex:0 0 auto;
  flex:0 0 auto;
  padding:15px;
}

.product-text.w100 li{
  width: 100%;
}

.s-name{
  width: 100%;
  max-width: 120px;
  vertical-align:baseline;
  font-size:80%;
  font-weight:900;
  margin:0 auto;
  color:#ec0054;
  display: block;
}


.pro-sns-btn{
  max-width: 300px;
  margin: 0 auto;
}


@media screen and (max-width: 768px) {
  .pro-sns-btn{max-width: 240px;}
}

@media screen and (max-width: 480px) {
  #product .floor{
    padding: 2% 2%;
  }
  
  #product .floor-title{
    top:0;
  }
  
  .pro-sns-btn{max-width: 180px;}
  .s-name{font-size: 90%;}
}
</pre></body></html>