
/* ----------------------------------------
* 基本指定
---------------------------------------- */
*{
	box-sizing: border-box !important;
	font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','osaka',Verdana,'ＭＳ Ｐゴシック',sans-serif;
}

html,body{
	font-size:12px;
}
body{
	color:#555555;
	background-color:#ffffff;
	width:100%;
	height:100%;
	margin:0 auto;
	padding:0;
	line-height:1.4;
}

a{
	text-decoration: none;
	transition: .2s;
}

.clearfix{
	clear:both;
	display:block;
}
.fs08{
	font-size:0.8rem !important;
}
.fs09{
	font-size:0.9rem !important;
}
.fs10{
	font-size:1.0rem !important;
}
.fs12{
	font-size:1.2rem !important;
}
.fs14{
	font-size:1.4rem !important;
}
.fs16{
	font-size:1.6rem !important;
}
.fs18{
	font-size:1.8rem !important;
}
.fs20{
	font-size:2.0rem !important;
}

.mb30{
	margin-bottom:3.0rem;
}

/*==================================
* 色系
===================================*/
.keycolor01{
	color:#ff549b;
}
.keycolor01back{
	color:#ffffff;
	background:#ff549b;
}
.keycolor01border{
	border-color:#ff549b;
}
.keycolor01btn{
	color:#ffffff;
	background:#ff549b;
	border:1px solid #ff549b;
}
.keycolor01btnhover:hover{
	color:#ff549b;
	background:transparent;
	border:1px solid #ff549b;
}

.keycolor02{
	color:#ffba06;
}
.keycolor02back{
	color:#ffffff;
	background:#ffba06;
}
.keycolor02border{
	border-color:#ffba06;
}
.keycolor02btn{
	color:#ffffff;
	background:#ffba06;
	border:1px solid #ffba06;
}
.keycolor02btnhover:hover{
	color:#ffba06;
	background:transparent;
	border:1px solid #ffba06;
}

/*==================================
* コンテンツ基本
===================================*/
.wrap{
	width:100%;
	background:#ffffff;
	max-width:860px;
	margin:0 auto;
}
.contents-block{
	width:100%;
}
.contents-block-inner{
	width:100%;
	padding:1.2rem;
}

.contents-title{
	display:flex;
	border-bottom:1px solid;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding:0.5rem 0;
	margin:0 auto 1.0rem;
}
.contents-title-text{
	font-weight:bold;
	font-size:1.4rem;
}
.contents-title-tags{
	display:flex;
}
.title-tag{
	font-size:1.0rem;
	padding:0.5rem 0.75rem;
	line-height:1.0;
	border-radius:5px;
	margin:0 0 0 0.25rem;
}


/*==================================
* ヘッダー
===================================*/

/*==================================
* フッター
===================================*/
#footer{
	text-align:center;
	padding:1.0rem;
	background: #dddddd;
	font-size:0.9rem;
}
.footer_notes{
	text-align:center;
	font-size:0.9rem;
	padding:0.25rem 0;
}
/*==================================
* コンテンツ
===================================*/

/*-----------------------------------
	メインイメージ
----------------------------------- */
.topmain{
	display:block;
	line-height:0;
}
.main-image{
	width:100%;
	line-height:0;
}

/*-----------------------------------
	ランキング
----------------------------------- */
.ranking-block{
	width:100%;
}
.ranking-flex{
	width:100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
}
.ranking-flex.rank-detail{
	padding:1.0rem 0;
	border-bottom:1px dotted #cccccc;
}
.title-sitename,.title-ave,.title-detail{
	text-align:center;
	font-size:1.0rem;
	font-weight:bold;
	background:#f4f2f2;
	padding:0.5rem 0;
	letter-spacing:0.2rem;
	font-size:1.1rem;
}
.title-sitename,.title-ave{
	width:29%;
}
.title-detail{
	width:39%;
}
.ranking-sitename{
	width:29%;
	font-size:1.0rem;
	font-weight:bold;
	text-align:center;
	padding:0 0.5rem;
	display:block;
	color:inherit;
}
.ranking-siteimage{
	width:100%;
	position:relative;
	margin:0 auto 0.5rem;
}
.ranking-siteimage::before{
	content:'';
	padding-top:33.333%;
	display:block;
}
.site-logo{
	width:100%;
	height:100%;
	position:absolute;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
	top:0;
	left:0;
}
.ranking-ave{
	width:29%;
	text-align:center;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	padding:0 0.5rem;
}
.ave-pt{
	font-size:2.2rem;
	font-weight:bold;
}
.ave-star{
	font-size:0.9rem;
}
.star_rating{
	position: relative;
	z-index: 0;
	display: inline-block;
	white-space: nowrap;
	color: #CCCCCC; /* グレーカラー 自由に設定化 */
	/*font-size: 30px; フォントサイズ 自由に設定化 */
	font-size:1.4rem;
	line-height:1.1;
}
.star_rating:before, .star_rating:after{
	content: '★★★★★';
}

.star_rating:after{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	overflow: hidden;
	white-space: nowrap;
	color:#ffba06; /* イエローカラー 自由に設定化 */
}

