@charset "UTF-8";

/* =========================================================
   QUALITY MANAGEMENT
   /assets_21/quality-management/css/style.css
========================================================= */

:root {
	--qm-max-width: 1200px;
	--qm-text: #111;
	--qm-gray: #f3f3f3;
	--qm-yellow: #ffed00;

	--qm-font-sm: clamp(1.2rem, 1.08vw, 1.4rem);
	--qm-font-base: clamp(1.3rem, 1.17vw, 1.6rem);
	--qm-font-md: clamp(1.6rem, 1.67vw, 2rem);
	--qm-font-lg: clamp(2.2rem, 2.17vw, 3.2rem);
}


/* =========================================================
   EXISTING THEME ADJUSTMENT
   768px〜1199pxでも1200px固定にしない
========================================================= */

@media (min-width: 768px) and (max-width: 1199px) {

	body[class*="page-template-page-quality-management"] {
		min-width: 320px;
	}

	body[class*="page-template-page-quality-management"]
	header .header_inner {
		min-width: 0;
	}

	body[class*="page-template-page-quality-management"]
	.breadcrumbs .cs_sec_inner {
		width: calc(100% - 40px);
		max-width: 1150px;
	}

	body[class*="page-template-page-quality-management"]
	header .site_ttl {
		left: clamp(16px, 4.17vw, 50px);
		width: clamp(138px, 19vw, 228px);
	}

	body[class*="page-template-page-quality-management"]
	header .h_nav_2 a {
		width: clamp(60px, 7.5vw, 90px);
		font-size: clamp(1rem, 1vw, 1.2rem);
	}

	body[class*="page-template-page-quality-management"]
	header .h_nav_1 {
		right: clamp(120px, 15vw, 180px);
	}

	body[class*="page-template-page-quality-management"]
	header .h_nav_1 .main-menu > li + li {
		margin-left: clamp(4px, 1.5vw, 18px);
	}

	body[class*="page-template-page-quality-management"]
	header .h_nav_1 .main-menu > li > a {
		font-size: clamp(.9rem, 1.08vw, 1.3rem);
		white-space: nowrap;
	}

	body[class*="page-template-page-quality-management"]
	footer .footer_inner {
		width: calc(100% - 40px);
		max-width: 1024px;
	}

	body[class*="page-template-page-quality-management"]
	footer .nav_f_1 > ul > li {
		padding-inline: clamp(8px, 1.5vw, 20px);
	}

	body[class*="page-template-page-quality-management"]
	footer .nav_f_1 a,
	body[class*="page-template-page-quality-management"]
	footer .footer-nav-toggle {
		font-size: clamp(1rem, 1.08vw, 1.3rem);
	}

	body[class*="page-template-page-quality-management"]
	footer .nav_f_2 a {
		width: clamp(210px, 25vw, 300px);
	}

	body[class*="page-template-page-quality-management"]
	footer .overview .logo {
		width: clamp(210px, 24.17vw, 290px);
	}

	body[class*="page-template-page-quality-management"]
	footer .nav_f_3 {
		right: clamp(230px, 27vw, 325px);
	}
}


/* =========================================================
   BASE
========================================================= */

.quality-sp-break {
	display: initial;
}

body[class*="page-template-page-quality-management"] #areaContents {
	padding-bottom: 0;
}

.quality-management {
	color: var(--qm-text);
	font-feature-settings: "palt";
	letter-spacing: .03em;
}

.quality-management img {
	display: block;
	width: 100%;
	height: auto;
}

.quality-container {
	width: min(
		calc(100% - clamp(40px, 5vw, 80px)),
		var(--qm-max-width)
	);
	margin-inline: auto;
}

.quality-container--narrow {
	max-width: 1000px;
}

.quality-container--inspection {
	max-width: 1100px;
}

.quality-heading {
	margin: 0;
	font-size: var(--qm-font-lg);
	font-weight: 700;
	line-height: 1.65;
	letter-spacing: .04em;
	text-wrap: balance;
}

