@charset "UTF-8";
/* CSS Document */
	
body{
	margin:0px;
	background-color:#000;
	font-family:'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	color:#ddd;
	height:100%;
}

html{
	height:100%;
}

img { border-style:none;
	vertical-align: bottom;}

a img { border-style:none; }

a:hover img { border-style:none; }

*{
margin: 0;
padding: 0;
}

ol, ul {
	list-style: none;
}

.cf:before,
.cf:after {
  content: "";
  display: table;}
.cf:after {
  clear: both;}
.cf {
  *zoom: 1;}


#loader {
    width: 400px;
    height: 170px;
    display: none;
    position: fixed;
    _position: absolute; /* IE6対策 */
    top: 50%;
    left: 50%;
    margin-top: -85px; /* heightの半分のマイナス値 */
    margin-left: -200px; /* widthの半分のマイナス値 */
    z-index: 103;
}
 
#fade {
    width: 100%;
    height: 100%;
    display: none;
    background-color: #a00008;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 102;
}

#spmain{
	display:none;
}

#sptrailerarea{
	display:none;
}

.menuarea{
	position: fixed;
	top:0;
	right:0;
	width: 20%;
	height: 100%;
  	-webkit-transition: .4s;
  	transition: .4s;
  	-webkit-transform: translate3d(100%,0,0);
  	transform: translate3d(100%,0,0);
	background-color:#a00008;
	z-index: 100;
}

.imgresponsive img{
	width: 100%;
	height: auto;
}
.menubtn{
	z-index: 101;
	position: fixed;
	top:2%;
	right:1%;
	width: 6%;
	cursor: pointer;
}

.showMenu .menuarea{
  	-webkit-transform: translate3d(0, 0, 0);
  	transform: translate3d(0, 0, 0);
}

#menu{
	width:100%;
	z-index: 99;
	overflow: hidden; /* heightを戻す */
	padding:40% 15% 10% 15%;
	box-sizing: border-box;
}

.menu-box img{
  width: 100%;
}

.menu-box li{
  position: relative;
  overflow: hidden;
  float: left;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 0%;
}

.menu-box a{
  display: block;
  position: relative;
}
  
.menu-box .hoverimg{
  position: absolute;
  top:0;
  left: -100%;
  -webkit-transition: .4s;
     -moz-transition: .4s;
      -ms-transition: .4s;
       -o-transition: .4s;
          transition: .4s;
  z-index: 301;
}

.menu-box a:hover .hoverimg{
  left: 0%;
}


#contents_wrapper{
	width:100%;
	margin:0 auto;
	font-size: 15px;
	text-align: justify;
	word-break: break-all;
	line-height: 180%;
}

#contents_wrapper img{
	max-width:100%;
	margin-left:auto;margin-right:auto;display:table;
}

#top_main{
	width:100%;
    position: relative;
}

#top_bg{
    width:100%;
    z-index: 1;
}

#top_hand{
    width:100%;
    position: absolute;
    bottom:0;
    left:0;
    z-index: 2;
}

.slide_RL{
	opacity: 0;
}

/* 「RightToLeft」の動作内容 */
@keyframes RightToLeft {
  0% {
    opacity: 1;/* 透明 */
    transform: translateY(1000px);/* X軸方向に200px */
    display: inline-block; /* 追加 */
  }
  100% {
    opacity: 1;/* 不透明 */
    transform: translateY(0);
  }
}

/* 「RightToLeft」を適用する箇所 */
.showNavi .slide_RL {
	opacity: 1;
  animation-duration: 0.7s;/* アニメーション時間 */
  animation-name: RightToLeft;/* アニメーション名 */
  animation-iteration-count: 0.7;/* アニメーションの繰り返し（無限）*/
}

#top_logo_wrapper{
	width:42%;
    position: absolute;
    top:14%;
    right:6%;
    z-index: 3;
	opacity:0;
	-webkit-transition: .3s;
	transition: .3s;
	-webkit-transform: scale( 0.2,  0.2);
	transform: scale( 0.2,  0.2);
}
  
.showNavi #top_logo_wrapper{
  opacity:1;
  -webkit-transition-delay:0.5s;
  transition-delay:0.5s;
  -webkit-transform: translate( 0, 0);
  transform: translate( 0, 0);
}

