/* CSS Document */

/* ALL_setting
================================================== */
*{
	margin:0;
	padding:0;
	font-family: Meiryo, sans-serif, monospace;
	font-size: 12px;
}

.clear{clear:both;}

html , body {
min-height: 100vh;
}

#wrapper{
	width: 100%;
	height: 100vh;
	min-height: 100vh;
	z-index: -1;
}

.clearfix li {
	text-decoration: none;
}

button {
  padding: 0;
  border: none;
  background: transparent;
}

button img {
  display: block;
}

.img_hover:hover{
	opacity: 0.8;
}

.pc{ display: inherit;}
.sp{ display: none; }
@media screen and (max-width: 1100px){
.pc{ display: none; }
.sp{ display: inherit; }
}

/* MENU_setting
================================================== */

.top_header_box{
	width: 100%;
	height: 60px;
	background-position: top center;
	background-repeat: repeat;
	background-attachment:scroll;
	background-size: cover;
	background-image: url();
	z-index:1;
	transition: all 1s;
	opacity: 1;
	position: fixed;
	display: table;
}

.header_logo{
	width: 380px;
	padding-left: 20px;
	display: table-cell;
	vertical-align: middle;
}

.header_right_box{
	display: table-cell;
	text-align: right;
	color: white;
	padding-right: 20px;
	vertical-align: middle;
}

.header_right_box p{
	display: inline-block;
}



.header_menu_text{
	font-size: 16px;
	font-weight: bold;
}

.header_menu_text_gray{
	font-size: 16px;
	font-weight: bold;
	color: gray;
}

.header_menu_border{
	font-size: 16px;
	padding-left: 4px;
	padding-right: 4px;
}






.header_right_box li{
	font-size: 18px;
	display: inline-block;
}

.menu_border{
	color: white;
	padding-left: 6px;
	padding-right: 6px;
}

.header_right_box li a {
  position: relative;
  text-decoration: none;
  color: white;
  font-size: 18px;
}

.header_right_box li a::after {
  position: absolute;
  bottom: 0px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}

.header_right_box li a:hover::after {
  transform: scale(1, 1);
}


/* footer_setting
================================================== */

.footer_box{
	width: 18%;
	display: table;
	padding-left: 2%;
}

.footer_icon{
	width: 2%;
	padding-right: 4%;
	display: table-cell;
}


.footer_copyright{
	width: 12%;
	display: table-cell;
	vertical-align: middle;
}

.footer_wrapper{
	background-image: url(../image/top_bottom_bg.jpg);
	background-color: black;
	width: 100%;
	z-index: 2;
	position: fixed;
	bottom: 0%;
	padding-top: 0.8%;
	padding-bottom: 0.4%;
}

.footer_wrapper2{
	width: 100%;
	z-index: 2;
	position: fixed;
	bottom: 0%;
	padding-top: 0.8%;
	padding-bottom: 0.4%;
}

/* TOP_setting
================================================== */

.wrapper_top_bg{
	background-image: url(../image/top_bg.jpg);
}



#scene {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow:hidden;
	min-width:1200px;
	
}
    #scene > li {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
    }


.top_character{
	padding-top: 2%;
	width: 102%;
	margin: auto;
	left: 0%;
	top: 50%;
	z-index: 1px;
	position: absolute;
	opacity: 0;
}

.top_character_center{
    transform: translate(-50%,-50%);
}

.top_logo{
	padding-top: 2%;
	width: 30%;
	margin: auto;
	left: 50%;
	bottom: -6%;
	position: absolute;
}

.top_logo_center{
	transform: translate(-50%,0%);
}

.top_cast_text{
	padding-top: 2%;
	width: 44%;
	margin: auto;
	left: 50%;
	bottom: 0%;
	position: absolute;
}

.top_cast_center{
	transform: translate(-48%,0%);
}

.top_youtube_box{
	width: 16%;
	bottom: 2%;
	right: 2%;
	z-index: 3;
	position: fixed;
	display: table;
}

