@charset "utf-8";
/*------------------------------------------------------------
	works_detail
------------------------------------------------------------*/
.pageTitle {
	margin-bottom: 9.8rem;
}
#main > .content {
	max-width: 136rem;
}
#main .h_title {
	margin-bottom: 1.3rem;
	font-size: 5rem;
	font-weight: 700;
	letter-spacing: 0.03em;
}
#main .infoBox {
	margin-bottom: 4.1rem;
	gap: 1rem;
	align-items: flex-start;
}
#main .infoBox .tagUl {
	width: 7.4rem;
}
#main .infoBox .tagUl li {
	margin-bottom: 0.5rem;
	padding: 0.5rem 0 0.55rem;
	background-color: #02af94;
	color: #fff;
	text-align: center;
	border-radius: 1.5rem;
	font-size: 1.3rem;
}
#main .infoBox .tagUl li:last-child {
	margin-bottom: 0;
}
#main .infoBox p {
	margin-top: 0.5rem;
	flex: 1;
}
#main .sub {
	margin: 0 auto;
	max-width: 96rem;
}
#main .photoBox {
	margin-bottom: 8rem;
	position: relative;
}
#main .photoBox .prev,
#main .photoBox .next {
	position: absolute;
	top: 30.4rem;
	width: 6.4rem;
	height: 6.4rem;
	cursor: pointer;
	transition: .3s;
	z-index: 2;
	border-radius: 50%;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #02af94;
}
#main .photoBox .prev img,
#main .photoBox .next img {
	margin-top: 1px;
	width: 1.8rem;
}
#main .photoBox .prev {
	left: -9.4rem;
}
#main .photoBox .next {
	right: -9.4rem;
}
#main .photoBox img {
	width: 100%;
}
#main .photoBox .photoUl {
	margin-bottom: 3rem;
}
#main .photoBox .photoUl li {
	vertical-align: top;
	aspect-ratio: 960/645;
}
#main .photoBox .subPhotoUl img,
#main .photoBox .photoUl img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .photoBox .subPhotoUl {
	margin: 0 auto;
}
#main .photoBox .subPhotoUl li {
	margin-right: 1.5rem;
	width: 12.4rem !important;
	position: relative;
	cursor: pointer;
	vertical-align: top;
	transition: opacity .3s;
	aspect-ratio: 124/86;
}
#main .photoBox .subPhotoUl li::before {
	position: absolute;
	inset: 0;
	border: 0.2rem solid #1c1e1d;
	content: "";
	pointer-events: none;
	opacity: 0;
	transition: opacity .3s;
}
#main .photoBox .subPhotoUl .slick-current li::before {
	opacity: 1;
}
#main .tableBox {
	margin-bottom: 5.8rem;
}
#main .tableBox > table,
#main .tableBox > table table {
	width: 100%;
	border-collapse: collapse;
}
#main .tableBox > table > tbody > tr > th,
#main .tableBox > table > tbody > tr > td {
	padding: 2.6rem 0 2.5rem;
	text-align: left;
	border-top: 1px solid #e9e9e9;
	vertical-align: top;
	font-size: 1.5rem;
	font-weight: 400;
	word-break: break-all;
	line-height: 2;
}
#main .tableBox > table > tbody > tr:last-child th,
#main .tableBox > table > tbody > tr:last-child td {
	border-bottom: 1px solid #e9e9e9;
}
#main .tableBox > table > tbody > tr > th {
	width: 20.9%;
	font-weight: 600;
}
#main .tableBox > table > tbody > tr > td table,
#main .tableBox > table > tbody > tr > td table tbody,
#main .tableBox > table > tbody > tr > td table tr {
	display: block;
	line-height: 2;
}
#main .tableBox > table > tbody > tr > td table th {
	font-weight: 400;
}
#main .tableBox > table table th,
#main .tableBox > table table td {
	text-align: left;
	vertical-align: top;
	word-break: break-all;
}
#main .tableBox > table table td {
	padding-left: 1.3rem;
}
#main .tableBox > table a {
	color: #02af94;
	text-decoration: underline;
}
#main .tableBox table td sup {
	font-size: 1rem;
}
#main .tableBox > table a:hover {
	opacity: 0.7;
}
#main .comLinkUl li {
	margin: 0 auto;
	width: 35rem;
}
#main .comInnerUl {
	margin-top: 18rem;
}
@media all and (min-width: 897px) {
	#main .photoBox .prev:hover,
	#main .photoBox .next:hover {
		background-color: #f5f5f5;
	}
	#main .photoBox .subPhotoUl li:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.pageTitle {
		margin-bottom: 6rem;
	}
	#main .h_title {
		margin-bottom: 1.2rem;
		font-size: 2.2rem;
		line-height: 1.36;
	}
	#main .infoBox {
		margin-bottom: 2rem;
	}
	#main .infoBox .tagUl {
		width: 6.6rem;
	}
	#main .infoBox .tagUl li {
		padding: 0.5rem 0 0.55rem;
		font-size: 1.1rem;
	}
	#main .infoBox p {
		margin-top: 0.4rem;
		font-size: 1.3rem;
	}
	#main .sub {
		max-width: 100%;
	}
	#main .photoBox {
		padding-bottom: 7.5rem;
		margin-bottom: 4rem;
	}
	#main .photoBox .prev,
	#main .photoBox .next {
		top: auto;
		bottom: 0;
		width: 5.6rem;
		height: 5.6rem;
	}
	#main .photoBox .prev img,
	#main .photoBox .next img {
		width: 1.6rem;
	}
	#main .photoBox .prev {
		left: calc(50% - 6.2rem);
	}
	#main .photoBox .next {
		right: calc(50% - 6rem);
	}
	#main .photoBox .photoUl {
		margin-bottom: 0.6rem;
	}
	#main .photoBox .photoUl li {
		aspect-ratio: 335/235;
	}
	#main .photoBox .subPhotoUl li {
		margin: 0 0.6rem 0 0;
		width: calc((100vw - 5.8rem) / 4) !important;
		aspect-ratio: 77/53;
	}
	/* [SAVVY CHANGE] SPの施工実績写真でピンチズームを妨げにくくする */
	#main .photoBox .photoUl.slick-slider {
		touch-action: pan-y pinch-zoom;
	}
	#main .tableBox {
		margin-bottom: 3.5rem;
	}
	#main .tableBox > table > tbody > tr > th,
	#main .tableBox > table > tbody > tr > td {
		padding: 1.8rem 0 1.7rem;
		display: block;
		width: 100% !important;
		text-align: left;
		line-height: 1.66;
	}
	#main .tableBox > table > tbody > tr > th {
		padding-bottom: 0;
		border-bottom: 0 !important;
	}
	#main .tableBox > table > tbody > tr > td {
		padding-top: 0.6rem;
		border-top: 0 !important;
	}
	#main .tableBox > table > tbody > tr > td table,
	#main .tableBox > table > tbody > tr > td table tbody,
	#main .tableBox > table > tbody > tr > td table tr,
	#main .tableBox > table > tbody > tr > td table th,
	#main .tableBox > table > tbody > tr > td table td {
		line-height: 1.66;
	}
	#main .comLinkUl li {
		width: 33.6rem;
	}
	#main .comInnerUl {
		margin-top: 6rem;
	}
}