:root {
	--mgna-blue: #006db2;
	--mgna-text: #454545;
	--mgna-line: #d9d9d9;
	font-family: "Zen Old Mincho", "Yu Mincho", YuMincho, serif;
}

/* FAQ page: Figma artboard 3196:350 (PC) and an empty SP canvas. */
.faq-page :where(div, section, header, nav, span, p, h1, h2, ul, li, a, img, details, summary) {
	box-sizing: border-box;
}

.faq-page {
	--faq-motion-duration: 360ms;
	--faq-motion-easing: cubic-bezier(0.22, 1, 0.36, 1);
	width: 100%;
	min-height: 100vh;
	overflow: hidden;
	background: #ffffff;
}

.faq-stage,
.faq-artboard {
	transition: height var(--faq-motion-duration) var(--faq-motion-easing);
}

.faq-item,
.faq-section-heading,
.faq-purchase {
	transition: top var(--faq-motion-duration) var(--faq-motion-easing);
}

.faq-item__answer,
.faq-sp-item__answer {
	will-change: opacity, transform;
}

@media (prefers-reduced-motion: reduce) {
	.faq-stage,
	.faq-artboard,
	.faq-item,
	.faq-section-heading,
	.faq-purchase {
		transition: none;
	}
}

.faq-stage {
	position: relative;
	overflow: hidden;
}

.faq-stage--pc {
	display: block;
	width: 1440px;
	height: 5785px;
	margin-inline: auto;
}

.faq-artboard {
	position: absolute;
	inset: 0 auto auto 0;
	margin: 0;
	overflow: hidden;
	transform-origin: top left;
	background: #ffffff;
}

.faq-artboard--pc {
	width: 1440px;
	height: 5785px;
}

.faq-stage--sp {
	display: none;
}

.faq-artboard--sp {
	width: 375px;
	height: 667px;
}

.faq-bg {
	position: absolute;
	left: -243px;
	top: 0;
	width: 2034px;
	height: 1271px;
	pointer-events: none;
}

.faq-page .pc-header {
	pointer-events: none;
}

.faq-page .pc-header a,
.faq-page .pc-header nav {
	pointer-events: auto;
}

.faq-page-title {
	width: 473px;
}

.faq-page-title h1 {
	width: 124px;
}

.faq-breadcrumb {
	left: 1178px;
	width: 182px;
}

.faq-breadcrumb span {
	left: 86px;
	width: 96px;
}

.faq-hero {
	position: absolute;
	left: 81px;
	top: 463px;
	width: 1359px;
	height: 415px;
	overflow: hidden;
	pointer-events: none;
}

.faq-hero__image {
	position: absolute;
	left: 0;
	top: 0;
	width: 1359px;
	height: 415px;
}

.faq-toc {
	position: absolute;
	inset: 0;
	color: #454545;
}

.faq-toc__row {
	position: absolute;
	left: 1043px;
	top: var(--faq-y);
	width: 335px;
	height: 32px;
	font-size: 22px;
	font-weight: 700;
	line-height: 31.9px;
	white-space: nowrap;
}

.faq-toc__row > span:first-child {
	position: absolute;
	left: 0;
	top: 0;
	width: 317px;
	height: 32px;
}

.faq-toc__icon {
	position: absolute;
	left: 317px;
	top: 10.5px;
	width: 18px;
	height: 11px;
}

.faq-toc__icon img {
	position: absolute;
	left: 3.5px;
	top: -3.5px;
	width: 11px;
	height: 18px;
	transform: rotate(90deg);
	transform-origin: center;
}

.faq-section-heading {
	position: absolute;
	left: 81px;
	top: var(--faq-y);
	width: var(--faq-w);
	height: 106px;
	color: var(--mgna-blue);
	font-weight: 900;
	scroll-margin-top: 20px;
}

.faq-section-heading h2,
.faq-section-heading p,
.faq-purchase h2,
.faq-purchase p {
	margin: 0;
}

.faq-section-heading h2 {
	width: var(--faq-en-w);
	height: 73px;
	font-size: 50px;
	font-weight: 900;
	line-height: 72.5px;
	letter-spacing: -3px;
	white-space: nowrap;
}

.faq-section-heading p {
	width: var(--faq-w);
	height: 33px;
	font-size: 23px;
	font-weight: 900;
	line-height: 33.35px;
	letter-spacing: -1.38px;
	white-space: nowrap;
}

.faq-item {
	position: absolute;
	left: 81px;
	top: var(--faq-y);
	width: 945px;
	height: 72px;
	margin: 0;
}

.faq-item--featured {
	height: 72px;
}

.faq-item__summary {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 945px;
	height: 72px;
	margin: 0;
	list-style: none;
	background: var(--mgna-blue);
	cursor: pointer;
}

.faq-item__summary::-webkit-details-marker {
	display: none;
}

.faq-item__summary:focus-visible {
	outline: 3px solid #ffffff;
	outline-offset: -6px;
}

.faq-item__question-icon {
	position: absolute;
	left: 14px;
	top: 19px;
	width: 34px;
	height: 34px;
	pointer-events: none;
}

.faq-item__question {
	position: absolute;
	left: 63px;
	top: 18px;
	width: 815px;
	height: 35px;
	color: #ffffff;
	font-size: 20px;
	font-weight: 700;
	line-height: 34.74px;
	white-space: nowrap;
}

.faq-item__toggle {
	position: absolute;
	left: 902px;
	top: 24px;
	width: 24px;
	height: 24px;
	pointer-events: none;
	transition: transform 300ms cubic-bezier(.22, 1, .36, 1);
}

.faq-item[open] .faq-item__toggle {
	transform: rotate(45deg);
}

.faq-item__answer {
	position: absolute;
	left: 0;
	top: 72px;
	width: 945px;
	border: 1px solid var(--mgna-blue);
	background: #ffffff;
	color: #454545;
}

.faq-item__answer--formula {
	height: 382px;
}

.faq-item__answer--formula .faq-answer__copy {
	position: absolute;
	left: 19px;
	top: 19px;
	width: 904px;
	height: 58px;
	font-size: 20px;
	font-weight: 700;
	line-height: 29px;
}

.faq-item__answer--text {
	height: auto;
	min-height: 92px;
	padding: 22px 28px 24px;
}

.faq-item__answer--text .faq-answer__copy {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.8;
	overflow-wrap: anywhere;
}

.faq-answer__copy p {
	margin: 0;
}

.faq-answer__copy p + p,
.faq-answer__copy img + p,
.faq-answer__copy p + img {
	margin-top: 14px;
}

