/*=================================================
 * CSS for PC
 * ================================================= */

main{
}

#ranking{	padding-top: 70px;}


/** feat **/

.feat{
	width: 1200px;
	background: #fff;
	text-align: center;
	border-radius: 10px;
	margin: 0 auto 50px auto;
	padding: 30px 0 30px 0;
}
.feat .s_title{
	position: relative;
	margin: 0 50px;
	padding: 0 0 15px 0;
	border-bottom: 1px solid #0089d8;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.feat .s_title:after{
	content: '';
	width: 120px;
	height: 120px;
	background: url(img/feat.png) no-repeat;
	position: absolute;
	top: -10px;
	right: -20px;
}

.feat_p{
	font-size: 16px;
	line-height: 20px;
	text-align: center;
	padding: 20px 10px;
}

.feat ul{
	font-size: 0;
	line-height: 0;
	padding: 0 27px;
	order: 1;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.feat li{
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: calc(100% / 6 - 26px);
	margin: 0 13px 20px 13px;
	background: #fff;
}

.feat li .photo{
	position: relative;
	border-radius: 10px;
	box-shadow: 0px 0px 20px 0px rgba(177,226,255,0.2);
}

.feat li .photo a{
	display: block;
	position: relative;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;
}
.feat li .photo a:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
}

.feat li .photo a > img{
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.feat .txt{
	width: 100%;
	color: #000;
	text-align: center;
	padding: 5px 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.feat .txt .name{
	font-size:min(2.8vw, 13px);
	line-height: 1.2;
}
.feat .txt .name a{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size:min(4vw, 18px);
}

.feat .txt .size{
	font-size:min(2.5vw, 11px);
	line-height: 1.5;
	margin: 0 0 5px 0;
}

.feat_in{
	display: flex;
	flex-wrap: wrap;
}

.bt_more{	display: none;}

.bt_more + label.bt1{
	cursor: pointer;
	order: 2;
	margin: 20px auto 20px auto;
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 250px;
	height: 50px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 30px;
	text-align: center;
	text-decoration: none;
	border-radius: 0;
	color: #0089d8;
	background: #fff;
	border: 2px solid #0089d8;
	border-radius: 5px;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;	-webkit-appearance: none;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.bt_more + label.bt1:hover{
	cursor			: pointer;
	text-decoration: none;
	color: #fff;
	background: #0089d8;
}


.bt_more + label.bt1 + ul{
	width: 100%;
	height: 300px;
	overflow-y: hidden;
}

.bt_more:checked + label.bt1{	display: none;}
.bt_more:checked + label.bt1 + ul{	height: auto;}


.ranklist,
.exlist{	margin-bottom: 60px;}

.ranklist h3,
.exlist h3{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: 450px;
	height: 80px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	color: #fff;
	text-align: center;
	background: #00aef3;
	border-radius: 40px;
	margin: 0 auto 110px auto;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.ranklist h3 em,
.exlist h3 em{
	width: 100%;
	font-size: 32px;
	line-height: 34px;
	margin: 0 0 5px 0;
}
.ranklist h3 span,
.exlist h3 span{
	font-family: "FontA";
	font-weight: normal;
	font-size: 14px;
	line-height: 18px;
}
.ranklist h3:before,
.ranklist h3:after,
.exlist h3:before,
.exlist h3:after{
	content: '';
	width: 50px;
	height: 4px;
	background: #00aef3;
	position: absolute;
	top: calc(50% - 2px);
}
.ranklist h3:before,
.exlist h3:before{	left: -50px;}
.ranklist h3:after,
.exlist h3:after{	right: -50px;}
#rank_dia h3{
	margin-bottom: 10px;
	color: #000;
	background: #EAC63D;
	background: linear-gradient(90deg, rgba(234, 198, 61, 1) 0%, rgba(255, 247, 142, 1) 50%, rgba(234, 198, 61, 1) 100%);
	border: 2px solid #fff78e;
	
}
#rank_dia h3:before,
#rank_dia h3:after{
	background: #fff78e;
}
#rank_pre h3{
	margin-bottom: 10px;
	color: #000;
	background: #EAC63D;
	background: linear-gradient(90deg, rgba(226, 226, 226, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(226, 226, 226, 1) 100%);
	border: 2px solid #fff;
}
#rank_pre h3:before,
#rank_pre h3:after{
	background: #fff;
}

#rank_dia h3 em,
#rank_pre h3 em{
	position: absolute;
	bottom: 0;
	left: 0;
	font-size: 18px;
	line-height: 1.4;
}

