@charset "UTF-8";

/*//////////----- CASTLIST -----//////////*/

.castlist > a{
	display:block;
	
	color:#000;
	
	transition: 0.25s;
}

.castlist > a:hover{
	opacity: 0.6;
	
	text-decoration: none;
}

.castlist div.inner{
	box-sizing: border-box;
	padding:5px;
	
	position: relative;
}

.castlist p.copy{
	width:100%;
	
	background-color:#f0f0f0;
	color:#000;
}

.castlist p.copy span.catch{
	display:block;
	
	font-size:0.8rem;
	line-height:25px;
	font-weight:normal;
	
	text-align: center;
	
	box-sizing: border-box;
	padding:0 5px;
	
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.castlist p.copy span.sokuhime{
	display:block;
	
	font-size:0.8rem;
	line-height:25px;
	font-weight:bold;
	
	text-align: center;
	
	box-sizing: border-box;
	padding:0 5px;
	
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	
	background-color:#f44;
	color:#fff;
}

.castlist div.castimg{
	width:100%;
	position: relative;
}

.castlist div.castimg p.thumbnail{
	width:100%;
}

.castlist div.castimg p.thumbnail img{
	width:100%;
	vertical-align: bottom;
}

.castlist div.castimg p.icon-newface{
	position: absolute;
	top:5px;
	right:5px;
	
	width:60px;
}

.castlist div.castimg p.icon-newface img{
	width:100%;
	vertical-align: bottom;
}

.castlist div.castimg p.icon-newface span.note{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	
	width:100%;
	height:60px;
	
	box-sizing: border-box;
	padding:2.5px;
	
	font-size:0.6rem;
	line-height:15px;
	
	text-align: center;
	
	background-color:#0a7;
	color:#fff;
}

.castlist div.castimg p.icon-ranking{
	position: absolute;
	bottom:5px;
	left:5px;
	
	width:60px;
}

.castlist div.castimg p.icon-ranking img{
	width:100%;
	vertical-align: bottom;
}

.castlist div.castimg p.icon-ranking span.note{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	
	width:100%;
	height:60px;
	
	box-sizing: border-box;
	padding:2.5px;
	
	font-size:0.6rem;
	line-height:15px;
	
	text-align: center;
	
	background-color:#f44;
	color:#fff;
}

.castlist div.casttext{
	box-sizing: border-box;
	padding-top:5px;
}

.castlist div.casttext h4{
	font-weight:bold;
	color:#000;
	
	font-size:1.15rem;
	line-height:1.5em;
	
	text-align: center;
	
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.castlist div.casttext h4 span.note{
	display:inline-block;
	
	font-size:0.8rem;
	line-height:20px;
	font-weight:normal;
}

.castlist div.casttext h4 span.note:before{
	display:inline-block;
	content:"-";
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.castlist div.casttext h4 span.note:after{
	display:inline-block;
	content:"-";
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.castlist div.casttext ul.size{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: center;
	
	width:100%;
}

.castlist div.casttext ul.size li{
	display:inline-block;
	
	font-size:0.8rem;
	line-height:25px;
}

@media only screen and (min-width: 375px){
	
	.castlist div.casttext ul.size li{
		font-size:1.0rem;
		line-height:25px;
	}
	
}

.castlist div.casttext ul.size li:before{
	display:inline-block;
	
	box-sizing: border-box;
	padding-right:1.5px;
	
	font-size:0.8rem;
	line-height:25px;
}

.castlist div.casttext ul.size li:nth-child(1):before{
	content:"T";
}

.castlist div.casttext ul.size li:nth-child(2):before{
	content:"B";
}

.castlist div.casttext ul.size li:nth-child(2) span.note{
	font-size:0.7rem;
	line-height:25px;
	font-weight:normal;
}

.castlist div.casttext ul.size li:nth-child(2) span.note:before{
	display: inline-block;
	content:"-";
	
	box-sizing: border-box;
	padding:0 1.5px;
}

.castlist div.casttext ul.size li:nth-child(3):before{
	content:"W";
}

.castlist div.casttext ul.size li:nth-child(4):before{
	content:"H";
}

.castlist div.casttext ul.size li:after{
	display:inline-block;
	content:"/";
	
	box-sizing: border-box;
	padding:0 1.5px;
}

.castlist div.casttext ul.size li:last-child:after{
	display:none;
}

.castlist div.casttext ul.feature{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: center;
	
	width:100%;
}

.castlist div.casttext ul.feature li{
	width:25%;
	max-width: 50px;
	
	box-sizing: border-box;
	padding:2.5px;
}

.castlist div.casttext ul.feature li img{
	width:100%;
	vertical-align: bottom;
}

.castlist div.casttext ul.feature li span.note{
	display:block;
	position: relative;
	
	font-size:0.6rem;
	line-height:15px;
	
	text-align: center;
}

.castlist div.casttext ul.feature li span.note:before{
	display:block;
	content:"";
	
	box-sizing: border-box;
	padding-top:100%;
	
	background-color:#980270;
	color:#fff;
}

.castlist div.casttext ul.feature li span.note b{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	
	position: absolute;
	top:0;
	left:0;
	
	width:100%;
	height:100%;
	
	text-align: center;
	font-weight:normal;
	color:#fff;
	
	box-sizing: border-box;
	padding:2.5px;
	
	overflow: hidden;
}

.castlist div.casttext p.standby{
	font-size:0.8rem;
	line-height:30px;
	
	text-align: center;
	
	font-weight:bold;
}

@media only screen and (min-width: 375px){
	
	.castlist div.casttext p.standby{
		font-size:1.0rem;
		line-height:30px;
	}
	
}

.castlist div.casttext p.standby span{
	display:inline-block;
	position: relative;
	
	box-sizing: border-box;
	padding-left:55px;
}

.castlist div.casttext p.standby span.today:before{
	display:block;
	content:"本日出勤";
	
	width:50px;
	
	font-size:0.6rem;
	line-height:15px;
	
	text-align: center;
	
	position: absolute;
	top:7.5px;
	left:0;
	
	background-color:#000;
	color:#fff;
}

.castlist div.casttext p.standby span.next:before{
	display:block;
	content:"次回出勤";
	
	width:50px;
	
	font-size:0.6rem;
	line-height:15px;
	
	text-align: center;
	
	position: absolute;
	top:7.5px;
	left:0;
	
	background-color:#000;
	color:#fff;
}

.castlist p.btn-reserve{
	width:120px;
	margin:0 auto 5px;
	
	font-size:0.8rem;
	line-height:30px;
	
	text-align: center;
}

.castlist p.btn-reserve a{
	display:block;
	
	background-color:#f44;
	color:#fff;
	
	background-image: url("../images/icon-castlist-btn-reserve-white.webp");
	background-repeat: no-repeat;
	background-size:15px;
	background-position: center left 15px;
	
	border-radius:5px;
	
	transition: 0.25s;
}

.castlist p.btn-reserve a:hover{
	background-color:#f0f0f0;
	color:#980270;
	
	text-decoration: none;
	
	background-image: url("../images/icon-castlist-btn-reserve-color.webp");
}


/*//////////----- CASTLIST-NOTICE-CASTSELECTT -----//////////*/


.castlist div.inner label.notice-castchoice{
	cursor: pointer;
	
	display:block;
	width:100%;
	height:100%;
	
	position: absolute;
	top:0;
	left:0;
	
	z-index: 10;
	
	background-color:#000;
}

.castlist div.inner label.notice-castchoice:before{
	display:block;
	content:"";
	
	width:25px;
	height:25px;
	
	background-color:#fff;
	
	position: absolute;
	top:0;
	left:5px;
}

.castlist div.inner input[type="radio"]:checked ~ label.notice-castchoice:before{
	box-sizing: border-box;
	border:solid 3.5px #fff;
	
	background-color:#980270;
	background-image: url("../images/icon-form-checked-white.webp");
	background-repeat: no-repeat;
	background-size:15px;
	background-position: center;
}

.castlist div.inner input[type="checkbox"]:checked ~ label.notice-castchoice:before{
	box-sizing: border-box;
	border:solid 3.5px #fff;
	
	background-color:#980270;
	background-image: url("../images/icon-form-checked-white.webp");
	background-repeat: no-repeat;
	background-size:15px;
	background-position: center;
}

/*//////////----- RANKINGLIST -----//////////*/

.rankinglist a{
	display:block;
	
	color:#000;
	
	transition: 0.25s;
	
	box-sizing: border-box;
	padding:5px;
	
	background-color:#f0f0f0;
}

.rankinglist:nth-child(1) a{
	background:linear-gradient(left, #980270 0%, #1b161c 25%, #1b161c 50%, #980270 75%, #980270 100%);
	background: -webkit-linear-gradient(left, #980270 0%, #1b161c 25%, #1b161c 50%, #980270 75%, #980270 100%);
	background: -moz-linear-gradient(left, #980270 0%, #1b161c 25%, #1b161c 50%, #980270 75%, #980270 100%);
	background: -o-linear-gradient(left, #980270 0%, #1b161c 25%, #1b161c 50%, #980270 75%, #980270 100%);
	background: -ms-linear-gradient(left, #980270 0%, #1b161c 25%, #1b161c 50%, #980270 75%, #980270 100%);
}

.rankinglist:nth-child(2) a{
	background:linear-gradient(left, #757575 0%, #9E9E9E 25%, #E8E8E8 50%, #9E9E9E 75%, #757575 100%);
	background: -webkit-linear-gradient(left, #757575 0%, #9E9E9E 25%, #E8E8E8 50%, #9E9E9E 75%, #757575 100%);
	background: -moz-linear-gradient(left, #757575 0%, #9E9E9E 25%, #E8E8E8 50%, #9E9E9E 75%, #757575 100%);
	background: -o-linear-gradient(left, #757575 0%, #9E9E9E 25%, #E8E8E8 50%, #9E9E9E 75%, #757575 100%);
	background: -ms-linear-gradient(left, #757575 0%, #9E9E9E 25%, #E8E8E8 50%, #9E9E9E 75%, #757575 100%);
}

.rankinglist:nth-child(3) a{
	background:linear-gradient(left, #a57e65 0%, #a57e65 25%, #f3cfb8 50%, #a57e65 75%, #a57e65 100%);
	background: -webkit-linear-gradient(left, #a57e65 0%, #a57e65 25%, #f3cfb8 50%, #a57e65 75%, #a57e65 100%);
	background: -moz-linear-gradient(left, #a57e65 0%, #a57e65 25%, #f3cfb8 50%, #a57e65 75%, #a57e65 100%);
	background: -o-linear-gradient(left, #a57e65 0%, #a57e65 25%, #f3cfb8 50%, #a57e65 75%, #a57e65 100%);
	background: -ms-linear-gradient(left, #a57e65 0%, #a57e65 25%, #f3cfb8 50%, #a57e65 75%, #a57e65 100%);
}

.rankinglist a:hover{
	opacity: 0.6;
	
	text-decoration: none;
}

.rankinglist div.inner{
	box-sizing: border-box;
	padding:5px;
	/*border:solid 5px #f0f0f0;*/
	
	position: relative;
	
	background-color:#fff;
	color:#000;
}

@media only screen and (min-width: 720px){
	
	.rankinglist div.inner{
		padding:7.5px;
	}

}

.rankinglist p.castrank{
	width:60px;
	text-align: center;
	
	position: absolute;
	top:-5px;
	right:-5px;
	
	z-index: 10;
}

.rankinglist p.castrank span.note{
	display:block;
	
	font-size:0.8rem;
	line-height:60px;
	font-weight:bold;
	
	background-color:#000;
	color:#fff;
}

.rankinglist:nth-child(1) p.castrank span.note{
	background-color:#980270;
}

.rankinglist:nth-child(2) p.castrank span.note{
	background-color:#757575;
}

.rankinglist:nth-child(3) p.castrank span.note{
	background-color:#a57e65;
}

.rankinglist div.castinfo{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.rankinglist div.castinfo div.castimg{
	width:90px;
}

@media only screen and (min-width: 480px){
	
	.rankinglist div.castinfo div.castimg{
		width:120px;
	}
	
}

@media only screen and (min-width: 720px){
	
	.rankinglist:nth-child(-n+3) div.castinfo div.castimg{
		width:100%;
	}
	
}

.rankinglist div.castinfo div.castimg p.thumbnail{
	width:100%;
	position: relative;
}

.rankinglist div.castinfo div.castimg p.thumbnail img{
	width:100%;
	vertical-align: bottom;
}

.rankinglist div.casttext{
	width:calc(100% - 90px);
	
	box-sizing: border-box;
	padding-left:10px;
	/*padding-top:25px;*/
}

@media only screen and (min-width: 480px){
	
	.rankinglist div.casttext{
		width:calc(100% - 120px);
	}
	
}

@media only screen and (min-width: 720px){
	
	.rankinglist:nth-child(-n+3) div.casttext{
		width:100%;
		
		padding-left:0;
		padding-top:5px;
	}
	
}

.rankinglist div.casttext h4{
	font-weight:bold;
	color:#000;
	
	font-size:1.15rem;
	line-height:1.5em;
	
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.rankinglist div.casttext h4 span.note{
	display:inline-block;
	
	font-size:0.8rem;
	line-height:20px;
	font-weight:normal;
}

.rankinglist div.casttext h4 span.note:before{
	display:inline-block;
	content:"-";
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.rankinglist div.casttext h4 span.note:after{
	display:inline-block;
	content:"-";
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.rankinglist div.casttext ul.size{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.rankinglist div.casttext ul.size li{
	display:inline-block;
	
	font-size:0.8rem;
	line-height:25px;
}

@media only screen and (min-width: 375px){
	
	.rankinglist div.casttext ul.size li{
		font-size:1.0rem;
		line-height:25px;
	}
	
}

.rankinglist div.casttext ul.size li:before{
	display:inline-block;
	
	box-sizing: border-box;
	padding-right:1.5px;
	
	font-size:0.8rem;
	line-height:25px;
}

.rankinglist div.casttext ul.size li:nth-child(1):before{
	content:"T";
}

.rankinglist div.casttext ul.size li:nth-child(2):before{
	content:"B";
}

.rankinglist div.casttext ul.size li:nth-child(2) span.note{
	font-size:0.7rem;
	line-height:25px;
	font-weight:normal;
}

.rankinglist div.casttext ul.size li:nth-child(2) span.note:before{
	display: inline-block;
	content:"-";
	
	box-sizing: border-box;
	padding:0 1.5px;
}

.rankinglist div.casttext ul.size li:nth-child(3):before{
	content:"W";
}

.rankinglist div.casttext ul.size li:nth-child(4):before{
	content:"H";
}

.rankinglist div.casttext ul.size li:after{
	display:inline-block;
	content:"/";
	
	box-sizing: border-box;
	padding:0 1.5px;
}

.rankinglist div.casttext ul.size li:last-child:after{
	display:none;
}

.rankinglist div.casttext ul.feature{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.rankinglist div.casttext ul.feature li{
	width:25%;
	max-width: 50px;
	
	box-sizing: border-box;
	padding:2.5px;
}

.rankinglist div.casttext ul.feature li img{
	width:100%;
	vertical-align: bottom;
}

.rankinglist div.casttext ul.feature li span.note{
	display:block;
	position: relative;
	
	font-size:0.6rem;
	line-height:15px;
	
	text-align: center;
}

.rankinglist div.casttext ul.feature li span.note:before{
	display:block;
	content:"";
	
	box-sizing: border-box;
	padding-top:100%;
	
	background-color:#980270;
	color:#fff;
}

.rankinglist div.casttext ul.feature li span.note b{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	
	position: absolute;
	top:0;
	left:0;
	
	width:100%;
	height:100%;
	
	text-align: center;
	font-weight:normal;
	color:#fff;
	
	box-sizing: border-box;
	padding:2.5px;
	
	overflow: hidden;
}

.rankinglist div.casttext p.comment{
	font-size:0.8rem;
	line-height:1.75em;
	
	margin-top:5px;
}

@media only screen and (min-width: 720px){
	
	.rankinglist:nth-child(-n+3) div.casttext h4{
		text-align: center;
	}
	
	.rankinglist:nth-child(-n+3) div.casttext ul.size{
		justify-content: center;
	}
	
	.rankinglist:nth-child(-n+3) div.casttext ul.feature{
		justify-content: center;
	}
	
}

/*//////////----- GRAVURELIST -----//////////*/

.gravurelist > a{
	display:block;
	
	color:#000;
	
	transition: 0.25s;
}

.gravurelist > a:hover{
	opacity: 0.6;
	
	text-decoration: none;
}

.gravurelist div.inner{
	box-sizing: border-box;
	padding:5px;
	
	position: relative;
	
	background-color:#fff;
	color:#000;
}

.gravurelist p.thumbnail img{
	width:100%;
	vertical-align: bottom;
}

.gravurelist div.text{
	box-sizing: border-box;
	padding:5px;
	
	text-align: center;
}

.gravurelist div.text h4{
	font-weight:bold;
}

.gravurelist div.text p.author{
	font-size:0.8rem;
	line-height:30px;
}