.quality-subheading {
	margin: 0;
	font-size: var(--qm-font-md);
	font-weight: 700;
	line-height: 1.7;
}

.quality-copy {
	font-size: var(--qm-font-base);
	line-height: 2;
}

.quality-copy p {
	margin: 0;
}

.quality-copy p + p {
	margin-top: 1.6em;
}

.quality-copy strong {
	font-weight: 700;
}


/* =========================================================
   PAGE HERO
========================================================= */

.quality-hero {
	padding-block:
		clamp(75px, 7.5vw, 110px)
		clamp(110px, 10vw, 160px);
	text-align: center;
}

.quality-hero__title {
	margin: 0;
	line-height: 1;
}

.quality-hero__title-en {
	display: block;
	font-size: clamp(3.2rem, 3.5vw, 5rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .18em;
}

.quality-hero__title-ja {
	display: block;
	margin-top: 24px;
	font-size: clamp(1.3rem, 1.25vw, 1.7rem);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .12em;
}


/* =========================================================
   INTRODUCTION
========================================================= */

.quality-intro {
	padding-bottom: clamp(100px, 10vw, 160px);
}

.quality-intro__lead {
	display: grid;
	grid-template-columns: 7fr 16fr;
	align-items: center;
	gap: 50px;
}

.quality-intro__lead-visual {
	margin: 0;
}

.quality-intro__lead-visual img {
	width: 100%;
	aspect-ratio: 1.48 / 1;
	object-fit: cover;
}

.quality-intro__lead-visual figcaption {
	margin-top: 8px;
	font-size: var(--qm-font-sm);
	text-align: right;
}

.quality-intro__lead-text .quality-copy {
	margin-top: clamp(35px, 4.17vw, 50px);
}

.quality-intro__detail {
	display: grid;
	grid-template-columns:
		minmax(0, 613fr)
		minmax(0, 537fr);
	align-items: center;
	gap: 50px;
	margin-top: clamp(100px, 10vw, 155px);
}

.quality-intro__photo-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.quality-intro__photo {
	position: relative;
	margin: 0;
	overflow: hidden;
}

.quality-intro__photo--foundation {
	grid-column: 1 / -1;
}

.quality-intro__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.quality-intro__photo--foundation img {
	aspect-ratio: 1.55 / 1;
}

.quality-intro__photo--structure img,
.quality-intro__photo--insulation img {
	aspect-ratio: 1.18 / 1;
}

.quality-photo-category {
	position: absolute;
	z-index: 2;
	inset: 0 auto auto 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 24px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	background: var(--qm-yellow);
}

.quality-intro__detail-text .quality-copy {
	margin-top: clamp(30px, 4.17vw, 50px);
}


/* =========================================================
   CONSTRUCTION STANDARD
========================================================= */

.quality-standard {
	padding-block: clamp(90px, 8vw, 130px);
	background: #f2f2f2;
}

.quality-standard__content {
	display: grid;
	grid-template-columns: 539fr 611fr;
	align-items: center;
	gap: 50px;
}

.quality-standard__text .quality-copy {
	margin-top: clamp(30px, 4.17vw, 50px);
}

.quality-standard__chart-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.quality-standard__figure {
	width: 100%;
	max-width: 611px;
	margin: 0;
}

.quality-standard__source {
	width: 100%;
	max-width: 611px;
	margin: 28px 0 0;
	font-size: var(--qm-font-sm);
	line-height: 1.65;
}


/* =========================================================
   PROCESS COMMON
========================================================= */

.quality-process {
	padding-block: clamp(100px, 10vw, 160px);
}

.quality-process__title {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 clamp(50px, 5vw, 75px);
	font-size: clamp(2.3rem, 2.33vw, 2.8rem);
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: .04em;
}

.quality-process__number {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	flex: 0 0 auto;
	font-family: "Arial Black", Arial, Helvetica, sans-serif;
	font-size: 1.15em;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;
}

.quality-process__number::after {
	content: "";
	display: block;
	width: 1px;
	height: 1.15em;
	background: #111;
}


/* =========================================================
   PROCESS 01
========================================================= */

.quality-process--01 .quality-process__title {
	margin-left: 100px;
	margin-bottom: 50px;
}

.quality-process-01__layout {
	display: grid;
	grid-template-columns: 610fr 540fr;
	gap: 50px;
}

.quality-process-01__manual-image {
	margin: 0 0 clamp(35px, 3.5vw, 50px);
}

.quality-process-01__manual-image img {
	aspect-ratio: 1.42 / 1;
	object-fit: cover;
}

.quality-process-01__text {
	width: min(100%, 510px);
	margin-left: auto;
}

.quality-process-01__text .quality-copy {
	margin-top: 24px;
}

.quality-process-01__points {
	font-weight: 700;
	line-height: 1.8;
}

.quality-process-01__site-image {
	margin: 0;
}

.quality-process-01__site-image img {
	width: 100%;
	aspect-ratio: 540 / 867;
	object-fit: cover;
}

.quality-process-01__site-image figcaption {
	margin-top: 10px;
	font-size: var(--qm-font-sm);
	line-height: 1.6;
}


/* =========================================================
   PROCESS 02
========================================================= */

.quality-process--01 {
	padding-bottom: 0;
}

.quality-process--02 {
	padding-top: clamp(70px, 8.33vw, 100px);
	padding-bottom: 0;
}

.quality-process-02__layout {
	display: grid;
	grid-template-columns: 585fr 565fr;
	align-items: center;
	gap: 50px;
}

.quality-process-02__visual {
	position: relative;
	min-height: 0;
	aspect-ratio: 585 / 553;
}

.quality-process-02__image {
	position: absolute;
	margin: 0;
	overflow: hidden;
}

.quality-process-02__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.quality-process-02__image--01,
.quality-process-02__image--02 {
	width: 68.72%;
}

.quality-process-02__image--01 {
	top: 0;
	left: 0;
	z-index: 2;
	aspect-ratio: 1.22 / 1;
}

.quality-process-02__image--02 {
	right: 0;
	bottom: 0;
	z-index: 1;
	aspect-ratio: 1.22 / 1;
}

.quality-process-02__text .quality-process__title {
	margin-bottom: clamp(35px, 4vw, 55px);
}

.quality-process-02__text .quality-copy {
	margin-top: 24px;
}


/* =========================================================
   INSPECTION STEPS
========================================================= */

.quality-inspection {
	padding-block:
		clamp(120px, 16.67vw, 200px)
		clamp(120px, 11vw, 180px);
}

.quality-inspection__heading {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: clamp(20px, 3vw, 45px);
	margin-bottom: clamp(60px, 6.67vw, 80px);
}

.quality-inspection__heading::before,
.quality-inspection__heading::after {
	content: "";
	height: 1px;
	background: #999;
}

.quality-inspection__heading h2 {
	margin: 0;
	font-size: clamp(2.2rem, 2.33vw, 2.8rem);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	white-space: nowrap;
}

.quality-inspection__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 1000px;
	margin-inline: auto;
	column-gap: clamp(40px, 5vw, 60px);
	row-gap: clamp(65px, 7vw, 95px);
}

