div#contents div#title {
	padding : 10vh 10vw ;
	min-height : 80vh ;
	z-index : 50 ;
}

div#contents div#title h1 {
	padding-top : 20vh ;
	font-family: 'Marcellus', serif;
	font-size : 100px ;
	line-height : 120px ;
	text-align : center ;
}

div#contents div#title p.description {
	padding-top : 36px ;
	font-family: 'Marcellus', serif;
	font-size : 24px ;
	line-height : 36px ;
	text-align : center ;
}

div#contents div#title div.news {
	margin : 72px auto 0 auto ;
	border : solid 1px #ffffff ;
	border-radius : 20px ;
	padding : 15px ;
	width : 720px ;
}

div#contents div#title div.news h2 {
	margin-bottom : 15px ;
	font-family: 'Marcellus', serif;
	font-size : 24px ;
	line-height : 36px ;
	text-align : center ;
}

div#contents div#title div.news dl dt {
	width : 100px ;
	float : left ;
}

div#contents div#title div.news dl dd {
	margin-left : 100px ;
}

div#contents div#about {
	padding : 10vh 0 ;
	min-height : 80vh ;
	background-color : #000000 ;
	background-image : url("../images/about_background.jpg");
    background-position : center center ;
    background-attachment : fixed ; 
    background-size : cover ;
    background-repeat : no-repeat ;
}

div#contents div#about div.message {
	margin : 0 auto ;
	padding-bottom : 40px ;
	max-width : 960px ;
	text-align : center ;
	font-family : serif ;
	font-size : 18px ;
	line-height : 1.8em ;
}

div#contents div#about ul {
	margin : 0 auto ;
	width : 1280px ;
	font-size : 0 ;
}
@media screen and (max-width: 1280px) {
	div#contents div#about ul {
		width : 640px ;
	}
}

div#contents div#about ul li {
	width : 640px ;
	font-size : 14px ;
	display : inline-block ;
	vertical-align : top ;
}

div#contents div#about ul li h3 {
	margin : 10px ;
	border : solid 1px #ffffff ;
	text-align : center ;
}

div#contents div#about ul li.main h3 {
	background-color : rgba(172,18,167,0.5) ;
}

div#contents div#about ul li.annex h3 {
	background-color : rgba(255,186,220,0.5) ;
}

div#contents div#about ul li h3 strong {
	padding : 0 10px ;
	font-size : 20px ;
	line-height : 36px ;
	letter-spacing : 20px ;
}

div#contents div#about ul li h3 span {
	padding : 0 10px ;
	font-size : 16px ;
	line-height : 36px ;
}

div#contents div#about ul li p {
	margin : 10px ;
	text-align : center ;
	font-size : 16px ;
	line-height : 1.5em ;
}

div#contents div#about div.notice {
	margin : 40px auto 0 ;
	border : solid 1px #ffffff ;
	padding : 10px ;
	max-width : 1080px ;
}

div#contents div#about div.notice p.copyright {
	text-align : right ;
}

div#contents div#cast {
	padding : 10vh 0 ;
	min-height : 80vh ;
	background-color : #000000 ;
}

div#contents div#cast div.main {
	margin-bottom : 40px ;
	width : 100% ;
	height : 300px ;
	background-image : url("../images/cast_main_background.jpg");
    background-position : center center ;
    background-attachment : fixed ; 
    background-size : cover ;
    background-repeat : no-repeat ;
}

div#contents div#cast div.annex {
	width : 100% ;
	height : 300px ;
	background-image : url("../images/cast_annex_background.jpg");
    background-position : center center ;
    background-attachment : fixed ; 
    background-size : cover ;
    background-repeat : no-repeat ;
}

div#contents div#cast div h3 {
	padding : 10px 20px ;
	font-size : 30px ;
	line-height : 40px ;
	position : absolute ;
}

div#contents div#cast div ul {
	height : 100% ;
	position : relative ;
}

div#contents div#cast div ul li {
	position : absolute ;
	top : 0 ;
	width : 1px ;
}

div#contents div#cast div ul li.main_101 {
	left : 10vw ;
}

div#contents div#cast div ul li.main_102 {
	left : 18.89vw ;
}

div#contents div#cast div ul li.main_103 {
	left : 27.78vw ;
}

div#contents div#cast div ul li.main_104 {
	left : 36.67vw ;
}

div#contents div#cast div ul li.main_105 {
	left : 45.56vw ;
}

div#contents div#cast div ul li.main_106 {
	left : 54.45vw ;
}

div#contents div#cast div ul li.main_121 {
	left : 63.34vw ;
}

div#contents div#cast div ul li.main_123 {
	left : 72.23vw ;
}

div#contents div#cast div ul li.main_125 {
	left : 81.12vw ;
}

div#contents div#cast div ul li.main_127 {
	left : 90.01vw ;
}

div#contents div#cast div ul li.main_201 {
	left : 10vw ;
}

div#contents div#cast div ul li.main_202 {
	left : 18vw ;
}

div#contents div#cast div ul li.main_203 {
	left : 26vw ;
}

div#contents div#cast div ul li.main_204 {
	left : 34vw ;
}

div#contents div#cast div ul li.main_205 {
	left : 42vw ;
}

div#contents div#cast div ul li.main_206 {
	left : 50vw ;
}

div#contents div#cast div ul li.main_221 {
	left : 58vw ;
}

div#contents div#cast div ul li.main_222 {
	left : 66vw ;
}

div#contents div#cast div ul li.main_223 {
	left : 74vw ;
}

div#contents div#cast div ul li.main_224 {
	left : 82vw ;
}

div#contents div#cast div ul li.main_225 {
	left : 90vw ;
}

div#contents div#cast div ul li div.profile {
	margin-left : -150px ;
	width : 300px ;
	height : 300px ;
	position : relative ;
	overflow : hidden ;
}

div#contents div#cast div ul li div.profile a {
	width : 100px ;
	height : 300px ;
	display : block ;
	position : absolute ;
	left : 100px ;
	top : 0 ;
	z-index : 3 ;
}

div#contents div#cast div ul li div.profile h4 {
	width : 300px ;
	height : 50px ;
	text-align : center ;
	background-color : rgba(0,0,0,0.50) ;
	position : absolute ;
	left : -100px ;
	top : 300px ;
	z-index : 2 ;
}

div#contents div#cast div ul li div.profile h4 strong {
	font-size : 20px ;
	line-height : 30px ;
	display : block ;
}

div#contents div#cast div ul li div.profile h4 span {
	font-size : 14px ;
	line-height : 20px ;
	display : block ;
}

div#contents div#cast div ul li div.profile img {
	width : 300px ;
	height : 300px ;
	position : absolute ;
	left : 0 ;
	top : 0 ;
	display : block ;
	z-index : 1 ;
}
