@charset "utf-8";
/* CSS Document */
.ranking_lower {
	padding-bottom: 0;
}
.ranking_head {
	background-color: #000c37;
}
.ranking_lower .ranking_head h1{
	white-space: nowrap;
}
.ranking_billboard{
	width: 100%;
	background: #293c7c;
	background-image: linear-gradient(45deg, #142560 25%, transparent 0), linear-gradient(45deg, transparent 75%, #142560 0), linear-gradient(45deg, #142560 25%, transparent 0), linear-gradient(45deg, transparent 75%, #142560 0);
	background-size: 80px 80px;
	background-position: 0 0, 40px 40px, 40px 40px, 80px 80px;
}
.ranking_billboard ._inner{
	width: 900px;
	height: auto;
	display: block;
	margin: auto;
	padding: 25px 0 20px 60px;
	background-color: #142560;
	position: relative;
}
.ranking_billboard ._inner:after{
	content: "";
	position: absolute;
	background-image: url("/assets/img/ranking/cast_ranking_chara_pc.webp");
	right: 25px;
	bottom: 0;
	width: 170px;
	height: 217px;
	background-position: top center;
}
.ranking_billboard .ranking_time{
	color: #FFFFFF;
	border: solid 4px #FFFFFF;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	padding: 6px 35px 8px 35px;
	display: inline-block;
	text-align: center;
}
.ranking_billboard ._inner figure{
	margin-top: 25px;
}
.ranking_billboard ._inner ._week{
	margin-top: 0;
}
.ranking_head h1{
	margin: auto;
	padding: 0 190px;
}
@media screen and (max-width: 760px) {
	.ranking_lower .ranking_head h1{
		font-size: 4vw;
		white-space: initial;
	}
	.ranking_billboard .ranking_time{
		border: solid 2px #FFFFFF;
		padding: 0.6vw 7vw;
		margin-bottom: 4vw;
		font-size: 3.2vw;
		text-align: center;
	}
	.ranking_billboard ._inner{
		width: 100%;
		padding: 3.6vw 4vw;
	}
	.ranking_billboard ._inner figure{
		margin-top: 0;
  		display: flex;
  		flex-direction: column;
	}
	.ranking_billboard ._inner:after{
		background-image: url("/assets/img/ranking/cast_ranking_chara_sp.webp");
		right: 4vw;
		bottom: 0;
		width: 17vw;
		height: 28vw;
		background-position: top center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.ranking_billboard ._cast_rank{
		width: 70vw;
		height: auto;
	}
	.ranking_billboard ._inner ._week{
		width: 41vw;
		height: auto;
		margin-top: 1.6vw;
	}
}

/*メインコンテンツ---------------*/
.ranking_contents_wrap{
	z-index: 2;
	background-color: #fffef2;
	padding-top: 30px;
	padding-bottom:100px;
}
.ranking_contents_wrap .search_box_row{
	margin-top: 0;
	margin-bottom: 0;
	box-shadow: initial;
	border: 1px solid #8e8e8e;
}
.ranking_contents_wrap .search_box_row > div:not(:last-child){
	border-right:1px solid #8e8e8e;
}
.ranking_contents_wrap .search_box_row._bottom{
	margin-top: 60px;
}

@media screen and (max-width: 760px) {
	.ranking_contents_wrap{
		padding-top: 1vw;
	}
	.ranking_contents_wrap .search_box_row{
		border: 1px solid #8e8e8e;
	}

	.ranking_contents_wrap .search_box_row > div:not(:last-child){
		border-right: initial;
		border-bottom: 1px solid #8e8e8e;
	}
	.search_box_row > div .right_text{
		width: auto;
		white-space: nowrap;
		display: flex;
		align-items: center;
		justify-content: center;
		padding-right: 2vw;
	}
	.ranking_contents_wrap .search_box_row._bottom{

	}
}


/*3位までと4位以下の共通CSS---------------*/
.ranking_contents_wrap h3{
	color: #6a5656;
	font-size: 32px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}
.top_ranking_list{
	width: 1100px;
	margin: 80px auto auto auto;
}
.basic_ranking_list{
	width: 1100px;
	margin: 60px auto auto auto;
}
.img_wrap{
	position: relative;
	width: 100%;
	display: block;
}
.img_wrap ._cronwn{
	position: absolute;
	border-radius: 50%;
	background-size: cover;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.img_wrap ._cronwn.woman {
	background-image: url("/assets/img/ranking/rank_base_woman_pc.webp");
}
.img_wrap ._cronwn.man {
	background-image: url("/assets/img/ranking/rank_base_man_pc.webp");
}

.common_ranking_list ._shop_info{
	position: absolute;
	width: 100%;
	height: 70px;
	bottom: 0;
	left: 0;
	background-color: rgb(252,252,252,0.8);
	padding: 10px;
	display: flex;
	flex-direction: row;
}
.common_ranking_list .icon_side img{
	width: 50px;
	height: 50px;
	vertical-align:top;
	object-fit: cover;
}
.common_ranking_list .text_side {
	margin-left: 10px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.common_ranking_list .text_side span{
	font-size: 12px;
	color: #525252;
	line-height: 1;
	display: inline-block;
	display: -webkit-box;
  	overflow: hidden;
  	-webkit-line-clamp: 1;
  	-webkit-box-orient: vertical;
}
.common_ranking_list .text_side strong{
	font-size: 16px;
	font-weight: bold;
	color: #9b6565;
	margin-top: 0px;
	line-height: 1.2;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.common_ranking_list ul li ._name{
	font-size: 20px;
	color: #9b6565;
	font-weight: bold;
	text-align: center;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media screen and (max-width: 760px) {
	.common_ranking_list{
		padding: 0 4vw;
	}
	.ranking_contents_wrap h3{
		font-size: 6vw;
		letter-spacing: 1px;
	}
	.img_wrap ._cronwn.woman {
		background-image: url("/assets/img/ranking/rank_base_woman_sp.webp");
	}
	.img_wrap ._cronwn.man {
		background-image: url("/assets/img/ranking/rank_base_man_sp.webp");
	}
	.common_ranking_list .text_side{
		margin-left: 1.6vw;
	}
	.common_ranking_list .text_side span{
		line-height: 1.2;
	}
}


/*3位までのリスト-----------------------------------*/
.top_ranking_list ul{
	margin-top: 30px;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}
.top_ranking_list ul li{
	width: 350px;
	padding: 20px 20px 15px 20px;
	margin-left: 25px;
	border-radius: var(--basic_radius);
}
.top_ranking_list ul li:first-child{
	margin-left: 0;
}
.top_ranking_list ul li ._name{
	margin-top: 15px;
}

.top_ranking_list .img_wrap ._cronwn {
	width: 80px;
	height: 80px;
	left: -10px;
	top: -10px;
}
.top_ranking_list .img_wrap ._cronwn span{
	font-size: 22px;
	font-weight: bold;
	color: #fff;
	padding-top: 19px;
}
.top_ranking_list .img_wrap ._cronwn span strong{
	font-size: 32px;
}
.top_ranking_list .img_wrap ._cast_img{
	width: 100%;
	height: 420px;
	display: block;
}
.top_ranking_list .img_wrap ._cast_img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--basic_radius);
	box-shadow: var(--brown_box_shadow);
}
.top_ranking_list .img_wrap ._cast_img img:hover{
	opacity: 0.8;
}
.top_ranking_list ul li.woman{
	background-image: linear-gradient(180deg, #fff8f8 0%, #fffbfb 50%, #fff 100%);
	border: 1px solid #ffaaaa;
}
.top_ranking_list ul li.man{
	background-image: linear-gradient(180deg, #eef4fe 0%, #f5f9fe 50%, #fff 100%);
	border: 1px solid #5486d1;
}
.top_ranking_list ._shop_info{
	border-radius: 0 0 var(--basic_radius) 0;
}
.top_ranking_list ._shop_info:hover{
	opacity: 0.8;
}


@media screen and (max-width: 760px) {
	.top_ranking_list{
		width: 100%;
		margin-top: 10vw;
	}
	.top_ranking_list ul{
		margin-top: 2vw;
		flex-direction: column;
	}
	.top_ranking_list ul li{
		width: 100%;
		padding: 4vw;
		margin-top: 4vw;
		margin-left: initial;
	}
	.top_ranking_list ul li:last-child{
		margin-top: 4vw;
	}
	.top_ranking_list ul li ._name{
		font-size: 4.6vw;
	}
	.top_ranking_list .img_wrap ._cast_img{
		height: 100vw;
	}
	.top_ranking_list .img_wrap ._cronwn{
		width: 15vw;
		height: 15vw;
		left: -2vw;
		top: -2vw;
	}
	.top_ranking_list .img_wrap ._cronwn span{
		padding-top: 5vw;
		font-size: 3.4vw;
	}
	.top_ranking_list .img_wrap ._cronwn span strong{
		font-size: 5vw;
	}
	.top_ranking_list ul li ._name{
		margin-top: 3vw;
	}
	.top_ranking_list ._shop_info{
		padding: 3vw;
		height: auto;
	}
	.top_ranking_list .icon_side img{
		width: 12vw;
		height: 12vw;
	}
	.top_ranking_list .text_side{
		margin-left: 2vw;
	}
	.top_ranking_list .text_side span{
		font-size: 3vw;
	}
	.top_ranking_list .text_side strong{
		margin-top: 1vw;
		font-size: 3.4vw;
	}
	.top_ranking_list ul li.woman{
		border: 2px solid #ffaaaa;
	}
	.top_ranking_list ul li.man{
		border: 2px solid #5486d1;
	}

}


/*4位以下のリスト-----------------------------------*/
.basic_ranking_list ul{
	margin-top: 10px;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.basic_ranking_list ul li{
	width: 250px;
	margin-right: calc(100px / 3);
	margin-top: 30px;
}
.basic_ranking_list ul li a:hover{
	opacity: 0.8;
}
.basic_ranking_list ul li:nth-child(4n){
	margin-right: 0;
}

.basic_ranking_list ul li ._cast_img{
	width: 100%;
	height: 340px;
	display: block;
}
.basic_ranking_list ul li ._cast_img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius:3px;
}
.basic_ranking_list ul li ._name{
	margin-top: 5px;
}
.basic_ranking_list .img_wrap{
	border: 1px solid #bc9c70;
	border-radius: var(--basic_radius);
}
.basic_ranking_list .img_wrap ._cronwn{
	width: 60px;
	height: 60px;
	top: -10px;
	left: -10px;
}
.basic_ranking_list .img_wrap ._cronwn span {
	font-size: 12px;
	font-weight: bold;
	color: #fff;
	padding-top: 19px;
}
.basic_ranking_list .img_wrap ._cronwn span strong{
	font-size: 18px;
	line-height: 1;
}
.basic_ranking_list ._shop_info{
	border-radius: 0 0 var(--basic_radius) 4px;
}


@media screen and (max-width: 760px) {
	.basic_ranking_list{
		width: 100%;
		margin-top: 11vw;
	}
	.basic_ranking_list ul{
		margin-top: 0;
	}
	.basic_ranking_list ul li{
		width: 48%;
		margin-top: 6vw;
		margin-right: 4%;
	}
	.basic_ranking_list ul li:nth-child(2n){
		margin-right: 0;
	}
	.basic_ranking_list ul li ._cast_img{
		height: 58vw;
	}
	.basic_ranking_list ._shop_info{
		height: auto;
		padding: 1.6vw;
		border-radius: 0 0 var(--basic_radius) var(--basic_radius);

	}
	.basic_ranking_list .icon_side img{
		width: 9vw;
		height: 9vw;
	}
	.basic_ranking_list .text_side span{
		font-size: 2.4vw;
	}
	.basic_ranking_list .text_side strong{
		font-size: 2.6vw;
	}
	.basic_ranking_list ul li ._name{
		margin-top: 1vw;
		font-size: 3.6vw;
	}
	.basic_ranking_list .img_wrap{
		border: 2px solid #bc9c70;

	}
	.basic_ranking_list .img_wrap ._cronwn{
		width: 11vw;
		height: 11vw;
		top: -2vw;
		left: -2vw;
	}
	.basic_ranking_list .img_wrap ._cronwn span{
		font-size: 2.8vw;
		padding-top: 4vw;
	}
	.basic_ranking_list .img_wrap ._cronwn span strong{
		font-size: 3.4vw;
	}
	.basic_ranking_list ul li ._cast_img img{
		border-radius: calc(2vw - 2px);
	}
}

/*shopランキングのリンク-----------------------------------*/
.shop_rank_link{
	height: 200px;
	width: 200px;
	border-radius: 50%;
	background-color: #ffe061;
	border: 1px solid #96938b;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}
.shop_rank_link span{
	color: #514343;
	font-weight: bold;
	line-height: 1.5;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	position: relative;
	padding-top: 17px;
}
.shop_rank_link span:after{
	position: absolute;
	font-size: 50px;
	content: '\f105';
	font-family: FontAwesome;
	bottom: -60px;
	left: 50%;
	transform: translateX(-50%);
	font-weight: initial;
}
.top_ranking_list .shop_rank_link_wrap{
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 120px;
}
.basic_ranking_list .shop_rank_link_wrap{
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 70px;
}
/*4位以下がいない場合*/
.no_rank_in_result{
	margin-top: 40px;
	margin-bottom: 40px;
}
.no_rank_in_result .shop_rank_link{
	margin: auto;
}
.no_rank_in_result .info{
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
	display: block;
}

@media screen and (max-width: 760px){
	.shop_rank_link{
		width: 35vw;
		height: 35vw;
	}
	.shop_rank_link span{
		font-size: 4.6vw;
		padding-top: 4vw;
		line-height: 1.3;
	}
	.top_ranking_list .shop_rank_link_wrap{
		padding-top: 4vw;
	}

	.basic_ranking_list .shop_rank_link_wrap{
		padding-top: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 45vw;
	}
	.shop_rank_link span:after{
		font-size: 8vw;
		bottom: -10vw;
	}
	.no_rank_in_result{
		margin-top: 6vw;
		margin-bottom: 6vw;
	}
}