#top_logo{
	width:100%;
	margin-bottom: 10px;
}

#snsbtn_wrapper1{
	width:70%;
	margin:0 auto;
	margin-bottom: 5px;
	overflow: hidden; /* heightを戻す */
}

.snsbtn1{
	width:48%;
	float: left;
	margin:1%;
}

#snsbtn_wrapper3{
	width:100%;
	margin:0 auto;
	margin-bottom: 10px;
	overflow: hidden; /* heightを戻す */
}

.snsbtn2{
	width:24%;
	float: left;
	margin:0.5%;
}

#snsbtn_wrapper2{
	width:310px;
	margin:0 auto;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 20px;
}

.tweet{
	width:75px;
	float:left;
	margin-right:5px;
	line-height: 100%;
}

.like{
	width:142px;
	float:left;
	margin-right:5px;
	line-height: 100%;
}

.line{
	width:83px;
	float: right;
	line-height: 100%;
}

#top_catch01{
	width:22%;
    position: absolute;
    top:14%;
    left:22%;
    z-index: 4;
	opacity:0;
	-webkit-transition: .3s;
	transition: .3s;
	-webkit-transform: scale( 0.2,  0.2);
	transform: scale( 0.2,  0.2);
}
  
.showNavi #top_catch01{
  opacity:1;
  -webkit-transition-delay:1.8s;
  transition-delay:1.8s;
  -webkit-transform: translate( 0, 0);
  transform: translate( 0, 0);
}

#top_catch02{
	width:16%;
    position: absolute;
    top:8%;
    left:1%;
    z-index: 4;
	opacity:0;
	-webkit-transition: .3s;
	transition: .3s;
	-webkit-transform: scale( 0.2,  0.2);
	transform: scale( 0.2,  0.2);
}
  
.showNavi #top_catch02{
  opacity:1;
  -webkit-transition-delay:1.5s;
  transition-delay:1.5s;
  -webkit-transform: translate( 0, 0);
  transform: translate( 0, 0);
}

#top_catch03{
	width:20%;
    position: absolute;
    bottom:18%;
    left:30%;
    z-index: 4;
	opacity:0;
	-webkit-transition: .3s;
	transition: .3s;
	-webkit-transform: scale( 0.2,  0.2);
	transform: scale( 0.2,  0.2);
}
  
.showNavi #top_catch03{
  opacity:1;
  -webkit-transition-delay:1.2s;
  transition-delay:1.2s;
  -webkit-transform: translate( 0, 0);
  transform: translate( 0, 0);
}

#top_prize{
	width:56%;
    position: absolute;
    top:2%;
    left:22%;
    z-index: 4;
	opacity:0;
	-webkit-transition: .3s;
	transition: .3s;
	-webkit-transform: scale( 0.2,  0.2);
	transform: scale( 0.2,  0.2);
}
  
.showNavi #top_prize{
  opacity:1;
  -webkit-transition-delay:1.2s;
  transition-delay:1.2s;
  -webkit-transform: translate( 0, 0);
  transform: translate( 0, 0);
}

#topsp{
    display: none;
}


.scrollShowEffect {
	-webkit-transition-delay: 0.5s;
	   -moz-transition-delay: 0.5s;
	    -ms-transition-delay: 0.5s;
	     -o-transition-delay: 0.5s;
	        transition-delay: 0.5s;
	-webkit-transition: all 1s ease-in-out;
	   -moz-transition: all 1s ease-in-out;
	    -ms-transition: all 1s ease-in-out;
	     -o-transition: all 1s ease-in-out;
	        transition: all 1s ease-in-out;
	opacity:0;
}

.scrollShowEffect-R {
	-webkit-transform: translate3d(60%, 0%, 0);
	   -moz-transform: translate3d(60%, 0%, 0);
	    -ms-transform: translate3d(60%, 0%, 0);
	     -o-transform: translate3d(60%, 0%, 0);
	        transform: translate3d(60%, 0%, 0);
}
.scrollShowEffect-L {
	-webkit-transform: translate3d(-60%, 0%, 0);
	   -moz-transform: translate3d(-60%, 0%, 0);
	    -ms-transform: translate3d(-60%, 0%, 0);
	     -o-transform: translate3d(-60%, 0%, 0);
	        transform: translate3d(-60%, 0%, 0);
}
.scrollShowEffect-B {
	-webkit-transform: translate3d(0, 50%, 0);
	   -moz-transform: translate3d(0, 50%, 0);
	    -ms-transform: translate3d(0, 50%, 0);
	     -o-transform: translate3d(0, 50%, 0);
	        transform: translate3d(0, 50%, 0);
}

