*+.c-timeline,
.c-timeline_full {
	margin-top: 40px
}

.c-timeline_full img,
.c-timeline_sidebar img {
	max-width: 100%
}

.c-pageTitle {
	font-weight: 700;
	line-height: 1
}

@media print, screen and (min-width:1025px) {
	.c-pageTitle {
		font-size: 28px;
		letter-spacing: .08em;
		margin-bottom: 15px
	}

}

@media print, screen and (max-width:1024px) {
	.c-pageTitle {
		font-size: 24px;
		letter-spacing: .02em;
		margin-bottom: 13px
	}

}

.c-pageOverview {
	color: #222
}

@media print, screen and (min-width:1025px) {
	.c-pageOverview {
		font-size: 16px;
		line-height: 1.5;
		letter-spacing: .08em;
		margin-bottom: 36px
	}

}

@media print, screen and (max-width:1024px) {
	.c-pageOverview {
		font-size: 12px;
		line-height: 1.75;
		margin-bottom: 20px
	}

}

.c-timeline_head {
	margin-bottom: 24px;
	font-weight: 700;
	font-size: 22px;
	letter-spacing: .08em
}

.c-timeline_inner {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.c-timeline_articleList {
	-ms-flex: 1;
	flex: 1;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-align: start;
	align-items: flex-start
}

.c-timeline_sidebar {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 340px;
	margin-left: 50px
}

.c-timeline_sidebar_innder {
	position: -webkit-sticky;
	position: sticky;
	top: 120px
}

@media print, screen and (min-width:768px) and (max-width:1024px) {
	.c-timeline_full .banner-sp {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-pack: justify;
		justify-content: space-between
	}

}

.c-timeline_pager {
	width: 100%
}

@media print, screen and (max-width:1024px) {
	.c-timeline_pager {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: center;
		justify-content: center
	}

	.c-timeline_link {
		width: 295px;
		height: 50px;
		position: relative;
		margin-top: 40px
	}

}

.c-timeline_link {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
	color: #fff;
	font-weight: 700;
	letter-spacing: .16em;
	background: #999;
	border-radius: 2px
}

@media print, screen and (min-width:1025px) {
	.c-timeline_link {
		width: 720px;
		height: 60px;
		margin-top: 50px;
		transition: background .3s ease-out
	}

	.c-timeline_link:hover {
		background: grey
	}

	.c-timeline_link_icon {
		margin-left: 14px
	}

}

.c-timeline_link_icon {
	width: 22px;
	height: 22px;
	position: relative
}

.c-timeline_link_icon::after,
.c-timeline_link_icon::before {
	display: block;
	content: '';
	width: 10px;
	height: 2px;
	position: absolute;
	top: calc(50% - 1px);
	left: calc(50% - 5px);
	background: #fff
}

.c-timeline_link_icon::after {
	-ms-transform: rotate(90deg);
	transform: rotate(90deg)
}

.loading .c-timeline_link_icon {
	background-image: url(../images/common-loading.gif);
	background-size: contain
}

.loading .c-timeline_link_icon::after,
.loading .c-timeline_link_icon::before {
	display: none
}

@media print, screen and (max-width:1024px) {
	.c-timeline_link_icon {
		position: absolute;
		top: calc(50% - 11px);
		right: 20px
	}

}

*+.c-sidebarRanking {
	margin-top: 50px
}

.c-sidebarRanking_title {
	margin-bottom: 15px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .12em
}

.c-sidebarRanking_tabList {
	display: -ms-flexbox;
	display: flex
}

.c-sidebarRanking_tabList_node {
	width: 100%;
	color: #ccc;
	border-bottom: 1px solid #ccc
}

.c-sidebarRanking_tabList_node.active {
	color: #000;
	border-color: #000
}

.c-sidebarRanking_tab {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
	height: 38px;
	color: inherit;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em
}

.c-sidebarRanking_content {
	margin-top: 30px
}

.c-sidebarRanking_postList_node {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	position: relative
}

.c-sidebarRanking_postList_node+.c-sidebarRanking_postList_node {
	margin-top: 15px
}

.c-sidebarRankingNum {
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none
}

.c-sidebarRankingNum .num {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
	width: 20px;
	height: 20px;
	position: relative;
	color: #fff;
	font-size: 12px;
	z-index: 2
}

.c-sidebarRankingNum::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	top: 0;
	left: 0;
	border-top: 16px solid #000;
	border-right: 16px solid transparent;
	border-bottom: 16px solid transparent;
	border-left: 16px solid #000;
	z-index: 1
}

