@charset "UTF-8";
/* SPパネルスタイルシート */

.midashi {
	margin-bottom: 24px;
	& h2 {
		display: inline-block;
		padding: 4px;
		font-size: 1.3em;
		font-family: var(--zen);
		font-weight: 700;
		color: var(--blue);
		position: relative;
	}
	& h2::after {
		position: absolute;
		content: '';
		width: 100%;
		height: 2px;
		bottom: -2px;
		left: 0;
		background: var(--blue);
	}
	& span.midashi-line {
		display: block;
		width: 100%;
		height: 2px;
		background: #E6E6E6;
	}
}

h3.maru-midashi {
	font-family: var(--zen);
	font-weight: 700;
	font-size: 1.3em;
	color: var(--blue);
	margin-bottom: 12px;
	margin-left: 1.5em;
	position: relative;
	&::before {
		position: absolute;
		content: '';
		top: 50%;
		right: calc(100% + .5em);
		transform: translateY(-50%);
		width: .8em;
		height: .8em;
		border-radius: 50%;
		background: var(--blue);
	}
}

/* SBパネル */
section#sbpanel-strength {
	margin-bottom: 40px;
}
section#sbpanel-strength .content-wrapper {
	flex-flow: column;
	gap: 24px;
}
section#sbpanel-strength .content-wrapper .sbpanel-img-wrapper {
	& .img-wrapper {
		width: 100%;
		height: 280px;
		margin-bottom: 60px;
	}
	& .img-wrapper img {
		object-fit: cover;
		border-radius: 2px;
	}
	& .text-wrapper {
		background: #fff;
		position: relative;
	}
	& .text-wrapper .headline {
		position: absolute;
		display: inline-block;
		bottom: calc(100% - 16px);
		left: -6px;
	}
	& .text-wrapper .headline h3 {
		display: inline-block;
		padding: 4px 16px;
		white-space: nowrap;
		font-family: var(--zen);
		font-weight: 500;
		font-size: 1.3em;
		color: #fff;
		background: var(--blue);
		bottom: 100%;
	}
	& .text-wrapper .headline span {
		position: absolute;
		display: block;
		right: -2px;
		bottom: -2px;
		width: 100%;
		height: 100%;
		border: 1px solid var(--blue);
	}
	& .text-wrapper p {
		padding: 20px 16px;
		padding-top: 32px;
	}
	& .text-wrapper p span {
		color: var(--blue);
		font-weight: 500;
		border-bottom: 1px solid var(--blue);
	}
}
section#sbpanel-strength .content-wrapper ul.flex {
	flex-flow: column;
	padding: 6px;
	background: #fff;
	& li {
		display: flex;
		gap: 12px;
		width: 100%;
		padding: 16px 10px;
	}
	& li:not(:last-child) {
		border-bottom: 1px solid #E6E6E6;
	}
	& li span.int {
		font-family: "Anton", sans-serif;
		font-size: 1.3em;
		color: var(--blue);
	}
	& li p span {
		color: var(--blue);
		font-weight: 500;
		border-bottom: 1px solid var(--blue);
	}
}

/* 製品概要 */
/* 構成主要部材 */
section#gaiyou div.kousei {
	margin-bottom: 40px;
	& div.flex {
		gap: 20px;
		margin-bottom: 24px;
	}
	& div.flex .img-wrapper {
		max-width: 400px;
	}
	& p {
		display: inline-block;
		padding: 12px;
		background: #fff;
		word-break: keep-all;
		overflow-wrap: break-word;
	}
}
/* 外観 */
section#gaiyou div.gaikan {
	margin-bottom: 40px;
	& .flex-wrapper.flex {
		flex-flow: column;
	}
	& .gaiyou-item {
		width: 100%;
		max-width: 400px;
		height: 400px;
	}
	& .gaiyou-item .garally {
		height: 360px;
		position: relative;
	}
	& .gaiyou-item .img-wrapper {
		position: absolute;
	}
	& .gaiyou-item .img-wrapper:nth-child(1) {
		height: 100%;
	}
	& .gaiyou-item .img-wrapper:nth-child(2) {
		height: 140px;
		right: 0;
		bottom: 0;
	}
	& .gaiyou-item .img-wrapper,
	& .gaiyou-item p {
		text-align: center;
	}
	& .gaiyou-item.black p {
		background: var(--blue);
		color: #fff;
	}
	& .gaiyou-item.white p {
		background: #fff;
		border: 1px solid var(--black);
	}
	& p.text {
		text-align: start;
	}
}
/* SBネット特性 */
section#tokusei {
	margin-bottom: 40px;
}
section#tokusei .table-wrapper {
	overflow-x: scroll;
}
section#tokusei .spec-table {
	width: 100%;
	min-width: 540px;
	border-collapse: collapse;
	margin-top: 16px;
	background: #fff;
	& th, td {
		border: 1px solid #ccc;
		padding: 12px;
		text-align: center;
		vertical-align: middle;
		font-size: 14px;
	}
	& th {
		font-weight: bold;
	}
	& tr:nth-child(odd) td:first-child {
		text-align: left;
	}
}
/* 施工実績 */
section#record {
	margin-bottom: 60px;
}
section#record ul.flex {
	flex-flow: column;
	gap: 24px;
	& li {
		width: 100%;
	}
	& li .img-wrapper {
		aspect-ratio: 4 / 3;
	}
	& li .img-wrapper img {
		object-fit: cover;
		margin-bottom: 8px;
	}
}

@media print, screen and (min-width: 764px) {
	.midashi {
		margin-bottom: 52px;
		& h2 {
			font-size: 2em;
		}
	}
	section#sbpanel-strength .content-wrapper {
		flex-flow: row;
		align-items: start;
	}
	section#sbpanel-strength .content-wrapper ul.flex {
		padding: 14px 20px;
		& li {
			gap: 24px;
		}
	}
	section#gaiyou div.gaikan {
		& .flex-wrapper.flex {
			flex-flow: row;
			justify-content: start;
			gap: 40px;
		}
		& .gaiyou-item {
			width: 48%;
		}
	}
	section#gaiyou div.kousei {
		& div.flex {
			justify-content: start;
			gap: 40px;
		}
	} 
	section#record {
		margin-bottom: 100px;
	}
	section#record ul.flex {
		flex-flow: row;
		flex-wrap: wrap;
		justify-content: start;
		& li {
			width: calc(100% / 3 - 16px);
		}
	}
}