.scrollShowEffect-T {
	-webkit-transform: translate3d(0, -15%, 0);
	   -moz-transform: translate3d(0, -15%, 0);
	    -ms-transform: translate3d(0, -15%, 0);
	     -o-transform: translate3d(0, -15%, 0);
	        transform: translate3d(0, -15%, 0);
}

.scrollShowEffect-kuru {
	-webkit-transform: translate3d(0, -15%, 0);
	   -moz-transform: translate3d(0, -15%, 0);
	    -ms-transform: translate3d(0, -15%, 0);
	     -o-transform: translate3d(0, -15%, 0);
	        transform: translate3d(0, -15%, 0);
}

.scrollShowEffect.showItem {
	opacity:1;
	-webkit-transform: translate3d(0, 0, 0);
	   -moz-transform: translate3d(0, 0, 0);
	    -ms-transform: translate3d(0, 0, 0);
	     -o-transform: translate3d(0, 0, 0);
	        transform: translate3d(0, 0, 0);
}

.scrollShowEffect2 {
	-webkit-transition-delay: .3s;
	   -moz-transition-delay: .3s;
	    -ms-transition-delay: .3s;
	     -o-transition-delay: .3s;
	        transition-delay: .3s;
	-webkit-transition: all 3s ease-in-out;
	   -moz-transition: all 3s ease-in-out;
	    -ms-transition: all 3s ease-in-out;
	     -o-transition: all 3s ease-in-out;
	        transition: all 3s ease-in-out;
	opacity:0;
}

.scrollShowEffect2.showItem {
	opacity:1;
	-webkit-transform: translate3d(0, 0, 0);
	   -moz-transform: translate3d(0, 0, 0);
	    -ms-transform: translate3d(0, 0, 0);
	     -o-transform: translate3d(0, 0, 0);
	        transform: translate3d(0, 0, 0);
}

.inner_shadow1{
	width:100%;
	background-image: url(images/bg/inner.png);
	background-repeat: repeat;
	padding:10% 0 10% 0;
	box-sizing: border-box;
}

.inner_shadow2{
	width:100%;
	background-image: url(images/bg/inner2.png);
	background-repeat: repeat;
	padding:10% 0 10% 0;
	box-sizing: border-box;
}


.mb0{
	width:100%;
	overflow: hidden; /* heightを戻す */
}

.mb5{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 5px;
	line-height: 140%;
}

.mb10{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 10px;
}

.mb10s{
	width:70%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 10px;
}

.mb20{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 20px;
}

.mb20s{
	width:70%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 20px;
}

.mb20s2{
	width:60%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 20px;
}

.mb30{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 30px;
}

.mb50{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 50px;
}

.pagetitle{
	width:50%;
	margin:0 auto;
	margin-bottom: 50px;
}

#footer_wrapper{
	width:100%;
	overflow: hidden; /* heightを戻す */
	background-color: #FFF;
}

#footer_inner{
	width:30%;
	margin:0 auto;
	padding:50px 0 50px 0;
}

.spphoto{
	display: none;
}

.content {
  	position: relative;
	margin: 0 auto;
	padding: 0;
}

#intro_wrapper{
	width:100%;
	background: url(images/bg/intro.jpg) 100% 0 no-repeat fixed;
	background-size:cover;
    position: relative;
}

#intro_inner{
	width:60%;
	overflow: hidden; /* heightを戻す */
	padding:70px 20% 100px 20%;
}

#story_wrapper{
	width:100%;
	background: url(images/bg/intro.jpg) 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
}

#story_inner{
	width:70%;
	overflow: hidden; /* heightを戻す */
	padding:70px 15% 100px 15%;
}

.intro_l{
    width:48%;
    float: left;
}

.intro_r{
    width:48%;
    float: right;
}