#rank_dia h3 span,
#rank_pre h3 span{
	position: absolute;
	bottom: -5px;
	left: 0;
}

.rank123{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	justify-content: center;
}


/** no1 **/

.rank1{
	position: relative;
	width: 100%;
	height: 655px;
	background: #fff;
	margin: 0 0 100px 0;
}
.rank1:after{
	content: '';
	width: 100%;
	height: 700px;
	background: url(img/rank1_bg.png) no-repeat;
	position: absolute;
	top: -50px;
	left: 0;
}

.rank1_in{
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	align-content: flex-end;
	justify-content: flex-start;
	width: 1200px;
	height: 100%;
	margin: 0 auto;
	padding: 0 600px 0 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.rank1_in:before{
	content: '';
	width: 600px;
	height: 480px;
	background: url(img/no1.png) no-repeat;
	background-size: 600px auto;
	position: absolute;
	top: -50px;
	left: 0;
}
.rank1_in:after{
	content: '';
	width: 220px;
	height: 220px;
	background: url(img/no1_mark.png) no-repeat;
	background-size: 220px auto;
	position: absolute;
	right: 30px;
	bottom: -40px;
}

.rank1_in .photo{
	position: absolute;
	top: -50px;
	left: 50%;
}
.rank1_in .photo img{
	width: 500px;
	height: 750px;
	border-radius: 10px;
}

.rank1_in .txt{
	width: 100%;
	color: #000;
	text-align: center;
	padding: 0 0 30px 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.rank1_in .txt .name{
	font-size:min(5vw, 20px);
	line-height: 1.5;
}
.rank1_in .txt .name a{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size:min(8vw, 45px);
}

.rank1_in .txt .size{
	font-size:min(3.2vw, 20px);
	line-height: 1.5;
	margin: 0 0 5px 0;
}

.rank1_in .txt .point_box{
	font-size: 0;
	line-height: 0;
	margin: 0 0 5px 0;
	padding: 0 2px;
}
.rank1_in .txt .point{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: calc(100% / 3 - 6px);
	max-width: 115px;
	height: 45px;
	font-size:min(4vw, 23px);
	line-height: 1;
	border-radius: 3px;
	margin: 0 3px;
}

.rank1_in .txt .come{
	font-size:min(3.2vw, 20px);
	line-height: 1.5;
}


/** no2 no3 **/

.rankbox{
	position: relative;
	width: 600px;
	text-align: right;
	margin: 0 0 60px 0;
}

.rankbox:after{
	content: '';
	width: 340px;
	height: 450px;
	position: absolute;
	top: 0;
	left: 0;
}
.rank2{	padding-right: 20px;}
.rank2:after{
	background: url(img/no2.png) no-repeat;
	background-size: 340px auto;
}
.rank3{	padding-left: 20px;}
.rank3:after{
	background: url(img/no3.png) no-repeat;
	background-size: 340px auto;
}

.rankbox_in{
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 300px;
	margin: 0;
	border-radius: 10px;
	box-shadow: 0px 0px 20px 0px rgba(177, 226, 255,0.2);
}

.rankbox_in .photo{
	position: relative;
}

.rankbox_in .photo a{
	display: block;
	position: relative;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;
}
.rankbox_in .photo a:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
}

.rankbox_in .photo a > img,
.rankbox_in .photo > img{
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.rankbox_in .txt{
	width: 100%;
	color: #000;
	text-align: center;
	padding: 5px 0;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 0 0 10px 10px;
	position: absolute;
	bottom: 0;
	left: 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.rankbox_in .txt .name{
	font-size:min(2.8vw, 13px);
	line-height: 1.2;
}
.rankbox_in .txt .name a{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size:min(4vw, 24px);
}

.rankbox_in .txt .size{
	font-size:min(2.5vw, 14px);
	line-height: 1.5;
	margin: 0 0 5px 0;
}

.rankbox_in .txt .point_box{
	font-size: 0;
	line-height: 0;
	margin: 0 0 5px 0;
	padding: 0 2px;
}
.rankbox_in .txt .point{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: calc(100% / 3 - 3px);
	max-width: 65px;
	height: 25px;
	font-size:min(2.5vw, 14px);
	line-height: 1;
	border-radius: 2px;
	margin: 0 1.5px;
}

.rankbox_in .txt .come{
	font-size:min(2.5vw, 14px);
	line-height: 1.5;
}


/** cate **/

.cate{
	font-size: 0;
	line-height: 0;
	padding: 60px 0;
}

.cate a{
	position: relative;
	width: 220px;
	height: 55px;
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 30px;
	color: #fff;
	margin: 0 10px;
	border-radius: 5px;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.cate a:hover{
	text-decoration: none;
	opacity: 0.7;
	filter: alpha(opacity=70);
}
.cate a span{
	margin-right: 5px;
}
.cate a br{	display: none;}


.cate .list1{	background: #fd6363;}
.cate .list2{	background: #ffab34;}
.cate .list3{	background: #9381e1;}
.cate .on:after{
	content: '';
	width: 0;
	height: 0;
	position: absolute;
	bottom: -10px;
	left: calc(50% - 7px);
}
.cate .list1.on:after{
	border-style: solid;
	border-width: 10px 7px 0 7px;
	border-color: #fd6363 transparent transparent transparent;
}
.cate .list2.on:after{
	border-style: solid;
	border-width: 10px 7px 0 7px;
	border-color: #ffab34 transparent transparent transparent;
}
.cate .list3.on:after{
	border-style: solid;
	border-width: 10px 7px 0 7px;
	border-color: #9381e1 transparent transparent transparent;
}


/** soon **/

.soon{
	text-align: center;
	padding: 50px 0;
	background: rgba(255, 255, 255, 0.7);
}

.soon ul{
	font-size: 0;
	line-height: 0;
	padding: 0 40px;
}

.soon li{
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: calc(100% / 5 - 40px);
	margin: 0 20px;
	border-radius: 10px;
	box-shadow: 0px 0px 20px 0px rgba(177, 226, 255,0.2);
}

.soon li .photo{
	position: relative;
}

.soon li .photo a{
	display: block;
	position: relative;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;
}
.soon li .photo a:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
}

.soon li .photo a > img,
.soon li .photo > img{
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.soon .txt{
	width: 100%;
	color: #000;
	text-align: center;
	padding: 5px 0;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 0 0 10px 10px;
	position: absolute;
	bottom: 0;
	left: 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.soon .txt .name{
	font-size:min(2.8vw, 13px);
	line-height: 1.2;
}
.soon .txt .name a{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size:min(4vw, 24px);
}

.soon .txt .size{
	font-size:min(2.5vw, 14px);
	line-height: 1.5;
	margin: 0 0 5px 0;
}

.soon .txt .point_box{
	font-size: 0;
	line-height: 0;
	margin: 0 0 5px 0;
	padding: 0 2px;
}
.soon .txt .point{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: calc(100% / 3 - 3px);
	max-width: 65px;
	height: 25px;
	font-size:min(2.5vw, 14px);
	line-height: 1;
	border-radius: 2px;
	margin: 0 1.5px;
}

.soon .txt .come{
	font-size:min(2.5vw, 14px);
	line-height: 1.5;
}
.soon_img img:nth-of-type(2){	display: none;}



/** exlist **/

.exlist{
	text-align: center;
}
.uptxt{
	font-size: 26px;
	font-weight: bold;
	line-height: 30px;
	text-align: center;
	color: #0689d8;
	margin: 0 0 20px 0;
}

.exlist ul{
	font-size: 0;
	line-height: 0;
	padding: 0 115px;
}

.exlist li{
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: calc(100% / 3 - 30px);
	margin: 0 15px 30px 15px;
	padding: 20px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.exlist li:nth-of-type(n + 4){	margin-bottom: 0;}
.exlist .li_in{
	box-shadow: 0px 0px 21px 0px rgba(0, 0, 0, 0.1);
}
#rank_dia li{
	background: url(./img/rankbox_dia.jpg) no-repeat;
	background-size: cover;
}
#rank_pre li{
	background: url(./img/rankbox_pre.jpg) no-repeat;
	background-size: cover;
}

.exlist li .photo{
	position: relative;
	box-shadow: 0 0 10px 5px rgb(0,0,0,0.15);
	border-radius: 10px;
}

.exlist li .photo a{
	display: block;
	position: relative;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;
}
.exlist li .photo a:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
}
.exlist li .photo a > img{
	width: 100%;
	height: auto;
	border-radius: 10px 10px 0 0;
}
.exlist .txt{
	position: relative;
	width: 100%;
	color: #000;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 0 0 10px 10px;
	text-align: center;
	padding: 10px 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.exlist .txt .name{
	font-size:min(2.8vw, 13px);
	line-height: 1.2;
}
.exlist .txt .name a{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size:min(4vw, 24px);
}

.exlist .txt .size{
	font-size:min(2.5vw, 14px);
	line-height: 1.5;
	margin: 0 0 5px 0;
}
.exlist .txt .point_box{
	display: flex;
	justify-content: center;
	font-size: 0;
	line-height: 0;
	margin: 0 0 5px 0;
	padding: 0 2px;
}
.exlist .txt .point{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: calc(100% / 3 - 3px);
	max-width: 65px;
	height: 25px;
	font-size:min(2.5vw, 14px);
	line-height: 1;
	border-radius: 2px;
	margin: 0 1.5px;
}
.exlist .txt .come{
	font-size:min(2.5vw, 14px);
	line-height: 1.5;
}


/*=================================================
 * CSS for SP
 * ================================================= */

@media screen and (max-width: 650px) {
	#ranking{	padding-top: 40px;}

	/** feat **/
	.feat{
		position: relative;
		width: auto;
		text-align: center;
		border-radius: 0;
		margin: 0 0 30px 0;
		padding: 10px 0;
	}
	.feat .s_title{
		position: relative;
		margin: 0 10px;
		padding: 0 0 10px 0;
	}
	.feat .s_title:after{
		content: '';
		width: 60px;
		height: 60px;
		background: url(img/feat.png) no-repeat;
		background-size: 60px auto;
		position: absolute;
		top: 0;
		right: auto;
		left: calc(100% - 60px);
	}

	.feat_p{
		font-size: 14px;
		line-height: 20px;
		text-align: center;
		padding: 10px;
	}
	.feat ul{
		width: 100%;
		height: auto;
		white-space: nowrap;
		overflow-x: scroll;
		padding: 0;
	}
	.feat ul::-webkit-scrollbar{
		display: none;
	}
	.feat ul{
		position: relative;
		font-size: 0;
		line-height: 0;
		padding: 0 5px 20px 5px;
		order: 1;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.feat ul:after{
		content: '';
		width: 160px;
		height: 25px;
		background: url(img/flick1.png) no-repeat 50% 100%;
		background-size: 160px auto;
		position: absolute;
		bottom: 0;
		left: calc(50% - 80px);
		-webkit-animation-name: blink_icon;
		-webkit-animation-duration: 1s;
		-webkit-animation-timing-function: ease-in-out;
		-webkit-animation-iteration-count:infinite;
	}
	@-webkit-keyframes blink_icon{
		0%	{
				opacity: 0;
				filter: alpha(opacity=0);}
		40%	{
				opacity: 1;
				filter: alpha(opacity=100);}
		60%	{
				opacity: 1;
				filter: alpha(opacity=100);}
		100%	{
				opacity: 0;
				filter: alpha(opacity=0);}
	}
	.bt_more + label.bt1 + ul{
		width: 100%;
		height: auto;
	}

	.feat li{
		position: relative;
		display: inline-block;
		vertical-align: top;
		width: calc(87% / 2 - 10px);
		min-width: 97px;
		height: auto;
		margin: 0 5px;
		background: #fff;
	}

	.feat li .photo{
		position: relative;
		border-radius: 10px;
		box-shadow: 0px 0px 20px 0px rgba(177,226,255,0.2);
	}

	.feat li .photo a{
		display: block;
		position: relative;
		-webkit-transition	: 0.2s ease-in-out;
		-moz-transition	: 0.2s ease-in-out;
		-o-transition	: 0.2s ease-in-out;
		transition		: 0.2s ease-in-out;
	}
	.feat li .photo a:hover{
		opacity: 0.7;
		filter: alpha(opacity=70);
	}

	.feat li .photo a > img{
		width: 100%;
		height: auto;
		border-radius: 10px;
	}

	.feat .txt{
		width: 100%;
		color: #000;
		text-align: center;
		padding: 5px 0;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}

	.feat .txt .name{
		font-size:min(2.8vw, 13px);
		line-height: 1.2;
	}
	.feat .txt .name a{
		font-family: 'Noto Serif JP', serif;
		font-weight: 600;
		font-size:min(4vw, 18px);
	}

	.feat .txt .size{
		font-size:min(2.5vw, 11px);
		line-height: 1.5;
		margin: 0 0 5px 0;
	}

	.feat_in{
		display: flex;
		flex-wrap: wrap;
	}
	.feat label{	display: none !important;}


	.ranklist,
	.exlist{	margin-bottom: 50px;}
	.ranklist h3,
	.exlist h3{
		width: calc(100% - 40px);
		height: 60px;
		border-radius: 30px;
		margin: 0 auto 20px auto;
	}
	.ranklist h3 em,
	.exlist h3 em{
		width: 100%;
		font-size: 22px;
		line-height: 26px;
		margin: 0 0 5px 0;
	}
	.ranklist h3 span,
	.exlist h3 span{
		font-family: "FontA";
		font-weight: normal;
		font-size: 11px;
		line-height: 14px;
	}
	.ranklist h3:before,
	.ranklist h3:after,
	.exlist h3:before,
	.exlist h3:after{
		content: '';
		width: 10px;
		height: 2px;
		position: absolute;
		top: calc(50% - 1px);
	}
	.ranklist h3:before,
	.exlist h3:before{	left: -10px;}
	.ranklist h3:after,
	.exlist h3:after{	right: -10px;}

	#rank_dia h3 em,
	#rank_pre h3 em{
		bottom: 0;
		left: 0;
		font-size: 14px;
		line-height: 1.2;
	}
	#rank_dia h3 span,
	#rank_pre h3 span{
		display: block;
		width: 100%;
		bottom: 3px;
		left: 0;
		text-align: center;
	}
	#rank_dia h3 span img,
	#rank_pre h3 span img{
		width: 260px;
	}

	.rank123{
		display: block;
	}


	/** no1 **/
	.rank1{
		position: relative;
		width: 100%;
		height: auto;
		margin: 0 0 20px 0;
	}
	.rank1:after{
		content: '';
		width: 100%;
		height: 700px;
		background: url(img/rank1_bg.png) no-repeat;
		position: absolute;
		top: -50px;
		left: 0;
	}

	.rank1_in{
		position: relative;
		z-index: 2;
		display: block;
		text-align: right;
		width: auto;
		height: auto;
		margin: 0 auto;
		padding: 0;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.rank1_in:before{
		content: '';
		width: 55vw;
		height: 55vw;
		background: url(img/no1.png) no-repeat;
		background-size: 55vw auto;
		position: absolute;
		top: 0;
		left: -3vw;
	}
	.rank1_in:after{	display: none;}
	.rank1_in .photo{
		display: inline-block;
		vertical-align: top;
		position: static;
		width: 70%;
	}
	.rank1_in .photo img{
		width: 100%;
		height: auto;
		border-radius: 10px;
	}

	.rank1_in .txt{
		width: 100%;
		color: #000;
		text-align: center;
		padding: 0 5px 10px 5px;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}

	.rank1_in .txt .name{
		font-size:min(5vw, 20px);
		line-height: 1.5;
	}
	.rank1_in .txt .name a{
		font-family: 'Noto Serif JP', serif;
		font-weight: 600;
		font-size:min(8vw, 45px);
	}

	.rank1_in .txt .size{
		font-size:min(3.2vw, 20px);
		line-height: 1.5;
		margin: 0 0 5px 0;
	}

	.rank1_in .txt .point_box{
		font-size: 0;
		line-height: 0;
		margin: 0 0 5px 0;
		padding: 0 2px;
	}
	.rank1_in .txt .point{
		display: inline-flex;
		align-items: center;
		align-content: center;
		justify-content: center;
		width: calc(100% / 3 - 6px);
		max-width: 115px;
		height: 45px;
		font-size:min(4vw, 23px);
		line-height: 1;
		border-radius: 3px;
		margin: 0 3px;
	}

	.rank1_in .txt .come{
		font-size:min(3.2vw, 20px);
		line-height: 1.5;
	}


	/** no2 no3 **/
	.rankbox{
		position: relative;
		width: auto;
		text-align: right;
		margin: 0 0 20px 0;
		padding: 0 10px;
	}
	.rankbox:after{
		content: '';
		width: 200px;
		height: 265px;
		position: absolute;
		top: 0;
		left: 10px;
	}
	.rank2{	padding-right: 10px;}
	.rank2:after{
		background: url(img/no2.png) no-repeat;
		background-size: 200px auto;
	}
	.rank3{	padding-left: 10px;}
	.rank3:after{
		background: url(img/no3.png) no-repeat;
		background-size: 200px auto;
	}
	.rankbox_in{	width: 55%;}


	/** cate **/
	.cate{
		font-size: 0;
		line-height: 0;
		text-align: center;
		padding: 20px 0;
	}
	.cate a{
		position: relative;
		width: calc(100% / 3 - 10px);
		height: 40px;
		font-size: 14px;
		line-height: 16px;
		color: #fff;
		margin: 0 5px;
	}
	.cate a span{
		margin-right: 3px;
	}
	.cate a br{	display: inline;}


	/** soon **/
	.soon{
		text-align: center;
		padding: 10px 5px;
	}
	.soon ul{
		height: auto;
		white-space: nowrap;
		overflow-x: scroll;
		padding: 0;
	}
	.soon ul::-webkit-scrollbar{
		display: none;
	}
	.soon li{
		width: calc(87% / 2 - 10px);
		min-width: 97px;
		height: auto;
		margin: 0 5px;
		border-radius: 5px;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.soon li .photo a > img,
	.soon li .photo > img{	border-radius: 5px}
	.soon .txt{
		width: 100%;
		color: #000;
		text-align: center;
		padding: 5px 0;
		border-radius: 0 0 5px 5px;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.soon .txt .name{
		font-size:min(2.8vw, 13px);
		line-height: 1.2;
	}
	.soon .txt .name a{
		font-family: 'Noto Serif JP', serif;
		font-weight: 600;
		font-size:min(4vw, 24px);
	}
	.soon .txt .size{
		font-size:min(2.5vw, 14px);
		line-height: 1.5;
		margin: 0 0 5px 0;
	}
	.soon .txt .point_box{
		font-size: 0;
		line-height: 0;
		margin: 0 0 5px 0;
		padding: 0 2px;
	}
	.soon .txt .point{
		height: 20px;
		font-size:min(2.9vw, 12px);
		line-height: 1;
		margin: 0 1.5px;
	}

	.soon .txt .come{
		font-size:min(2.5vw, 14px);
		line-height: 1.5;
	}
	.soon_img img:nth-of-type(2){
		display: inline-block;
		position: absolute;
		width: 100%;
		height: auto;
		bottom: 9%;
		left: 0;
		-webkit-animation-name: blink_icon;
		-webkit-animation-duration: 1s;
		-webkit-animation-timing-function: ease-in-out;
		-webkit-animation-iteration-count:infinite;
	}


	/** exlist **/
	.exlist{
		text-align: center;
		padding: 0 5px;
	}
	.uptxt{
		font-size: 16px;
		line-height: 20px;
		margin: 0 0 10px 0;
	}
	.exlist ul{	padding: 0;}
	.exlist li{
		width: calc(100% / 2 - 10px);
		height: auto;
		margin: 0 5px 10px 5px;
		padding: 10px;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	#rank_dia.exlist li:nth-of-type(n + 3){	margin-bottom: 0;}
	#rank_dia.rank_pre li:nth-of-type(n + 5){	margin-bottom: 0;}
	.exlist .li_in{
	}
	.exlist li .photo{
		box-shadow: 0 0 5px 3px rgb(0,0,0,0.1);
		border-radius: 5px;
	}
	.exlist li .photo a > img{	border-radius: 5px 5px 0 0}
	.exlist .txt{
		width: 100%;
		color: #000;
		text-align: center;
		padding: 5px 0;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.exlist .txt .name{
		font-size:min(2.8vw, 13px);
		line-height: 1.2;
	}
	.exlist .txt .name a{
		font-family: 'Noto Serif JP', serif;
		font-weight: 600;
		font-size:min(4vw, 24px);
	}

	.exlist .txt .size{
		font-size:min(2.5vw, 14px);
		line-height: 1.5;
		margin: 0 0 5px 0;
	}

	.exlist .txt .point_box{
		font-size: 0;
		line-height: 0;
		margin: 0 0 5px 0;
		padding: 0 2px;
	}
	.exlist .txt .point{
		height: 20px;
		font-size:min(2.9vw, 12px);
		line-height: 1;
		margin: 0 1.5px;
	}
	.exlist .txt .come{
		font-size:min(2.5vw, 14px);
		line-height: 1.5;
	}

}