.quality-step-card {
	min-width: 0;
}

.quality-step-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}

.quality-step-card__step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 24px;
	padding: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	background: var(--qm-yellow);
}

.quality-step-card__badges {
	display: flex;
	gap: 4px;
}

.quality-step-card__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 24px;
	padding-inline: 10px;
	font-size: 14px;
	line-height: 1;
	border-radius: 4px;
}

.quality-step-card__badge--required {
	background: var(--qm-yellow);
}

.quality-step-card__badge--inspector {
	background: #d9d9d9;
}

.quality-step-card__image {
	position: relative;
	margin: 0;
	overflow: hidden;
}

.quality-step-card__image img {
	width: 100%;
	aspect-ratio: 1.34 / 1;
	object-fit: cover;
}

.quality-step-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 22px;
}

.quality-step-card__title {
	margin: 0;
	font-size: var(--qm-font-md);
	font-weight: 700;
	line-height: 1.5;
}

.quality-step-card__check {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 8px;
	margin: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	font-size: 14px;
	line-height: 1.4;
	background: none;
	border: 0;
	cursor: pointer;
}

.quality-step-card__plus {
	display: inline-block;
	width: 1em;
	font-size: 2rem;
	font-weight: 300;
	line-height: 1;
	text-align: center;
}

.quality-step-card__plus::before {
	content: "＋";
}