.intro_photo{
    width:50%;
    float: left;
}

.intro_illust{
    width:50%;
    margin:0 auto;
}

.story_illust{
    width:40%;
    float: right;
}

.story_text{
    width:55%;
    float: left;
}

#popup{
  display: none;
  z-index: 99999;
  position: fixed;
  width: 100%;
  height: 100%;
  top:0;
  left:0;
  background:rgba(0,0,0,0.8);}
#popup div{
  overflow:hidden;}
#popup iframe{
  overflow:hidden;
  position: absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  margin: auto auto;}
#popup .showing {
  position: absolute;
  top:0px;
  right:0px;
  z-index:2001;}
#popup .showing>span{
  cursor:pointer;}
#popup .showing img{
  width: 40px;}

.sociallink{
  position: fixed;
  bottom:15%;
  left:2%;
  z-index: 100;}
.sociallink img{
  width: 100px;}
.cursor-pointer{
  cursor: pointer;}

#sound{
  display: none;}
  
  
#cast_wrapper{
	width:100%;
	background: url(images/bg/cast.jpg) 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
}

#cast_inner{
	width:100%;
	margin:0 auto;
	padding:120px 15% 150px 15%;
	box-sizing: border-box;
	overflow: hidden; /* heightを戻す */
	color: #eee;
	font-size: 14px;
}


.charapc{
	width:100%;
}

.charasp{
	display: none;
}

.cast_l{
	width:30%;
	float: left;
}

.cast_r{
	width:67%;
	float: right;
}

.castname{
	width:70%;
	margin-bottom: 20px;
}

.castname2{
	width:27%;
	margin-bottom: 20px;
}

div.slider {
    width:80%;
    display:block;
    margin:0 auto;
	margin-bottom: 30px;
	z-index: 105;
}
 
ul.bxslider01 li {/*メインスライダー*/
    display:block;
    width:100%;
    height:auto;
	z-index: 105;
}
 
ul.bxslider01 li img{
    display:block;
    width:100%;
    height:auto;
	z-index: 105;
}
 
ul.bxslider02 li a {/*サムネイル*/
    display:block;
    width:70px;
    height:auto;
}
 
ul.bxslider02 li a img{/*サムネイルの画像*/
    display:block;
    width:70px;
    height:auto;
}
 
div.controlWrap {
    width:100%;
    display:block;
    position:relative;
    margin:0 auto;
	margin-bottom: 50px;
	z-index: 100;
}
 
div.controlWrap p#PrevIcon a{/*矢印画像（前へ）*/
    display:block;
    width:13px;
    height:19px;
    position:absolute;
    background: url(../img/btn_prev.png) left center no-repeat;
    color:#fff;
    top:20px;
    left:20px;
    text-indent:-9999px;
	z-index: 100;
}
 
div.controlWrap p#NextIcon a{/*矢印画像（次へ）*/
    display:block;
    width:13px;
    height:19px;
    position:absolute;
    background: url(../img/btn_next.png) left center no-repeat;
    color:#fff;
    top:20px;
    right:20px;
    text-indent:-9999px;
	z-index: 100;
}

#bx-pager{
	z-index: 100;
}
 
#staff_wrapper{
	width:100%;
	background: url(images/bg/staff.jpg) 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
}

#staff_inner{
	width:60%;
	overflow: hidden; /* heightを戻す */
	padding:70px 0% 100px 0%;
	margin:0 auto;
	color: #000;
}
  
  
.wrapperline{
	width:100%;
	overflow: hidden; /* heightを戻す */
	padding:0;
	display:-webkit-box;
display:-moz-box;
display:-ms-box;
display:-webkit-flexbox;
display:-moz-flexbox;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:flex;
-webkit-box-lines:multiple;
-moz-box-lines:multiple;
-webkit-flex-wrap:wrap;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
}


.wrapperbox2{
	width:46%;
	float: left;
	margin:2%;
	position: relative;
	box-sizing: border-box;	
}

.wrapperbox3{
	width:30%;
	float: left;
	margin:1.6666%;
	box-sizing: border-box;	
}

#comment_wrapper{
	width:100%;
	background: url(images/bg/comment.jpg) 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
}

#comment_inner{
	width:80%;
	overflow: hidden; /* heightを戻す */
	padding:70px 10% 100px 10%;
}

