@charset "UTF-8";

/*====================================================================*/
/* シングル投稿ページのみ CSS
/*====================================================================*/

/************************************************************/
/*　施工事例詳細
/************************************************************/
.case_images {
	width: 100%;
	padding: 0;
	margin: 2em auto 2em;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	column-gap: 7px;
}
.case_images > span {
	display: block;
	width: calc((100% - 40px) / 2);
	padding: 0;
	margin: 0;
	border-radius: 10px;
	overflow: hidden;
	text-align: center;
	position: relative;
}
.case_images > span::before {
	content: '';
	display: block;
	padding-top: 65%;
}
.case_images > span::after {
	content: '';
	display: block;
	width: 100px;
	height: auto;
	aspect-ratio: 110 / 32;
	background-image: url('https://test-hpc.coresv.com/wp-content/uploads/before.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.case_images > span.after::after {
	background-image: url('https://test-hpc.coresv.com/wp-content/uploads/after.svg');
}
.case_images > span img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	object-fit: cover;
}
.case_images > em {
	display: block;
	width: 26px;
	height: auto;
	aspect-ratio: 23 / 31;
	background-image: url('https://test-hpc.coresv.com/wp-content/uploads/arrow.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
}

/*説明*/
.before_info {
	width: 100%;
	padding: 0;
	margin: 0 auto 30px;
	position: relative;
}
.before_info dt {
	width: 100%;
	padding: 15px 30px;
	margin: 0;
	background: #2d2d2d;
	font-size: 20px;
	line-height: 1;
	color: #fff;
	font-weight: 600;
	text-align: left;
	border-radius: 5px 5px 0 0;
}
.before_info dd {
	padding: 25px 30px;
	margin: 0;
	background: #fff;
	border: 3px solid #2d2d2d;
	border-top: none;
	border-radius: 0 0 5px 5px;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
}
.before_info dd p {
	padding: 0;
	margin: 0 auto 10px;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	position: relative;
}
.before_info dd p:last-of-type {
	margin-bottom: 0;
}
.before_info.after dt {
	background: var(--sub);
}
.before_info.after dd {
	border: 3px solid var(--sub);
}

/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	.case_images {
		width: 100%;
		padding: 0;
		margin: 2em auto 2em;
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		column-gap: 7px;
	}
	.case_images > span {
		display: block;
		width: calc((100% - 30px) / 2);
		padding: 0;
		margin: 0;
		border-radius: 10px;
		overflow: hidden;
		text-align: center;
		position: relative;
	}
	.case_images > span::after {
		width: 70px;
	}
	.case_images > em {
		width: 16px;
	}

	/*説明*/
	.before_info {
		width: 100%;
		padding: 0;
		margin: 0 auto 20px;
		position: relative;
	}
	.before_info dt {
		width: 100%;
		padding: 10px 20px;
		font-size: 18px;
	}
	.before_info dd {
		padding: 15px 20px;
	}
	.before_info dd p {
		padding: 0;
		margin: 0 auto 10px;
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
		position: relative;
	}
	.before_info dd p:last-of-type {
		margin-bottom: 0;
	}
	.before_info.after dt {
		background: var(--sub);
	}
	.before_info.after dd {
		border: 3px solid var(--sub);
	}
}


/************************************************************/
/*　投稿タイトル
/************************************************************/

@media only screen and (max-width: 768px){
	.c-postTitle__ttl {
		font-size: 15px;
	}
}


/************************************************************/
/*　前の記事 次の記事
/************************************************************/
.p-pnLinks__link {
	background: #f7f7f7;
}