/* ---------------------------------------
  case
-----------------------------------------*/
#page_ttl {
	min-height: auto;
}
#page_ttl::before {
	bottom: 6rem;
}
#page_ttl::after {
	content: "";
	width: 20rem;
	height: 33.4rem;
	background: url(../img/case/bg.svg) no-repeat center/contain;
	position: absolute;
	right: 23rem;
	bottom: -4rem;
}
@media screen and (max-width: 768px) {
	#page_ttl .txt_wrap .ttl {
		min-height: auto;
	}
}

#page_case {
	padding: 3.5rem 0 11rem;
}
#page_case .txt {
	font-size: 1.8rem;
	line-height: 1.6;
	margin-top: 2.6rem;
}
@media screen and (max-width: 768px) {
	#page_case .txt {
		font-size: 2.7rem;
	}
}
#page_case .page_contents + .page_contents {
	margin-top: 16.3rem;
}
@media screen and (max-width: 768px) {
	#page_case .page_contents + .page_contents {
		margin-top: 8rem;
	}
}
#page_case .page_contents .wrap {
	max-width: 108rem;
	padding: 0;
}
#page_case .contents_ttl {
	font-size: 4.2rem;
	line-height: 1.4;
	letter-spacing: 0.04em;
}
#page_case .contents_ttl::before {
	content: "";
	display: inline-block;
	vertical-align: -0.1rem;
	width: 0.5rem;
	height: 3.6rem;
	background-color: #c13932;
	transform: skewX(-28deg);
	transform-origin: left bottom;
	margin-right: 2.5rem;
}
#page_case .quality_list {
	display: flex;
	gap: 1.2rem;
	margin-top: 2.4rem;
}
@media screen and (max-width: 768px) {
	#page_case .quality_list {
		flex-direction: column;
	}
}
#page_case .quality_list .item {
	font-size: 1.6rem;
	padding: 1.9rem 2.7rem;
	background: #212121;
}
@media screen and (max-width: 768px) {
	#page_case .quality_list .item {
		font-size: 2.5rem;
	}
}
#page_case .case_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4.8rem;
	margin-top: 3.4rem;
}
@media screen and (max-width: 768px) {
	#page_case .case_list {
		grid-template-columns: 1fr;
		gap: 10rem 0;
	}
}
#page_case .case_list .item .item_img {
	position: relative;
	border-radius: 0.4rem;
	overflow: hidden;
	aspect-ratio: 328/218;
}
#page_case .case_list .item .item_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#page_case .case_list .item .item_img_txt {
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 0 0 4px 0;
	background-color: rgba(22, 11, 10, 0.7);
	padding: 0.7rem 1.4rem;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
	#page_case .case_list .item .item_img_txt {
		font-size: 2.4rem;
	}
}
#page_case .case_list .item .item_ttl {
	font-size: 2.2rem;
	font-weight: 400;
	line-height: 1.8;
	margin-top: 1.4rem;
}
@media screen and (max-width: 768px) {
	#page_case .case_list .item .item_ttl {
		font-size: 3rem;
	}
}
#page_case .case_list .item .item_txt {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.8;
	margin-top: 1.4rem;
}
@media screen and (max-width: 768px) {
	#page_case .case_list .item .item_txt {
		font-size: 2.4rem;
	}
}
#page_case .case_list .item .detail_list {
	display: grid;
	grid-template-columns: max-content 1fr max-content 1fr;
	gap: 0.5rem 0;
}
#page_case .case_list .item .detail_ttl,
#page_case .case_list .item .detail_txt {
	font-size: 1.4rem;
	border-bottom: 1px solid #fff;
	padding-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
	#page_case .case_list .item .detail_ttl,
	#page_case .case_list .item .detail_txt {
		font-size: 2.4rem;
	}
}
#page_case .case_list .item .detail_ttl {
	font-weight: 500;
	width: 4.5rem;
}
@media screen and (max-width: 768px) {
	#page_case .case_list .item .detail_ttl {
		width: 8rem;
	}
}