.container {
  margin: 0 auto;
  width: 100%;
  column-count: 3;
  column-gap: 2;
}

.grid {
  padding: 5%;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
  box-sizing: border-box;
  background-color: rgba(76,0,1,0.8);
  margin-bottom: 10px;
  border-radius: 8px;
}

.comment_text{
	width:100%;
	margin-bottom: 10px;
	font-size: 15px;
	font-weight: bold;
}

.comment_name1{
	width:100%;
	font-size: 20px;
	color:rgba(72,158,209,1.00);
	font-weight: bold;
}

.comment_name2{
	width:100%;
	font-size: 12px;
	color: 666;
	font-weight: bold;
}

.push{
	font-size: 20px;
	color: rgba(185,162,18,1.00);
}

#music_wrapper{
	width:100%;
	background: url(images/bg/music.jpg) 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
}

#music_inner{
	width:70%;
	overflow: hidden; /* heightを戻す */
	padding:70px 15% 100px 15%;
}

.music_midashi{
	width:60%;
	font-size: 20px;
	font-weight: bold;
	margin:0 auto;
	margin-bottom: 30px;
}

.music_title{
	width:100%;
	font-size: 18px;
	font-weight: bold;
	margin:0 auto;
	margin-bottom: 10px;
    color: #f6dc39;
	border-top:5px dotted #000;
	padding-top:10px;
}

div.sptrailer {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
	margin-bottom: 20px;
}
 
div.sptrailer iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.lylic{
	width:100%;
	font-style: italic;
	font-size: 14px;
	color: rgba(49,170,221,1.00);
}

.stmidashi{
	width:150px;
	margin:0 auto;
	margin-bottom: 30px;
}

.musicbtn{
	width:49%;
	font-size: 13px;
	text-align: center;
	box-sizing: border-box;
	float: left;
	margin:0.5%;
}

.musicbtn a{
    display:block;
	width: 100%; /* 横幅 */
	background-color:#f6dc39;
	padding:4px 10px 4px 10px;
	box-sizing: border-box;
	text-decoration: none;
	color: #000;
	font-weight: bold;
	font-family:'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	border-radius: 5px;		/* CSS3草案 */
	-webkit-border-radius: 5px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;	/* Firefox用 */
}

.musicbtn a:hover {
	background-color: #FFF;
	text-decoration: none;
	color: #000;
	outline: none;
}

#tieup_wrapper{
	width:100%;
	background: url("images/bg/comment.jpg") 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
}

#tieup_inner{
	width:80%;
	overflow: hidden; /* heightを戻す */
	padding:70px 10% 100px 10%;
    color: #fff;
}

.newsbox{
    width:80%;
    margin:0 auto;
    box-sizing: border-box;
    padding:5%;
  background-color: rgba(76,0,1,0.8);
  margin-bottom: 30px;
  border-radius: 8px;
}

.newsbox a{
    color: #f6dc39;
}

.newsbox a:hover{
    color: #fff;
}

.newstitle{
    width:100%;
    color: #f6dc39;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
    border-bottom: 1px dotted #f6dc39;
    padding-bottom: 5px;
}

.newstitle2{
    width:100%;
    color: #111;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 20px;
    padding: 5px 10px 5px 10px;
  border-radius: 8px;
  background-color: #fff;
    box-sizing: border-box;
}

.newsl{
    width:35%;
    float: left;
}

.newsr{
    width:62%;
    float: right;
}

.newsl2{
    width:32%;
    float: left;
	margin-right: 2%;
}

.newsr2{
    width:32%;
    float: right;
}

#pn_wrapper{
	width:100%;
	background: url(images/bg/staff.jpg) 100% 0 no-repeat fixed;
	background-size:cover;
}

#pn_inner{
	width:70%;
	margin:0 auto;
	padding:100px 0 100px 0;
	color: #000;
	font-weight: bold;
	line-height: 150%;
	overflow: hidden;
}

.pn_l{
	width:47%;
	float: left;
}

.pn_r{
	width:47%;
	float: right;
}

