/* 
 post
----------------------------------------------------------- */ 

/* レイアウト */
.p-post-wrap{
	display:flex;
	gap: 5%;
	flex-wrap:wrap;
}
.p-post-wrap__main{
	width:70%;
}
.p-post-wrap__side {
	width: 25%;
}
.post-main {
	padding-block: clamp(40px, 3.4vw, 65px) clamp(50px, 6.8vw, 130px);;
}

/* 投稿一覧 list */
.p-post-title{
	font-size: var(--fontsize-16);
	font-weight: 700;
	margin-bottom: 25px;
	position: relative;
	padding-left: 20px;
}
.p-post-title::before{
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	padding: 5.5px;
	border-radius: 10px;
	background-color: var(--main-color);
}
.p-post-list__item{
	background-color: #fff;
	border-radius: 8px;
	margin-bottom: 20px;
	position: relative;
	transition: background-color var(--trans-base);
	box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.p-post-list__link{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	padding: 20px 25px;
	gap: 20px;
}
.p-post-list__img{
	width:30%;
}
.p-post-list__img img{
	width:100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 3 / 2;
	border-radius: 10px;
}
.p-post-list__main{
	flex: 1;
}
.p-post-list__title{
	font-size:var(--fontsize-20);
	background: none;
	padding-left: 0;
	text-align: justify;
	margin-bottom: 16px;
}
.p-post-list__text{
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	color: var(--gray-color);
	font-size: var(--fontsize-15);
	line-height: 1.6;
}
.p-archive .c-meta{
	padding-top: 16px;
	margin-top: 16px;
	border-top: 1px solid var(--border-color);
}
@media (hover: hover) {
	.p-post-list__item:hover{
		background-color: #EFF7DA;
	}
}

/* single page */
.p-single__title {
	font-size:var(--fontsize-22);
	font-weight: 700;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid var(--border-color);
	position: relative;
	text-align: justify;
}
.p-single__title::before{
	content: "";
	background-color: var(--main-color);
	bottom:-1px;
	position: absolute;
	left:0;
	width: 50px;
	height: 1px;
}
.p-single .c-meta{
	margin-bottom: 30px;
}

@media screen and (max-width: 1024px) {
	
}
@media screen and (max-width:767px) {
	
	/* レイアウト */
	.p-post-wrap__main{
		width: 100%;
		margin: 0;
	}
	.p-post-wrap__side {
		width: 100%;
		margin-top: 40px;
	}

	/* list */
	.p-post-list__link{
		padding: 20px;
	}
	
}
@media screen and (max-width:480px) {

	/* list */
	.p-post-list__link{
		gap: 15px;
	}
	.p-post-list__img {
		width: 100%;
	}
	.p-post-list__main {
		width: 100%;
		flex: 1;
	}
	
}