@charset "utf-8";
#fullWrap:before{
	position:absolute;
	content:'';
	left:50%;
	top:130px;
	width:760px;
	height:760px;
	margin-left:-380px;
	background:url(../img/common/circle.png) no-repeat center center / contain;
	animation:rotateZ 16s ease-in-out infinite
}
@media screen and (max-width:768px){
	#fullWrap:before{
		top:-11.6vw;
		width:87.2vw;
		height:87.2vw;
		margin-left:-43.6vw
	}
	.subHeader__titles h1{
		font-size:4.5rem;
	}
}
.caststaff{
	padding-bottom:100px;
	overflow: hidden;
}
@media screen and (max-width:768px){
	.caststaff{
		padding-bottom:10vw
	}
}
.caststaff__title{
	font-size:60px;
	text-align:center;
	line-height:42px;
	color:#c81515;
	padding-top:30px;
	margin-bottom:50px
}
.caststaff__subtitle{
	font-size:40px;
	text-align:center;
	line-height:42px;
	color:#c81515;
	padding-top:30px;
	margin-bottom:50px
}
@media screen and (max-width:768px){
	.caststaff__title{
		font-size:4rem;
		line-height:18.6666vw;
		padding-top:0;
		margin-bottom:4vw
	}
	.caststaff__subtitle{
		font-size:3rem;
		line-height:14.6666vw;
		padding-top:0;
		margin-bottom:4vw
	}
}
.cast__lists{
	width:959px;
	margin:0 auto 120px;
	display:flex;
	flex-wrap:wrap;
}
.cast__lists--center {
	justify-content: center;
	margin-bottom:40px;
	position: relative;
}
.cast__lists li{
	width:240px;
	border-right:1px solid #000;
	border-bottom:1px solid #000;
	display:flex;
	flex-direction: column;
	justify-content:space-between;
	height:480px;
	position:relative;
	padding:20px 15px;
	text-decoration: none;
}

.cast__lists li:nth-child(4n + 2){
	width:239px;
	border-right:none
}
.cast__lists li:hover{
	z-index:10
}
.cast__lists li a{
	display:flex;
	flex-direction: column;
	justify-content: flex-end;
	height:480px;
	position:relative;
	transition:all 0.7s ease;
	padding:20px 15px;
	text-decoration: none;
}
.cast__lists li:before{
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	height:150px;
	background:-moz-linear-gradient(top, rgba(200,21,21,0) 0%, rgba(200,21,21,1) 100%);
	background:-webkit-linear-gradient(top, rgba(200,21,21,0) 0%,rgba(200,21,21,1) 100%);
	background:linear-gradient(to bottom, rgba(200,21,21,0) 0%,rgba(200,21,21,1) 100%);
	filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00c81515', endColorstr='#c81515',GradientType=0 );
	z-index:2;
}
.cast__lists li.gr-none:before {
	display: none;
}
.cast__lists--main li:nth-child(1){
	margin-left:240px;
}
.cast__lists--main li:nth-child(2) {
	margin-right:239px;
}
.cast__lists li a:hover{
	transform:scale(1.05);
	z-index:10
}
.cast__lists li img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	position: absolute;
	left:0;
	top:0;
}
.cast__listnames {
	position: relative;
	margin:-5px 0 0 -5px;
}
@media screen and (max-width:768px){
	.cast__listnames {
		position: relative;
		margin:-2.4vw 0 0 -2.4vw;
	}
}
.cast__listjname {
	position: relative;
	writing-mode: vertical-rl;
	font-size:42px;
	line-height: 1;
	margin-bottom:15px;
	font-feature-settings: "fwid";
}
@media screen and (max-width:768px){
	.cast__listjname {
		position: relative;
		writing-mode: vertical-rl;
		font-size:9.2vw;
		line-height: 1;
		margin-bottom:15px;
	}
}
.cast__listname{
	font-size:20px;
	line-height:22px;
	display:block;
	position:relative;
	z-index:4;
}
@media screen and (max-width:768px){
	.cast__listname{
		font-size:4.2vw;
		line-height:3.2vw;
		display:block;
	}
}
.cast__asName {
	display: block;
	position: relative;
	z-index: 5;
	padding-top:10px;
	line-height:1.2;
	text-align: right;
	font-size:14px;
	font-family: 'Noto Serif JP', serif;
}
.cast__asName small {
	font-size: 12px;
}
.cast__lists--sub {
	border-top:1px dotted #fff;
	border-bottom:1px dotted #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding:15px 0;
	width:600px;
	margin:0 auto 50px;
}
.cast__list--sub {
	width:25%;
	padding:10px 0;
	text-align: center;
	color:#fff;
	font-size:18px;
	font-weight: 700;
}
.cast__list--sub img{
	display: block;
	width:100%;
	height:auto;
	margin-bottom:0.5em;
}