.top_lead_text{
	width: 24%;
	margin: auto;
	left: 50%;
	top: -6%;
	position: absolute;
}

.top_link{
	width: 18%;
	right: 2%;
	bottom:8%;
	position: absolute;
}

/* NEWS_setting
================================================== */

.wrapper_news_bg{
	background-image: url(../image/news_bg.jpg);
	background-size: cover;
	min-height: 100vh;
}

@supports (-ms-ime-align:auto) {
	.wrapper_news_bg{
	background-image: url(../image/news_bg_edge.jpg);
	background-size: cover;
	min-width:1200px;
	min-height: 100vh;
	}
}


.news_background{
	background-size: cover;
	width:100%;
	height:100%;
	transition: all 1s;
	opacity: 1;
	z-index:-9999;
	position: fixed;
}


.news_wrapper{
	width: 70%;
	padding-top: 16%;
	margin: auto;
	position: relative;
	z-index: 0;
}

.news_box{
	width: 100%;
	display: table;
	padding-top: 1.1%;
	padding-bottom: 1.1%;
	border-bottom: solid 1px white;
}

.news_data{
	text-shadow: 1px 1px 2px black, 0 0 1em black, 0 0 0.2em blue;
	font-size: 16px;
	font-weight: bold;
	color: white;
	display: table-cell;
	text-align: left;
	width: 10%;
}

.news_text{
	text-shadow: 1px 1px 2px black, 0 0 1em black, 0 0 0.2em blue;
	font-size: 16px;
	font-weight: bold;
	color: white;
	display: table-cell;
	padding-left: 1%;
	text-align: left;
}

.pagination_wrapper{
	width: 30%;
	margin: auto;
	padding-top: 1.1%;
	display: table;
	z-index: 99;
}

.first-page{
	display: table-cell;
}

.prev-page{
	display: table-cell;
}

.clearfix{
	list-style: none;
	display: table-cell;
	text-align:center;
	vertical-align: middle;
}

.clearfix li {
	display: inline-block;
	text-align: center;
	padding-left: 2%;
	padding-right: 2%;
}

.clearfix li a {
	font-size: 20px;
	color: white;
	text-decoration: none;
	font-weight: bold;
	list-style: none;
}

.next-page{
	display: table-cell;
	text-align: right;
}

.end-page{
	display: table-cell;
	text-align: right;
}

