/*
Odor control landing page
------------------------------ */

/* Base
------------------------------ */
body.page-template-page-odor-control {
	margin: 0;
	padding-top: 0;
	overflow-x: hidden;
	overflow-x: clip;
	background-color: #FFFFFF;
}

.odorPg {
	position: relative;
	width: 100%;
	overflow: hidden;
	background-color: #FFFFFF;
}

/* Hidden headings for accessibility */
.odorPg__title,
.odorPg__sectionTitle {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* First view
------------------------------ */
.odorFv {
	position: relative;
	z-index: 0;
	width: 100%;
}

.odorFv__picture {
	display: block;
	width: min(100%, 1440px);
	margin-inline: auto;
}

.odorFv__image {
	display: block;
	width: 100%;
	height: auto;
}

/* First view contact button
------------------------------ */
.odorFvContact {
	position: absolute;
	bottom: min(348px, 24.1667vw);
	left: max(calc((100% - 1440px) / 2 + 122px), 8.4722vw);
	display: flex;
	justify-content: center;
}

.odorFvContact__link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(670px, 46.5278vw);
	padding-block: min(24px, 1.6667vw);
	padding-right: min(42px, 2.9167vw);
	padding-left: min(24px, 1.6667vw);
	box-sizing: border-box;
	border: 1px solid transparent;
	border-radius: min(15px, 1.0417vw);
	overflow: hidden;
	background: linear-gradient(to bottom, #fb9b14 0%, #f45302 100%);
	color: #FFFFFF;
	font-family: "Noto Sans JP", sans-serif;
	font-size: min(34px, 2.3611vw);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-align: center;
	text-decoration: none;
	transition: color 0.3s ease, border-color 0.3s ease;
}

.odorFvContact__link::before {
	position: absolute;
	inset: 0;
	background-color: #FFFFFF;
	content: "";
	opacity: 0;
	transition: opacity 0.3s ease;
}

.odorFvContact__link:hover {
	border-color: #f8770b;
	color: #f8770b;
}

.odorFvContact__link:hover::before {
	opacity: 1;
}

.odorFvContact__text,
.odorFvContact__arrow {
	position: relative;
	z-index: 1;
}

.odorFvContact__arrow {
	display: block;
	width: min(18px, 1.25vw);
	height: min(32px, 2.2222vw);
	margin-left: min(14px, 0.9722vw);
	background-color: currentColor;
	-webkit-mask: url("../img/odor/arrow.png") center / contain no-repeat;
	mask: url("../img/odor/arrow.png") center / contain no-repeat;
	transition: background-color 0.3s ease;
}

/* Floating contact button
------------------------------ */
.odorFloatingContact {
	position: absolute;
	top: 50%;
	right: 48px;
	z-index: 1000;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(233px, 16.1806vw);
	height: min(233px, 16.1806vw);
	aspect-ratio: 1;
	box-sizing: border-box;
	border: 2px solid transparent;
	border-radius: 50%;
	background: linear-gradient(122deg, #fb9b14 0%, #f45302 100%);
	box-shadow: 4.66px 4.66px 8.74px 0 rgba(0, 0, 0, 0.24);
	color: #FFFFFF;
	font-family: "Noto Sans JP", sans-serif;
	font-size: min(18px, 1.25vw);
	font-weight: 700;
	line-height: 1.3;
  letter-spacing: 0.05em;
	text-align: center;
	text-decoration: none;
	opacity: 0;
	pointer-events: none;
	transform: translateY(calc(-50% + 12px));
	transition: opacity 0.3s ease, transform 0.3s ease, border-color 0.3s ease, color 0.3s ease;
	-webkit-animation-name: anim-balloon;
	animation-name: anim-balloon;
	-webkit-animation-duration: 3s;
	animation-duration: 3s;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
}

.odorFloatingContact::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: inherit;
	background-color: #FFFFFF;
	content: "";
	opacity: 0;
	transition: opacity 0.3s ease;
}

.odorFloatingContact:hover {
	color: #f8770b;
	border-color: #f8770b;
}

.odorFloatingContact:hover::before {
	opacity: 1;
}

.odorFloatingContact__icon,
.odorFloatingContact__arrow {
	z-index: 1;
	background-color: currentColor;
	transition: background-color 0.3s ease;
}

.odorFloatingContactWrap {
	position: fixed;
	inset: 0;
	z-index: 1000;
	overflow: hidden;
	pointer-events: none;
	transform: translateZ(0);
}

.odorFloatingContact.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(-50%);
}