.faq-answer__link a {
	color: var(--mgna-blue);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.faq-answer__legacy-image {
	display: block;
	width: 600px;
	height: auto;
	margin-inline: auto;
}

.faq-hardness-formula {
	position: absolute;
	left: 143px;
	top: 92px;
	width: 658px;
	height: 274px;
}

.faq-purchase {
	position: absolute;
	left: 81px;
	top: var(--faq-y, 5483px);
	width: 838px;
	height: 182px;
	color: var(--mgna-blue);
	font-weight: 900;
}

.faq-purchase h2 {
	width: 267px;
	height: 73px;
	font-size: 50px;
	font-weight: 900;
	line-height: 72.5px;
	letter-spacing: -3px;
	white-space: nowrap;
}

.faq-purchase__ja {
	width: 699px;
	height: 33px;
	font-size: 23px;
	font-weight: 900;
	line-height: 33.35px;
	letter-spacing: -1.38px;
	white-space: nowrap;
}

.faq-purchase__lead {
	position: absolute;
	left: 0;
	top: 146px;
	width: 425px;
	height: 36px;
	color: #454545;
	font-size: 25px;
	font-weight: 700;
	line-height: 36.25px;
	white-space: nowrap;
}

.faq-purchase__buttons {
	position: absolute;
	left: 495px;
	top: 144px;
	width: 343px;
	height: 38px;
}

.faq-purchase__buttons .pc-cta {
	top: 0;
}

.faq-purchase__shop {
	left: 0;
}

.faq-purchase__tax {
	left: 178px;
}

@media (min-width: 700px) and (max-width: 1439.98px) {
	.faq-stage--pc {
		width: 100vw;
		height: 401.736111vw;
		margin: 0;
	}

	.faq-artboard--pc {
		transform: scale(calc(100vw / 1440px));
	}
}

@media (max-width: 699px) {
	.faq-stage--pc {
		display: none;
	}

	.faq-stage--sp {
		display: block;
		width: 100vw;
		height: 177.866667vw;
		margin: 0;
	}

	.faq-artboard--sp {
		transform: scale(calc(100vw / 375px));
	}
}

/* TOP-PC / TOP-SP */
.top-page,
.top-page :where(div, section, header, nav, footer, span, p, h1, h2, ul, li, a, img, address) {
	box-sizing: border-box;
}

.top-page {
	width: 100%;
	min-height: 100vh;
	overflow: hidden;
	background: #fff;
	color: #454545;
}

.top-page :where(h1, h2, p, address) {
	margin: 0;
}

.top-page img {
	display: block;
	max-width: none;
}

.top-page a:focus-visible {
	outline: 3px solid #ffb000;
	outline-offset: 3px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.top-stage {
	position: relative;
	overflow: hidden;
	container-type: inline-size;
}

.top-stage--pc {
	display: block;
	width: min(100%, 1440px);
	height: auto;
	aspect-ratio: 1440 / 3079;
	margin-inline: auto;
}

.top-stage--sp {
	display: none;
}

.top-artboard {
	position: absolute;
	inset: 0 auto auto 0;
	overflow: hidden;
	transform-origin: top left;
	background: #fff;
}

.top-artboard--pc {
	width: 1440px;
	height: 3079px;
	transform: scale(min(1, calc(100vw / 1440px)));
	transform: scale(min(1, calc(100cqi / 1440px)));
}

.top-artboard--sp {
	width: 375px;
	height: 3092px;
}

.top-hero,
.top-story,
.top-feature,
.top-links,
.top-footer {
	position: absolute;
	left: 0;
	width: 100%;
}

/* The later full-artboard layers are visual canvases. Only their live links
   should participate in hit testing so earlier CTAs remain clickable. */
.top-feature,
.top-links,
.top-footer {
	pointer-events: none;
}

.top-feature a,
.top-links a,
.top-footer a {
	pointer-events: auto;
}

.top-photo-frame,
.top-hero__products {
	position: absolute;
	overflow: hidden;
}

.top-photo-frame img,
.top-hero__products img {
	position: absolute;
	max-width: none;
}

.top-hero--pc {
	top: 0;
	height: 728px;
	overflow: hidden;
	color: #fff;
}

.top-hero--pc .top-hero__mountain {
	left: -160.393px;
	top: -368.162px;
	width: 1951px;
	height: 1379px;
}

.top-hero--pc .top-hero__mountain img {
	inset: 0;
	width: 100%;
	height: 100%;
}

.top-header--pc {
	position: absolute;
	inset: 0;
	z-index: 5;
}

.top-brand--pc {
	position: absolute;
	left: 99px;
	top: 31px;
	width: 166px;
	height: 33px;
}

.top-brand--pc img {
	width: 166px;
	height: 33px;
}

.top-header__panel {
	position: absolute;
	left: 308px;
	top: 14px;
	width: 1052px;
	height: 63px;
	border-radius: 40px;
	background: rgb(255 255 255 / 85%);
	box-shadow: 0 1px 4px rgb(0 0 0 / 25%);
	-webkit-backdrop-filter: blur(6.6px);
	backdrop-filter: blur(6.6px);
}

.top-nav {
	position: absolute;
	left: 36px;
	top: 17px;
	width: 620px;
	height: 29px;
	color: #454545;
	font-size: 20px;
	font-weight: 700;
	line-height: 29px;
	white-space: nowrap;
}

.top-nav__list,
.top-nav .pc-nav__list {
	display: flex;
	align-items: center;
	gap: 30px;
	width: 620px;
	height: 29px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.top-nav__list li,
.top-nav .pc-nav__list li {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

.top-nav__list li:first-child a,
.top-nav .pc-nav__list li:first-child a {
	color: #37b1ff;
}

.top-header-cta {
	position: absolute;
	top: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 165px;
	height: 38px;
	border-radius: 40px;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 29px;
	white-space: nowrap;
}

.top-header-cta--shop {
	left: 681px;
	background: linear-gradient(135deg, #11a3ff 0%, #78cbff 100%);
	box-shadow: 0 2px 3px rgb(0 0 0 / 30%);
}

.top-header-cta--tax {
	left: 859px;
	background: linear-gradient(135deg, #009905 0%, #00c907 100%);
}

.top-hero--pc .top-hero__title {
	position: absolute;
	left: 81px;
	top: 197px;
	width: 1080px;
	height: 58px;
	font-size: 38px;
	font-weight: 700;
	line-height: 58px;
	letter-spacing: .01em;
	white-space: nowrap;
}

.top-hero--pc .top-hero__copy {
	position: absolute;
	left: 82px;
	top: 275px;
	width: 645px;
	height: 180px;
	font-size: 20px;
	font-weight: 600;
	line-height: 36px;
	white-space: nowrap;
}

.top-hero--pc .top-hero__products {
	left: 794.5px;
	top: 275px;
	width: 555px;
	height: 405px;
}

.top-hero--pc .top-hero__products img {
	left: -13.23%;
	top: -4.71%;
	width: 124.48%;
	height: 112.52%;
}

.top-story--pc {
	top: 728px;
	z-index: 2;
	height: 659px;
	overflow: hidden;
	color: #fff;
}

.top-story--pc .top-story__photo {
	position: absolute;
	inset: 0;
	width: 1440px;
	height: 659px;
	object-fit: cover;
}

.top-story--pc .top-story__copy {
	position: absolute;
	left: 81px;
	top: 66px;
	width: 558px;
	height: 390px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.31;
	letter-spacing: -.8px;
	text-shadow: 0 7px 4.5px rgb(0 0 0 / 25%);
}

.top-story--pc .top-story__copy p + p {
	margin-top: 26.2px;
}

.top-story__line {
	display: block;
	white-space: nowrap;
	text-wrap: nowrap;
}

.top-button {
	display: flex;
	align-items: center;
	height: 46px;
	border-radius: 26px;
	background: #007dbd;
	box-shadow: 0 2px 3px rgb(0 0 0 / 35%);
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 29px;
	white-space: nowrap;
}

.top-button img {
	position: absolute;
	width: 9px;
	height: 15px;
}

.top-story--pc .top-story__button {
	position: absolute;
	left: 81px;
	top: 496px;
	width: 130px;
	padding-left: 13px;
}

.top-story--pc .top-story__button img {
	left: 107.6px;
	top: 14.58px;
}

.top-feature--pc {
	top: 0;
	z-index: 1;
	height: 2591px;
	overflow: hidden;
}

.top-feature--pc .top-feature__background {
	position: absolute;
	left: -322px;
	top: 1320px;
	width: 2034px;
	height: 1271px;
	object-fit: cover;
}

.top-feature--pc .top-feature__intro {
	position: absolute;
	left: 546px;
	top: 1533px;
	z-index: 2;
	width: 352px;
	height: 64px;
	font-size: 22px;
	font-weight: 600;
	line-height: 32px;
	text-align: center;
}

.top-feature__circle,
.top-feature__line,
.top-feature__bottle,
.top-feature__bottle-shadow {
	position: absolute;
	z-index: 2;
}

.top-feature--pc .top-feature__circle--center {
	left: 562px;
	top: 1688px;
	width: 320px;
	height: 320px;
}

.top-feature--pc .top-feature__circle--tl {
	left: 317px;
	top: 1597px;
	width: 195px;
	height: 195px;
}

.top-feature--pc .top-feature__circle--bl {
	left: 317px;
	top: 1905px;
	width: 195px;
	height: 195px;
}

.top-feature--pc .top-feature__circle--tr {
	left: 929px;
	top: 1597px;
	width: 195px;
	height: 195px;
}

.top-feature--pc .top-feature__circle--br {
	left: 929px;
	top: 1905px;
	width: 195px;
	height: 195px;
}

.top-feature--pc .top-feature__line--tl {
	left: 496.68px;
	top: 1758.28px;
	width: 86px;
	height: 1px;
	transform: rotate(25.9deg);
	transform-origin: center;
}

.top-feature--pc .top-feature__line--tr {
	left: 858.68px;
	top: 1758.28px;
	width: 86px;
	height: 1px;
	transform: rotate(-25.9deg);
	transform-origin: center;
}

.top-feature--pc .top-feature__line--bl {
	left: 496.68px;
	top: 1939.28px;
	width: 86px;
	height: 1px;
	transform: rotate(-25.9deg);
	transform-origin: center;
}

.top-feature--pc .top-feature__line--br {
	left: 858.68px;
	top: 1939.28px;
	width: 86px;
	height: 1px;
	transform: rotate(25.9deg);
	transform-origin: center;
}

.top-feature__label {
	position: absolute;
	z-index: 3;
	margin: 0;
	text-align: center;
}

.top-feature--pc .top-feature__label {
	width: 154px;
	height: 64px;
	font-size: 22px;
	font-weight: 600;
	line-height: 32px;
}

.top-feature--pc .top-feature__label--tl {
	left: 349px;
	top: 1663px;
	width: 132px;
}

.top-feature--pc .top-feature__label--tr {
	left: 961px;
	top: 1663px;
	width: 132px;
}

.top-feature--pc .top-feature__label--bl {
	left: 338px;
	top: 1971px;
}

.top-feature--pc .top-feature__label--br {
	left: 961px;
	top: 1971px;
	width: 132px;
}

.top-feature--pc .top-feature__bottle-shadow {
	left: 590.003px;
	top: 1647.47px;
	width: 325.511px;
	height: 390.613px;
	filter: blur(5.35px);
	transform: rotate(15deg);
	transform-origin: center;
}

.top-feature--pc .top-feature__bottle {
	left: 533.849px;
	top: 1605.653px;
	width: 382.26px;
	height: 458.712px;
	transform: rotate(15deg);
	transform-origin: center;
}

.top-feature--pc .top-feature__button {
	position: absolute;
	left: 584px;
	top: 2104px;
	z-index: 4;
	width: 250px;
	padding-left: 13px;
}

.top-feature--pc .top-feature__button img {
	left: 226.6px;
	top: 14.58px;
}

.top-links--pc {
	top: 0;
	z-index: 3;
	height: 2775px;
}

.top-card {
	position: absolute;
	display: block;
	overflow: hidden;
	color: #fff;
}

.top-card > img:not(.top-card__product) {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top-card__en,
.top-card__ja {
	position: absolute;
	z-index: 3;
	white-space: nowrap;
}

.top-links--pc .top-card {
	width: 396.426px;
	height: 264.284px;
}

.top-links--pc .top-card--faq {
	left: 85px;
	top: 2233px;
}

.top-links--pc .top-card--about {
	left: 494.068px;
	top: 2233px;
}

.top-links--pc .top-card--voice {
	left: 85px;
	top: 2511px;
}

.top-links--pc .top-card--tax {
	left: 494.068px;
	top: 2511px;
}

.top-links--pc .top-card__en {
	left: 12px;
	top: 9px;
	height: 29px;
	font-size: 20px;
	font-weight: 400;
	line-height: 29px;
}

.top-links--pc .top-card__ja {
	left: 12px;
	top: 34px;
	height: 41px;
	font-size: 28px;
	font-weight: 600;
	line-height: 41px;
}

.top-links--pc .top-card--voice .top-card__en,
.top-links--pc .top-card--tax .top-card__en {
	top: 185.228px;
}

.top-links--pc .top-card--voice .top-card__ja,
.top-links--pc .top-card--tax .top-card__ja {
	top: 210.228px;
}

.top-links--pc .top-card--online {
	left: 903px;
	top: 2233px;
	width: 461px;
	height: 542px;
}

.top-links--pc .top-card--online .top-card__en {
	left: 16px;
	top: 168px;
	font-size: 20px;
	line-height: 29px;
}

.top-links--pc .top-card--online .top-card__ja {
	left: 14px;
	top: 193px;
	font-size: 30px;
	line-height: 44px;
}

.top-card__product {
	position: absolute;
	z-index: 2;
	object-fit: contain;
}

.top-links--pc .top-card__product--500 {
	left: 177.714px;
	top: 234.312px;
	width: 201.73px;
	height: 315.1px;
}

.top-links--pc .top-card__product--2l {
	left: 244.314px;
	top: 173.502px;
	width: 297.862px;
	height: 366.33px;
}

.top-footer--pc {
	top: 0;
	height: 3079px;
	color: #454545;
}

.top-footer--pc .top-footer__brand {
	position: absolute;
	left: 175px;
	top: 2875.284px;
	width: 231px;
	height: 46px;
}

.top-footer--pc .top-footer__brand img {
	width: 231px;
	height: 46px;
}

.top-footer--pc .top-footer__address {
	position: absolute;
	left: 422px;
	top: 2878.284px;
	width: 287px;
	height: 50px;
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 25px;
}

.top-footer__contact {
	position: absolute;
	display: flex;
	align-items: center;
	font-weight: 600;
	white-space: nowrap;
}

.top-footer--pc .top-footer__contact {
	top: 2890.284px;
	height: 38px;
	font-size: 16px;
	line-height: 28px;
}

.top-footer--pc .top-footer__phone {
	left: 820px;
	width: 172px;
}

.top-footer--pc .top-footer__mail {
	left: 1030px;
	width: 238px;
}

.top-footer--pc .top-footer__contact img {
	width: 38px;
	height: 38px;
	margin-right: 10px;
}

.top-footer__rule {
	position: absolute;
	height: 1px;
	background: #6ec6f6;
}

.top-footer--pc .top-footer__rule {
	left: 175px;
	top: 2938.284px;
	width: 1090px;
}

.top-footer--pc .top-footer__nav {
	position: absolute;
	left: 175px;
	top: 2965.284px;
	display: flex;
	gap: 30px;
	height: 29px;
	font-size: 20px;
	font-weight: 600;
	line-height: 29px;
	white-space: nowrap;
}

.top-footer--pc .top-footer__nav a:first-child {
	color: #37b1ff;
}

.top-footer--pc .top-footer__badge-link {
	position: absolute;
	left: 1189px;
	top: 2953.284px;
	width: 76px;
	height: 54px;
}

.top-footer__badge-link {
	overflow: hidden;
	border-radius: 8px;
}

.top-footer__badge {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-fit: contain;
}

/* Above the authored 1440px canvas, enlarge the first two compositions as
   one continuous full-width opening and push the remaining authored layers
   down by the exact proportional height increase. */
@media (min-width: 1441px) {
	.top-stage--pc {
		width: 100%;
		height: calc(1692px + 96.319444vw);
		aspect-ratio: auto;
		overflow: visible;
	}

	.top-artboard--pc {
		left: 50%;
		width: 1440px;
		height: calc(1692px + 96.319444vw);
		overflow: visible;
		transform: translateX(-50%);
	}

	.top-hero--pc,
	.top-story--pc {
		left: calc((1440px - 100vw) / 2);
		width: 1440px;
		transform: scale(calc(100vw / 1440px));
		transform-origin: top left;
	}

	.top-hero--pc {
		height: var(--top-wide-hero-height, 728px);
	}

	.top-story--pc {
		top: var(--top-wide-story-top, 50.555556vw);
		height: var(--top-wide-story-height, 659px);
	}

	.top-story--pc .top-story__photo {
		height: 100%;
	}

	.top-feature--pc,
	.top-links--pc,
	.top-footer--pc {
		transform: translateY(var(--top-wide-opening-shift, calc(96.319444vw - 1387px)));
	}
}

.top-footer--pc .top-footer__copyright {
	position: absolute;
	left: 513px;
	top: 3041.284px;
	width: 415px;
	height: 38px;
	color: #bcbcbc;
	font-family: Arial, sans-serif;
	font-size: 16px;
	line-height: 23px;
	text-align: center;
	white-space: nowrap;
}

@media (max-width: 699px) {
	.top-stage--pc {
		display: none;
	}

	.top-stage--sp {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 375 / 3092;
	}

	.top-artboard--sp {
		transform: scale(calc(100vw / 375px));
		transform: scale(calc(100cqi / 375px));
	}

	.top-hero--sp {
		top: 0;
		height: 539px;
		overflow: hidden;
		color: #fff;
	}

	.top-hero--sp .top-hero__mountain {
		left: -231px;
		top: -52px;
		width: 836px;
		height: 591px;
	}

	.top-hero--sp .top-hero__mountain img {
		inset: 0;
		width: 100%;
		height: 100%;
	}

	.top-brand--sp {
		position: absolute;
		left: 15px;
		top: 18px;
		z-index: 2;
		width: 126px;
		height: 25px;
	}

	.top-brand--sp img {
		width: 126px;
		height: 25px;
	}

	.top-hero--sp .top-hero__title {
		position: absolute;
		left: 15px;
		top: 79px;
		width: 345px;
		height: 129px;
		font-size: 28px;
		font-weight: 700;
		line-height: 43px;
		letter-spacing: -.04em;
		white-space: nowrap;
	}

	.top-hero--sp .top-hero__copy {
		position: absolute;
		left: 16px;
		top: 230px;
		width: 344px;
		height: 120px;
		font-size: 13px;
		font-weight: 600;
		line-height: 18px;
	}

	.top-hero--sp .top-hero__products {
		left: 79px;
		top: 365px;
		width: 218px;
		height: 159px;
	}

	.top-hero--sp .top-hero__products img {
		left: -13.23%;
		top: -4.71%;
		width: 124.48%;
		height: 112.52%;
	}

	.top-story--sp {
		top: 539px;
		z-index: 2;
		height: 659px;
		overflow: hidden;
		color: #fff;
	}

	.top-story--sp .top-story__photo {
		position: absolute;
		left: -464px;
		top: 0;
		width: 1440px;
		height: 659px;
		object-fit: cover;
	}

	.top-story--sp .top-story__copy {
		position: absolute;
		left: 15px;
		top: 86px;
		width: 345px;
		height: 420px;
		font-size: 17px;
		font-weight: 700;
		line-height: 1.23;
		letter-spacing: -.68px;
		text-shadow: 0 7px 4.5px rgb(0 0 0 / 25%);
	}

	.top-story--sp .top-story__copy p + p {
		margin-top: 20.91px;
	}

	.top-story--sp .top-story__button {
		position: absolute;
		left: 15px;
		top: 566px;
		width: 130px;
		padding-left: 13px;
	}

	.top-story--sp .top-story__button img {
		left: 107.6px;
		top: 14.58px;
	}

	.top-feature--sp {
		top: 1198px;
		height: 562px;
		overflow: hidden;
		background: #fff;
	}

	.top-feature--sp .top-feature__intro {
		position: absolute;
		left: 15px;
		top: 40px;
		width: 345px;
		height: 64px;
		font-size: 22px;
		font-weight: 700;
		line-height: 31.9px;
		letter-spacing: -.66px;
		text-align: center;
	}

	.top-feature--sp .top-feature__text-line {
		display: block;
		white-space: nowrap;
		text-wrap: nowrap;
	}

	.top-feature--sp .top-feature__circle--center {
		left: 102px;
		top: 191.331px;
		width: 171.177px;
		height: 171.177px;
	}

	.top-feature--sp .top-feature__circle--tl {
		left: 12px;
		top: 124.753px;
		width: 115.029px;
		height: 115.029px;
	}

	.top-feature--sp .top-feature__circle--bl {
		left: 10px;
		top: 313.439px;
		width: 115.029px;
		height: 115.029px;
	}

	.top-feature--sp .top-feature__circle--tr {
		left: 249px;
		top: 124.753px;
		width: 115.029px;
		height: 115.029px;
	}

	.top-feature--sp .top-feature__circle--br {
		left: 250px;
		top: 313.439px;
		width: 115.029px;
		height: 115.029px;
	}

	.top-feature--sp .top-feature__line {
		width: 48px;
		height: 1px;
		transform-origin: center;
	}

	.top-feature--sp .top-feature__line--tl {
		left: 105px;
		top: 215px;
		transform: rotate(32deg);
	}

	.top-feature--sp .top-feature__line--tr {
		left: 222px;
		top: 215px;
		transform: rotate(-32deg);
	}

	.top-feature--sp .top-feature__line--bl {
		left: 105px;
		top: 325px;
		transform: rotate(-32deg);
	}

	.top-feature--sp .top-feature__line--br {
		left: 222px;
		top: 325px;
		transform: rotate(32deg);
	}

	.top-feature--sp .top-feature__label {
		height: 46px;
		font-size: 16px;
		font-weight: 700;
		line-height: 23.2px;
		letter-spacing: -.64px;
	}

	.top-feature--sp .top-feature__label--tl {
		left: 23.877px;
		top: 163.686px;
		width: 93px;
	}

	.top-feature--sp .top-feature__label--tr {
		left: 260.877px;
		top: 163.686px;
		width: 93px;
	}

	.top-feature--sp .top-feature__label--bl {
		left: 13.388px;
		top: 352.372px;
		width: 109px;
	}

	.top-feature--sp .top-feature__label--br {
		left: 261.877px;
		top: 352.372px;
		width: 93px;
	}

	.top-feature--sp .top-feature__bottle-shadow {
		left: 115.303px;
		top: 170.581px;
		width: 174.21px;
		height: 209.1px;
		filter: blur(2.86px);
		transform: rotate(15deg);
		transform-origin: center;
	}

	.top-feature--sp .top-feature__bottle {
		left: 85.25px;
		top: 148.22px;
		width: 204.52px;
		height: 245.5px;
		transform: rotate(15deg);
		transform-origin: center;
	}

	.top-feature--sp .top-feature__button {
		position: absolute;
		left: 63px;
		top: 456px;
		z-index: 4;
		width: 250px;
		padding-left: 13px;
	}

	.top-feature--sp .top-feature__button img {
		left: 226.6px;
		top: 14.58px;
	}

	.top-links--sp {
		top: 0;
		z-index: 3;
		height: 2474px;
	}

	.top-links--sp .top-card--online {
		left: 0;
		top: 1760px;
		width: 375px;
		height: 282px;
	}

	.top-links--sp .top-card--online .top-card__en {
		left: 15px;
		top: 27px;
		width: 131px;
		height: 26px;
		font-size: 18px;
		line-height: 26px;
	}

	.top-links--sp .top-card--online .top-card__ja {
		left: 15px;
		top: 52px;
		width: 234px;
		height: 38px;
		font-size: 26px;
		line-height: 38px;
	}

	.top-links--sp .top-card__product--500 {
		left: 184.63px;
		top: 84.09px;
		width: 130.11px;
		height: 203.22px;
	}

	.top-links--sp .top-card__product--2l {
		left: 227.58px;
		top: 44.87px;
		width: 192.09px;
		height: 236.25px;
	}

	.top-links--sp .top-card--faq {
		left: 0;
		top: 2047px;
		width: 205.831px;
		height: 137.222px;
	}

	.top-links--sp .top-card--voice {
		left: 0;
		top: 2189px;
		width: 205.831px;
		height: 137.221px;
	}

	.top-links--sp .top-card--about {
		left: 211px;
		top: 2047px;
		width: 164px;
		height: 278px;
	}

	.top-links--sp .top-card--tax {
		left: 0;
		top: 2330px;
		width: 375px;
		height: 144px;
	}

	.top-links--sp .top-card--faq .top-card__en {
		left: 21px;
		top: 4.673px;
		font-size: 12px;
		line-height: 17px;
	}

	.top-links--sp .top-card--faq .top-card__ja {
		left: 16px;
		top: 17.653px;
		font-size: 17px;
		line-height: 25px;
	}

	.top-links--sp .top-card--voice .top-card__en {
		left: 23.481px;
		top: 6px;
		font-size: 12px;
		line-height: 17px;
	}

	.top-links--sp .top-card--voice .top-card__ja {
		left: 21px;
		top: 18.981px;
		font-size: 17px;
		line-height: 25px;
	}

	.top-links--sp .top-card--about .top-card__en,
	.top-links--sp .top-card--about .top-card__ja {
		letter-spacing: 0;
		text-align: center;
		text-orientation: mixed;
		writing-mode: horizontal-tb;
	}

	.top-links--sp .top-card--about .top-card__vertical-slot {
		display: block;
		width: 100%;
		white-space: pre;
	}

	.top-links--sp .top-card--about .top-card__en {
		left: 137px;
		top: 6.468px;
		width: 11px;
		height: 110px;
		font-size: 12px;
		font-weight: 700;
		line-height: 9.84px;
	}

	.top-links--sp .top-card--about .top-card__en .top-card__vertical-slot {
		height: 9.84px;
		line-height: 9.84px;
	}

	.top-links--sp .top-card--about .top-card__ja {
		left: 114px;
		top: 3px;
		width: 17px;
		height: 140px;
		font-size: 17px;
		font-weight: 700;
		line-height: 20.4px;
	}

	.top-links--sp .top-card--about .top-card__ja .top-card__vertical-slot {
		height: 20.4px;
		line-height: 20.4px;
	}

	.top-links--sp .top-card--tax .top-card__en {
		left: 102px;
		top: 57px;
		font-size: 12px;
		line-height: 17px;
	}

	.top-links--sp .top-card--tax .top-card__ja {
		left: 130px;
		top: 72px;
		font-size: 17px;
		line-height: 25px;
	}

	.top-footer--sp {
		top: 0;
		height: 3092px;
		color: #454545;
	}

	.top-footer--sp .top-footer__contact {
		left: 15px;
		height: 31.214px;
		font-size: 15px;
		line-height: 25px;
	}

	.top-footer--sp .top-footer__phone {
		top: 2530px;
		width: 146px;
	}

	.top-footer--sp .top-footer__mail {
		top: 2575px;
		width: 205px;
	}

	.top-footer--sp .top-footer__contact img {
		width: 31.214px;
		height: 31.214px;
		margin-right: 4.714px;
	}

	.top-footer--sp .top-footer__rule {
		left: 15px;
		width: 345px;
	}

	.top-footer--sp .top-footer__rule--top {
		top: 2630px;
	}

	.top-footer--sp .top-footer__rule--bottom {
		top: 2833px;
	}

	.top-footer--sp .top-footer__nav {
		position: absolute;
		left: 15px;
		top: 2658px;
		display: grid;
		grid-template-columns: 174px 156px;
		grid-template-rows: repeat(3, 29px);
		column-gap: 30px;
		row-gap: 30px;
		width: 330px;
		height: 147px;
		font-size: 17px;
		font-weight: 600;
		line-height: 29px;
		white-space: nowrap;
	}

	.top-footer--sp .top-footer__nav a:nth-child(1) {
		grid-column: 1;
		grid-row: 1;
		color: #37b1ff;
	}

	.top-footer--sp .top-footer__nav a:nth-child(2) {
		grid-column: 2;
		grid-row: 1;
	}

	.top-footer--sp .top-footer__nav a:nth-child(3) {
		grid-column: 1;
		grid-row: 2;
	}

	.top-footer--sp .top-footer__nav a:nth-child(4) {
		grid-column: 2;
		grid-row: 2;
	}

	.top-footer--sp .top-footer__nav a:nth-child(5) {
		grid-column: 1;
		grid-row: 3;
	}

	.top-footer--sp .top-footer__brand {
		position: absolute;
		left: 72px;
		top: 2867px;
		width: 231px;
		height: 46px;
	}

	.top-footer--sp .top-footer__brand img {
		width: 231px;
		height: 46px;
	}

	.top-footer--sp .top-footer__address {
		position: absolute;
		left: 44px;
		top: 2923px;
		width: 287px;
		height: 50px;
		font-size: 16px;
		font-style: normal;
		font-weight: 600;
		line-height: 25px;
		text-align: center;
	}

	.top-footer--sp .top-footer__badge-link {
		position: absolute;
		left: 158px;
		top: 2997.5px;
		width: 60px;
		height: 43px;
	}

	.top-footer--sp .top-footer__copyright {
		position: absolute;
		left: 26px;
		top: 3056px;
		width: 323px;
		height: 36px;
		color: #bcbcbc;
		font-family: Arial, sans-serif;
		font-size: 12px;
		line-height: 18px;
		text-align: center;
		white-space: nowrap;
	}
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	overflow-x: hidden;
	background: #ffffff;
	color: var(--mgna-text);
	font-family: "Zen Old Mincho", "Yu Mincho", YuMincho, serif;
}

body.admin-bar {
	margin-top: 0;
}

a {
	color: inherit;
	text-decoration: none;
}

.skip-link {
	position: fixed;
	z-index: 9999;
	inset-block-start: 12px;
	inset-inline-start: 12px;
	padding: 10px 14px;
	background: #ffffff;
	color: var(--mgna-blue);
	border: 2px solid currentColor;
	transform: translateY(-200%);
}

.skip-link:focus-visible {
	transform: translateY(0);
}

:where(.company-page a, .company-page [tabindex]):focus-visible {
	outline: 3px solid #ffb000;
	outline-offset: 3px;
}

.site-main:focus {
	outline: none;
}

.company-page,
.company-page :where(div, section, header, nav, span, p, h1, h2, h3, ul, li, a, img, iframe) {
	box-sizing: border-box;
}

.company-page {
	width: 100%;
	min-height: 100vh;
	overflow: hidden;
	background: #ffffff;
}

.company-stage {
	position: relative;
	overflow: hidden;
}

.company-stage--pc {
	display: block;
	width: 1440px;
	height: 3207px;
	margin-inline: auto;
}

.company-artboard {
	position: absolute;
	inset: 0 auto auto 0;
	margin: 0;
	overflow: hidden;
	transform-origin: top left;
	background: #ffffff;
}

.company-artboard--pc {
	width: 1440px;
	height: 3207px;
}

.company-stage--sp {
	display: none;
}

.company-artboard--sp {
	width: 375px;
	height: 2566px;
}

.figma-asset {
	display: block;
	max-width: none;
}

.pc-bg,
.sp-bg,
.pc-header-panel,
.pc-logo,
.pc-hero,
.sp-logo,
.sp-hero,
.pc-photo,
.sp-photo,
.company-map,
.pc-toc__icon,
.sp-toc__icon,
.sp-toc__offcanvas,
.figma-primitive {
	position: absolute;
}

.pc-bg {
	left: 0;
	top: 0;
	width: 1440px;
	height: 1270px;
	pointer-events: none;
}

.pc-header {
	position: absolute;
	inset: 0;
	z-index: 5;
}

.pc-header-panel {
	left: 308px;
	top: 14px;
	width: 1052px;
	height: 63px;
	border-radius: 40px;
	background: rgb(255 255 255 / 85%);
	box-shadow: 0 1px 4px rgb(0 0 0 / 25%);
	-webkit-backdrop-filter: blur(6.6px);
	backdrop-filter: blur(6.6px);
	pointer-events: none;
}

.pc-brand {
	position: absolute;
	left: 109px;
	top: 31px;
	width: 166px;
	height: 33px;
}

.pc-logo {
	inset: 0;
	width: 166px;
	height: 33px;
}

.pc-nav {
	position: absolute;
	left: 344px;
	top: 31px;
	width: 620px;
	height: 29px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.00165;
	white-space: nowrap;
}

.pc-nav__list {
	display: flex;
	align-items: center;
	gap: 30px;
	width: 620px;
	height: 29px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pc-nav__list li {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

.pc-nav__list li:first-child a {
	color: #37b1ff;
}

.pc-nav__list a {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
}

.pc-cta {
	position: absolute;
	top: 27px;
	width: 165px;
	height: 38px;
	color: #ffffff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.00165;
	white-space: nowrap;
}

.pc-cta--shop {
	left: 989px;
}

.pc-cta--tax {
	left: 1167px;
}

.pc-cta__surface {
	position: absolute;
	left: -1.8px;
	top: -0.8px;
	width: 170.6001px;
	height: 43.6px;
	pointer-events: none;
}

.pc-cta span {
	position: absolute;
	left: 23px;
	top: 5px;
	width: 120px;
	height: 29px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pc-page-title {
	position: absolute;
	left: 81px;
	top: 217px;
	width: 568px;
	height: 120px;
	color: var(--mgna-blue);
	font-weight: 900;
}

.pc-page-title h1,
.pc-page-title p,
.pc-section-heading h2,
.pc-section-heading p,
.sp-page-title h1,
.sp-page-title p,
.sp-section-heading h2,
.sp-section-heading p {
	margin: 0;
}

.pc-page-title h1 {
	width: 568px;
	height: 87px;
	font-size: 60px;
	font-weight: 900;
	line-height: 1.45;
	letter-spacing: -3.6px;
	white-space: nowrap;
}

.pc-page-title p {
	width: 473px;
	height: 33px;
	font-size: 23px;
	line-height: 1.45;
	letter-spacing: -1.38px;
}

.pc-breadcrumb {
	position: absolute;
	left: 1241px;
	top: 432px;
	width: 150px;
	height: 23px;
	color: var(--mgna-blue);
	font-size: 16px;
	font-weight: 700;
	line-height: 23px;
	white-space: nowrap;
}

.pc-breadcrumb a,
.pc-breadcrumb span {
	position: absolute;
	top: 0;
	height: 23px;
}

.pc-breadcrumb a {
	left: 0;
	width: 48px;
}

.pc-breadcrumb img {
	position: absolute;
	left: 64px;
	top: 6px;
	width: 8px;
	height: 12px;
}

.pc-breadcrumb span {
	left: 86px;
	width: 64px;
}

.pc-hero {
	left: 81px;
	top: 463px;
	width: 1359px;
	height: 415px;
	pointer-events: none;
}

.pc-toc {
	position: absolute;
	inset: 0;
	color: var(--mgna-blue);
}

.pc-toc h2 {
	position: absolute;
	left: 1074px;
	top: 940px;
	width: 48px;
	height: 35px;
	margin: 0;
	font-size: 23px;
	font-weight: 900;
	line-height: 34.74px;
}

.pc-toc > a {
	position: absolute;
	left: 1074px;
	height: 29px;
	font-size: 20px;
	font-weight: 700;
	line-height: 29px;
	white-space: nowrap;
}

.pc-toc__message {
	top: 991px;
	width: 200px;
}

.pc-toc__company {
	top: 1042px;
	width: 80px;
}

.pc-toc__icon {
	left: 1373px;
	width: 18px;
	height: 11px;
}

.pc-toc__icon--message {
	top: 1000px;
}

.pc-toc__icon--company {
	top: 1052.5px;
}

.pc-toc__icon img {
	position: absolute;
	left: 3.5px;
	top: -3.5px;
	width: 11px;
	height: 18px;
	transform: rotate(90deg);
	transform-origin: center;
}

.pc-message,
.pc-company,
.sp-message,
.sp-company {
	position: absolute;
	inset: 0;
}

.pc-section-heading {
	position: absolute;
	left: 81px;
	width: 473px;
	height: 106px;
	color: var(--mgna-blue);
	font-weight: 900;
}

.pc-message .pc-section-heading {
	top: 1018px;
}

.pc-section-heading h2 {
	width: 473px;
	height: 73px;
	font-size: 50px;
	font-weight: 900;
	line-height: 1.45;
	letter-spacing: -3px;
	white-space: nowrap;
}

.pc-section-heading p {
	width: 473px;
	height: 33px;
	font-size: 23px;
	line-height: 1.45;
	letter-spacing: -1.38px;
}

.pc-message h3 {
	position: absolute;
	left: 81px;
	top: 1164px;
	width: 884px;
	height: 36px;
	margin: 0;
	font-size: 25px;
	font-weight: 700;
	line-height: 36.25px;
	white-space: nowrap;
}

.pc-message-copy {
	position: absolute;
	left: 81px;
	top: 1220px;
	width: 945px;
	height: 203px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--mgna-text);
}

.pc-message-copy p,
.sp-message-copy p {
	margin: 0;
}

.pc-signature {
	position: absolute;
	left: 81px;
	top: 1465px;
	z-index: 2;
	width: 945px;
	height: 29px;
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	line-height: 29px;
	text-align: right;
	white-space: nowrap;
}

.pc-photo-frame,
.sp-photo-frame {
	position: absolute;
	display: block;
	overflow: hidden;
}

.pc-photo--building {
	left: 81px;
	top: 1453px;
	width: 475px;
	height: 333px;
}

.pc-photo--building__image,
.sp-photo--building__image {
	position: absolute;
	left: -0.01%;
	top: 0;
	width: 100.01%;
	height: 109.01%;
	max-width: none;
}

.pc-photo--river {
	left: 603px;
	top: 1537px;
	width: 423px;
	height: 282px;
}

.company-product-logo {
	position: absolute;
	z-index: 3;
	display: block;
	height: auto;
	max-width: none;
}

.company-product-logo--pc {
	left: 501px;
	top: 1583px;
	width: 150px;
}

.company-product-logo--sp {
	left: 16px;
	top: 1397px;
	width: 135px;
}

.pc-company-heading {
	top: 1892px;
}

.company-table {
	position: absolute;
	width: 945px;
	height: 635.2422px;
	color: #555555;
}

.company-table--pc {
	left: 81px;
	top: 2024px;
}

.company-table--sp {
	position: relative;
	left: 0;
	top: 0;
	flex: 0 0 945px;
}

.company-row {
	position: absolute;
	left: 0;
	width: 945px;
	height: 39.7344px;
}

.company-row--1 { top: 0; }
.company-row--2 { top: 59.7344px; }
.company-row--3 { top: 119.4687px; }
.company-row--4 { top: 179.2031px; }
.company-row--5 { top: 238.5703px; }
.company-row--6 { top: 298.3047px; }
.company-row--7 { top: 358.0391px; }
.company-row--8 { top: 417.7734px; }
.company-row--9 { top: 477.1406px; }
.company-row--10 { top: 536.5078px; }
.company-row--11 { top: 595.875px; }

.company-label,
.company-value {
	position: absolute;
	top: -3px;
	height: 34.734px;
	line-height: 34.74px;
	white-space: nowrap;
}

.company-label {
	left: 24px;
	width: 185px;
	font-size: 20px;
	font-weight: 700;
}

.company-value {
	left: 229px;
	width: 690px;
	font-size: 18px;
	font-weight: 400;
}

.company-row--5 .company-label {
	left: 24px;
	top: 0;
}

.company-row--5 .company-value {
	left: 229px;
}

.company-row__line {
	position: absolute;
	left: 0;
	top: 39.2344px;
	width: 945px;
	height: 1px;
	background: rgb(217 217 217);
}

.company-map {
	overflow: hidden;
	background: #d4f2df;
}

.company-map--pc {
	left: 81px;
	top: 2679.2422px;
	width: 945px;
	height: 433px;
}

.company-map-static {
	position: absolute;
	z-index: 1;
	max-width: none;
	pointer-events: none;
}

.company-map-static--pc {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.company-map iframe {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	border: 0;
	opacity: 1;
}

@media (min-width: 700px) and (max-width: 1439.98px) {
	.company-stage--pc {
		width: 100vw;
		height: 222.708333vw;
		margin: 0;
	}

	.company-artboard--pc {
		margin: 0;
		transform: scale(calc(100vw / 1440px));
	}
}

@media (max-width: 699px) {
	.company-stage--pc {
		display: none;
	}

	.company-stage--sp {
		display: block;
		width: 100vw;
		height: 684.266667vw;
		margin: 0;
	}

	.company-artboard--sp {
		margin: 0;
		transform: scale(calc(100vw / 375px));
	}

	.sp-bg {
		left: 0;
		top: 0;
		width: 375px;
		height: 433px;
		pointer-events: none;
	}

	.sp-brand {
		position: absolute;
		left: 15px;
		top: 18px;
		z-index: 3;
		width: 126px;
		height: 25px;
	}

	.sp-logo {
		inset: 0;
		width: 126px;
		height: 25px;
	}

	.sp-page-title {
		position: absolute;
		left: 15px;
		top: 86px;
		z-index: 2;
		width: 303px;
		height: 73px;
		color: var(--mgna-blue);
		font-weight: 900;
	}

	.sp-page-title h1 {
		width: 303px;
		height: 46px;
		font-size: 32px;
		font-weight: 900;
		line-height: 1.45;
		letter-spacing: -1.92px;
		white-space: nowrap;
	}

	.sp-page-title p {
		width: 77px;
		height: 29px;
		font-size: 20px;
		line-height: 29px;
		letter-spacing: -1.2px;
		white-space: nowrap;
	}

	.sp-breadcrumb {
		position: absolute;
		left: 254px;
		top: 185px;
		z-index: 3;
		width: 106px;
		height: 17px;
		color: var(--mgna-blue);
		font-size: 12px;
		font-weight: 700;
		line-height: 17px;
		white-space: nowrap;
	}

	.sp-breadcrumb a,
	.sp-breadcrumb span {
		position: absolute;
		top: 0;
		height: 17px;
	}

	.sp-breadcrumb a {
		left: 0;
		width: 36px;
	}

	.sp-breadcrumb img {
		position: absolute;
		left: 44px;
		top: 6px;
		width: 6px;
		height: 9px;
	}

	.sp-breadcrumb span {
		left: 58px;
		width: 48px;
	}

	.sp-hero {
		left: 0;
		top: 210px;
		z-index: 2;
		width: 375px;
		height: 115px;
		pointer-events: none;
	}

	.sp-toc {
		position: absolute;
		inset: 0;
		z-index: 2;
		color: var(--mgna-blue);
	}

	.sp-toc > a {
		position: absolute;
		top: 359px;
		height: 29px;
		font-size: 20px;
		font-weight: 700;
		line-height: 29px;
		white-space: nowrap;
	}

	.sp-toc > a:first-of-type {
		left: 15px;
		width: 200px;
	}

	.sp-toc > a:nth-of-type(2) {
		left: 253px;
		width: 80px;
	}

	.sp-toc__icon {
		top: 371px;
		width: 13px;
		height: 8px;
	}

	.sp-toc__icon--message {
		left: 220px;
	}

	.sp-toc__icon--company {
		left: 338px;
	}

	.sp-toc__icon img,
	.sp-toc__offcanvas {
		position: absolute;
		left: 2.5px;
		top: -2.5px;
		width: 8px;
		height: 13px;
		transform: rotate(90deg);
		transform-origin: center;
	}

	.sp-toc__offcanvas {
		left: 466.5px;
		top: 368.5px;
	}

	.sp-toc__divider {
		left: 242.5px;
		top: 360px;
		width: 1px;
		height: 28px;
		background: rgb(69 69 69 / 12%);
		transform: none;
	}

	.sp-toc__rule {
		left: 0;
		top: 401.5px;
		width: 375px;
		height: 1px;
		background: rgb(69 69 69 / 12%);
		transform: none;
	}

	.sp-toc__active-line {
		left: 15px;
		top: 402.5px;
		width: 157px;
		height: 3px;
		background: rgb(206 206 206);
	}

	.sp-message > *,
	.sp-company > * {
		translate: 0 -40px;
	}

	.sp-section-heading {
		position: absolute;
		left: 16px;
		width: 151px;
		height: 77px;
		color: var(--mgna-blue);
		font-weight: 900;
	}

	.sp-message .sp-section-heading {
		top: 502px;
		width: 141px;
	}

	.sp-message .sp-section-heading h2 {
		width: 141px;
	}

	.sp-section-heading h2 {
		width: 151px;
		height: 44px;
		font-size: 30px;
		font-weight: 900;
		line-height: 1.45;
		letter-spacing: -1.8px;
		white-space: nowrap;
	}

	.sp-section-heading p {
		width: 151px;
		height: 33px;
		font-size: 23px;
		line-height: 1.45;
		letter-spacing: -1.38px;
		white-space: nowrap;
	}

	.sp-message h3 {
		position: absolute;
		left: 16px;
		top: 619px;
		width: 340px;
		height: 29px;
		margin: 0;
		font-size: 20px;
		font-weight: 700;
		line-height: 29px;
		white-space: nowrap;
	}

	.sp-message-copy {
		position: absolute;
		left: 16px;
		top: 668px;
		width: 343px;
		height: 442px;
		font-size: 18px;
		font-weight: 600;
		line-height: 1.45;
		color: var(--mgna-text);
	}

	.sp-signature {
		position: absolute;
		left: 100px;
		top: 1130px;
		z-index: 2;
		width: 260px;
		height: 29px;
		margin: 0;
		font-size: 18px;
		font-weight: 600;
		line-height: 29px;
		text-align: right;
		white-space: nowrap;
	}

	.sp-photo--building {
		left: 0;
		top: 1183px;
		width: 280px;
		height: 196px;
	}

	.sp-photo--river {
		left: 167px;
		top: 1387px;
		width: 208px;
		height: 139px;
	}

	.sp-company-heading {
		top: 1566px;
	}

	.sp-scroll-hint {
		position: absolute;
		left: 165px;
		top: 1629px;
		width: 634px;
		height: 34.734px;
		font-size: 13px;
		font-weight: 400;
		line-height: 34.74px;
		color: #555555;
		white-space: nowrap;
	}

	.sp-scroll-hint img {
		position: absolute;
		left: 60px;
		top: 12px;
		width: 12px;
		height: 13px;
	}

	.sp-scroll-hint span {
		position: absolute;
		left: 78px;
		top: -1px;
		height: 34.734px;
	}

	.company-table-scroll {
		position: absolute;
		left: 15px;
		top: 1683px;
		width: 345px;
		height: 635.2422px;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	@supports not (scrollbar-width: none) {
		.company-table-scroll::-webkit-scrollbar {
			display: none;
			width: 0;
			height: 0;
		}
	}

	.company-table--sp,
	.company-table--sp .company-row,
	.company-table--sp .company-row__line {
		width: 675px;
	}

	.company-table--sp {
		flex-basis: 675px;
	}

	.company-table--sp .company-value {
		width: 426px;
	}

	.company-map--sp {
		left: 15px;
		top: 2358px;
		width: 345px;
		height: 200px;
	}

	.company-map-static--sp {
		left: -11.07%;
		top: -0.23%;
		width: 125.41%;
		height: 100.23%;
	}
}

/* Shared company-page selectors are declared later in this file. */
.faq-page .faq-page-title {
	width: 473px;
}

.faq-page .faq-page-title h1 {
	width: 124px;
}

.faq-page .faq-breadcrumb {
	left: 1178px;
	width: 182px;
}

.faq-page .faq-breadcrumb span {
	left: 86px;
	width: 96px;
}

.faq-page .faq-purchase__buttons .pc-cta {
	top: 0;
}

.faq-page .faq-purchase__shop {
	left: 0;
}

.faq-page .faq-purchase__tax {
	left: 178px;
}

/* FAQ-SP: Figma 3903:320 authored pattern plus derived category sections. */
@media (max-width: 699px) {
	.faq-page :where(main, .faq-sp-heading, .faq-sp-toc__track) {
		box-sizing: border-box;
	}

	.faq-stage--sp {
		display: block;
		width: 100vw;
		height: 1493.333333vw;
		margin: 0;
		overflow: hidden;
	}

	.faq-artboard--sp {
		position: absolute;
		inset: 0 auto auto 0;
		width: 375px;
		height: 5600px;
		margin: 0;
		overflow: hidden;
		background: #ffffff;
		transform: scale(calc(100vw / 375px));
		transform-origin: top left;
	}

	.faq-sp-bg,
	.faq-sp-hero {
		position: absolute;
		left: 0;
		width: 375px;
		pointer-events: none;
	}

	.faq-sp-bg {
		top: 0;
		height: 433px;
	}

	.faq-sp-brand {
		position: absolute;
		left: 15px;
		top: 18px;
		z-index: 3;
		width: 126px;
		height: 25px;
	}

	.faq-sp-logo {
		display: block;
		width: 126px;
		height: 25px;
	}

	.faq-sp-page-title {
		position: absolute;
		left: 15px;
		top: 86px;
		z-index: 2;
		color: var(--mgna-blue);
		font-weight: 900;
	}

	.faq-sp-page-title h1,
	.faq-sp-page-title p {
		margin: 0;
		white-space: nowrap;
	}

	.faq-sp-page-title h1 {
		height: 46px;
		font-size: 32px;
		font-weight: 900;
		line-height: 46px;
		letter-spacing: -1.92px;
	}

	.faq-sp-page-title p {
		height: 29px;
		font-size: 20px;
		font-weight: 900;
		line-height: 29px;
		letter-spacing: -1.2px;
	}

	.faq-sp-breadcrumb {
		position: absolute;
		right: 15px;
		top: 185px;
		z-index: 3;
		display: flex;
		align-items: center;
		gap: 8px;
		height: 17px;
		color: var(--mgna-blue);
		font-size: 12px;
		font-weight: 700;
		line-height: 17px;
		white-space: nowrap;
	}

	.faq-sp-breadcrumb img {
		width: 6px;
		height: 9px;
	}

	.faq-sp-hero {
		top: 210px;
		z-index: 2;
		height: 115px;
	}

	.faq-sp-toc {
		position: absolute;
		left: 0;
		top: 345px;
		z-index: 3;
		width: 375px;
		height: 60px;
		overflow-x: auto;
		overflow-y: hidden;
		color: var(--mgna-blue);
		scrollbar-width: none;
	}

	.faq-sp-toc::-webkit-scrollbar {
		display: none;
	}

	.faq-sp-toc__track {
		display: flex;
		align-items: flex-start;
		width: max-content;
		height: 57px;
		padding: 14px 15px 0;
	}

	.faq-sp-toc__track a {
		position: relative;
		display: flex;
		align-items: center;
		gap: 5px;
		height: 29px;
		margin-right: 10px;
		padding-right: 10px;
		border-right: 1px solid rgb(69 69 69 / 12%);
		font-size: 20px;
		font-weight: 700;
		line-height: 29px;
		white-space: nowrap;
	}

	.faq-sp-toc__track img {
		width: 8px;
		height: 13px;
		transform: rotate(90deg);
		transform-origin: center;
	}

	.faq-sp-toc__track a[aria-current="true"]::after {
		position: absolute;
		left: -7px;
		top: 42px;
		width: 123px;
		height: 3px;
		background: #b6b6b6;
		content: "";
	}

	.faq-sp-toc__rule {
		position: absolute;
		left: 0;
		top: 56px;
		width: 100%;
		height: 1px;
		background: rgb(69 69 69 / 12%);
	}

	.faq-sp-content {
		position: absolute;
		left: 0;
		top: 502px;
		width: 375px;
	}

	.faq-sp-section {
		width: 375px;
		margin: 0 0 95px;
		scroll-margin-top: 20px;
	}

	.faq-sp-heading {
		width: 345px;
		margin-left: 16px;
		color: var(--mgna-blue);
		font-weight: 900;
	}

	.faq-sp-heading h2,
	.faq-sp-heading p {
		margin: 0;
	}

	.faq-sp-heading h2 {
		width: 345px;
		font-size: 30px;
		font-weight: 900;
		line-height: 44px;
		letter-spacing: -1.8px;
		text-wrap: wrap;
	}

	.faq-sp-heading p {
		width: 345px;
		font-size: 23px;
		font-weight: 900;
		line-height: 33px;
		letter-spacing: -1.38px;
	}

	#sp-faq-water .faq-sp-heading h2 {
		width: 217px;
	}

	#sp-faq-water .faq-sp-heading p {
		width: 88px;
	}

	#sp-faq-hot-spring .faq-sp-heading h2 {
		width: 298px;
	}

	#sp-faq-hot-spring .faq-sp-heading p {
		width: 218px;
	}

	.faq-sp-items {
		display: flex;
		flex-direction: column;
		gap: 20px;
		width: 345px;
		margin: 40px 0 0 16px;
	}

	.faq-sp-item {
		position: relative;
		width: 345px;
		height: auto;
		margin: 0;
	}

	.faq-sp-item__summary {
		position: relative;
		display: flex;
		align-items: center;
		width: 345px;
		min-height: 72px;
		padding: 12px 30px 12px 53px;
		list-style: none;
		background: var(--mgna-blue);
		cursor: pointer;
	}

	.faq-sp-item__summary::-webkit-details-marker {
		display: none;
	}

	.faq-sp-item__summary:focus-visible {
		outline: 3px solid #ffffff;
		outline-offset: -6px;
	}

	.faq-sp-item__question-icon {
		position: absolute;
		left: 14px;
		top: 50%;
		width: 34px;
		height: 34px;
		transform: translateY(-50%);
		pointer-events: none;
	}

	.faq-sp-item--featured .faq-sp-item__question-icon {
		top: 14px;
		transform: none;
	}

	.faq-sp-item__question {
		color: #ffffff;
		font-size: 13px;
		font-weight: 700;
		line-height: 21px;
		word-break: normal;
		overflow-wrap: anywhere;
	}

	.faq-sp-item__toggle {
		position: absolute;
		right: 6px;
		top: 50%;
		width: 14px;
		height: 14px;
		transform: translateY(-50%);
		transition: transform 300ms cubic-bezier(.22, 1, .36, 1);
		pointer-events: none;
	}

	.faq-sp-item[open] .faq-sp-item__toggle {
		transform: translateY(-50%) rotate(45deg);
	}

	.faq-sp-item__answer {
		position: relative;
		width: 345px;
		border: 1px solid var(--mgna-blue);
		background: #ffffff;
		color: var(--mgna-text);
	}

	.faq-sp-item__answer--formula {
		height: 261px;
	}

	.faq-sp-item__answer--formula .faq-answer__copy {
		position: absolute;
		left: 15px;
		top: 14px;
		width: 311px;
		height: 78px;
		font-size: 18px;
		font-weight: 700;
		line-height: 26px;
		letter-spacing: 0;
	}

	.faq-sp-item__answer--text {
		height: auto;
		min-height: 72px;
		padding: 15px 16px 18px;
	}

	.faq-sp-item__answer--text .faq-answer__copy {
		font-size: 15px;
		font-weight: 400;
		line-height: 1.8;
		overflow-wrap: anywhere;
	}

	.faq-sp-item__answer--text .faq-answer__copy p + p,
	.faq-sp-item__answer--text .faq-answer__copy img + p,
	.faq-sp-item__answer--text .faq-answer__copy p + img {
		margin-top: 12px;
	}

	.faq-answer__legacy-image {
		width: 100%;
		max-width: 313px;
	}

	.faq-sp-hardness-formula {
		position: absolute;
		left: 12px;
		top: 117px;
		width: 317px;
		height: 132px;
		object-fit: cover;
	}

	.faq-sp-purchase {
		width: 375px;
		padding-bottom: 88px;
	}

	.faq-sp-purchase__lead {
		width: 345px;
		margin: 40px 0 0 16px;
		color: var(--mgna-text);
		font-size: 18px;
		font-weight: 700;
		line-height: 29px;
	}

	.faq-sp-purchase__buttons {
		display: flex;
		gap: 15px;
		width: 345px;
		margin: 30px 0 0 16px;
	}

	.faq-sp-purchase__buttons a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 165px;
		height: 44px;
		border-radius: 22px;
		background: var(--mgna-blue);
		color: #ffffff;
		font-size: 17px;
		font-weight: 700;
		line-height: 24px;
	}

	.faq-sp-purchase__buttons .faq-sp-purchase__tax {
		background-color: #00b105;
		background-image: url("../images/rectangle-3-3173-75-cta-tax-pc.webp");
		background-position: center;
		background-repeat: no-repeat;
		background-size: 100% 100%;
	}
}