.cast__lists--more {
	text-align: center;
	margin-bottom:80px;
}
@media screen and (max-width:768px){
	.cast__lists{
		width:100%;
		margin:0 auto 15vw
	}
	.cast__lists--center {
		margin-bottom:8vw;
	}
	.cast__lists li{
		width:calc(100% / 2);
		border-right:1px solid #000;
		border-bottom:1px solid #000;
		height:calc(100vw / 2 * 2);
		position:relative
	}
	.cast__lists li:nth-child(4n + 2){
		width:calc(100% / 2);
		border-right:1px solid #000
	}
	.cast__lists li:nth-child(2n){
		width:calc(100% / 2);
		border-right:none
	}
	.cast__lists--main li:nth-child(1){
		margin-left:0;
		transform:unset
	}
	.cast__lists--main li:nth-child(2) {
		margin-right:0;
		transform:unset
	}
	.cast__lists li a{
		height:calc(100vw / 2 * 2);
		padding:3vw 2.1333vw;
	}
	.cast__lists li:before{
		height:calc(100vw / 4)
	}
	.cast__lists li a:hover{
		transform:none;
		z-index:10
	}
	.cast__list--none {
		order:999;
		display: none !important;
	}
	.cast__asName {
		font-size:2.6vw;
		padding-top:1.5vw;
	}
	.cast__asName small {
		font-size: 0.7rem;
	}
	.cast__lists--sub {
		padding:3vw 0;
		width:95%;
		margin:0 auto 10vw;
	}
	.cast__list--sub {
		padding:1vw 0;
		font-size:1.4rem;
	}
	.cast__lists--more {
		text-align: center;
		margin-top:0;
		margin-bottom:14vw;
		font-size:3.2vw;
	}
}
.bandmember__lists{
	width:640px;
	margin:0 auto 70px;
	display:flex;
	justify-content:center;
	flex-wrap:wrap
}
.bandmember__list{
	width:320px
}
.bandmember__list dt{
	width:184px;
	height:22px;
	background:#c81515;
	color:#FFF;
	text-align:center;
	line-height:22px;
	margin:0 auto 14px
}
.bandmember__list dd{
	line-height:1.8;
	font-size:18px;
	text-align:center;
	margin-bottom:34px
}
@media screen and (max-width:768px){
	.bandmember__lists{
		width:100%;
		margin:0 auto 10.6666vw
	}
	.bandmember__list{
		width:50%
	}
	.bandmember__list dt{
		width:36vw;
		height:3.7333vw;
		line-height:3.7333vw;
		margin:0 auto 0.4em;
		font-size:1.2rem
	}
	.bandmember__list dd{
		line-height:1.8;
		font-size:1.3rem;
		text-align:center;
		margin-bottom:1.7em
	}
}
.staff__lists{
	width:960px;
	margin:0 auto;
	position: relative;
	z-index:10;
}
.staff__lists:not(.t-staffs){
	flex-wrap:wrap;
	justify-content:center;
	display:flex;
	padding-top:47px;
	background:url(../img/common/line_separate.svg) no-repeat center top / 48px auto
}
.staff__lists div{
	display:flex;
	flex-direction:column;
	align-items:center;
	padding-bottom:38px;
	width:320px
}
.staff__lists.t-staffs div{
	width:100%
}
.staff__lists dt{
	width:140px;
	height:22px;
	background:#c81515;
	color:#FFF;
	text-align:center;
	line-height:22px;
	margin-bottom:14px
}
.staff__lists dd{
	line-height:1.8;
	font-size:18px;
	text-align:center
}
.staff__lists.t-staffs div:first-child dd{
	font-size:22px
}
.staff__lists dd small{
	font-size:16px
}
.staff__list--dmm {
	width:120px;
	height:auto;
}
@media screen and (max-width:768px){
	.staff__lists{
		width:100%
	}
	.staff__lists:not(.t-staffs){
		padding-top:8vw;
		background:url(../img/common/line_separate.svg) no-repeat center top / 10.4vw auto
	}
	.staff__lists div{
		display:flex;
		flex-direction:column;
		align-items:center;
		padding-bottom:6vw;
		width:50%
	}
	.staff__lists dt{
		width:28.6666vw;
		height:3.7333vw;
		line-height:3.7333vw;
		margin-bottom:3.2vw;
		font-size:1.2rem
	}
	.staff__lists dd{
		font-size:1.3rem
	}
	.staff__lists.t-staffs div:first-child dd{
		font-size:1.5rem
	}
	.staff__lists dd small{
		font-size:1.2rem
	}
	.staff__list--dmm {
		width:25vw;
		height:auto;
	}
}
.comment-btn{
	display:table;
	background:#fff;
	color:#000;
	line-height:1;
	padding:3px 16px 3px 8px;
	position:relative;
	text-decoration:none;
	transition:all 0.3s ease;
	font-size:15px;
	margin-top:12px
}
.comment-btn:hover{
	background:#c81515;
	color:#fff
}
.comment-btn:before{
	content:'';
	position:absolute;
	box-sizing:border-box;
	width:6px;
	height:6px;
	border-top:2px solid #000;
	border-right:2px solid #000;
	right:8px;
	top:50%;
	margin-top:-3px;
	transform:rotate(45deg);
	transition:all 0.3s ease
}
.comment-btn:hover:before{
	border-color:#fff
}
@media screen and (max-width:768px){
	.comment-btn{
		padding:0vw 8vw 0vw 5vw;
		transition:all 0.3s ease;
		font-size:1.7rem;
		margin-top:2vw
	}
	.comment-btn:before{
		width:1.6vw;
		height:1.6vw;
		right:2vw;
		margin-top:-0.8vw
	}
}
.modal__cast{
	display:flex;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	min-width:1200px;
	min-height:630px
}
.modal__castleft{
	width:50%;
	position:relative;
	overflow:hidden;
	background-color:#000
}
.modal__castleft--bg{
	display:block;
	width:calc(100% + 14px);
	height:calc(100% + 14px);
	object-fit:cover;
	filter:blur(7px);
	margin-left:-7px;
	margin-top:-7px
}
.modal__castleft--img{
	position:absolute;
	left:8%;
	right:8%;
	top:8%;
	bottom:8%
}
.modal__castleft--img img{
	width:100%;
	height:100%;
	object-fit:contain
}
.modal__castright{
	width:50%;
	background:#c81515;
	display:flex;
	align-items:center;
	flex-wrap:wrap
}
.modal__castTexts{
	padding:0 8%;
	position:relative
}
.modal__castRole{
	white-space:nowrap;
	background:#000;
	display:table;
	margin-bottom:30px
}
.modal__castTexts h3{
	font-size:30px;
	display:flex;
	align-items:center;
	line-height:1;
	margin-bottom:30px;
	width:100%
}
.modal__castTexts .comment-btn{
	margin-left:30px
}
.modal__castTexts .comment-btn:hover{
	background:#000;
	color:#fff
}
.modal__castTexts .comment-btn:hover:before{
	border-color:#fff
}
.modal__castProfile{
	font-size:14px
}
.modal__castProfile h4{
	padding-bottom:6px
}
.modal__castEnName{
	font-size:90px;
	line-height:58px;
	position:absolute;
	right:0;
	bottom:0;
	overflow:hidden;
	text-align:right
}
@media screen and (max-width:768px){
	.modal__cast{
		width:100%;
		height:auto;
		min-width:100%;
		min-height:100%;
		display:block
	}
	.modal__castleft{
		width:100%;
		height:137vw
	}
	.modal__castleft--img{
		left:13.3333vw;
		right:13.3333vw;
		top:13.3333vw;
		bottom:13.3333vw
	}
	.modal__castright{
		width:100%;
		display:block;
		padding-bottom:
	}
	.modal__castTexts{
		padding:13.3333vw 6.4vw 32vw;
		position:relative
	}
	.modal__castRole{
		font-size:1.2rem;
		white-space:nowrap;
		background:#000;
		display:table;
		margin-bottom:6vw;
		padding:0 6.4vw !important;
		margin-left:-6.4vw !important;
		height:3.4666vw;
		line-height:3.4666vw
	}
	.modal__castTexts h3{
		font-size:2.5rem;
		display:block;
		margin-bottom:11vw;
		width:100%
	}
	.modal__castTexts .comment-btn{
		margin:4vw 0 0;
		display:table
	}
	.modal__castProfile{
		font-size:1.2rem
	}
	.modal__castProfile h4{
		font-size:1rem;
		padding-bottom:2vw
	}
	.modal__castEnName{
		font-size:6rem;
		line-height:3.85rem
	}
}
.modal__comment{
	width:960px;
	padding:140px 0;
	display:flex;
	align-content:center;
	flex-wrap:wrap
}
.modal__comment h3{
	width:100%;
	margin-bottom:40px
}
@media screen and (max-width:768px){
	.modal__comment{
		width:87.2vw;
		padding:18.6666vw 0;
		display:flex;
		align-content:center;
		flex-wrap:wrap;
		font-size:1.2rem;
		line-height:2
	}
	.modal__comment h3{
		font-size:1rem;
		width:100%;
		margin-bottom:6vw
	}
}
.staff__wrap {
	position: relative;
}
@media screen and (max-width: 768px){
	.caststaff {
		position: relative;
		overflow: visible;
	}
/*	.topContents {
		position: relative;
		z-index:9;
	}*/
	.staff__wrap {
		padding-bottom:20vw;
	}
	.staff__list-f {
		width: 100% !important;
	}
}
.caststaff__title a {
	display: inline-flex;
	width:100px;
	margin-left:20px;
	height:45px;
		background:#c81515;
	border-radius: 8px;
	color:#FFF;
	text-decoration: none;
	align-items: center;
	justify-content: center;
	line-height: 1.1;
	font-size:16px;
	transition:all 0.3s ease;
	vertical-align: top;
}
.caststaff__title a:hover {
	opacity:0.7;
}
@media screen and (max-width: 768px){
	.caststaff__title a {
		display: inline-flex;
		width:20vw;
		margin-left:3vw;
		height:9vw;
		border-radius: 2vw;
		font-size:1.2rem;
		vertical-align: super;
	}
}
.castCredit {
	position: fixed;
	left:0;
	top:0;
	right:0;
	bottom:0;
	background: rgba(0,0,0,.9);
	z-index:9999;
	display: none;
}
.cc__inner {
	position: absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
	overflow: auto;
}
.cc__cont {
	width:960px;
	margin:0 auto;
	padding:100px 0;
}
.cc__list {
	margin-bottom:55px;
}
.cc__title {
	font-size:24px;
	color:#c81515;
	font-weight: 700;
	margin-bottom:15px;
}
.cc__listin-lists {
	margin-bottom:20px;
}
.cc__listin-list {
	display: flex;
}
.cc__listin-list dt {
	white-space: nowrap;
	margin-right:10px;
	line-height:2;
}
.cc__listin-list dd {
	flex:1;
	line-height:2;
	white-space: nowrap;
}
@media screen and (max-width: 768px){
	.cc__cont {
		width:90%;
		margin:0 auto;
		padding:12.8vw 0;
	}
	.cc__list {
		margin-bottom:9.6vw;
	}
	.cc__title {
		font-size:2rem;
		margin-bottom:1.2rem;
	}
	.cc__listin-lists {
		margin-bottom:4.2vw;
		font-size:1rem;
	}
	.cc__listin-list {
		flex-wrap: wrap;
	}
	.cc__listin-list dt {
		white-space: nowrap;
		margin-right:1rem;
		line-height:2;
		width:100%;
	}
	.cc__listin-list dd{
		margin-bottom:1em;
		font-size:1.2rem;
	}
}
#castCredit .modal__closeBtn {
	z-index: 500;
	right: 18px;
}
@media screen and (max-width: 768px){
	#castCredit .modal__closeBtn {
		right: 0;
	}
}
.cast__lists--main {
	margin-bottom:30px;
}
@media screen and (max-width:768px){
	.cast__lists--main {
		margin-bottom:4vw;
	}
}
.cast__caution {
	font-size:14px;
	text-align: center;
	margin-bottom:30px;
}
@media screen and (max-width:768px){
	.cast__caution {
		font-size:3vw;
		margin-bottom:5vw;
	}
}

.cast__change {
	font-size:20px;
	text-align: center;
	margin:0 auto 30px auto;
	background-color: #c81515;
	padding: 20px;
	width: 520px;
}
@media screen and (max-width:768px){
	.cast__change {
		font-size:2rem;
		margin-bottom:8vw;
		width: 80%;
	}
}

.cast__change a:link {
	text-decoration: none;
}