@-webkit-keyframes anim-balloon {
	0%,
	100% {
		translate: 0 0;
	}
	50% {
		translate: 0 -10px;
	}
}

@keyframes anim-balloon {
	0%,
	100% {
		translate: 0 0;
	}
	50% {
		translate: 0 -10px;
	}
}

.odorFloatingContact__icon {
	display: block;
	width: min(32px, 2.2222vw);
	height: min(32px, 2.2222vw);
	margin-bottom: min(7px, 0.4861vw);
	-webkit-mask: url("../img/odor/comment-dots.svg") center / contain no-repeat;
	mask: url("../img/odor/comment-dots.svg") center / contain no-repeat;
	transform: translateY(max(-13px, -0.9028vw));
}

.odorFloatingContact__label,
.odorFloatingContact__lead,
.odorFloatingContact__message {
	display: block;
}

.odorFloatingContact__label {
	position: relative;
	z-index: 1;
	transform: translateY(max(-10px, -0.6944vw));
}

.odorFloatingContact__lead--sp {
	display: none;
}

.odorFloatingContact__message {
	font-size: min(34px, 2.3611vw);
	font-weight: 700;
	line-height: 1.2;
}

.odorFloatingContact__arrow {
	position: absolute;
	top: 50%;
	right: min(20px, 1.3889vw);
	width: min(18px, 1.25vw);
	height: min(36px, 2.5vw);
	-webkit-mask: url("../img/odor/arrow.png") center / contain no-repeat;
	mask: url("../img/odor/arrow.png") center / contain no-repeat;
	transform: translateY(-50%);
}

/* Scroll indicator
------------------------------ */
.odorScroll {
	position: relative;
	top: max(-144px, -10vw);
	z-index: 2;
	height: 0;
	color: #2B5674;
}

.odorScroll__text {
	position: absolute;
	right: 0;
	bottom: 10px;
	left: 0;
	font-family: "Noto Serif JP", sans-serif;
	font-size: min(20px, 1.3889vw);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.16em;
	text-align: center;
}

.odorScroll__track {
	position: absolute;
	top: 0;
	left: 50%;
	display: block;
	width: 1px;
	height: min(56px, 4.0278vw);
	overflow: hidden;
	background-color: rgba(11, 64, 139, 0.2);
	transform: translateX(-50%);
}

.odorScroll__line {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 50%;
	background-color: #2B5674;
	animation: odorScrollLine 1.8s ease-in-out infinite;
}

@keyframes odorScrollLine {
	0% {
		transform: translateY(-100%);
	}
	50%,
	100% {
		transform: translateY(200%);
	}
}

/* Loss section
------------------------------ */
.odorLoss,
.odorLoss__picture {
	display: block;
	width: 100%;
}

.odorLoss {
	position: relative;
	z-index: 1;
	margin-top: max(-284px, -19.7222vw);
}

.odorLoss__picture {
	max-width: 1440px;
	margin-inline: auto;
}

.odorLoss__image {
	display: block;
	width: 100%;
	height: auto;
}

/* Problems section
------------------------------ */
.odorProblems,
.odorProblems__picture {
	display: block;
	width: 100%;
}

.odorProblems__picture {
	max-width: 1440px;
	margin-inline: auto;
}

.odorProblems__image {
	display: block;
	width: 100%;
	height: auto;
}

/* Strengths section
------------------------------ */
.odorStrengths,
.odorStrengths__picture {
	display: block;
	width: 100%;
}

