@charset "utf-8";
/* ブログ（記事と、右の横の欄） */

.post_layout{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 60px;
}

.post_main{
	flex: 1;
	max-width: 794px;
	min-width: 0;
}

.post_main > .block_heading{
	margin-bottom: 30px;
}

/* 一覧の1件（写真・日付・タイトル・抜粋） */
.post_row{
	display: flex;
	gap: 20px;
	padding: 40px 0;
}

.post_row:first-of-type{
	padding-top: 0;
}

.post_img{
	flex-shrink: 0;
	width: 304px;
}

.post_img img{
	display: block;
	width: 100%;
	aspect-ratio: 304 / 204;
	object-fit: cover;
}

.post_img:hover{
	opacity: 0.8;
}

.post_body{
	flex: 1;
	min-width: 0;
}

.post_title{
	margin-top: 10px;
	padding-bottom: 12px;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.04em;
	border-bottom: 1px solid #000000;
}

.post_title a:hover{
	opacity: 0.6;
}

.post_excerpt{
	margin-top: 16px;
	font-size: 15px;
	line-height: 1.8;
}

.post_main .pagination{
	margin-top: 50px;
}

/* 横の欄 */
.side{
	flex-shrink: 0;
	width: 272px;
}

.side_box + .side_box{
	margin-top: 50px;
}

.side_title{
	margin-bottom: 18px;
	font-size: 20px;
	text-align: center;
}

/* 枠のボタン（カテゴリー・月） */
.side_buttons li + li{
	margin-top: 16px;
}

.side_buttons a{
	position: relative;
	display: flex;
	align-items: center;
	min-height: 50px;
	padding: 8px 40px 8px 20px;
	font-size: 16px;
	line-height: 1.5;
	background-color: #ffffff;
	border: 1px solid #1a2129;
}

.side_buttons a::after{
	content: "＞";
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	color: #1a2129;
}

.side_buttons a:hover{
	color: #ffffff;
	background-color: #000000;
}

.side_buttons a:hover::after{
	color: #ffffff;
}

/* 新着の記事 */
.side_recent li + li{
	margin-top: 18px;
}

.side_recent a{
	display: block;
	font-size: 15px;
	line-height: 1.6;
}

.side_date{
	display: block;
	font-size: 14px;
}

.side_post{
	display: block;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.side_recent a:hover{
	opacity: 0.6;
}

/* 月別アーカイブ（年ごとに並べる） */
.side_year + .side_year{
	margin-top: 24px;
}

.side_year_label{
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: 700;
}





@media screen and (max-width: 1170px){

	.post_layout{
		gap: 40px;
	}

	.post_img{
		width: 220px;
	}

	.side{
		width: 240px;
	}
}




@media screen and (max-width: 750px){

	/* 横の欄は記事の下に回す */
	.post_layout{
		flex-direction: column;
		align-items: stretch;
		gap: 60px;
	}

	.post_main{
		max-width: none;
	}

	.post_row{
		flex-direction: column;
		gap: 12px;
		padding: 24px 0;
	}

	.post_img{
		width: 100%;
	}

	.post_title{
		margin-top: 6px;
		padding-bottom: 8px;
		font-size: 16px;
	}

	.post_excerpt{
		margin-top: 10px;
		font-size: 13px;
	}

	.side{
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
	}

	.side_title{
		font-size: 16px;
	}

	.side_buttons a{
		min-height: 42px;
		font-size: 13px;
	}
}
