/* ===== MiraiSW トップページ ===== */
/* 追加CSS（custom_css_post_id）からの移行分 */

/* 新着記事リスト：サムネイル縮小＋本文を上下中央 */
.msw-newlist .p-postList__link {
	display: flex;
	align-items: center;
	gap: 16px;
}
.msw-newlist .p-postList__thumb {
	flex: 0 0 200px;
	width: 200px;
	margin: 0;
}
.msw-newlist .p-postList__body {
	flex: 1 1 auto;
	min-width: 0;
}
.msw-newlist .p-postList__title {
	font-size: 15px;
	line-height: 1.6;
	margin: 0 0 6px;
}
.msw-newlist .p-postList__meta {
	font-size: 12px;
}

@media (max-width: 767px) {
	.msw-newlist .p-postList__thumb {
		flex-basis: 120px;
		width: 120px;
	}
	.msw-newlist .p-postList__title { font-size: 14px; }
}
.msw-newlist .p-postList__item {
	padding-block: 5px;
	border-bottom: 1px solid #eee7e0;
}
.msw-newlist .p-postList__item:last-child {
	border-bottom: none;
}
/* ── 右カラム共通 ── */
.msw-box .p-postList__title {
	font-size: 13px;
	line-height: 1.55;
	/* 3行で打ち切る。タイトル長のばらつきを吸収 */
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* 空のメタ枠が余白を作っているので消す */
.msw-box .p-postList__meta:empty { display: none; }

.msw-box .p-postList__item { padding-block: 9px; }

/* ── アクセスランキング（-type-simple）に順位番号 ── */
.msw-box .p-postList.-type-simple { counter-reset: msw-rank; }

.msw-box .p-postList.-type-simple .p-postList__link {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.msw-box .p-postList.-type-simple .p-postList__link::before {
	counter-increment: msw-rank;
	content: counter(msw-rank);
	flex: 0 0 20px;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.5;
	color: var(--color_main, #A85D42);
	text-align: center;
}
.msw-box .p-postList.-type-list .p-postList__meta {
	font-size: 11px;
	margin-top: 3px;
}
.swell-block-column.msw-box {
	padding: 10px;
	border: 1px solid #e6ded2;
}
/* ── ランキング番号：大きく・上下中央 ── */
.swell-block-column.msw-box .p-postList.-type-simple .p-postList__item::before {
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
}

/* ── 右カラムのテキストを上下中央 ── */
.swell-block-column.msw-box .p-postList.-type-list .p-postList__link {
	align-items: center;
}

/* ── 最後の項目の余白を除去 ── */
.swell-block-column.msw-box .p-postList__item:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.swell-block-column.msw-box .p-postListWrap {
	margin-bottom: 0;
}

/* ===== 姉妹サイト紹介（ショートコード [msw_sister_sites]）===== */
.msw-sister {
	display: flex;
	flex-direction: column;
}
.msw-sister__item {
	display: block;
	padding: 10px 0 10px 12px;
	border-left: 3px solid var(--msw-c, #ccc);
	text-decoration: none;
	color: inherit;
	transition: background .15s;
}
.msw-sister__item + .msw-sister__item {
	margin-top: 10px;
}
.msw-sister__item:hover {
	background: rgba(0,0,0,.03);
}
.msw-sister__name {
	display: block;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--msw-c, inherit);
	margin-bottom: 3px;
}
.msw-sister__desc {
	display: block;
	font-size: 12px;
	line-height: 1.55;
	opacity: .8;
}

/* ===== 姉妹サイトの最新記事（[msw_sister_posts]）===== */
.msw-sposts {
	display: flex;
	flex-direction: column;
}
.msw-sposts__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 0;
	text-decoration: none;
	color: inherit;
	border-bottom: 1px solid #eee7e0;
}
.msw-sposts__item:last-child { border-bottom: none; }
.msw-sposts__item:hover { background: rgba(0,0,0,.03); }

.msw-sposts__thumb {
	flex: 0 0 120px;
	width: 120px;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 2px;
}
.msw-sposts__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.msw-sposts__body {
	flex: 1 1 auto;
	min-width: 0;
}
.msw-sposts__site {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--msw-c, inherit);
	margin-bottom: 2px;
}
.msw-sposts__title {
	display: block;
	font-size: 13px;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ===== AD枠の一時非表示 =====
   AdSense承認前の措置。承認後はこのブロックごと削除する。
   対象ブロックには追加CSSクラス「msw-ad-not」を付与している。 */
.msw-ad-not { display: none; }