.odorStrengths__picture {
	max-width: 1440px;
	margin-inline: auto;
}

.odorStrengths__image {
	display: block;
	width: 100%;
	height: auto;
}

/* Services section
------------------------------ */
.odorServices,
.odorServices__picture {
	display: block;
	width: 100%;
}

.odorServices__picture {
	max-width: 1440px;
	margin-inline: auto;
}

.odorServices__image {
	display: block;
	width: 100%;
	height: auto;
}

/* Voices section
------------------------------ */
.odorVoices {
	display: block;
	width: 100%;
	padding-top: 13.9583vw;
	padding-bottom: 8.5417vw;
}

.odorVoices__picture {
	display: block;
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
}

.odorVoices__image {
	display: block;
	width: 100%;
	height: auto;
}

/* Urgency section
------------------------------ */
.odorUrgency,
.odorUrgency__picture {
	display: block;
	width: 100%;
}

.odorUrgency__picture {
	max-width: 1440px;
	margin-inline: auto;
}

.odorUrgency__image {
	display: block;
	width: 100%;
	height: auto;
}

/* Flow section
------------------------------ */
.odorFlow {
	display: block;
	width: 100%;
	padding-top: 13.8889vw;
	padding-bottom: 13.8889vw;
}

.odorFlow__picture {
	display: block;
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
}

.odorFlow__image {
	display: block;
	width: 100%;
	height: auto;
}

/* FAQ section
------------------------------ */
.odorFaq {
	display: block;
	width: 100%;
	padding-bottom: 13.8889vw;
}

.odorFaq__picture {
	display: block;
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
}

.odorFaq__image {
	display: block;
	width: 100%;
	height: auto;
}

/* Contact section
------------------------------ */
.odorContact {
	width: min(100%, 1440px);
	max-width: 1440px;
	margin-inline: auto;
	background-color: #F1F8FF;
	background-image: url("../img/odor/odor-contact-pc.png");
	background-image: -webkit-image-set(
		url("../img/odor/odor-contact-pc.webp") 1x,
		url("../img/odor/odor-contact-pc.png") 1x
	);
	background-image: image-set(
		url("../img/odor/odor-contact-pc.webp") type("image/webp") 1x,
		url("../img/odor/odor-contact-pc.png") type("image/png") 1x
	);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.odorContact__body {
	display: flow-root;
	width: 100%;
	padding-top: min(649px, 45.0694vw);
	padding-bottom: min(51px, 3.6vw);
}

.odorContactForm {
	width: min(1200px, 83.3333vw);
	margin-top: min(85px, 5.9028vw);
	margin-inline: auto;
	padding: min(90px, 6.25vw) min(92px, 6.3889vw) min(160px, 11.1111vw);
	box-sizing: border-box;
	background-color: #FFFFFF;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(16px, 1.5278vw, 22px);
	font-weight: 500;
	letter-spacing: 0.05em;
}

.odorContactForm__errorSummary {
	margin: 0 0 min(32px, 2.2222vw);
	padding: min(18px, 1.25vw) min(24px, 1.6667vw);
	border: 1px solid #CE0303;
	background-color: #FFF2F2;
	color: #CE0303;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.odorContactForm__errorSummary[hidden] {
	display: none;
}

.odorContactForm__row {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto min(688px, 47.7778vw);
	align-items: center;
	column-gap: min(24px, 2.2222vw);
	padding-block: min(29px, 2.0833vw);
}

.odorContactForm__row::after {
	position: absolute;
	right: 50%;
	bottom: 0;
	width: min(1032px, 71.6667vw);
	height: 1px;
	background-color: #CCCCCC;
	content: "";
	transform: translateX(50%);
}

.odorContactForm__row:first-child {
	padding-top: 0;
}

.odorContactForm__row:last-child::after {
	display: none;
}

.odorContactForm__label {
	line-height: 1.45;
}

.odorContactForm__status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: min(56px, 3.8889vw);
	min-height: min(38px, 2.6389vw);
	padding: 0 0.25em;
	box-sizing: border-box;
	border-radius: 4px;
	color: #FFFFFF;
	font-size: clamp(10px, 1.3889vw, 20px);
	font-weight: 500;
	letter-spacing: 0;
}