.quality-step-card__check[aria-expanded="true"]
.quality-step-card__plus::before {
	content: "－";
}

.quality-step-card__description {
	margin: 20px 0 0;
	font-size: var(--qm-font-base);
	line-height: 1.9;
}

.quality-step-card__description strong {
	font-weight: 700;
}


/* =========================================================
   THIRD PARTY
========================================================= */

.quality-third-party {
	padding-bottom: clamp(120px, 12vw, 190px);
}

.quality-third-party__hero {
	position: relative;
	overflow: hidden;
}

.quality-third-party__hero-image {
	width: 100%;
	aspect-ratio: 3.2 / 1;
	object-fit: cover;
}

.quality-third-party__hero-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, .18),
			rgba(0, 0, 0, .04)
		);
}

.quality-third-party__hero-title {
	margin: 0;
	color: #fff;
	font-size: clamp(3.2rem, 4vw, 4.8rem);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .18);
}

.quality-third-party__intro {
	--quality-third-party-gap: clamp(60px, 9.83vw, 118px);

	display: grid;
	grid-template-columns: 554fr 328fr;
	max-width: 1000px;
	margin: clamp(40px, 4.17vw, 50px) auto 0;
	gap: var(--quality-third-party-gap);
}

.quality-third-party__intro-text {
	font-size: clamp(1.5rem, 1.5vw, 1.8rem);
}

.quality-third-party__service {
	position: relative;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.quality-third-party__service::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(var(--quality-third-party-gap) / -2);
	width: 1px;
	background: #999;
}

.quality-third-party__service-title {
	margin: 0 0 18px;
	font-size: var(--qm-font-md);
	font-weight: 700;
	line-height: 1.6;
}

.quality-third-party__service p {
	margin: 0;
	font-size: var(--qm-font-sm);
	line-height: 1.85;
}


/* Gallery */

.quality-third-party__gallery {
	position: relative;
	height: clamp(440px, 58vw, 700px);
	margin-top: clamp(70px, 8vw, 120px);
}

.quality-third-party__gallery-image {
	position: absolute;
	width: 37%;
	margin: 0;
	overflow: hidden;
}

.quality-third-party__gallery-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* 左上 */
.quality-third-party__gallery-image--01 {
	top: 0;
	left: 0;
}

/* 中央 */
.quality-third-party__gallery-image--02 {
	top: 17%;
	left: 31%;
}

/* 右下 */
.quality-third-party__gallery-image--03 {
	top: 34%;
	right: 0;
}


/* 円形ラベル */

.quality-third-party__gallery-label {
	position: absolute;
	z-index: 2;
	display: grid;
	place-items: center;
	width: clamp(90px, 10vw, 120px);
	aspect-ratio: 1;
	font-size: clamp(1.3rem, 1.25vw, 1.5rem);
	line-height: 1.4;
	text-align: center;
	background: #fff;
	border: 2px solid #d0d0d0;
	border-radius: 50%;
}

/* 1枚目の右上 */
.quality-third-party__gallery-label--site {
	top: 2%;
	left: 39%;
}

/* 1枚目の左下 */
.quality-third-party__gallery-label--drawing {
	top: 59%;
	left: 5%;
}

/* 2枚目の右上 */
.quality-third-party__gallery-label--record {
	top: 25%;
	right: 4%;
}

/* 2枚目と3枚目の間 */
.quality-third-party__gallery-label--measure {
	left: 48%;
	bottom: 1%;
}

.quality-third-party__message {
	margin:
		clamp(50px, 5vw, 80px)
		0
		0;
	font-size: clamp(2.4rem, 2.67vw, 3.2rem);
	line-height: 1.6;
	text-align: center;
	letter-spacing: .08em;
}