.pn_midashi{
	width:100%;
	margin:0 auto;
	background-color: rgba(142,13,15,1.00);
	padding:0.5% 5%;
	text-align: center;
	margin-bottom: 30px;
	border-radius: 20px;
	font-weight: bold;
	color:#e1cc47;
	box-sizing: border-box;
}

.pnphoto_l{
	width:49%;
	float: left;
}

.pnphoto_r{
	width:49%;
	float: right;
}

.packbox{
    width:50%;
    float: left;
}

.newstitle3{
    width:100%;
    color: #111;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 20px;
    padding: 5px 10px 5px 10px;
  border-radius: 8px;
  background-color: #fff;
    box-sizing: border-box;
	text-align: center;
}

.newstitle4{
    width:100%;
    color:rgba(0,0,0,1.00);
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 20px;
    padding: 5px 10px 5px 10px;
  border-radius: 8px;
  background-color:rgba(217,182,0,1.00);
    box-sizing: border-box;
	text-align: center;
}

.news_step{
	width:100%;
	text-align: center;
}

.hidden_box {
    margin: 2em 0;/*前後の余白*/
    padding: 0;
	text-align: center;
}

/*ボタン装飾*/
.hidden_box label {
    padding: 10px;
    font-weight: bold;
    border: solid 2px black;
    cursor :pointer;
  background-color:rgba(217,182,0,1.00);
	border-radius: 10px;
	color: #000;
	width:10%;
	margin:0 auto;
}

/*ボタンホバー時*/
.hidden_box label:hover {
    background: #efefef;
}

/*チェックは見えなくする*/
.hidden_box input {
    display: none;
}

/*中身を非表示にしておく*/
.hidden_box .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
	font-size: 12px;
}

/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
}




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

#loader {
    width: 300px;
    height: 128px;
    display: none;
    position: fixed;
    _position: absolute; /* IE6対策 */
    top: 50%;
    left: 50%;
    margin-top: -64px; /* heightの半分のマイナス値 */
    margin-left: -150px; /* widthの半分のマイナス値 */
    z-index: 103;
}


.menuarea{
	position: fixed;
	top:0;
	right:0;
	width: 100%;
	height: 50%;
  	-webkit-transition: .4s;
  	transition: .4s;
  	-webkit-transform: translate3d(0, -100%, 0);
  	transform: translate3d(0, -100%, 0);
	background-color:#a00008;
	z-index: 100;
}

.imgresponsive img{
	width: 100%;
	height: auto;
}
.menubtn{
	z-index: 101;
	position: fixed;
	top:0%;
	right:0%;
	width: 12%;
	cursor: pointer;
    padding:1% 44% 1% 44%;
    background-color: #a00008;
}

.showMenu .menuarea{
  	-webkit-transform: translate3d(0, 0, 0);
  	transform: translate3d(0, 0, 0);
}

#menu{
	width:100%;
	z-index: 99;
	overflow: hidden; /* heightを戻す */
	padding:20% 10% 10% 10%;
	box-sizing: border-box;
}

.menu-box img{
  width: 100%;
}

.menu-box li{
  position: relative;
  overflow: hidden;
  float: left;
  width: 48%;
  box-sizing: border-box;
  margin-bottom: 0%;
  border:1px solid #fff;
  margin:1%;
}

#topsp{
    display: inherit;
    width:100%;
    padding-bottom: 50px;
}
    
#spmain{
	width:100%;
	display: inherit;
    padding-top:15%;
}

#top_main{
    display: none;
}

#top_logo_wrapper{
	width:90%;
    position: inherit;
	margin:0 auto;
}

#snsbtn_wrapper1{
	width:90%;
	margin:0 auto;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 20px;
}
	
.snsbtn{
	width:48%;
	float: left;
	margin:1%;
}

#snsbtn_wrapper2{
	width:100%;
	margin:0 auto;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 30px;
}

.tweet{
	width:75px;
	float:none;
	margin-right:0;
	margin:0 auto;
	margin-bottom: 5px;
	line-height: 100%;
}

.like{
	width:138px;
	float:none;
	margin-right:0;
	margin:0 auto;
	margin-bottom: 5px;
	line-height: 100%;
}

.line{
	width:83px;
	float:none;
	margin:0 auto;
	line-height: 100%;
}
 
div.sptrailer {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
	margin-bottom: 20px;
}
 