.c-sidebarRankingNum[data-rank-index="1"]::before {
	border-top: 16px solid #b79346;
	border-left: 16px solid #b79346
}

.c-sidebarRankingNum[data-rank-index="2"]::before {
	border-top: 16px solid #999;
	border-left: 16px solid #999
}

.c-sidebarRankingNum[data-rank-index="3"]::before {
	border-top: 16px solid #825948;
	border-left: 16px solid #825948
}

.c-sidebarRanking_img {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 120px;
	height: 80px;
	position: relative;
	margin-right: 20px;
	border: 1px solid #ddd;
	overflow: hidden
}

.c-sidebarRanking_img::before {
	content: '';
	display: block;
	padding-top: 65.6%
}

.c-sidebarRanking_img img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0
}

.c-sidebarRanking_postList_title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.5
}

@media print, screen and (min-width:1025px) {
	.c-sidebarRanking_img {
		transition: border .3s ease-out
	}

	.c-sidebarRanking_img img {
		transition: transform .3s ease-out
	}

	.c-sidebarRanking_img:hover {
		border-color: #999
	}

	.c-sidebarRanking_img:hover img {
		-ms-transform: scale(1.03);
		transform: scale(1.03)
	}

	.c-sidebarRanking_postList_title:hover {
		text-decoration: underline
	}

}

*+.c-sidebarTags {
	margin-top: 60px
}

.c-sidebarTags_title {
	margin-bottom: 28px;
	font-size: 18px;
	font-weight: 700
}

.c-sidebarTags_list {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: -5px
}

.c-sidebarTags_list_link {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
	height: 30px;
	padding: 0 16px;
	margin: 5px;
	color: #999;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	border: 1px solid #999;
	border-radius: 15px
}

.c-sideBanner {
	display: block;
	border: 1px solid #ddd;
	overflow: hidden
}

*+.c-sideBanner {
	margin-top: 30px
}

@media print, screen and (min-width:768px) and (max-width:1024px) {
	.c-sideBanner {
		width: calc(50% - 6px)
	}

}

@media print, screen and (min-width:1025px) {
	.c-sidebarTags_list_link {
		transition: color .1s ease-out, background .1s ease-out
	}

	.c-sidebarTags_list_link:hover {
		color: #fff;
		background: #999
	}

	.c-sideBanner img {
		transition: transform .3s ease-out
	}

	.c-sideBanner:hover img {
		-ms-transform: scale(1.03);
		transform: scale(1.03)
	}

	.wrapper {
		padding-bottom: 80px
	}

}

.wrapper {
	background-color: #f5f3ef
}

@media print, screen and (max-width:1024px) {
	.contents {
		padding: 40px 15px 60px
	}

}

@media print, screen and (min-width:1025px) {
	#footer {
		margin-top: 0
	}

	.contents {
		padding: 40px 0 0
	}

	.c-pageTitle {
		margin-bottom: 40px
	}

}

.c-timeline+.c-timeline {
	margin-top: 0
}

.rankingPostsWrapper {
	position: relative;
	background: #fff
}

@media print, screen and (max-width:1024px) {
	.rankingPostsWrapper {
		padding: 20px 15px
	}

}

@media print, screen and (min-width:1025px) {
	.rankingPostsWrapper {
		padding: 40px
	}

}

.rankingTabWrapper {
	display: -ms-flexbox;
	display: flex
}

.rankingTab {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
	width: 120px;
	height: 60px;
	font-weight: 700;
	font-size: 16px;
	cursor: pointer
}