/* =========================================================
   INSPECTION REPORT
========================================================= */

.quality-report {
	padding-block: clamp(100px, 10vw, 155px);
	background: var(--qm-gray);
}

.quality-report__layout {
	display: grid;
	grid-template-columns: 673fr 477fr;
	align-items: center;
	gap: 50px;
}

.quality-report__visual {
	margin: 0;
}

.quality-report__text .quality-copy {
	margin-top: clamp(35px, 4vw, 55px);
}

.quality-report__note {
	margin: 28px 0 0;
	font-size: var(--qm-font-sm);
	line-height: 1.6;
}


/* =========================================================
   CLOSING
========================================================= */

.quality-closing {
	padding-top: clamp(100px, 10vw, 160px);
	padding-bottom: clamp(100px, 12.5vw, 150px);
}

.quality-closing__text {
	text-align: center;
}

.quality-closing__title {
	margin: 0;
	font-size: clamp(3.2rem, 4vw, 4.8rem);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .06em;
}

.quality-closing__copy {
	margin-top: clamp(40px, 5vw, 60px);
	font-size: var(--qm-font-md);
	letter-spacing: .05em;
}

.quality-closing__last {
	font-weight: 700;
}

.quality-closing__visual {
	margin:
		clamp(70px, 8.33vw, 100px)
		0
		0;
}

.quality-closing__visual img {
	width: 100%;
	aspect-ratio: 1.75 / 1;
	object-fit: cover;
}

.quality-closing__visual figcaption {
	margin-top: 8px;
	font-size: var(--qm-font-sm);
	line-height: 1.4;
	text-align: right;
}

.quality-closing__copy p + p {
	margin-top: clamp(24px, 2.67vw, 32px);
}


/* =========================================================
   PC FLUID
   768px - 1199px
========================================================= */

@media (min-width: 768px) and (max-width: 1199px) {

	.quality-container {
		width: calc(100% - clamp(40px, 5vw, 64px));
	}

	.quality-heading {
		font-size: clamp(2rem, 2.5vw, 2.8rem);
	}

	.quality-copy {
		font-size: clamp(1.25rem, 1.4vw, 1.5rem);
	}


	/* Steps */

	.quality-inspection__grid {
		column-gap: clamp(35px, 4vw, 55px);
	}


	/* Third party */

	.quality-third-party__intro {
		--quality-third-party-gap: clamp(40px, 6vw, 70px);
	}

}


/* =========================================================
   SP FOUNDATION
   320px - 767px
   SPデザイン確定後に細部を調整
========================================================= */

