@charset "UTF-8";

#content{
	background-color:#6f0000;
}
#content .nav li{
	font-size:28px;
	margin-bottom:1px;
}
#content .nav li a{
	display:block;
	background-color:#000;
	color:#e60012;
	padding:20px 0;
}

#content .bnr{
	margin:30px 20px;
}
#content .bnr li ~ li{
	margin-top:10px;
}

#content .billings{
	padding:30px 0 20px;
	font-size:4px;
}
#content .billings span{
	font-size:5px;
}
#content .billings strong{
	font-size:8px;
}
#content .billings em{
	font-size:6px;
	letter-spacing:-.04em;
}

#content .ttl{
	position:relative;
	text-align:center;
	padding:30px 35px;
	z-index:0;
}

#story,
#introduction{
	position:relative;
	z-index:1;
	padding-bottom:40px;
	text-align:left;
	background-color:#000;
}
#story .ttl:before,
#introduction .ttl:before{
	content:"";
	position:absolute;
	top:50%;
	left:0;
	text-align:center;
	background:url(../img/intro/bg_hd.png) no-repeat 0 0;
	background-size:100% auto;
	width:100%;
	height:0;
	padding-top:110%;
	-webkit-transform:translate(0,-50%);
	    -ms-transform:translate(0,-50%);
	        transform:translate(0,-50%);
}
#story .ttl:before{
	background-image:url(../img/story/bg_hd.png);
	top:0;
	-webkit-transform:translate(0,-27%);
	    -ms-transform:translate(0,-27%);
	        transform:translate(0,-27%);
}
#introduction .h3ttl{
	position:relative;
	-webkit-transform:skewY(-11.5deg);
	    -ms-transform:skewY(-11.5deg);
	        transform:skewY(-11.5deg);
}
#introduction .h3ttl .bg{
	position:absolute;
	width:100%;
	height:100%;
	overflow:hidden;
}
#introduction .h3ttl .bg span{
	content:"";
	position:absolute;
	top:50%;
	left:0;
	text-align:center;
	background:url(../img/intro/bg_copy.png) no-repeat right 0;
	background-size:cover;
	width:100%;
	height:100%;
	-webkit-transform:skewY(11.5deg) translate(0,-50%);
	    -ms-transform:skewY(11.5deg) translate(0,-50%);
	        transform:skewY(11.5deg) translate(0,-50%);
}
#introduction .h3ttl img{
	position:relative;
	padding:0 20px;
	-webkit-transform:skewY(11.5deg);
	    -ms-transform:skewY(11.5deg);
	        transform:skewY(11.5deg);
	top:-72px;
}
#story .box:not(p),
#introduction .box:not(p){
	position:relative;
	background-color:#6f0000;
	background-size:100% auto;
	box-sizing:border-box;
	padding:0 20px;
	z-index:1;
	-webkit-transform:skewY(-11.5deg);
	    -ms-transform:skewY(-11.5deg);
	        transform:skewY(-11.5deg);
}
#story .box:not(p) .bg,
#introduction .box:not(p) .bg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	-webkit-transform:skewY(0);
	    -ms-transform:skewY(0);
	        transform:skewY(0);
	overflow:hidden;
}
#story .box:not(p) .bg span,
#introduction .box:not(p) .bg span{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:200px;
	background:url(../img/intro/bg_box.png) repeat-x 0 0 #6f0000;
	background-size:320px auto;
	-webkit-transform:skewY(11.5deg);
	    -ms-transform:skewY(11.5deg);
	        transform:skewY(11.5deg);
}
#story .box:not(p) .bg span{
	background-image:url(../img/story/bg_box.png);
}
#story p.box,
#introduction p.box{
	position:relative;
	-webkit-transform:skewY(-11.5deg);
	    -ms-transform:skewY(-11.5deg);
	        transform:skewY(-11.5deg);
	z-index:2;
}
#story .box > *,
#introduction .box > *{
	-webkit-transform:skewY(11.5deg);
	    -ms-transform:skewY(11.5deg);
	        transform:skewY(11.5deg);
}
#story p.box img,
#introduction p.box img{
	width:100%;
}
#introduction .box dt{
	font-size:19px;
	margin-bottom:20px;
}
#introduction .box strong{
	font-weight:normal;
}
#story .iconA:before{
	content:"";
	position:absolute;
	top:-110px;
	left:0;
	background:url(../img/story/img_hd.png) no-repeat 0 0;
	background-size:100% auto;
	width:81px;
	height:130px;
	z-index:10;
	-webkit-transform:skewY(11.5deg);
	    -ms-transform:skewY(11.5deg);
	        transform:skewY(11.5deg);
}