.rankingTab.active {
	background: #fff
}

.rankingPosts {
	display: none
}

.rankingPosts .c-articleList_node {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
	border-bottom: 1px solid #eee
}

@media print, screen and (max-width:1024px) {
	.rankingPosts .c-articleList_node {
		-ms-flex-align: center;
		align-items: center;
		padding: 10px 0
	}

}

@media print, screen and (min-width:1025px) {
	.rankingPosts .c-articleList_node {
		-ms-flex-align: start;
		align-items: flex-start;
		padding: 20px 0
	}

}

.rankingPosts .c-articleList_img {
	position: relative;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	border: 1px solid #ddd;
	overflow: hidden
}

.rankingPosts .c-articleList_img::before {
	content: '';
	display: block;
	padding-top: 65.6%
}

.rankingPosts .c-articleList_img img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0
}

@media print, screen and (max-width:1024px) {
	.rankingPosts .c-articleList_img {
		width: 130px;
		margin-right: 15px
	}

	.rankingPosts .c-articleList_content {
		-ms-flex-positive: 1;
		flex-grow: 1
	}

}

@media print, screen and (min-width:1025px) {
	.rankingPosts .c-articleList_img {
		width: 260px;
		margin-right: 20px
	}

}

@media print, screen and (max-width:320px) {
	.rankingPosts .c-articleList_img {
		width: 110px;
		margin-right: 10px
	}

}

@media print, screen and (min-width:1025px) {
	.rankingPosts .c-articleList_content {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-direction: column;
		flex-direction: column;
		-ms-flex-pack: justify;
		justify-content: space-between;
		width: 100%;
		padding-top: 35px;
		position: relative
	}

}

.rankingPosts .c-articleList_category {
	display: inline-block;
	color: #999;
	font-weight: 700;
	letter-spacing: .12em;
	border-bottom: 2px solid #999
}

.rankingPosts .c-articleList_category.category-feature {
	color: #094786;
	border-color: #094786
}

.rankingPosts .c-articleList_catch {
	letter-spacing: .08em
}

@media print, screen and (max-width:1024px) {
	.rankingPosts .c-articleList_category {
		padding-bottom: 5px;
		margin-bottom: 10px;
		font-size: 10px
	}

	.rankingPosts .c-articleList_catch {
		display: none
	}

}

@media print, screen and (min-width:1025px) {
	.rankingPosts .c-articleList_category {
		padding-bottom: 6px;
		position: absolute;
		top: 0;
		left: 0;
		font-size: 12px
	}

	.rankingPosts .c-articleList_catch {
		line-height: 1.4
	}

	.rankingPosts .c-articleList_title {
		-ms-flex-positive: 1;
		flex-grow: 1
	}

}

.rankingPosts .c-articleList_title a {
	display: block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .08em
}

@media print, screen and (max-width:320px) {
	.rankingPosts .c-articleList_title {
		font-size: 12px
	}

}

@media print, screen and (max-width:1024px) {
	.rankingPosts .c-articleList_date {
		display: none
	}

}

@media print, screen and (min-width:1025px) {
	.rankingPosts .c-articleList_date {
		-ms-flex-negative: 0;
		flex-shrink: 0;
		display: inline-block;
		margin-top: 10px;
		font-size: 12px;
		letter-spacing: .08em;
		color: #999
	}

	.rankingPosts .c-articleList_img {
		transition: border .3s ease-out
	}

	.rankingPosts .c-articleList_img img {
		transition: transform .3s ease-out
	}

	.rankingPosts .c-articleList_img:hover {
		border-color: #999
	}

	.rankingPosts .c-articleList_img:hover img {
		-ms-transform: scale(1.03);
		transform: scale(1.03)
	}

	.rankingPosts .c-articleList_title:hover {
		text-decoration: underline
	}

}

.rankingPosts .c-articleList_node:first-child {
	padding-top: 0
}

.rankingPosts .c-articleList_node:last-child {
	border-bottom: none
}

.rankingPosts.active {
	display: block
}