@media (max-width: 767px) {

	:root {
		--qm-font-sm: 1.3rem;
		--qm-font-base: 1.4rem;
		--qm-font-md: clamp(1.7rem, 5vw, 2rem);
		--qm-font-lg: clamp(2.2rem, 6.5vw, 2.8rem);
	}

	.quality-container,
	.quality-container--narrow,
	.quality-container--inspection {
		width: calc(100% - 40px);
		max-width: none;
	}

	.quality-copy {
		line-height: 1.9;
	}

	.quality-heading br,
	.quality-copy br {
		display: none;
	}
	
	.quality-heading {
		text-wrap: wrap;
	}


	/* Hero */

	.quality-hero {
		padding-block: 60px 80px;
	}

	.quality-hero__title-en {
		font-size: clamp(2.5rem, 8vw, 3.6rem);
		letter-spacing: .11em;
	}

	.quality-hero__title-ja {
		margin-top: 16px;
		font-size: 1.3rem;
	}


	/* Intro */

	.quality-intro {
		padding-bottom: 90px;
	}

	.quality-intro__lead,
	.quality-intro__detail {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.quality-intro__lead-visual {
		order: -1;
	}

	.quality-intro__lead-visual img {
		aspect-ratio: 1.3 / 1;
	}

	.quality-intro__detail {
		margin-top: 80px;
	}

	.quality-intro__photo-grid {
		gap: 8px;
	}
	

	/* Standard */

	.quality-standard {
		padding-block: 80px;
	}

	.quality-standard__content {
		grid-template-columns: 1fr;
		gap: 55px;
	}

	.quality-standard__figure,
	.quality-standard__source {
		width: 100%;
		max-width: 420px;
	}


	/* Process */

	.quality-process {
		padding-block: 80px;
	}

	.quality-process__title {
		align-items: flex-start;
		margin-bottom: 40px;
		font-size: clamp(2rem, 6vw, 2.5rem);
	}

	.quality-process-01__layout,
	.quality-process-02__layout {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.quality-process-01__site-image img {
		aspect-ratio: 1 / 1.15;
	}
	
	.quality-process--01 .quality-process__title {
		margin-left: 0;
	}

	.quality-process-02__visual {
		width: 100%;
		max-width: 585px;
		margin-inline: auto;
	}
	.quality-process-02__text .quality-process__title {
		margin-bottom: 30px;
	}


	/* Steps */

	.quality-inspection {
		padding-block: 80px 100px;
	}

	.quality-inspection__heading {
		grid-template-columns: 1fr;
		margin-bottom: 55px;
	}

	.quality-inspection__heading::before,
	.quality-inspection__heading::after {
		display: none;
	}

	.quality-inspection__heading h2 {
		font-size: clamp(2rem, 6vw, 2.6rem);
		white-space: normal;
	}

	.quality-inspection__grid {
		grid-template-columns: 1fr;
		row-gap: 65px;
	}

	.quality-step-card__header {
		align-items: flex-start;
		gap: 10px;
	}


	/* Third party */

	.quality-third-party {
		padding-bottom: 100px;
	}

	.quality-third-party__hero-image {
		aspect-ratio: 1.35 / 1;
	}

	.quality-third-party__hero-title {
		font-size: clamp(2.4rem, 7vw, 3.2rem);
	}

	.quality-third-party__intro {
		grid-template-columns: 1fr;
		gap: 40px;
		margin-top: 55px;
	}

	.quality-third-party__service {
		padding: 30px 0 0;
		border-top: 1px solid #999;
	}
	
	.quality-third-party__service::before {
		display: none;
	}

	.quality-third-party__gallery {
		display: grid;
		grid-template-columns: 1fr;
		gap: 28px;
		height: auto;
		margin-top: 60px;
	}

	.quality-third-party__gallery-image,
	.quality-third-party__gallery-image--01,
	.quality-third-party__gallery-image--02,
	.quality-third-party__gallery-image--03 {
		position: relative;
		inset: auto;
		width: 100%;
	}

	.quality-third-party__gallery-image img {
		aspect-ratio: 1 / 1;
	}

	.quality-third-party__gallery-label {
		width: clamp(64px, 20vw, 82px);
		font-size: clamp(1rem, 3.2vw, 1.2rem);
	}

	.quality-third-party__gallery-label--site {
		top: 23%;
		right: 8px;
		left: auto;
	}

	.quality-third-party__gallery-label--drawing {
		top: 45%;
		left: 8px;
	}

	.quality-third-party__gallery-label--record {
		top: 67%;
		right: 8px;
		left: auto;
	}

	.quality-third-party__gallery-label--measure {
		top: auto;
		right: auto;
		bottom: -15px;
		left: 8%;
	}

	.quality-third-party__message {
		margin-top: 55px;
		font-size: clamp(1.8rem, 5.5vw, 2.4rem);
	}


	/* Report */

	.quality-report {
		padding-block: 80px;
	}

	.quality-report__layout {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.quality-report__visual {
		order: 2;
	}

	.quality-report__text {
		order: 1;
	}


	/* Closing */

	.quality-closing {
		padding-top: 90px;
	}

	.quality-closing__title {
		font-size: clamp(2.7rem, 8vw, 3.5rem);
	}

	.quality-closing__copy {
		margin-top: 45px;
	}

	.quality-closing__visual {
		margin-top: 75px;
	}

	.quality-closing__visual img {
		aspect-ratio: 1.25 / 1;
	}
}