#character,
#staff{
	background-color:#000;
}
#staff .ttl:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	text-align:center;
	background:url(../img/staff/bg_hd.png) no-repeat 0 0;
	background-size:100% auto;
	width:100%;
	height:0;
	padding-top:110%;
	-webkit-transform:translate(0,-33%);
	    -ms-transform:translate(0,-33%);
	        transform:translate(0,-33%);
}
#staff .inner{
	box-sizing:border-box;
	padding-bottom:30px;
}
#staff .inner p{
	line-height:1.7;
}
#staff .block2 .blockR,
#staff .block2 .blockL,
#staff .block1{
	position:relative;
	background:url(../img/staff/bg_box.png) no-repeat center 0;
	background-size:171px auto;
	padding:10px 20px 0;
	margin-bottom:30px;
	text-align:left;
}
#staff .block2 .nameL,
#staff .block1 .nameL{
	font-size:11px;
	line-height:1.2;
	margin-bottom:20px;
	float:left;
}
#staff .block2 .nameL strong,
#staff .block1 .nameL strong{
	font-size:22px;
	color:#ff0000;
	font-weight:normal;
}
#staff .block2 .nameR,
#staff .block1 .nameR{
	line-height:1.2;
	text-align:right;
	color:#ff0000;
	margin-top:1.5em;
}
#jsFtBnr li{
	margin-bottom: 10px;
}

#character .ttl:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	text-align:center;
	background:url(../img/character/bg_hd.png) no-repeat 0 0;
	background-size:100% auto;
	width:100%;
	height:0;
	padding-top:110%;
	-webkit-transform:translate(0,-15%);
	    -ms-transform:translate(0,-15%);
	        transform:translate(0,-15%);
}
#character ul{
	position: relative;
	padding:0 20px 30px;
}
#character ul li{
	margin-bottom: 30px;
}
#character li h3{
	font-size: 22px;
	font-weight: 300;
	padding: 15px 0;
	color: #c1c1c1;
}
#character li h3 em{
	font-size: 13px;
	font-weight: 300;
	color:#ff0000;
	margin-left:1em;
}
#character li span{
	display: inline-block;
	line-height: 1;
	padding: 5px;
	min-width: 7em;
	border: 1px solid #960000;
	color: #960000;
	font-size:14px;
	font-weight: normal;
}

.modal{
	background-color: #fff;
	padding: 3%;
	text-align: left;
}
.modal p{
	font-size: 11px;
	line-height: 1.8;
	color: #000;
}
.modal .ttl{
	font-size: 18px;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #cdcdcd;
	line-height: 1.2;
	color: #960000;
}
.modal .ttl span:before{
	content: "/";
	margin: 0 .5em;
	color: #000;
	font-size: 14px;
}
.modal .ttl span{
	font-size: 14px;
	color: #000;
}

.tw{
	margin-top: 30px;
}
.mainArea{
	margin-top: -65%;
	padding-bottom: 3%;
}
@media (min-width:640px){
	.mainArea{
		margin-top: -410px;
	}
}
.mainArea [src$="main_txt01.png"]{
	width: 86.4%;
	margin: 0 auto;
	display: block;
}
.mainArea .bnr + p{
	margin: 0 20px;
}
.nav{
	position: relative;
}