.star_rating[data-rate="5.0"]:after{ width: 100%; } /* 星5 */
.star_rating[data-rate="4.5"]:after{ width: 90%; } /* 星4.5 */
.star_rating[data-rate="4.0"]:after{ width: 80%; } /* 星4 */
.star_rating[data-rate="3.5"]:after{ width: 70%; } /* 星3.5 */
.star_rating[data-rate="3.0"]:after{ width: 60%; } /* 星3 */
.star_rating[data-rate="2.5"]:after{ width: 50%; } /* 星2.5 */
.star_rating[data-rate="2.0"]:after{ width: 40%; } /* 星2 */
.star_rating[data-rate="1.5"]:after{ width: 30%; } /* 星1.5 */
.star_rating[data-rate="1.0"]:after{ width: 20%; } /* 星1 */
.star_rating[data-rate="0.5"]:after{ width: 10%; } /* 星0.5 */
.star_rating[data-rate="0"]:after{ width: 0%; } /* 星0 */

.rate_max:after{
	color:#cc0000;
}
.detail-ave-text{
	font-size:1.2rem;
	line-height:1.1;
	font-weight:bold;
	vertical-align:middle;
}
.detail-tag-area{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
}
.sttag{
	font-size: 1.0rem;
	padding: 0.5rem 0.75rem;
	line-height: 1.0;
	border-radius: 5px;
	margin: 0 0.25rem 0.25rem 0;
}


.ranking-detail{
	width:39%;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	padding:0 0.5rem;
}
.detail-link{
	font-size:1.0rem;
	width:100%;
	text-align:center;
	padding:0.3rem;
	margin:0 auto;
	font-weight:bold;
	font-size:1.1rem;
	cursor:pointer;
}
.ranking-detail .detail-link:first-child{
	margin:0 auto 0.3rem;
}

/*-----------------------------------
	詳細
----------------------------------- */
.detail-block{
	margin:0 auto 5.0rem;
}
.detail-top{
	width:100%;
	line-height:0;
	display:block;
}
.detail-image{
	width:100%;
}
.detail-middle{
	width:100%;
	margin:1.0rem auto;
	padding:1.0rem;
	background:#fff5f5;
}
.detaile-sitename{
	font-size:1.4rem;
	font-weight:bold;
	letter-spacing:0.1rem;
	margin:0 auto 0.5rem;
}
.detail-text{
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	margin:0 auto 0.25rem;
	font-size:1.2rem;
}
.detail-text-title{
	flex-shrink: 0;
}
.detail-text-inner{
	color:inherit;
}
.detail-bottom{
	width:100%;
}
.detail-feature-title{
	font-size:1.4rem;
	font-weight:bold;
	padding:0.3rem 0;
	border-bottom:1px solid #cccccc;
	letter-spacing:0.1rem;
	margin:0 auto 0.5rem;
}
.detail-feature-text{
	line-height: 1.8;
	text-align:left;
	margin:0 auto 2.0rem;
}
.detail-link-btn{
	width:100%;
	padding:1.0rem;
	text-align:center;
	border:1px solid;
	margin:1.0rem auto;
	display:block;
}
.linktext01{
	font-size:1.2rem;
	letter-spacing:0.1rem;
}
.linktext02{
	font-size:1.6rem;
	font-weight:bold;
	letter-spacing:0.1rem;
}

/*-----------------------------------
	注目タグ
----------------------------------- */
.maintag_area{
	padding: 2rem 0 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;;
}
.maintag_link{
	width:49%;
	margin:0 0 0.25rem 0;
}
.maintag_link a{
	display:block;
	text-align:center;
	padding:1.5rem 0;
	border:1px solid #cccccc;
}
.maintag_link a:hover{
	opacity:0.8;
}

/*-----------------------------------
	PAGE TOP
----------------------------------- */
#page-top {
	width: 4.5rem;
	height: 4.5rem;
	display: none;
	position: fixed;
	right: 1rem;
	bottom: 4rem;
	font-size: 2.0rem;
	line-height:4.5rem;
	text-align:center;
	text-decoration: none;
	border-radius: 50%;
	z-index: 100;
	background-color: #aaaaaa;
	color: #fff;
	opacity:0.8;
}

/*-----------------------------------
	TOP表示制御
----------------------------------- */
.more_read_btn{
	display: block;
	width: 80%;
	margin: 1rem auto;
	max-width: 400px;
	border-radius: 30px;
	padding: 1rem;
	text-align: center;
	font-size:1.2rem;
	letter-spacing:0.25rem;
	cursor:pointer;
	transition: .2s;
}
#next_cont{
	display:none;
}
.more_read_btn.disp_none{
	display:none;
}

/*-----------------------------------
	画面サイズ
----------------------------------- */
@media screen and (min-width:861px){
	.wrap{
		box-shadow:0px 0px 3px 1px rgb(0 0 0 / 18%);
	}
	.contents-block-inner{
		padding:2.0rem;
	}
	#page-top {
		width: 4.5rem;
		height: 4.5rem;
		display: none;
		position: fixed;
		right:calc(50% - 490px);
		bottom: 4rem;
		font-size: 2.0rem;
		line-height:4.5rem;
		text-align:center;
		text-decoration: none;
		border-radius: 50%;
		z-index: 100;
		background-color: #aaaaaa;
		color: #fff;
		opacity:0.8;
	}
}


