@charset "utf-8";

/* ------------------------------
 ブログ一覧（PC）
------------------------------ */
.postList li {
	padding: 30px 0;
	border-bottom: var(--dotline);
}
/* Firefox */
@-moz-document url-prefix() {
	.postList li {
		border-bottom: var(--dotline-ff);
	}
}
.postList li:first-child {
	padding-top: 0;
	border-top: none !important;
}
.postList li a {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
}
.postList li a .postText .title {
	width: 100%;
	margin-top: 15px;
	font-size: 2.2rem;
	line-height: 1.5;
	font-weight: 600;
}
.postList li a .postText p:not(.date):not(.tag):not(.title) {
    display: -webkit-box;
	overflow: hidden;
	position: relative;
	text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.postList .tag {
	display: inline-flex;
}
.postList .tag + .tag {
	margin-left: 10px;
}
/* ページ切り替え */
.switchPage {
	margin-top: 30px;
}
.cms_block + .switchPage {
	margin-top: 20px;
	padding-top: 30px;
	border-top: var(--dotline);
}
/* Firefox */
@-moz-document url-prefix() {
	.cms_block + .switchPage {
		border-top: var(--dotline-ff);
	}
}
.switchPage ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.switchPage ul li {
	width: calc(100% / 3);
}
.switchPage ul li a {
	display: flex;
	align-items: center;
	gap: 6px;
	position: relative;
	width: 100%;
	font-size: 2rem;
	line-height: 1;
	font-weight: 600;
}
/* 古い記事 */
.switchPage ul li.prev a {
	justify-content: flex-end;
}
/* 一覧に戻る */
.switchPage ul li.list a {
	justify-content: center;
}
/* 新しい記事アイコン */
.switchPage ul li.next a::before,
.switchPage ul li.prev a::after,
.switchPage ul li.list a::before {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	margin-top: -2px;
	background: url(../img/icon_arrow_c_r_s.svg) no-repeat 0 0 / cover;
	transform: scale(-1, 1);
}
/* 古い記事アイコン */
.switchPage ul li.prev a::after {
	transform: none;
}
/* 一覧に戻るアイコン */
.switchPage ul li.list a::before {
	width: 18px;
	height: 18px;
	margin-right: 3px;
	background: url(../img/icon_list.svg) no-repeat center / cover;
	transform: none;
}
.contents:has(.pageLink) .mainContents,
.contents:has(.pageLink) .sideContents {
	padding-top: 0;
}
.dateBox + .cms_block .pageLink {
	margin-top: 73px;
}
@media print, screen and (min-width: 768px) {
	.postList li a .postImg {
		width: 258px;
	}
	.postList li a .postText {
		width: 536px;
	}
}
/* ----------------------
 ブログ一覧（SP）
---------------------- */
@media screen and (max-width: 767px) {
	.postList li {
		padding: 30px 0 23px;
	}
	.postList li a {
		flex-direction: column;
		align-items: flex-start;
	}
	.postList li a .postText {
		width: 100%;
	}
	.postList li a .postText .title {
		margin-top: 13px;
		font-size: 2rem;
	}
	.postList li a .postText p:not(.date):not(.tag):not(.title) {
		-webkit-line-clamp: 3;
	}
	/* ページ切り替え */
	.switchPage {
		margin-top: 20px;
	}
	.switchPage ul li {
		display: flex;
	}
	.switchPage ul li a {
		flex-direction: column;
		font-size: 1.6rem;
	}
	/* 新しい記事 */
	.switchPage ul li.next a {
		align-items: flex-start;
	}
	.switchPage ul li.next a::before {
		margin-top: 0;
	}
	/* 古い記事 */
	.switchPage ul li.prev a {
		flex-direction: column-reverse;
		align-items: flex-end;
	}
	.switchPage ul li.prev a::after {
		margin-top: 0;
	}
	/* 一覧に戻る */
	.switchPage ul li.list a::before {
		margin: 6px 0;
	}
	.contents:has(.pageLink) .mainContents,
	.contents:has(.pageLink) .sideContents {
		padding-top: 0;
	}
	.dateBox + .cms_block .pageLink {
		margin-top: 60px;
	}
}

/* ------------------------------
 ブログ詳細ページ（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	.cms_image.fullImg img {
		max-width: initial;
		width: 100%;
	}
}