.odorContactForm__status--required {
	background-color: #CE0303;
}

.odorContactForm__status--optional {
	background-color: #BDBDBD;
}

.odorContactForm__control input[type="text"],
.odorContactForm__control input[type="email"],
.odorContactForm__control input[type="tel"],
.odorContactForm__control select,
.odorContactForm__control textarea {
	display: block;
	width: 100%;
	max-width: none;
  margin-left: 8px;
	padding: 0 min(20px, 1.3889vw);
	box-sizing: border-box;
	border: 1px solid #1D1D1D;
	border-radius: min(8px, 0.5556vw);
	background-color: #FFFFFF;
	color: #1D1D1D;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(16px, 1.5278vw, 22px);
	font-weight: 500;
	letter-spacing: 0.05em;
}

.odorContactForm__control input[type="text"],
.odorContactForm__control input[type="email"],
.odorContactForm__control input[type="tel"],
.odorContactForm__control select {
	height: min(67px, 4.6528vw);
}

.odorContactForm__control textarea {
	height: min(171px, 11.5972vw);
	padding-block: min(9px, 0.9722vw);
	line-height: 1.6;
	resize: vertical;
}

.odorContactForm__control input::placeholder,
.odorContactForm__control textarea::placeholder {
	color: #B1B1B1;
	opacity: 1;
}

.odorContactForm__control--select {
	position: relative;
}

.odorContactForm__control--select select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: min(52px, 3.6111vw);
	color: #B1B1B1;
}

.odorContactForm__control--select select.has-value {
	color: #1D1D1D;
}

.odorContactForm__control--select::after {
	position: absolute;
	top: min(33.5px, 2.3264vw);
	right: min(28px, 1.9444vw);
	width: min(18px, 1.25vw);
	height: min(36px, 2.5vw);
	background-color: #1D1D1D;
	content: "";
	pointer-events: none;
	-webkit-mask: url("../img/odor/arrow.png") center / contain no-repeat;
	mask: url("../img/odor/arrow.png") center / contain no-repeat;
	transform: translateY(-50%) rotate(90deg);
}

.odorContactForm__checks .mwform-checkbox-field {
	display: block;
	margin: 0 0 min(8px, 0.4167vw);
}

.odorContactForm__checks .mwform-checkbox-field:last-of-type {
	margin-bottom: 0;
}

.odorContactForm .mw_wp_form .vertical-item + .vertical-item {
	margin-top: 8px;
}

.odorContactForm__row--checks .odorContactForm__status {
	align-self: start;
	margin-top: min(15px, 1.4583vw);
}

.odorContactForm__row--checks .odorContactForm__control {
	padding-left: min(9px, 0.625vw);
}

.odorContactForm__row--textarea .odorContactForm__status {
	align-self: start;
	margin-top: min(14px, 0.9722vw);
}

.odorContactForm input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	width: min(40px, 2.7778vw);
	height: min(40px, 2.7778vw);
	margin: 0 min(20px, 1.3889vw) 0 0;
	box-sizing: border-box;
	border: 1px solid #1D1D1D;
	border-radius: min(8px, 0.5556vw);
	background-color: #FFFFFF;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 65% auto;
	vertical-align: middle;
	cursor: pointer;
}

.odorContactForm input[type="checkbox"]:checked {
	border-color: #f8770b;
	background-color: #f8770b;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m5 12 4 4L19 6'/%3E%3C/svg%3E");
}

.odorContactForm__privacy {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: min(20px, 2.9167vw);
	color: #4670B5;
	font-size: clamp(16px, 1.5278vw, 22px);
	font-weight: 500;
	letter-spacing: 0.05em;
}

.odorContactForm__privacy .mwform-checkbox-field-text {
	font-size: 0;
}