div.sptrailer iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#sptrailerarea{
	width:90%;
	margin:0 auto;
	margin-bottom:30px;
	display: inherit;
	margin-top:30px;
}

.tablet{
    display: none;
}

.pagetitle{
	width:100%;
	margin:0 auto;
	margin-bottom: 50px;
}

#intro_wrapper{
	width:100%;
	background: url(images/bg/intro.jpg) 100% 0 no-repeat fixed;
	background-size:cover;
    position: relative;
}

#intro_inner{
	width:80%;
	overflow: hidden; /* heightを戻す */
	padding:50px 10% 50px 10%;
}

#story_wrapper{
	width:100%;
	background: url(images/bg/intro.jpg) 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
}

#story_inner{
	width:80%;
	overflow: hidden; /* heightを戻す */
	padding:50px 10% 50px 10%;
}

.intro_l{
    width:100%;
    float: none;
    margin-bottom: 50px;
}

.intro_r{
    width:100%;
    float: none;
}

.intro_photo{
    width:100%;
    float: none;
}

.intro_illust{
    width:100%;
    float: none;
}

.story_illust{
    width:100%;
    float: none;
    margin-bottom: 30px;
}

.story_text{
    width:100%;
    float: none;
}

#footer_inner{
	width:70%;
	margin:0 auto;
	padding:30px 0 30px 0;
}

.sociallink{
  display: none;
}

#cast_wrapper{
	width:100%;
	background: url(images/bg/cast.jpg) 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
}

#cast_inner{
	width:100%;
	margin:0 auto;
	padding:50px 10% 50px 10%;
	box-sizing: border-box;
	overflow: hidden; /* heightを戻す */
	color: #eee;
	font-size: 14px;
}


.charapc{
	display:none;
}

.charasp{
	display:inherit;
}

.cast_l{
	width:80%;
	float: none;
	margin:0 auto;
	margin-bottom: 20px;
}

.cast_r{
	width:100%;
	float: none;
}

.castname{
	width:100%;
	margin-bottom: 20px;
}

.castname2{
	width:100%;
	margin-bottom: 20px;
}

#staff_inner{
	width:80%;
	overflow: hidden; /* heightを戻す */
	padding:70px 0% 100px 0%;
	margin:0 auto;
	color: #000;
}


.wrapperbox2{
	width:100%;
	float: none;
	margin:0;
	box-sizing: border-box;	
	margin-bottom: 50px;
}

.wrapperbox3{
	width:100%;
	float: none;
	margin:0;
	box-sizing: border-box;	
	margin-bottom: 50px;
}

.mb20s{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 20px;
}

 .container {
    column-count: 1;
  }

#music_inner{
	width:80%;
	overflow: hidden; /* heightを戻す */
	padding:50px 10% 50px 10%;
}

.music_midashi{
	width:100%;
	font-size: 20px;
	font-weight: bold;
	margin:0 auto;
	margin-bottom: 30px;
}

.stmidashi{
	width:30%;
	margin:0 auto;
	margin-bottom: 30px;
}

.musicbtn{
	width:100%;
	font-size: 13px;
	text-align: center;
	box-sizing: border-box;
	float: none;
	margin:0%;
	margin-bottom: 10px;
}

.newsbox{
    width:100%;
    margin:0 auto;
    box-sizing: border-box;
    padding:5%;
  background-color: rgba(76,0,1,0.8);
  margin-bottom: 30px;
  border-radius: 8px;
}

.newsl{
    width:100%;
    float: none;
    margin-bottom: 10px;
}

.newsr{
    width:100%;
    float: none;
}

#pn_wrapper{
	width:100%;
	background: url(images/bg/staff.jpg) 100% 0 no-repeat fixed;
	background-size:cover;
}

#pn_inner{
	width:80%;
	margin:0 auto;
	padding:50px 0 50px 0;
	color: #000;
	font-weight: bold;
	line-height: 150%;
	overflow: hidden;
}

.pn_l{
	width:100%;
	float: none;
	margin-bottom: 50px;
}

.pn_r{
	width:100%;
	float: none;
}
	
.newsl2{
    width:100%;
    float: none;
	margin-right: 0;
	margin-bottom: 20px;
}

.newsr2{
    width:100%;
    float: none;
}

}