/* CHARACTER_setting
================================================== */
.wrapper_character_bg{
	background-image: url(../image/character_top_bg3.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}

.wrapper_character_top02_bg{
	background-image: url(../image/character_top_bg2.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}

.wrapper_character_bg_top{
	background-image: url(../image/character_top_bg3.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}

.wrapper_character_bg_01{
	background-image: url(../image/character_bg_01.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}

.wrapper_character_bg_02{
	background-image: url(../image/character_bg_02.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}

.wrapper_character_bg_03{
	background-image: url(../image/character_bg_03.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}

.wrapper_character_bg_04{
	background-image: url(../image/character_bg_04.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}

.wrapper_character_bg_05{
	background-image: url(../image/character_bg_05.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}

.wrapper_character_bg_06{
	background-image: url(../image/character_bg_06.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}

.wrapper_character_bg_07{
	background-image: url(../image/character_bg_07.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}

.wrapper_character_bg_08{
	background-image: url(../image/character_bg_08.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}

.wrapper_character_bg_09{
	background-image: url(../image/character_bg_09.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}

.wrapper_character_bg_10{
	background-image: url(../image/character_bg_10.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}

.wrapper_character_bg_11{
	background-image: url(../image/character_bg_11.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-height: 100%;
}


.character_box{
	width: 26%;
	position: absolute;
	top: 6%;
	left: 8%;
	background-image: none;
	background-repeat: repeat;
	padding: 0%;
	margin-bottom: 6%;
}



.character_bt_box a{
	width: 100%;
	position: relative;
	text-align: center;
	display: block;
	box-sizing: border-box;
	padding: 1em 0;
	outline: 1px solid #a91721;
	color: #a91721;
	text-decoration: none;
	font-size: 20px;
	font-weight: bold;
	background-color: black;
	background-repeat: repeat;
}

.character_bt_box a:hover{
	background-color: #a91721;
	color: white;
	
}

.character_bt_box{
	position: absolute;
	width: 20%;
	bottom: 1%;
	right: 1%;
	z-index: 999;
}

.character_text_title{
	width: 30%;
	padding-top: 4%;
	padding-left: 2%;
}

.character_text_title2{
	width: 50%;
	padding-top: 4%;
	padding-left: 2%;
}

.character_img_box_wrapper{
	width: 90%;
	margin: auto;
	display: table;
	padding-top: 4%;
}

.character_img_box{
	width: 20%;
	padding-right: 4%;
	display: table-cell;
}

.character_img_box2{
	width: 20%;
	padding-left: 4%;
	display: table-cell;
}


.character_arrow_box{
	width: 4%;
	display: table-cell;
	vertical-align: middle;
}

.character_arrow_box:hover{
	opacity: 0.6;
}

.sp_character_img_box{
	width: 90%;
	margin: auto;
	padding-bottom: 2%;
}

.sp_character_arrow{
	width: 40%;
	margin: auto;
	padding-bottom: 4%;
	padding-top: 4%;
}


.character_top_wrapper{
	width: 100%;
	height: 100vh;
	position: fixed;
	display: table;
}

.character_top_box1{
	width: 20%;
	padding-bottom: 4%;
	vertical-align: bottom;
	display: table-cell;
}

.character_top_box2{
	width: 62%;
	padding-top: 4%;
	vertical-align:middle;
	display: table-cell;
}

.character_top_box3{
	width: 18%;
	padding-top: 5%;
	vertical-align: top;
	display: table-cell;
}

.character_band_logo_1{
	width: 50%;
	margin: auto;
}

.character_band_logo_1 a:hover{
	opacity: 0.7;
}

.character_band_logo_2{
	width: 50%;
	margin: auto;
}

.character_band_logo_2 a:hover{
	opacity: 0.7;
}

.character_band_logo_3{
	width: 50%;
	margin: auto;
}

.character_band_logo_3 a:hover{
	opacity: 0.7;
}

.character_band_logo_star{
	width: 4%;
	margin: auto;
	padding-top: 2%;
	padding-bottom: 2%;
}




.character_right_text_style1{
	width: 60%;
	padding-top: 8%;
	padding-bottom: 2%;
}

.character_right_text_style2{
	width: 60%;
	padding-top: 1%;
	padding-bottom: 1%;
}

.character_right_text a:hover {
	opacity: 0.7;
}

.character_title{
	width: 40%;
	position: relative;
	padding-left: 4%;
	padding-top: 4%;
}

.character_band_box_wrapper{
	width: 84%;
	margin: auto;
	padding-top: 6%;
	display: table;
}

.character_band_box{
	width: 23%;
	padding-right: 2%;
	display: table-cell;
}

.character_band_box_wrapper2{
	width: 60%;
	margin: auto;
	padding-top: 6%;
	display: table;
}

.character_band_box2{
	width: 30%;
	padding-right: 2%;
	display: table-cell;
}



.character_band_logo_box_wrapper{
	width: 90%;
	margin: auto;
}

.character_band_logo_box{
	width: 70%;
	padding-top: 4%;
	padding-bottom: 4%;
	margin: auto;
	display: table;
}

.character_band_logo_box2{
	width: 40%;
	padding-top: 4%;
	padding-bottom: 4%;
	margin: auto;
	display: table;
}

.character_band_logo_box a:hover{
	opacity: 0.7;
}

.character_band_logo_box2 a:hover{
	opacity: 0.7;
}

.cast_comment_bt{
	padding-top: 6%;
	width: 80%;
	margin: auto;
	padding-bottom: 20%;
}

.cast_comment_bt a:hover{
	opacity: 0.7;
}

.character_band_icon_box{
	width: 90%;
	margin: auto;
	display: table;
	padding-bottom: 1%;
}

.character_band_icon_title{
	width: 36%;
	display: table-cell;
}

.character_band_icon{
	width: 16%;
	vertical-align: middle;
	display: table-cell;
}

.character_band_icon a :hover{
	opacity: 0.6;
}

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

	.character_band_icon_title{
		width: 80%;
		margin: auto;
		display: block
	}

	.character_band_icon{
		width: 48%;
		vertical-align: middle;
		display: inline-block;
	}

	.character_img_box_wrapper{
		width: 90%;
		margin: auto;
		display: table;
		padding-top: 8%;
		padding-bottom: 14%;
	}
	
	.character_text_title{
		width: 50%;
		padding-top: 4%;
		padding-left: 2%;
	}
	
	.character_img_box{
		width: 80%;
		padding-right: 0%;
		margin: auto;
		display: block;
		margin-bottom: 20%;
	}
	
	.character_img_box2{
		width: 80%;
		padding-right: 0%;
		margin: auto;
		display: block;
		margin-bottom: 20%;
	}
	
	.character_top_wrapper{
		width: 100%;
		height: 100vh;
		position: relative;
		display: block;
	}
	
	.character_top_box1{
		width: 100%;
		vertical-align: top;
		display: block;
	}

	.character_top_box2{
		width: 100%;
		margin: auto;
		vertical-align:middle;
		display: block;
	}

	.character_top_box3{
		width: 100%;
		margin: auto;
		padding-top: 2%;
		padding-bottom: 30%;
		vertical-align: top;
		display: block;
	}
	
	.character_band_logo_box{
		width: 100%;
		padding-top: 4%;
		margin: auto;
		display: block;
	}
	
	.character_band_logo_1{
		width: 80%;
		padding-top: 4%;
		padding-bottom: 2%;
		margin: auto;
	}

	.character_band_logo_2{
		width: 80%;
		padding-right: 0%;
		padding-bottom: 4%;
		margin: auto;
		display: block;
	}

	.character_band_logo_3{
		width: 80%;
		padding-left: 0%;
		padding-bottom: 4%;
		margin: auto;
		display: block;
	}

	.character_right_text_style1{
		width: 40%;
		margin: auto;
		padding-top: 8%;
		padding-bottom: 2%;
	}

	.character_right_text_style2{
		width: 40%;
		margin: auto;
		padding-top: 1%;
		padding-bottom: 1%;
	}

	.character_band_box_wrapper{
		display: none;
	}

	.character_band_box_wrapper2{
		display: none;
	}

	.character_band_logo_box_wrapper{
		width: 80%;
		margin: auto;
		display: none;
	}

	.character_band_logo_box2{
		width: 16%;
		padding-right: 2%;
		display: table-cell;
	}

	.character_band_logo_box{
		width: 30%;
		padding-right: 2%;
		display: table-cell;
	}

}

/* cast_staff_setting
================================================== */

.wrapper_cast_staff_bg{
	background-image: url(../image/cast_staff_bg.jpg);
	background-size: cover;
	min-height: 100vh;
}

@supports (-ms-ime-align:auto) {
	.wrapper_cast_staff_bg{
	background-image: url(../image/cast_staff_bg_edge.jpg);
	background-size: cover;
	min-width:1200px;
	min-height: 100vh;
	}
}

.cast_staff_text_wrapper{
	width: 46%;
	padding-top: 14%;
	padding-left: 5%;
	display: table;
	transform: rotate(-15deg);
}

.cast_staff_box{
	color: white;
	font-size: 14px;
	display: table-cell;
}

.cast_staff_text_style1{
	font-size: 16px;
	font-weight: bold;
}

.cast_staff_text_style2{
	font-size: 12px;
}

.cast_staff_text_style3{
	font-size: 16px;
	font-weight: bold;
}






/* story_setting
================================================== */

.wrapper_story_bg{
	background-image: url(../image/story_bg.jpg);
	background-size: cover;
	background-attachment: fixed;
	background-position: top;
	min-height: 100%;
}

.flag_box_wrapper{
	width: 34%;
	left: 33%;
	position: fixed;
	bottom:-12%;
}

.story_title_text{
	width: 22%;
	position: fixed;
	top: 10%;
	left: 4%;
}

.story_text_wrapper{
	width: 100%;
	vertical-align: top;
	top: 8%;
	right: 4%;
	position: absolute;
}

.story_text_style1{
	float: right;
	vertical-align: top;
	padding-left: 2%;
}

.story_text_style2{
	float: right;
	writing-mode: vertical-rl;
	color: white;
	font-size: 16px;
}

.covervid-wrapper{
  height: 100%;
  height: 100vh;
  position: fixed;
  width: 100%;
}

#video {
  background: url("../image/story_bg.jpg") no-repeat;
  background-attachment: fixed;
  background-position: center center;
  background-size: cover;
  left: 0;
  min-height: 100%;
  min-height: 100vh;
  min-width: 100%;
  min-width: 100vw;
  position: absolute;
  top: 0;
  z-index: 1;
}

.masthead {
    z-index:0;
    text-align:center;
    width:100%;
    height:100%;
    min-height:100%;
    position:fixed;
    top:0;
    min-width:1200px;
}
.masthead-video {
    z-index: 1;
    opacity: 1;
}

.diagram_bt{
	width: 22%;
	position: fixed;
	top: 22%;
	left: 4%;
}

.diagram_box_wrapper{
	width: 80%;
	margin: auto;
	padding-top: 6%;
	padding-bottom: 10%;
}

/* DISCOGRAPHY_setting
================================================== */
.wrapper_disco_bg{
	background-image: url(../image/disco_bg.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-width:1200px;
	min-height: 100%;
}

.disco_title_text{
	width: 40%;
	position: fixed;
	bottom: 4%;
	right: 2%;
}



.disco_box{
	margin: auto;
	position: absolute;
	top: 28%;
	padding-bottom: 10%;
}

.disco_table{
	display: table;
	width: 60%;
	margin: auto;
	padding-bottom: 4%;
}

.disco_text_box{
	background-color: black;
	font-size: 14px;
	line-height: 24px;
	padding: 10px;
	border-bottom: #a91721 2px solid;
}

.disco_left a {
	text-decoration: none;
	text-decoration-line: none;
	color: white;
}

.disco_left a:hover{
	opacity: 0.8;
	color: #a91721;
}

.disco_left{
	width: 30%;
	padding-right: 4%;
	display: table-cell;
}

.disco_cd_wrapper{
	width: 80%;
	margin: auto;
	display: table;
	padding-top: 6%;
	padding-bottom: 2%;
}

.disco_cd_img{
	width: 40%;
	padding-right: 4%;
	display: table-cell;
}

.disco_cd_text{
	width: 55%;
	display: table-cell;
	vertical-align: top;
	color: white;
	font-size: 16px;
	line-height: 28px;
	background-color: black;
	padding: 2%;
}

.btn_more{
	width: 30%;
	margin: 1% auto auto;
}

.btn_more a{
	width: 100%;
	position: relative;
	text-align: center;
	display: block;
	box-sizing: border-box;
	padding: 1em 0;
	outline: 1px solid #a91721;
	color: #a91721;
	text-decoration: none;
	font-size: 20px;
	font-weight: bold;
	background-color: black;
	background-repeat: repeat;
}

.btn_more a:hover{
	background-color: #a91721;
	color: white;
	
}


.disco_link_box {
  zoom: 1;
}

.disco_link_box:after {
  content: "";
  clear: both;
  display: block;
}

.disco_link_box li{
	float: left;
	width: 45%;
	margin: 0 20px 20px 0;
	text-decoration: none;
	list-style: none;
}

.disco_link_box a {
  display: block;
  line-height: 1.0em;
  color: #004EFF;
  font-size: 16px;
  letter-spacing: .04em;
  font-family: 'Hind Vadodara', "NotoSans-bold", sans-serif;
  font-weight: 700;
  text-align: center;
  padding: 15px 0 18px 0;
  background-size: 10px auto;
  transition: all .3s ease;
  border: 1px #FFFFFF solid;
  text-decoration: none;
}

.disco_link_box a:hover {
  background-color: red;
  color: white;
  transition: all .3s ease;
}

.disco_attention_box{
	padding: 3%;
	margin-bottom: 4%;
	border: 1px solid white;
	font-size: 16px;
	color: white;
}

.disco_attention_text_title{
	background-color: #F0E21C;
	padding: 1%;
	color: black;
	font-size: 16px;
	margin-bottom: 0%;
	font-weight: bold;
}

/* movie_setting
================================================== */

.movie_title_text{
	width: 40%;
	position: fixed;
	top: 10%;
	right: 30%;
}

.wrapper_movie_bg{
	background-image: url(../image/movie_bg.jpg);
	background-size: cover;
	background-attachment: fixed;
	min-width:1200px;
	min-height: 100%;
}

.movie_box{
	width: 70%;
	left: 15%;
	margin: auto;
	display: table;
	position: absolute;
	top: 28%;
}

.movie_wrapper{
	width: 100%;
	position: relative;
	padding-bottom: 1%;
}

@media screen and (max-width: 1100px){
	.movie_title_text{
		width: 70%;
		position: relative;
		top: 10%;
		right: 0%;
		margin: auto;
	}	
	.wrapper_movie_bg{
		background-image: url(../image/movie_bg.jpg);
		background-size: cover;
		background-attachment: fixed;
		background-position: top center;
		min-width: 100%;
		min-height: 100vh;
	}
	.movie_box{
		width: 90%;
		left: 0%;
		padding-top:6%;
		margin: auto;
		display: table;
		position: relative;
		top: 10%;
	}
}


/* SP_setting
================================================== */

.sp_top_wrapper{
	background: url(../image/sp_top_bg4.jpg);
	width: 100%;
	height: 100vh;
	background-position: top center;
	background-size: cover;
	position: relative;
	z-index: 0;
}

.sp_top_header{
	background-image: url(../image/top_bottom_bg.jpg);
	background-repeat: repeat;
	background-color: black;
	width: 100%;
	position: relative;
	z-index: 1;
	padding-top: 2%;
	padding-bottom: 2%;
}

.sp_top_character{
	width: 120%;
	margin: auto;
	left: 50%;
	top: 50%;
	z-index: 2;
	position: fixed;
	opacity: 1;
}

.sp_top_cast_text{
	width: 86%;
	margin: auto;
	left: 7%;
	bottom: 36%;
	position: absolute;
	z-index: 3;
}

.sp_top_logo{
	padding-top: 2%;
	width: 80%;
	margin: auto;
	left: 10%;
	bottom: 44%;
	z-index: 3;
	position: absolute;
}

.sp_top_lead_text{
	width: 60%;
	margin: auto;
	left: 20%;
	bottom: 18%;
	position: absolute;
	z-index: 3;
}

.sp_top_link{
	width: 60%;
	margin: auto;
	left: 20%;
	bottom: 10%;
	position: absolute;
	z-index: 3;
}

@media screen and (max-width: 1100px){
	.wrapper_top_bg{
		background-image: url(../image/top_bg2.jpg);
		min-width:0px;
	}
	.footer_box{
		width: 80%;
		display: table;
		margin: auto;
	}

	.footer_copyright{
		width: 12%;
		display: table-cell;
		vertical-align: middle;
	}

	.footer_wrapper{
		background-image: url(../image/top_bottom_bg.jpg);
		background-color: black;
		width: 100%;
		z-index: 2;
		position: fixed;
		bottom: 0%;
		padding-top: 5%;
		padding-bottom: 5%;
	}
	.footer_wrapper2{
		width: 100%;
		z-index: 2;
		position: fixed;
		bottom: 0%;
		padding-top: 5%;
		padding-bottom: 5%;
	}
	.news_wrapper{
		width: 80%;
		padding-top: 20%;
		margin: auto;
		position: relative;
		z-index: 0;
	}
	.news_data{
		text-shadow: 1px 1px 2px black, 0 0 1em black, 0 0 0.2em blue;
		font-size: 16px;
		font-weight: bold;
		color: white;
		display: block;
		text-align: center;
		width: 50%;
		margin: auto;
		border: solid 1px white;
		margin-bottom: 2%;
		margin-top: 2%;
	}
	.news_text{
		text-shadow: 1px 1px 2px black, 0 0 1em black, 0 0 0.2em blue;
		font-size: 16px;
		font-weight: bold;
		color: white;
		display: block;
		padding-left: 1%;
		text-align: center;
	}
	.wrapper_news_bg{
		background-image: url(../image/sp_news_bg.jpg);
		background-position: left top;
		background-size: cover;
		min-width:0px;
		min-height: 100vh;
	}
	.wrapper_disco_bg{
		background-image: url(../image/disco_bg.jpg);
		background-size: cover;
		min-width:0px;
		min-height: 100vh;
	}
	.wrapper_cast_staff_bg{
		background-position: left top;
		background-size: cover;
		background-attachment: fixed;
		min-width:0px;
		min-height: 100vh;
	}
	.wrapper_cast_staff_bg::before {
	  content: "";
	  background: url(../image/sp_cast_staff_bg.jpg) no-repeat left top;
	  background-size: cover;
	  display: block;
	  position: fixed;
	  top: 0;
	  left: 0;
	  width: 100vw;
	  height: 100vh;
	  z-index: -1;
	  transform: translateZ(0);
	}
	.disco_title_text{
		width: 70%;
		position:relative;
		margin: auto;
		padding-top: 10%;
		padding-bottom: 8%;
	}

	.disco_box{
		width: 100%;
		left: 0%;
		margin: auto;
		display: block;
		position: relative;
		top: 0%;
		padding-bottom: 20%;
	}

	.disco_table{
		width: 100%;
	}

	.disco_left{
		width: 80%;
		padding-right: 0%;
		display: block;
		margin: auto;
		padding-bottom: 8%;
	}
	
	.disco_cd_wrapper{
		width: 80%;
		margin: auto;
		display: table;
		padding-top: 6%;
		padding-bottom: 2%;
	}

	.disco_cd_img{
		width: 100%;
		padding-right: 0%;
		display: block;
		padding-bottom: 2%;
	}

	.disco_cd_text{
		width: 90%;
		display: block;
		vertical-align: top;
		color: white;
		font-size: 16px;
		line-height: 28px;
		background-color: black;
		padding: 5%;
	}
	
	.btn_more{
		width: 80%;
		margin: 1% auto auto;
		padding-bottom: 30%;
	}
	
	.wrapper_character_bg_01{
		background-image: url(../image/character_bg_sp.jpg);
		background-position: left top;
		background-size: cover;
		min-width:0px;
		min-height: 100vh;
	}

	.wrapper_character_bg_02{
		background-image: url(../image/character_bg_sp.jpg);
		background-position: left top;
		background-size: cover;
		min-width:0px;
		min-height: 100vh;
	}

	.wrapper_character_bg_03{
		background-image: url(../image/character_bg_sp.jpg);
		background-position: left top;
		background-size: cover;
		min-width:0px;
		min-height: 100vh;
	}

	.wrapper_character_bg_04{
		background-image: url(../image/character_bg_sp.jpg);
		background-position: left top;
		background-size: cover;
		min-width:0px;
		min-height: 100vh;
	}
	
	.wrapper_character_bg_05{
		background-image: url(../image/character_bg_sp2.jpg);
		background-position: left top;
		background-size: cover;
		min-width:0px;
		min-height: 100vh;
	}

	.wrapper_character_bg_06{
		background-image: url(../image/character_bg_sp2.jpg);
		background-position: left top;
		background-size: cover;
		min-width:0px;
		min-height: 100vh;
	}

	.wrapper_character_bg_07{
		background-image: url(../image/character_bg_sp2.jpg);
		background-position: left top;
		background-size: cover;
		min-width:0px;
		min-height: 100vh;
	}

	.wrapper_character_bg_08{
		background-image: url(../image/character_bg_sp2.jpg);
		background-position: left top;
		background-size: cover;
		min-width:0px;
		min-height: 100vh;
	}

	.wrapper_character_bg_09{
		background-image: url(../image/character_bg_sp4.jpg);
		background-position: left top;
		background-size: cover;
		min-width:0px;
		min-height: 100vh;
	}

	.wrapper_character_bg_10{
		background-image: url(../image/character_bg_sp4.jpg);
		background-position: left top;
		background-size: cover;
		min-width:0px;
		min-height: 100vh;
	}

	.wrapper_character_bg_11{
		background-image: url(../image/character_bg_sp4.jpg);
		background-position: left top;
		background-size: cover;
		min-width:0px;
		min-height: 100vh;
	}

	.wrapper_story_bg{
		background-image: url(../image/sp_story_bg.jpg);
		background-size: cover;
		background-attachment: fixed;
		background-position: top center;
		min-height: 100vh;
	}
	
	.wrapper_character_bg_top{
		background-image: url(../image/character_bg_sp3.jpg);
		background-size: cover;
		background-attachment: fixed;
		background-position: top center;
		min-height: 100vh;
	}

	.character_box{
		width: 80%;
		position: relative;
		margin: auto;
		top: 0%;
		left: 0%;
		background-image: none;
		background-repeat: repeat;
		padding: 2%;
		margin-bottom: 6%;
	}

	.character_bt_box{
		position: relative;
		width: 80%;
		margin: auto;
		bottom: 0%;
		right: 0%;
		z-index: 1;
		padding-bottom: 40%;
	}

	.cast_staff_text_wrapper{
		width: 100%;
		margin: auto;
		padding-top: 30%;
		padding-bottom: 30%;
		padding-left: 0%;
		display: block;
		transform: none;
	}

	.cast_staff_box{
		color: white;
		font-weight: bold;
		font-size: 16px;
		display: block;
		text-align: center;
	}

	.story_title_text{
		width: 30%;
		position: relative;
		top: 0%;
		left: 0%;
		margin: auto;
		padding-top: 10%;
		padding-bottom: 4%;
	}

	.story_text_wrapper{
		width: 100%;
		vertical-align: top;
		top: 0%;
		right: 0%;
		position: relative;
		padding-bottom: 8%;
	}

	.story_text_style1{
		float: none;
		vertical-align: top;
		padding-left: 0%;
		color: white;
		font-size: 18px;
		text-align: center;
		line-height: 20px;
		padding-bottom: 4%;
		font-weight: bold;
	}

	.story_text_style1 ruby{
		font-size: 18px;
	}
	.story_text_style1 ruby rt{
		font-size: 10px;
	}
	
	.story_text_style2{
		float: none;
		writing-mode:horizontal-tb;
		color: white;
		font-size: 16px;
		text-align: center;
	}
	.cast_comment_bt{
		width: 100%;
		padding-top: 8%;
	}
	.diagram_bt{
		width: 60%;
		position: relative;
		top: 0%;
		left: 0%;
		margin: auto;
		padding-top: 0%;
	}
	.diagram_box_wrapper{
		width: 94%;
		margin: auto;
		padding-top: 6%;
		padding-bottom: 10%;
	}
}