.odorContactForm__privacyLink {
	position: relative;
	color: inherit;
	text-decoration: underline;
	text-decoration-color: currentColor;
	text-underline-offset: 0.15em;
}

.odorContactForm__privacyLink::before {
	position: absolute;
	inset: -12px;
	content: "";
}

.odorContactForm__privacyLink::after {
	position: absolute;
	right: -0.4em;
	color: #DF4545;
	content: "*";
}

.odorContactForm__buttons {
	display: flex;
	justify-content: center;
	gap: min(20px, 1.3889vw);
	margin-top: min(48px, 3.3333vw);
}

.odorContactForm__buttons button,
.odorContactForm__buttons input {
	position: relative;
	flex-shrink: 0;
	width: min(1032px, 71.6667vw);
	min-height: min(84px, 5.8333vw);
	padding: min(24px, 1.6667vw) min(56px, 3.8889vw);
	box-sizing: border-box;
	border: 1px solid transparent;
	border-radius: min(15px, 1.0417vw);
	background: linear-gradient(to bottom, #fb9b14 0%, #f45302 100%);
	box-shadow: inset 0 0 0 100vmax rgba(255, 255, 255, 0);
	color: #FFFFFF;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(16px, 2.3611vw, 34px);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
	overflow: hidden;
	cursor: pointer;
	transition: border-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
}

.odorContactForm__confirm::after {
	position: absolute;
	top: 50%;
	right: min(46px, 3.1944vw);
	z-index: 1;
	width: min(18px, 1.25vw);
	height: min(36px, 2.5vw);
	background-color: currentColor;
	content: "";
	-webkit-mask: url("../img/odor/arrow.png") center / contain no-repeat;
	mask: url("../img/odor/arrow.png") center / contain no-repeat;
	transform: translateY(-50%);
}

.odorContactForm__buttons button:hover,
.odorContactForm__buttons input:hover {
	border-color: #f8770b;
	box-shadow: inset 0 0 0 100vmax #FFFFFF;
	color: #f8770b;
}

.odorContactForm__buttons .odorContactForm__back {
	max-width: min(300px, 20.8333vw);
	background: linear-gradient(to bottom, #969696 0%, #606060 100%);
}

.mw_wp_form_confirm .odorContactForm__buttons {
	width: min(1032px, 71.6667vw);
	margin-inline: auto;
}

.mw_wp_form_confirm .odorContactForm__privacy {
	display: none;
}

.mw_wp_form_confirm .odorContactForm__control--select::after {
	display: none;
}

.mw_wp_form_confirm .odorContactForm__back {
	flex: 0 0 min(300px, 20.8333vw);
	width: auto;
}

.mw_wp_form_confirm .odorContactForm__submit {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
}

.odorContactForm .error {
	display: block;
	margin-top: 0.5em;
	color: #CE0303;
	font-size: 0.75em;
	line-height: 1.5;
}

.odorContact__logoLink {
	position: relative;
	display: block;
	width: min(229.11px, 15.9104vw);
	margin: min(58px, 4.0278vw) auto 0;
}

.odorContact__logoLink::before {
	position: absolute;
	inset: -16px;
	content: "";
}

.odorContact__logo {
	display: block;
	width: 100%;
	height: auto;
}

/* Footer
------------------------------ */
.odorFooter {
	width: min(100%, 1440px);
	margin-inline: auto;
	padding: min(147px, 10.2083vw) min(20px, 1.3889vw) min(42px, 2.9167vw);
	box-sizing: border-box;
	background-color: #FFFFFF;
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
	text-align: center;
}

.odorFooter__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: min(64px, 4.4444vw);
}

.odorFooter__link {
	position: relative;
	color: #3A72CD;
	font-size: min(16px, calc(16 / 1440 * 100vw));
  font-weight: 500;
	line-height: 1.5;
	text-decoration-line: underline;
	text-decoration-color: currentColor;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: opacity 0.35s ease-in-out;
}

.odorFooter__link::before {
	position: absolute;
	inset: -12px;
	content: "";
}

.odorFooter__link:hover {
	opacity: 0.5;
}

.odorFooter__copyright {
	margin-top: min(52px, 3.6111vw);
	color: #1D1D1D;
	font-size: min(14px, calc(14 / 1440 * 100vw));
  font-weight: 500;
	line-height: 1.5;
}

/* Smartphone
------------------------------ */
@media screen and (max-width: 767px) {
	/* Scroll indicator */
	.odorScroll {
		display: none;
	}

	/* First view */
	.odorFv {
		padding-bottom: 21.8667vw;
		box-sizing: border-box;
		background-image: url("../img/odor/odor-fv-bg-sp.png");
		background-image: -webkit-image-set(
			url("../img/odor/odor-fv-bg-sp.webp") 1x,
			url("../img/odor/odor-fv-bg-sp.png") 1x
		);
		background-image: image-set(
			url("../img/odor/odor-fv-bg-sp.webp") type("image/webp") 1x,
			url("../img/odor/odor-fv-bg-sp.png") type("image/png") 1x
		);
		background-position: center top;
		background-repeat: no-repeat;
		background-size: 100% auto;
	}

	.odorFv__picture {
		width: 100%;
		max-width: none;
	}

	/* First view contact button */
	.odorFvContact {
		display: none;
	}

	.odorFvContact__link {
		width: 100%;
		height: 64px;
		padding: 0 20px;
		border-radius: 15px;
		font-size: 20px;
	}

	.odorFvContact__arrow {
		width: 9px;
		height: 18px;
		margin-left: 14px;
	}

	/* Floating contact button */
	.odorFloatingContact {
		top: auto;
		right: auto;
		bottom: 10px;
		left: 50%;
		flex-direction: row;
		width: min(351px, 93.6vw);
		max-width: 351px;
		height: auto;
		aspect-ratio: auto;
		margin-inline: 0;
		padding-right: min(28px, 7.4667vw);
		padding-left: min(8px, 2.1333vw);
		padding-block: min(28px, 7.4667vw);
		border: 0.5px solid #FFFFFF;
		border-radius: min(50px, 13.3333vw);
		background: linear-gradient(to bottom, #fb9b14 0%, #f45302 100%);
		box-shadow:
			0 0 0 2px #f8770b,
			2px 2px 8px 0 rgba(0, 0, 0, 0.25);
		font-size: min(20px, 5.3333vw);
		letter-spacing: 0.04em;
		opacity: 0;
		pointer-events: none;
		transform: translate(-50%, 12px);
	}

	.odorFloatingContact::before {
		display: none;
	}

	.odorFloatingContact:hover {
		border-color: #FFFFFF;
		color: #FFFFFF;
	}

	.odorFloatingContact.is-visible {
		transform: translate(-50%, 0);
	}

	.odorFloatingContact__icon,
	.odorFloatingContact__break {
		display: none;
	}

	.odorFloatingContact__label,
	.odorFloatingContact__lead,
	.odorFloatingContact__message {
		display: inline;
	}

	.odorFloatingContact__label {
		min-width: 0;
		white-space: nowrap;
		transform: none;
	}

	.odorFloatingContact__lead--pc {
		display: none;
	}

	.odorFloatingContact__message {
		font-size: inherit;
		line-height: inherit;
	}

	.odorFloatingContact__arrow {
		right: min(19px, 5.0667vw);
		width: min(9px, 2.4vw);
		height: min(18px, 4.8vw);
	}

	/* Scroll indicator */
	.odorScroll__track {
		height: 42px;
	}

	/* Loss section */
	.odorLoss__picture {
		max-width: none;
	}

	/* Problems section */
	.odorProblems__picture {
		max-width: none;
	}

	/* Strengths section */
	.odorStrengths__picture {
		max-width: none;
	}

	/* Services section */
	.odorServices__picture {
		max-width: none;
	}

	/* Voices section */
	.odorVoices {
		padding-top: 21.3333vw;
		padding-bottom: 21.3333vw;
	}

	.odorVoices__picture {
		max-width: none;
	}

	/* Urgency section */
	.odorUrgency__picture {
		max-width: none;
	}

	/* Flow section */
	.odorFlow {
		padding-top: 21.3333vw;
		padding-bottom: 23.7333vw;
	}

	.odorFlow__picture {
		max-width: none;
	}

	/* FAQ section */
	.odorFaq {
		padding-bottom: 26.6667vw;
	}

	.odorFaq__picture {
		max-width: none;
	}

	/* Contact section */
	.odorContact {
		max-width: none;
		background-image: url("../img/odor/odor-contact-sp.png");
		background-image: -webkit-image-set(
			url("../img/odor/odor-contact-sp.webp") 1x,
			url("../img/odor/odor-contact-sp.png") 1x
		);
		background-image: image-set(
			url("../img/odor/odor-contact-sp.webp") type("image/webp") 1x,
			url("../img/odor/odor-contact-sp.png") type("image/png") 1x
		);
	}

	.odorContact__body {
		width: calc(316 / 375 * 100vw);
		margin-inline: auto;
		padding-top: calc(366 / 375 * 100vw);
		padding-bottom: calc(30 / 375 * 100vw);
	}

	.odorContactForm {
		width: calc(316 / 375 * 100vw);
		margin-top: calc(22 / 375 * 100vw);
		padding: calc(38 / 375 * 100vw) calc(20 / 375 * 100vw) calc(78 / 375 * 100vw);
		font-size: calc(16 / 375 * 100vw);
	}

	.odorContactForm__row {
		grid-template-columns: calc(30 / 375 * 100vw) calc(224 / 375 * 100vw);
		row-gap: calc(9 / 375 * 100vw);
		column-gap: calc(12 / 375 * 100vw);
		padding-block: calc(23 / 375 * 100vw);
	}

	.odorContactForm__row::after {
		right: auto;
		left: 0;
		width: calc(276 / 375 * 100vw);
		transform: none;
	}

	.odorContactForm__row:first-child {
		padding-top: 0;
	}

	.odorContactForm__label {
		grid-column: 1 / -1;
	}

	.odorContactForm__row--location .odorContactForm__label br {
		display: none;
	}

	.odorContactForm__row--location {
		align-items: start;
	}

	.odorContactForm__row--location .odorContactForm__status {
		margin-top: calc(11.5 / 375 * 100vw);
	}

	.odorContactForm__row--checks .odorContactForm__label br {
		display: none;
	}

	.odorContactForm__status {
		min-width: calc(30 / 375 * 100vw);
		min-height: calc(28 / 375 * 100vw);
		padding-inline: calc(18 / 375 * 100vw);
		border-radius: 5px;
		font-size: calc(10 / 375 * 100vw);
		white-space: nowrap;
	}

	.odorContactForm__control input[type="text"],
	.odorContactForm__control input[type="email"],
	.odorContactForm__control input[type="tel"],
	.odorContactForm__control select,
	.odorContactForm__control textarea {
		padding-inline: calc(20 / 375 * 100vw);
		border-radius: 8px;
		font-size: calc(16 / 375 * 100vw);
	}

	.odorContactForm__control input::placeholder,
	.odorContactForm__control textarea::placeholder,
	.odorContactForm__control--select select {
		font-size: calc(14 / 375 * 100vw);
	}

	.odorContactForm__control--select select.has-value {
		font-size: calc(16 / 375 * 100vw);
	}

	.odorContactForm__control input[type="text"],
	.odorContactForm__control input[type="email"],
	.odorContactForm__control input[type="tel"],
	.odorContactForm__control select {
		height: calc(51 / 375 * 100vw);
	}

	.odorContactForm__control textarea {
		height: calc(144 / 375 * 100vw);
		padding-block: calc(7 / 375 * 100vw);
		padding-right: calc(10 / 375 * 100vw);
		padding-left: calc(18 / 375 * 100vw);
	}

	.odorContactForm__control--select select {
		padding-right: calc(40 / 375 * 100vw);
	}

	.odorContactForm__control--select::after {
		top: calc(25.5 / 375 * 100vw);
		right: calc(4 / 375 * 100vw);
		width: calc(9 / 375 * 100vw);
		height: calc(18 / 375 * 100vw);
	}

	.odorContactForm .mw_wp_form .odorContactForm__checks .vertical-item + .vertical-item {
		margin-top: calc(16 / 375 * 100vw);
	}

	.odorContactForm__checks {
		font-size: calc(14 / 375 * 100vw);
	}

	.odorContactForm__checks .mwform-checkbox-field-text {
		margin-left: calc(4 / 375 * 100vw);
	}

	.odorContactForm__row--checks {
		row-gap: calc(9 / 375 * 100vw);
		column-gap: calc(16 / 375 * 100vw);
	}

	.odorContactForm__row--checks .odorContactForm__status {
		margin-top: calc(4 / 375 * 100vw);
	}

	.odorContactForm__row--checks .odorContactForm__control {
		padding-top: calc(5 / 375 * 100vw);
		padding-left: 0;
	}

	.odorContactForm__row--textarea .odorContactForm__status {
		margin-top: 0;
	}

	.odorContactForm input[type="checkbox"] {
		width: calc(24.67 / 375 * 100vw);
		height: calc(24.67 / 375 * 100vw);
		margin-left: calc(6 / 375 * 100vw);
		border-radius: 5px;
	}

	.odorContactForm__privacy {
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-top: calc(7 / 375 * 100vw);
		font-size: calc(14 / 375 * 100vw);
		white-space: nowrap;
	}

	.odorContactForm__privacy .error {
		order: 1;
		flex: 0 0 100%;
		margin-left: calc(6 / 375 * 100vw);
		white-space: normal;
	}

	.odorContactForm__privacyLink::after {
		right: calc(-7 / 375 * 100vw);
		font-size: calc(14 / 375 * 100vw);
	}

	.odorContactForm__buttons {
		gap: calc(10 / 375 * 100vw);
		margin-top: calc(32 / 375 * 100vw);
	}

	.odorContactForm__buttons button,
	.odorContactForm__buttons input {
		width: 100%;
		min-height: calc(50 / 375 * 100vw);
		padding: calc(18 / 375 * 100vw) calc(20 / 375 * 100vw);
		border-radius: 4px;
		font-size: calc(14 / 375 * 100vw);
    letter-spacing: 0.1em;
	}

	.odorContactForm__confirm::after {
		right: calc(18 / 375 * 100vw);
		width: calc(9 / 375 * 100vw);
		height: calc(18 / 375 * 100vw);
	}

	.odorContactForm__buttons .odorContactForm__back {
		max-width: calc(100 / 375 * 100vw);
	}

	.mw_wp_form_confirm .odorContactForm__buttons {
		width: 100%;
	}

	.mw_wp_form_confirm .odorContactForm__back {
		flex-basis: calc(100 / 375 * 100vw);
	}

	.odorContact__logoLink {
		width: calc(114 / 375 * 100vw);
		margin-top: calc(30 / 375 * 100vw);
	}

	/* Footer */
	.odorFooter {
		padding: calc(94 / 375 * 100vw) calc(20 / 375 * 100vw) calc(27 / 375 * 100vw);
	}

	.odorFooter__nav {
		gap: calc(62 / 375 * 100vw);
	}

	.odorFooter__link {
		font-size: calc(12 / 375 * 100vw);
	}

	.odorFooter__copyright {
		margin-top: calc(60 / 375 * 100vw);
		font-size: calc(10 / 375 * 100vw);
	}

	/* Loss section overlap adjustment */
	.odorLoss {
		margin-top: -43.2vw;
	}
}

/* Reduced motion
------------------------------ */
@media (prefers-reduced-motion: reduce) {
	.odorFloatingContact {
		-webkit-animation: none;
		animation: none;
	}

	.odorScroll__line {
		animation: none;
		transform: none;
	}
}
