/*==================================================
　 TOPICS レイアウト
====================================================*/
.topicsLayout {
	margin: 1em 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.topicsLayout H3 {
	
}
.topicsLayout p {
	width: 90%;
	margin: 1em auto;
	margin-top: 1em;
}
.topicsLayout img {
	width: 100%;
}
.SankouTpc {
	width: 90%;
	margin: 2em auto 0 auto;
}

/* 2024/04/02追加 */
.tpc_titleLink {
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.tpc_link {
	font-size: 20px;
	color: #7F7F7F;
	font-weight: bold;
}
.tpc_allImage {
	text-align: right;
}
.tpc_titleLink a:hover {
	opacity: 0.33;
	transition: all .3s;
}
.tpc_allImage a:hover {
	opacity: 0.33;
	transition: all .3s;
}

/* サイドバー */
.sidebar h3 {
	margin-top: 0;
	font-size: 20px;
	position: relative;
	padding: 1rem 2rem;
	text-align: center;
	border: 3px solid #666;
	background-color: #fff;
	margin-bottom: 0;
}
/*.sidebar h3:before {
	font-size: 15px;
	position: absolute;
	top: -24px;
	left: -3px;
	height: 24px;
	padding: 0 1em;
	content: 'RANKING';
	color: #fff;
	background: #666;
}*/
.sideRank {
	border: 3px solid #666;
	border-top: 0;
	height: 530px;
	overflow-y: auto;
}
.sideRank::-webkit-scrollbar {
    width: 8px;
}
.sideRank::-webkit-scrollbar-thumb {
    background: #34c0eb;
    border-radius: 10px;
}
.sideRank::-webkit-scrollbar-track {
    background: #ededed;
    border-radius: 10px;
}
.sideRank ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.sideRank ul li {
	padding: 5px;
    line-height: 1.3;
    margin-bottom: 4px;
}
.sideRank ul li:hover {
	background-color: #e5f4ff;
	transition: all 0.3s ease-in-out;
	border-radius: 14px;
}
.sideRank a {
	display: flex;
    align-items: center;
    text-decoration: none;
	color: #666;
	font-size: 13px;
	font-weight: bold;
}
.sideRank img {
	width: 120px;
	margin-right: 5px;
}

/* サイドバー タブ */
/*tabの形状*/
.tab-area {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
}
.tab, .hasCategory {
	display: block;
	font-size: 15px;
	color: #fff;
	background: #666;
	margin: 0 4px 2px 0;
	padding: 5px 10px;
	text-decoration: none;
}
.tab:hover, .hasCategory:hover {
	cursor: pointer;
}

/*liにactiveクラスがついた時の形状*/
.tab.active, .hasCategory.active {
	border-top: 2px solid #666;
	border-right: 2px solid #666;
	border-left: 2px solid #666;
	margin-bottom: 0;
}


/*エリアの表示非表示と形状*/
.area, .areaCtg {
	display: none;/*はじめは非表示*/
	opacity: 0;/*透過0*/
	background: #fff;
}

/*areaにis-activeというクラスがついた時の形状*/
.area.is-active, .areaCtg.is-active {
    display: block;/*表示*/
    animation-name: displayAnime;/*アニメーション*/
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* カテゴリ　タブ */
ul.hasCategory-child {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    margin: 0;
    padding: 5px;
    background: #fff;
    border: 2px solid #666;
    list-style: none;
}
.hasCategory-child li {
    margin:10px 0 0 0;
	padding: 0px;
    font-size: 14px;
    color: #666;
    background: #fff;
}
.hasCategory-child li:hover {
	color: #d1d1d1;
	transition: all .3s;
}
.tab-area > li.hasCategory {
    position: relative;
}
li.hasCategory ul.hasCategory-child {
    position: absolute;
    width: 200px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    left: 0px;
    top: 32px;
}
li.hasCategory:hover ul.hasCategory-child {
    visibility: visible;
    opacity: 1;
}
.hasCategory-child:before{
    position: absolute;
    top: -30px;
    left: 50%;
    margin-left: -15px;
    width: 265px;
    font-size: 14px;
    border: 2px solid #666;
    border-bottom: 15px solid #333333;
}



/*==================================================
　 画像が複数の場合 スライドショー
====================================================*/
.slick-dots li button:before {
  font-size: 18px;
}