/* リキッドレイアウト対応 */

:root {
	--inner-value: 1200;
	--inner: 1200px;
	--padding-pc: 40px;
	--padding-sp: 20px;
}

:root {
	--rem: 1rem / 16;
	--em: 1em / 16;
	--vw: 1600 * 100vw;
	--inner-percent: var(--inner-value) * 100%;
}

:root {
	--base-font-size: 18;
	--base-font-rem: calc(var(--base-font-size) * var(--rem));
	--base-font-size-s: 16;
	--base-font-rem-s: calc(var(--base-font-size-s) * var(--rem));
	--base-font: "Zen Kaku Gothic New", serif;
	--poppins-font: "Poppins", sans-serif;
	--roboto-font: "Roboto", sans-serif;
	--fw-extralight: 200;
	--fw-light: 300;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semi-bold: 600;
	--fw-bold: 700;
	--fw-extrabold: 800;
	--fw-black: 900;
	--leading-trim: calc((1em - 1lh) / 2);
}

:root {
	--white: #fff;
	--black: #000;
	--text-black: #202020;
	--dark-gray: #5b5b5b;
	--gray: #8f8f8f;
	--light-gray: #e2e2e2;
	--border-gray: #e9e9e9;
	--red: #e33820;
	--bg-light-gray: #f5f5f5;
	--bg-fv: #f4f4f4;
	--line: #06c755;
	--mail: #26398d;
	--bg-header: rgb(255 255 255 / 0.7);
}

:root {
	--z-index-loader: 1000;
	--z-index-header: 100;
	--z-index-drawer: 99;
	--z-index-cta: 90;
}

:root {
	--header-height: calc(120 * var(--rem));
	--scrollbar-width: 0;
}

@property --scrollbar {
	syntax: "<length>";
	initial-value: 0;
	inherits: true;
}

:root:has(:modal[open],
.is-scroll-lock,
.loader) {
	overflow: hidden;
	scrollbar-gutter: stable;
}

html {
	scroll-padding-top: calc(var(--header-height) * 0.8);
}

body {
	container-type: inline-size;
	font-family: var(--base-font);
	color: var(--text-black);
	font-weight: var(--fw-medium);
	line-height: 1.5;
}

main {
	position: relative;
	z-index: 1;
	background-color: var(--white);
}

html {
	font-size: 16px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
	min-height: 100svh;
	text-rendering: optimizeLegibility;
	line-height: 1.5;
	line-break: strict;
	overflow-wrap: anywhere;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	max-width: 100%;
	width: 100%;
	height: auto;
	display: block;
}

/* Natural flow and rhythm in articles by default */

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* picture*/

picture {
	display: block;
	width: 100%;
	height: 100%;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

:where(dialog) {
	width: unset;
	max-width: unset;
	height: unset;
	max-height: unset;
	padding: unset;
	color: unset;
	background-color: unset;
	border: unset;
	overflow: unset;
}

:where(dialog:focus-visible) {
	outline: none;
}

/* フォームリセット */

input,
button,
select,
textarea {
	margin: 0;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

a {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	transition: opacity 0.3s;
}

a[href^="tel:"] {
	pointer-events: none;
}

.bg-base {
	background-color: var(--bg-light-gray);
}

.inner {
	max-width: calc(var(--inner) + var(--padding-pc) * 2);
	margin-inline: auto;
	padding-inline: var(--padding-pc);
	width: 100%;
}

.inner.inner--lower {
	max-width: calc(var(--inner) + var(--padding-pc) * 2 - 0.75rem);
}

.layout-anchor-nav {
	padding-block: 2.5rem 5.625rem;
}

.layout-common-top {
	margin-top: 5.625rem;
}

.layout-common {
	padding-block: 5.625rem;
}

.layout-company01 {
	margin-top: 11.25rem;
}

.layout-company02 {
	margin-top: 8.125rem;
}

.layout-home-customers {
	padding-block: 6.875rem 4.375rem;
}

.layout-sds {
	padding-block: 4.375rem 5.625rem;
}

.layout-top-base {
	background-color: transparent;
}

.layout-top-business {
	padding-block: 13.75rem 5.625rem;
}

.layout-top-recruit {
	margin-top: -5.625rem;
	margin-bottom: -5rem;
}

.layout-top-statement {
	padding-block: 5.625rem 43.75rem;
}

.layout-top-topics {
	margin-top: -5.625rem;
}

.outer {
	--scrollbar: calc(100vw - 100cqw);
	min-height: 100vh;
}

body:has(.loader) .outer {
	opacity: 0;
}

.alert-card-list {
	margin-top: 2.5rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.625rem;
	max-width: 54.875rem;
	width: 100%;
	margin-inline: auto;
}

.alert-card-list__item {
	background-color: #f8f8f8;
	border-radius: 0.75rem;
}

.alert-card-button {
	display: flex;
	align-items: center;
	background-color: var(--white);
	gap: 1rem;
	border-radius: 0.4375rem;
	padding: 1.0625rem 0.75rem;
	width: 100%;
	text-align: left;
	position: relative;
}

.alert-card-button::after {
	content: "";
	width: 0.875rem;
	aspect-ratio: 14/7;
	background-color: var(--red);
	-webkit-mask-image: url(../images/chevron.svg);
	mask-image: url(../images/chevron.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: transform 0.3s;
}

.alert-card-button__icon {
	width: 1.9375rem;
	height: 1.9375rem;
}

.alert-card-button__icon img {
	aspect-ratio: 1/1;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.alert-card-button__text.text-s {
	flex-grow: 1;
	text-align: center;
	color: var(--black);
	transition: color 0.3s;
}

.anchor-nav {
	overflow-x: auto;
	background-color: var(--bg-light-gray);
}

.anchor-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9375rem;
	justify-content: center;
}

.anchor-nav__item {
	width: -moz-max-content;
	width: max-content;
	min-width: max(185px, 15.8125rem);
}

.anchor-nav--small .anchor-nav__item {
	width: 13.625rem;
	min-width: max(185px, 13.625rem);
}

.anchor-nav__link {
	--bg-color: var(--white);
	--accent-color: var(--red);
	--icon-size: calc(14 * var(--rem));
	display: grid;
	grid-template-columns: var(--icon-size) 1fr var(--icon-size);
	grid-template-areas: ". text icon";
	gap: 0.5em;
	align-items: center;
	height: 100%;
	min-height: clamp(40px, 65 / var(--vw), 65px);
	padding-inline: 1em;
	border-radius: 0.4375rem;
	background-color: var(--bg-color);
}

.anchor-nav__link::after {
	content: "";
	grid-area: icon;
	justify-self: end;
	width: 100%;
	aspect-ratio: 14/7;
	background-color: var(--accent-color);
	-webkit-mask-image: url(../images/chevron.svg);
	mask-image: url(../images/chevron.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: transform 0.3s;
}

.anchor-nav__link span {
	grid-area: text;
	font-size: max(13px, 1rem);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-align: center;
	word-break: keep-all;
	transition: color 0.3s;
}

.anchor-nav.anchor-nav--3col {
	max-width: 62.5rem;
	width: 100%;
	margin-inline: auto;
}

.anchor-nav.anchor-nav--3col .anchor-nav__item {
	width: 17.875rem;
	min-width: max(185px, 13.625rem);
}

.anchor-nav.anchor-nav--3col .anchor-nav__link {
	gap: 0.3em;
}

.archive-main-case {
	flex: 1;
}

.archive-main-case__items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: auto auto auto 1fr auto;
	gap: 3.125rem 0rem;
}

.products-section2-block__content-items-line {
	border-bottom: 1px solid var(--red);
}

.archive-case__info {
	display: flex;
	row-gap: 0.5rem;
	-moz-column-gap: 0.875rem;
	column-gap: 0.875rem;
	align-items: center;
	flex-wrap: wrap;
	flex: 1;
}

.archive-main {
	padding-block: 5.625rem;
}

.archive-main__inner {
	display: flex;
	gap: 3.75rem;
}

.archive-main__sidebar {
	width: max(160px, 13rem);
}

.arrow-button {
	--base-color: var(--red);
	--bg-color: var(--white);
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	grid-template-areas: ". text arrow";
	align-items: center;
	gap: 0.5em;
	padding: 1.25rem 1rem;
	border-radius: calc(infinity * 1px);
	border: 2px solid var(--base-color);
	background-color: var(--bg-color);
	color: var(--base-color);
	transition: color 0.3s ease-out, background-color 0.3s ease-out;
}

.arrow-button::after {
	content: "";
	grid-area: arrow;
	justify-self: end;
	width: 0.9375rem;
	aspect-ratio: 15/12;
	background-color: currentColor;
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: translate 0.3s ease-out;
}

.arrow-button__text {
	grid-area: text;
	font-size: max(13px, 1rem);
	font-weight: var(--fw-bold);
	letter-spacing: 0.05em;
	text-align: center;
}

.arrow-button__text span {
	display: inline-block;
}

.banner-button {
	position: relative;
	display: grid;
	align-items: center;
	height: 100%;
	min-height: 11.25rem;
	padding: 1.25rem 3.625rem;
	border-radius: 1.5625rem;
	background-image: radial-gradient(rgba(0, 0, 0, 0.5)), -webkit-image-set(url(../images/links_img.avif) type("image/avif"), url(../images/links_img.jpg) type("image/jpg"));
	background-image: radial-gradient(rgba(0, 0, 0, 0.5)), image-set(url(../images/links_img.avif) type("image/avif"), url(../images/links_img.jpg) type("image/jpg"));
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	color: var(--white);
	transition: filter 0.3s ease-out;
}

.banner-button--drawer {
	place-content: center;
	min-height: 8.75rem;
	padding: 1.25rem;
	border-radius: 0.9375rem;
}

.banner-button::before {
	content: "";
	position: absolute;
	bottom: 1.5625rem;
	right: 2.1875rem;
	width: 1.5625rem;
	aspect-ratio: 1;
	background-color: currentColor;
	-webkit-mask-image: url(../images/icon_blank.svg);
	mask-image: url(../images/icon_blank.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.banner-button--drawer::before {
	bottom: 1.375rem;
	right: 1.375rem;
	width: 1.25rem;
}

.banner-button__text {
	font-size: 1.5rem;
	font-weight: var(--fw-bold);
	line-height: 1.4;
	letter-spacing: 0.05em;
	transition: text-shadow 0.3s ease-out;
}

.banner-button--drawer .banner-button__text {
	font-size: max(14px, 1.125rem);
}

.bg-footer {
	--blur: 0px;
	--opacity: 0;
	position: fixed;
	inset: 0;
}

.bg-footer img {
	aspect-ratio: 1600/970;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
}

.block-title-small {
	width: -moz-fit-content;
	width: fit-content;
	color: var(--black);
	font-size: max(16px, 1.375rem);
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.03em;
}

.block-title {
	width: -moz-fit-content;
	width: fit-content;
}

.block-title__title {
	color: var(--black);
	font-size: 1.75rem;
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.07em;
}

.block-title__title span {
	display: inline-block;
}

.breadcrumb {
	padding-block: 1.25rem;
}

.breadcrumb-items {
	background-color: var(--white);
	padding: 1.34375rem 2.5rem;
	border-radius: 62.5rem;
	display: flex;
	align-items: center;
	gap: 0.625rem 1.25rem;
	width: -moz-fit-content;
	width: fit-content;
	flex-wrap: wrap;
}

.breadcrumb-items.breadcrumb-items--reverse {
	background-color: var(--bg-light-gray);
}

.breadcrumb__icon {
	display: block;
	width: 0.3125rem;
}

.breadcrumb__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 5/10;
}

.breadcrumb__back-text a {
	display: block;
	color: var(--dark-gray);
	font-size: 14px;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.03em;
}

.breadcrumb__text {
	display: block;
	color: var(--red);
	font-size: 14px;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.03em;
}

.bullet-button {
	--bullet-size: calc(7 * var(--em));
	--title: 1fr;
	--arrow-size: calc(11 * var(--em));
	display: grid;
	grid-template-columns: var(--bullet-size) var(--title) var(--arrow-size);
	gap: 0.9375rem;
	align-items: center;
	padding-block: calc(26 * var(--em));
	padding-inline: calc(40 * var(--em));
	border: 1px solid transparent;
	border-radius: 0.25rem;
	transition: border-color 0.3s;
}

.bullet-button::before {
	content: "";
	display: block;
	aspect-ratio: 1/1;
	background-color: var(--red);
	border-radius: 50%;
	transition: scale 0.3s, background-color 0.3s;
}

.bullet-button::after {
	content: "";
	width: 100%;
	aspect-ratio: 11/9;
	background-color: currentColor;
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: background-color 0.3s;
}

.bullet-button__title {
	text-box: trim-both cap alphabetic;
	font-size: max(12px, 1.125rem);
	line-height: 1;
	letter-spacing: 0.03em;
}

.business-lpgas__container {
	background-color: var(--white);
	border-radius: 1.0625rem;
	padding: 2.8125rem 3.1875rem;
}

.business-lpgas__container + .business-lpgas__container {
	margin-top: 2rem;
}

.business-lpgas__title {
	padding-block: 0.625rem;
}

.business-lpgas__title .block-title__title {
	color: var(--text-black);
}

.business-lpgas__text {
	margin-top: 1.25rem;
}

.business-lpgas__list {
	margin-top: 1.875rem;
}

.business-lpgas__item {
	display: flex;
	gap: 2.125rem;
	align-items: center;
	padding-block: 3.125rem;
}

.business-lpgas__item + .business-lpgas__item {
	border-top: 1px solid var(--light-gray);
}

.business-lpgas__item-img {
	flex: 0 0 13.4375rem;
}

.business-lpgas__item-img img {
	aspect-ratio: 215/147;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 0.5625rem;
}

.business-lpgas__item-body {
	flex: 1 0 0;
}

.business-lpgas__item-title {
	padding-block: 0.625rem;
}

.business-lpgas__item-content {
	padding-left: 1.25rem;
	margin-top: 0.875rem;
}

.business-lpgas__item-text.text-s {
	color: var(--text-black);
}

.business-lpgas__item-note {
	background-color: var(--bg-light-gray);
	border-radius: 0.4375rem;
	padding: 0.875rem 1.125rem;
	margin-top: 0.75rem;
	width: -moz-fit-content;
	width: fit-content;
}

.business-lpgas__table,
.business-lpgas__table-heading,
.business-lpgas__table-cell {
	border-collapse: collapse;
	border: 1px solid var(--light-gray);
}

.business-lpgas__table {
	width: 100%;
	max-width: 55.0625rem;
	margin-inline: auto;
}

.business-lpgas__table-heading {
	font-size: var(--base-font-rem-s);
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1, 7;
	background-color: #fcfcfc;
	padding-block: 0.9375rem;
}

.business-lpgas__table-heading:first-child {
	width: 13.8479001135%;
}

.business-lpgas__table-heading:nth-child(2) {
	width: 44.9489216799%;
}

.business-lpgas__table-heading:nth-child(3) {
	width: 21.9069239501%;
}

.business-lpgas__table-cell {
	font-family: var(--base-font);
	font-size: var(--base-font-rem-s);
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0em;
	text-align: center;
	padding-block: 0.625rem;
}

.business-lpgas__table-img {
	max-width: 8.125rem;
	margin-inline: auto;
}

.business-lpgas__table-img img {
	aspect-ratio: 130/80;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 0.5rem;
}

.business-lpgas__button {
	text-align: center;
	margin-top: 5.875rem;
}

.business-lpgas__button .emergency-button {
	min-width: 36.5rem;
}

.business-menu {
	margin-top: 3.75rem;
}

.business-menu__top {
	display: flex;
	justify-content: center;
	flex-direction: row;
	gap: 0.9375rem;
	max-width: 49.3125rem;
	width: 100%;
	margin-inline: auto;
}

.business-menu__card {
	background-color: var(--white);
	border-radius: 0.625rem;
	padding: 0.9375rem;
}

.business-menu__img {
	max-width: 100%;
	width: 100%;
	border-radius: 0.4375rem;
	overflow: hidden;
}

.business-menu__img img {
	aspect-ratio: 223/72;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.business-menu__content {
	margin-top: 0.875rem;
	position: relative;
}

.business-menu__title,
.business-menu__name {
	color: #1f2422;
	font-size: 1rem;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-align: center;
	transition: color 0.3s;
}

.business-menu__title {
	padding-block: 0.4375rem;
}

.business-menu__btn {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0rem;
	width: 2.25rem;
	aspect-ratio: 1/1;
	background-color: #e53935;
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.3s;
}

.business-menu__icon {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 0.875rem;
	aspect-ratio: 14/7;
	background-color: var(--white);
	-webkit-mask-image: url(../images/chevron.svg);
	mask-image: url(../images/chevron.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: transform 0.3s;
}

.business-menu__bottom {
	display: flex;
	justify-content: center;
	gap: 0.9375rem;
	margin-top: 0.9375rem;
}

.business-menu__item-link {
	display: block;
	background-color: var(--white);
	border-radius: 0.625rem;
	transition: color 0.3s, background-color 0.3s;
	padding: 1.34375rem;
	width: 15.8125rem;
	position: relative;
}

.business-menu__item-link::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 1rem;
	width: 0.875rem;
	aspect-ratio: 14/7;
	background-color: var(--red);
	-webkit-mask-image: url(../images/chevron.svg);
	mask-image: url(../images/chevron.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: transform 0.3s;
}

.business__items {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
	margin-top: 5.625rem;
}

.business__item {
	border-radius: 1.0625rem;
	padding: 2.8125rem 3.125rem;
	background-color: var(--white);
}

.business__item:nth-child(-n+3) {
	grid-column: span 2;
	grid-row: span 1;
}

.business__item:nth-child(even) .business__item-content {
	flex-direction: row-reverse;
}

.business__item-text {
	margin-top: 1.25rem;
}

.business__item-content {
	margin-top: 2.5rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 62.5rem;
	width: 100%;
	margin-inline: auto;
	gap: 4.3125rem;
}

.business__item-list.top-contact__list {
	margin-top: 0;
	flex: 1;
	max-width: 100%;
	width: 100%;
}

.business__item-img {
	max-width: 22.0625rem;
	width: 100%;
	border-radius: 0.75rem;
	overflow: hidden;
}

.business__item-img img {
	aspect-ratio: 353/308;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.business__item-img.business__item-img--wide {
	max-width: 100%;
	margin-bottom: 1.5625rem;
}

.business__item-img.business__item-img--wide img {
	aspect-ratio: 467/214;
}

.business__item-button {
	margin-top: 2.5rem;
	text-align: center;
}

.business__item-list.top-contact__list .bullet-button::after {
	aspect-ratio: 14/11.26;
	width: 0.875rem;
}

.button1 {
	display: inline-block;
	color: var(--red);
	font-size: 0.875rem;
	font-weight: var(--fw-semi-bold);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.1em;
	padding: 1.25rem;
	background-color: transparent;
	border: 1px solid var(--red);
	transition: background-color 0.3s, color 0.3s;
	border-radius: 6.25rem;
	max-width: 13.375rem;
	width: 100%;
	text-align: center;
	position: relative;
	text-transform: uppercase;
}

.button1::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 1.25rem;
	width: 0.4375rem;
	aspect-ratio: 1/1;
	background-color: var(--red);
	border-radius: 50%;
	transition: width 0.3s, right 0.3s, background-color 0.3s;
}

.card {
	--radius: calc(15 * var(--rem));
	display: inherit;
	grid-template-rows: inherit;
	grid-row: inherit;
	gap: 0;
	background-color: var(--bg-light-gray);
	border-radius: var(--radius);
	transition: box-shadow 0.3s ease-out;
}

.card__img {
	position: relative;
}

.card__img::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	translate: -50% 50%;
	width: 1px;
	height: 4.1875rem;
	background-image: linear-gradient(to bottom, var(--white) 50%, var(--red) 50%);
}

.card__img img {
	aspect-ratio: 570/230;
	height: 100%;
	object-fit: cover;
	border-top-left-radius: var(--radius);
	border-top-right-radius: var(--radius);
}

.card__body {
	display: inherit;
	grid-template-rows: inherit;
	grid-row: span 3;
	gap: 2rem;
	padding-block: 3.75rem 2.8125rem;
	padding-inline: 1.25rem;
	text-align: center;
}

.card__title {
	font-size: 2.625rem;
	font-weight: var(--fw-regular);
	line-height: 1;
	letter-spacing: 0.03em;
	text-box: trim-both cap alphabetic;
}

.card--en .card__title {
	font-size: 3rem;
	font-weight: var(--fw-light);
	font-family: var(--poppins-font);
}

.card__text.text-s {
	overflow-wrap: anywhere;
	word-break: keep-all;
	line-break: strict;
}

.card__button {
	margin-inline: auto;
}

.case-item-link {
	display: block;
	padding: 2.1875rem 2.5rem;
	transition: opacity 0.3s;
	position: relative;
	border-right: 1px solid var(--light-gray);
	transition: border-color 0.3s;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.case-item-link.case-item-link--products::after {
	background-color: transparent;
}

.case-item-link::after {
	content: "";
	position: absolute;
	right: 0rem;
	bottom: 0rem;
	width: 85.4651162791%;
	height: 0.0625rem;
	background-color: var(--light-gray);
	transition: background-color 0.3s;
}

.case-img {
	width: 100%;
	border-radius: 0.3125rem;
	overflow: clip;
}

.case-img img {
	aspect-ratio: 252/173;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.case-body {
	margin-top: 1.875rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.case-title {
	margin-top: 0.75rem;
	color: var(--text-black);
	font-size: 1.125rem;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.05em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1;
}

.case-text {
	margin-top: 1.25rem;
	color: var(--dark-gray);
	font-size: max(13px, var(--base-font-rem-s));
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1.7;
	letter-spacing: 0em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 3;
}

.case-button {
	margin-top: 1.875rem;
	display: block;
	width: -moz-fit-content;
	width: fit-content;
	margin-left: auto;
	color: var(--red);
	font-size: max(14px, var(--base-font-rem-s));
	font-weight: var(--fw-semi-bold);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.1em;
	padding-right: 1.0625rem;
	position: relative;
	text-transform: uppercase;
}

.case-button::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0rem;
	width: 0.4375rem;
	aspect-ratio: 1/1;
	background: var(--red);
	border-radius: 50%;
	transition: width 0.3s, right 0.3s;
}

.category-sidebar {
	width: 100%;
}

.category-sidebar__title {
	color: var(--red);
	font-size: 1.125rem;
	font-weight: var(--fw-semi-bold);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.1em;
	padding-bottom: 1.375rem;
	border-bottom: 1px solid var(--light-gray);
	text-transform: uppercase;
}

.category-sidebar__items {
	margin-top: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 1.125rem;
}

.category-sidebar__item-link {
	display: block;
	color: var(--dark-gray);
	font-size: max(12px, var(--base-font-rem-s));
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.05em;
	transition: color 0.3s;
}

.category-sidebar__item-link.is-current {
	color: var(--red);
	position: relative;
	padding-left: 1.1875rem;
}

.category-sidebar__item-link.is-current::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0rem;
	width: 0.4375rem;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background-color: var(--red);
}

.category-text {
	display: inline-block;
	padding: 0.375rem 0.75rem;
	background-color: transparent;
	border: 1px solid var(--red);
	border-radius: 6.25rem;
	color: var(--red);
	font-size: 0.75rem;
	font-size: max(10px, 0.75rem);
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.05em;
}

.challenge {
	container-type: inline-size;
	overflow-x: clip;
	background-image: -webkit-image-set(url(../images/bg_challenge.avif) type("image/avif"), url(../images/bg_challenge.jpg) type("image/jpg"));
	background-image: image-set(url(../images/bg_challenge.avif) type("image/avif"), url(../images/bg_challenge.jpg) type("image/jpg"));
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.challenge[id=hydrogen] {
	background-image: none;
}

.challenge__container {
	display: grid;
	grid-template-columns: 1fr calc(734 / var(--inner-percent));
	gap: 2.5rem;
	align-items: start;
	padding-block: 5.625rem;
}

.challenge[id=hydrogen] .challenge__container {
	padding-block: 10rem 5.625rem;
}

.challenge__title {
	position: sticky;
	top: calc(var(--header-height) + 2.5rem);
	display: grid;
	gap: 1.375rem;
	padding-bottom: 3.125rem;
}

.challenge__title-sub {
	font-size: 1.375rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.challenge__title-main {
	display: flex;
	gap: 1.4375rem;
	font-size: 3.125rem;
	font-weight: var(--fw-medium);
	line-height: 1;
	letter-spacing: 0.13em;
}

.challenge__title[data-title=small] .challenge__title-main {
	flex-direction: column;
	align-items: center;
	width: -moz-fit-content;
	width: fit-content;
}

.challenge__title-main::after {
	content: "";
	display: inline-block;
	width: 0.8em;
	aspect-ratio: 39/38;
	background-image: url(../images/union.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.challenge__title-main .en {
	font-size: 3.5625rem;
	font-family: var(--poppins-font);
	font-weight: var(--fw-regular);
	color: var(--red);
	letter-spacing: 0.13em;
}

.challenge__title-main .ja {
	order: 1;
}

.challenge__content {
	display: grid;
	gap: 2rem;
}

.challenge__lead {
	display: grid;
	gap: 1.375rem;
}

.challenge__lead-main {
	font-size: max(20px, 1.75rem);
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: 0.12em;
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.challenge__lead-main span {
	position: relative;
}

.challenge__lead-main span::before {
	content: "さき";
	position: absolute;
	top: -0.5em;
	inset-inline: 0;
	font-size: 0.3571428571em;
	font-weight: var(--fw-regular);
	line-height: 1;
	letter-spacing: 1em;
	text-align: center;
}

.challenge__lead-sub {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	font-size: max(18px, 1.375rem);
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: 0.07em;
}

.challenge__lead-sub::before {
	content: "";
	display: block;
	width: 0.9545454545em;
	height: 2px;
	background-color: currentColor;
}

.challenge__lead-wrap {
	display: grid;
	gap: 1lh;
	margin-top: 1.5rem;
}

.challenge__lead-text {
	line-height: 1.8;
	color: var(--text-black);
}

.challenge__list {
	counter-reset: challengeNumber;
}

.challenge__item {
	display: grid;
	grid-template-columns: 1fr 20.8446866485%;
	-moz-column-gap: min(40 / var(--vw), 40px);
	column-gap: min(40 / var(--vw), 40px);
	align-items: start;
	padding-block: 3.125rem;
}

.challenge__item:not(:last-child) {
	border-bottom: 1px solid var(--light-gray);
}

.challenge__item:last-child {
	padding-bottom: initial;
}

.challenge__item-content {
	counter-increment: challengeNumber;
	display: grid;
	grid-template-columns: calc(34 * var(--rem)) 1fr;
	grid-template-areas: "num title" "num text";
	gap: 1.0625rem 0.75rem;
}

.challenge__item-content::before {
	content: counter(challengeNumber, decimal-leading-zero);
	grid-area: num;
	font-size: max(14px, 1rem);
	font-weight: var(--fw-semi-bold);
	font-family: var(--poppins-font);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.1em;
}

.challenge__item-title {
	grid-area: title;
	font-size: max(16px, 1.25rem);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	letter-spacing: 0.1em;
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.challenge__item-text.text-s {
	grid-area: text;
}

.challenge__item-img img {
	aspect-ratio: 153/133;
	object-fit: cover;
	border-radius: 0.5rem;
}

.challenge__text-link {
	margin-left: calc(34 * var(--rem));
	font-size: max(14px, 1.125rem);
	font-weight: var(--fw-bold);
	color: var(--red);
	letter-spacing: 0.03em;
	text-decoration: underline;
}

.challenge__bottom {
	position: relative;
	padding-block: 4.375rem;
}

.challenge__bottom::before {
	content: "";
	position: absolute;
	inset: 0 calc(50% - 50cqi);
	background-color: var(--white);
	opacity: 0.5;
	pointer-events: none;
}

.challenge__gallery {
	--swiper-theme-color: var(--red);
	--swiper-pagination-bullet-inactive-color: transparent;
	--swiper-pagination-bullet-size: max(10px, calc(12 * var(--rem)));
	--swiper-navigation-size: 45;
	--swiper-slide-width: calc(217 * var(--rem));
	max-width: min(100%, 1034px);
	overflow: visible;
}

.challenge__gallery-link {
	display: block;
}

.challenge__gallery-img {
	overflow: clip;
	border-radius: 0.75rem;
}

.challenge__gallery-img img {
	aspect-ratio: 217/232;
	object-fit: cover;
	border-radius: inherit;
	transition: scale 0.3s ease-out;
}

.challenge__gallery-text {
	margin-top: 1.125rem;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

.challenge__buttons {
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
}

:is(.challenge__button-prev,
.challenge__button-next) {
	--size: calc(var(--swiper-navigation-size) * var(--rem));
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	margin: initial;
	width: var(--size);
	height: var(--size);
	background-color: var(--white);
	border-radius: 0.25rem;
	pointer-events: auto;
	transition: opacity 0.3s ease-out;
}

.challenge__button-prev {
	left: 0;
	scale: -1 1;
}

.challenge__button-next {
	right: 0;
}

.challenge__button-prev::after,
.challenge__button-next::after {
	content: "";
	width: calc(17 / var(--swiper-navigation-size) * 100%);
	aspect-ratio: 17/13;
	background-color: var(--swiper-theme-color);
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.challenge__wide-img picture {
	min-height: inherit;
}

.challenge__wide-img img {
	aspect-ratio: 1600/403;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	object-position: top;
}

.check-list__item {
	position: relative;
	font-family: var(--base-font);
	font-size: var(--base-font-rem);
	font-weight: var(--fw-medium);
	color: var(--black);
	line-height: 1;
	letter-spacing: 0.03em;
	padding-left: 2.125rem;
}

.check-list__item::before {
	content: "";
	position: absolute;
	top: 0.5lh;
	left: 0;
	translate: 0 -50%;
	background: url(../images/icon_check.svg) no-repeat center center/contain;
	width: 1.375rem;
	aspect-ratio: 1;
}

.check-list__item + .check-list__item {
	margin-top: 0.625rem;
}

.common-block {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 1.25rem;
	padding: 2.8125rem min(45 / var(--vw), 45px);
	height: 100%;
	border-radius: 1.0625rem;
	background-color: var(--white);
}

.commmon-gas__wrapper {
	background-color: var(--white);
	padding-block: 4.375rem 0.625rem;
	padding-inline: 0.625rem;
	border-radius: 1.0625rem;
}

.commmon-gas__overview {
	display: flex;
	align-items: center;
	gap: 3.9375rem;
	padding-inline: 5.625rem;
}

.commmon-gas__overview-title {
	flex: 0 0 fit-content;
}

.commmon-gas__description {
	flex: 1 0 0;
	font-family: var(--base-font);
	font-size: 1rem;
	font-weight: var(--fw-medium);
	color: var(--dark-rray);
	line-height: 1.7;
	letter-spacing: 0;
}

.commmon-gas__container-items {
	padding-inline: 2.5625rem;
	margin-top: 4.375rem;
}

.commmon-gas__container {
	background-color: var(--bg-light-gray);
	border-radius: 1.0625rem;
	padding: 2.8125rem 3rem;
}

.commmon-gas__container + .commmon-gas__container {
	margin-top: 2rem;
}

.commmon-gas__container-title .number-title-small {
	padding-block: 0.625rem;
}

.commmon-gas__container-title sub {
	font-size: 13px;
}

.commmon-gas__body {
	display: flex;
	gap: 3.9375rem;
	margin-top: 1.25rem;
}

.commmon-gas__img {
	flex: 0 0 21.875rem;
}

.commmon-gas__img img {
	aspect-ratio: 350/280;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 0.75rem;
}

.commmon-gas__content {
	flex: 1 0 0;
}

.commmon-gas__content-items {
	padding-right: 0.625rem;
}

.commmon-gas__attention {
	margin-top: 2.5rem;
}

.commmon-gas__attention-title {
	padding-block: 0.3125rem;
}

.commmon-gas__attention-title .dot-title__title {
	font-size: var(--base-font-rem);
	font-weight: var(--fw-medium);
}

.commmon-gas__attention-text {
	font-family: var(--base-font);
	font-size: var(--base-font-rem-s);
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0;
	padding-left: 1.25rem;
	margin-top: 0.625rem;
}

.common-gas__bottom {
	position: relative;
	background-color: #fff0f3;
	text-align: center;
	border-radius: 1.0625rem;
	padding-block: 4.375rem;
	padding-inline: 1.25rem;
	margin-top: 5rem;
}

.common-gas__bottom::before {
	content: "";
	position: absolute;
	top: -2.6875rem;
	left: 50%;
	translate: -50% 0;
	width: 1px;
	height: 5.4375rem;
	background-color: var(--red);
}

.common-gas__bottom-title {
	font-family: var(--base-font);
	font-size: 1.375rem;
	font-weight: var(--fw-bold);
	color: var(--dark-gray);
	line-height: 1;
	letter-spacing: 0.03em;
	padding-block: 0.625rem;
}

.common-gas__bottom-text {
	font-family: var(--base-font);
	font-size: var(--base-font-rem-s);
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 2.1;
	letter-spacing: 0;
	margin-top: 1.25rem;
}

.company-overview__container {
	background-color: var(--white);
	border-radius: 1.0625rem;
	padding-block: 2.8125rem;
	padding-inline: 3.125rem;
}

.company-overview__container + .company-overview__container {
	margin-top: 2.8125rem;
}

.company-title.company-title--vertical-line {
	position: relative;
}

.company-title.company-title--vertical-line::before {
	content: "";
	position: absolute;
	top: -9.375rem;
	left: 3.9375rem;
	width: 0.0625rem;
	height: 7.25rem;
	background-color: var(--red);
}

.company-title__en {
	font-family: var(--poppins-font);
	font-size: 2.375rem;
	font-weight: var(--fw-light);
	color: var(--text-black);
	line-height: 1;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.company-title__ja {
	font-family: var(--base-font);
	font-size: var(--base-font-rem);
	font-weight: var(--fw-bold);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.05em;
	margin-top: 0.8125rem;
}

.construction {
	--radius: calc(17 * var(--rem));
	--radius-small: calc(12 * var(--rem));
}

.construction__container {
	display: grid;
	gap: 2.5rem;
	padding: 2.8125rem min(45 / var(--vw), 45px);
	border-radius: var(--radius);
	background-color: var(--white);
}

.construction__head {
	display: grid;
	gap: 1.25rem;
}

.construction__title {
	padding-block: 0.625rem;
}

.construction__products {
	display: grid;
	gap: 1.25rem;
}

.construction__products-title {
	padding-block: 0.625rem;
}

.construction__sections {
	display: grid;
	gap: 2rem;
}

.construction__section {
	padding: 2.8125rem min(45 / var(--vw), 45px);
	border-radius: var(--radius);
	background-color: var(--bg-light-gray);
}

.construction__section-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.875rem 1.5625rem;
	margin-top: 1.25rem;
}

.construction__section-img {
	display: grid;
	gap: 0.5rem;
}

.construction__section-img img {
	aspect-ratio: 234/155;
	object-fit: cover;
	border-radius: var(--radius-small);
}

.credo__container {
	display: flex;
	gap: 2.5rem;
	flex-direction: column;
}

.credo__body {
	flex: 1 0 0;
}

.credo__text {
	font-family: var(--base-font);
	font-size: var(--base-font-size);
	font-weight: var(--fw-medium);
	color: var(--text-black);
	line-height: 2.6;
	letter-spacing: 0.08em;
	margin-top: 3.125rem;
}

.credo__img img {
	aspect-ratio: 354/307;
	object-fit: cover;
	width: 100%;
	height: auto;
}

.csr {
	--radius: calc(17 * var(--rem));
	--radius-small: calc(11 * var(--rem));
}

.csr__container {
	display: grid;
	gap: 1.25rem;
	padding: 2.8125rem min(51 / var(--vw), 51px);
	border-radius: var(--radius);
	background-color: var(--white);
}

.csr__title {
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.csr__section {
	display: grid;
	grid-template-columns: 1fr 35.4%;
	gap: min(50 / var(--vw), 50px);
	place-items: center;
	padding: 2.8125rem min(48 / var(--vw), 48px);
	border-radius: var(--radius);
	background-color: var(--bg-light-gray);
}

.csr__section:not(:has(.csr__section-img,
.csr__section-logo)) {
	grid-template-columns: 1fr;
}

.csr__section-body {
	display: grid;
	gap: 1.25rem;
}

.csr__section-title {
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.csr__section-logo-wrap {
	display: grid;
	padding: 3rem min(56 / var(--vw), 56px);
	border-radius: var(--radius-small);
	background-color: var(--white);
}

.csr__section-logo img {
	object-fit: contain;
}

.csr__section-img img {
	aspect-ratio: 354/213;
	object-fit: cover;
	border-radius: var(--radius-small);
	width: 100%;
	height: auto;
}

.cta-nav {
	--primary-color: var(--red);
	--bg-title-color: var(--white);
	--border-color: var(--light-gray);
	position: relative;
	z-index: 1;
	background-color: var(--bg-light-gray);
}

.cta-nav__container.pc-only {
	--inline: calc(68 / var(--inner-percent));
	--content: repeat(2, 1fr);
	--block: calc(40 * var(--rem));
	position: relative;
	display: grid;
	grid-template-columns: var(--inline) var(--content) var(--inline);
	grid-template-rows: var(--block) repeat(2, 1fr) var(--block);
	align-items: center;
	clip-path: inset(0 round 0.9375rem);
}

.cta-nav__container.sp-only {
	display: none;
}

.cta-nav__items {
	display: grid;
	grid-template-columns: subgrid;
	grid-template-rows: subgrid;
	grid-column: 1/-1;
	grid-row: 1/-1;
}

.cta-nav__item {
	display: grid;
	grid-template-rows: 1fr auto;
	grid-column: span 2;
	grid-row: span 2;
}

.cta-nav__bg img {
	aspect-ratio: 600/154;
	height: 100%;
	object-fit: cover;
	object-position: left;
}

.cta-nav__bottom {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 1em;
	align-items: center;
	padding-block: 1.75rem;
	padding-inline: 3.125rem 2.5rem;
	background-color: var(--bg-title-color);
}

.cta-nav__bottom::after {
	content: "";
	width: 1.25rem;
	aspect-ratio: 20/16;
	background-color: var(--primary-color);
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.cta-nav__title {
	display: flex;
	gap: 0.8125rem;
	align-items: center;
}

.cta-nav__title-ja {
	text-box: trim-both cap alphabetic;
	font-size: 1.375rem;
	line-height: 1;
	letter-spacing: 0.08em;
	color: var(--text-black);
}

.cta-nav__title-en {
	text-box: trim-both cap alphabetic;
	font-size: 12px;
	font-weight: var(--fw-light);
	font-family: var(--poppins-font);
	color: var(--primary-color);
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.cta-nav__content {
	display: grid;
	grid-template-columns: subgrid;
	grid-template-rows: subgrid;
	grid-column: 1/-1;
	grid-row: 1/-1;
	align-items: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.cta-nav__content::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(255, 255, 255, 0.3);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.cta-nav__content.js-show {
	opacity: 1;
	visibility: visible;
}

.cta-nav__content-bg {
	grid-column: 1/-1;
	grid-row: 1/-1;
	height: 100%;
}

.cta-nav__content-bg img {
	aspect-ratio: 1200/450;
	height: 100%;
	object-fit: cover;
}

.cta-nav__content-title {
	position: relative;
	grid-column: 2/3;
	grid-row: 2/4;
	display: grid;
	gap: 1.375rem;
}

.cta-nav__content-title-ja {
	font-size: 2.625rem;
	line-height: 1;
	letter-spacing: 0.07em;
}

.cta-nav__content-title-en {
	font-size: 1.375rem;
	font-weight: var(--fw-light);
	font-family: var(--poppins-font);
	color: var(--primary-color);
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.cta-nav__content-link {
	grid-column: 1/-1;
	grid-row: 1/-1;
	position: relative;
	z-index: 1;
	display: block;
	height: 100%;
}

.cta-nav__content-arrow {
	--width: 72;
	grid-area: 1/3/-1/4;
	position: relative;
	display: grid;
	place-items: center;
	justify-self: end;
	width: calc(var(--width) * 1px);
	aspect-ratio: 1/1;
	background-color: var(--white);
	border-radius: 0.25rem;
}

.cta-nav__content-arrow img {
	aspect-ratio: 25/20;
	width: 34.7222222222%;
	object-fit: contain;
}

.cta-nav__content-list {
	grid-column: 3/4;
	grid-row: 2/4;
	position: relative;
}

.cta-nav__content-item {
	position: relative;
	border-bottom: 1px solid var(--border-color);
}

.cta-nav__content-item::before {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	aspect-ratio: 1/1;
	background-color: var(--primary-color);
	clip-path: inset(0 100% 0 0);
	transition: clip-path 0.3s ease-out;
}

.cta-nav__content-item-link {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 0.9375rem;
	align-items: center;
	padding-block: 1.1875rem;
	padding-inline: 1.875rem 1.625rem;
}

.cta-nav__content-item-link::before {
	content: "";
	width: 0.4375rem;
	aspect-ratio: 1/1;
	background-color: var(--primary-color);
	border-radius: 50%;
	transition: scale 0.3s ease-out;
}

.cta-nav__content-item-link::after {
	content: "";
	width: 0.875rem;
	aspect-ratio: 14/11;
	background-color: currentColor;
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.cta-nav__content-item-text {
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.03em;
}

.date {
	display: inline-block;
	color: var(--dark-gray);
	font-size: max(12px, 0.875rem);
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.1em;
}

.dot-title {
	display: flex;
	align-items: center;
	gap: 0.8125rem;
	width: -moz-fit-content;
	width: fit-content;
}

.dot-title__dot {
	flex-shrink: 0;
	align-self: start;
	position: relative;
	top: calc(0.5lh + 0.0625rem);
	left: 0;
	translate: 0 -50%;
	width: 0.4375rem;
	height: 0.4375rem;
	background-color: var(--red);
	border-radius: 50%;
}

.dot-title__title {
	color: var(--text-black);
	font-size: max(16px, 1.375rem);
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.03em;
}

.download-button {
	--base-color: var(--red);
	display: inline grid;
	grid-template-columns: auto 1fr;
	grid-template-areas: "icon title" "icon sub";
	align-items: center;
	place-content: center;
	gap: 0.3125rem 0.875rem;
	padding: 1rem min(40 / var(--vw), 40px);
	border: 2px solid var(--base-color);
	background-color: var(--white);
	border-radius: 999em;
	color: var(--base-color);
	text-align: left;
	transition: background-color 0.3s ease-out, color 0.3s ease-out;
}

.download-button::before {
	content: "";
	grid-area: icon;
	width: 1.875rem;
	aspect-ratio: 30/33;
	background-color: currentColor;
	-webkit-mask-image: url(../images/icon_pdf-dl.svg);
	mask-image: url(../images/icon_pdf-dl.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.download-button__title {
	grid-area: title;
	font-size: max(14px, 1.125rem);
	font-weight: var(--fw-bold);
	line-height: 1;
}

.download-button__sub {
	grid-area: sub;
	font-size: max(12px, 0.875rem);
	font-weight: var(--fw-medium);
	line-height: 1.1;
	color: var(--gray);
}

.drawer-nav {
	--base-color: inherit;
	display: grid;
	grid-template-columns: minmax(0, 14.75rem) auto 1fr;
	grid-template-areas: "company business business" "challenge last other";
	gap: 4.5rem 3rem;
}

.drawer-nav__menu[data-menu=company] {
	grid-area: company;
}

.drawer-nav__menu[data-menu=business] {
	grid-area: business;
}

.drawer-nav__menu[data-menu=challenge] {
	grid-area: challenge;
}

.drawer-nav__menu[data-menu=last] {
	grid-area: last;
	display: flex;
	flex-direction: column;
	gap: 2.25rem;
}

.drawer-nav__menu[data-menu=recruit] {
	display: none;
}

.drawer-nav__title {
	display: grid;
	gap: 0.25rem;
	justify-items: start;
	color: var(--text-black);
	pointer-events: none;
}

a.drawer-nav__title {
	pointer-events: auto;
	transition: color 0.3s ease-out;
}

.drawer-nav__title-red {
	display: none;
}

:is(.drawer-nav__title-en,
.drawer-nav__title-red-en) {
	font-size: max(13px, var(--base-font-rem-s));
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	color: var(--base-color);
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

:is(.drawer-nav__title-ja,
.drawer-nav__title-red-ja) {
	position: relative;
	font-size: max(18px, 1.625rem);
	font-weight: var(--fw-medium);
	line-height: 1.3;
	letter-spacing: 0.1em;
}

.drawer-nav__list {
	margin-top: 1.625rem;
}

.drawer-nav__menu[data-menu=business] .drawer-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.625rem 3.875rem;
}

.drawer-nav__list-inner {
	display: contents;
}

.drawer-nav__item {
	display: grid;
	height: -moz-fit-content;
	height: fit-content;
	font-size: max(16px, 1.375rem);
	color: var(--dark-gray);
	line-height: 2;
	letter-spacing: 0.07em;
	transition: color 0.3s ease-out;
}

.drawer-nav__wrap[data-key=overview] {
	width: 100%;
}

.drawer-nav__wrap[data-key=overview] .drawer-nav__item {
	width: -moz-fit-content;
	width: fit-content;
}

.drawer-nav__sub-item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.625rem;
	align-items: center;
	padding-block: 0.25rem;
	font-size: max(13px, 1rem);
	color: var(--dark-gray);
	line-height: 1.6;
	letter-spacing: 0.05em;
	word-break: keep-all;
}

.drawer-nav__sub-item::before {
	content: "";
	width: 0.8125rem;
	height: 1px;
	background-color: currentColor;
}

.drawer-nav__other {
	grid-area: other;
	display: grid;
	grid-template-columns: repeat(auto-fit, max(260px, 19.5rem));
	gap: 0.75rem 1.5625rem;
	height: -moz-fit-content;
	height: fit-content;
}

.drawer-nav__banner {
	grid-row: 1/3;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	gap: 0;
}

.drawer-nav__buttons {
	display: grid;
	gap: 0.75rem;
}

.emergency-button {
	--icon-size: calc(96 * var(--rem));
	position: relative;
	display: inline-grid;
	grid-template-columns: var(--icon-size) 1fr auto;
	grid-template-areas: "icon title arrow";
	align-items: center;
	gap: 0.5625rem;
	padding: 1.375rem;
	background-color: var(--red);
	border-radius: 0.5rem;
	color: var(--white);
	transition: opacity 0.3s ease-out;
}

.emergency-button__icon {
	position: absolute;
	bottom: -0.75rem;
	grid-area: icon;
	width: 100%;
	border: 0.25rem solid var(--white);
	outline: 0.3125rem solid var(--red);
	border-radius: 50%;
}

.emergency-button__icon img {
	aspect-ratio: 1;
	object-fit: cover;
}

.emergency-button__title {
	grid-area: title;
	display: flex;
	gap: 0.3125rem;
	align-items: center;
}

.emergency-button__title-large {
	display: inline-block;
	padding-bottom: 0.3125rem;
	font-size: 1.6875rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: 0.05em;
	border-bottom: 1px dashed;
}

.emergency-button__title-small {
	font-size: 1.125rem;
	font-weight: var(--fw-medium);
	line-height: 1;
	letter-spacing: 0.05em;
}

.emergency-button::after {
	content: "";
	grid-area: arrow;
	width: 1rem;
	aspect-ratio: 16/13;
	background-color: currentColor;
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.emergency-card {
	--bg-color: var(--red);
	--radius: calc(10 * var(--rem));
	--arrow-box: 30;
	position: relative;
	display: inherit;
	grid-template-rows: inherit;
	grid-row: span 2;
	place-items: center;
	background-color: var(--bg-color);
	border-radius: var(--radius);
	padding-inline: min(26 / var(--vw), 26px);
	clip-path: inset(0 round var(--radius));
}

.emergency-card__title {
	display: grid;
	place-items: center;
	padding-block: 1.125rem 0.9375rem;
	width: 100%;
	height: 100%;
	font-size: max(12px, 1rem);
	font-weight: var(--fw-bold);
	color: var(--white);
	line-height: 1.4;
	letter-spacing: 0.03em;
	text-align: center;
	word-break: keep-all;
	border-bottom: 1px solid var(--light-gray);
}

.emergency-card__img {
	padding-block: 0.625rem 1.25rem;
	width: 81.679389313%;
	filter: brightness(0) invert(1);
}

.emergency-card__img img {
	aspect-ratio: 41/37;
	object-fit: contain;
}

.emergency-card__arrow {
	position: absolute;
	bottom: 0;
	right: 0;
	display: grid;
	place-items: center;
	width: calc(var(--arrow-box) * var(--rem));
	aspect-ratio: 1/1;
	background-color: var(--white);
	border-top-left-radius: 0.25rem;
	overflow: clip;
}

.emergency-card__arrow::before,
.emergency-card__arrow::after {
	content: "";
	width: calc(11 / var(--arrow-box) * 100%);
	aspect-ratio: 11/9;
	background-color: var(--bg-color);
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: translate 0.3s ease-out;
}

.emergency-card__arrow::after {
	position: absolute;
	left: calc(var(--arrow-box) * var(--rem) * -1);
}

.emergency {
	margin-top: 5.625rem;
}

.emergency__container {
	display: flex;
	flex-direction: column;
	gap: 2.8125rem;
}

.emergency__section {
	padding: 2.8125rem 2.6875rem 3.75rem;
	background-color: var(--white);
	border-radius: 1.0625rem;
	overflow: hidden;
}

.emergency__head .icon-title__title span {
	display: inline-block;
}

.emergency__main {
	margin-top: 0.625rem;
	max-width: 58.5rem;
	width: 100%;
	margin-inline: auto;
}

.emergency__list {
	margin-top: 2.3125rem;
}

.emergency__item-text.text-s {
	color: var(--black);
	text-indent: -1em;
	padding-left: 1em;
}

.emergency__table-wrapper {
	margin-top: 1.875rem;
}

.emergency__table {
	max-width: 58.6875rem;
	width: 100%;
	border-collapse: collapse;
}

.emergency__table-left {
	width: 29.392971246%;
}

.emergency__table-center {
	width: 41.214057508%;
}

.emergency__table-right {
	width: 29.392971246%;
}

.emergency__table td.emergency__table-left {
	color: var(--text-black);
}

.emergency__table-right.text-m {
	color: var(--dark-gray);
	font-size: max(14px, var(--base-font-rem));
	letter-spacing: 0.03em;
}

.emergency__table td {
	font-size: clamp(0.938rem, 0.784rem + 0.24vw, 1rem);
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0em;
	padding-block: 0.875rem;
	border: 1px solid var(--light-gray);
	padding-inline: min(2.375rem, 2.375vw);
}

.emergency__steps {
	margin-top: 1.875rem;
	display: flex;
	flex-direction: column;
	gap: 1.875rem;
}

.emergency__step {
	display: flex;
	align-items: center;
	flex-direction: row;
	border-radius: 0.375rem;
	padding: 0.9375rem 1.6875rem;
	background-color: var(--bg-light-gray);
}

.emergency__step:not(:first-child) {
	position: relative;
}

.emergency__step:not(:first-child)::before {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -1.25rem;
	width: 1.25rem;
	aspect-ratio: 20/10;
	background-image: url(../images/chevron.svg);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

.emergency__step-label {
	color: var(--red);
	font-size: 1rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.1em;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 0.375rem;
	padding-block: 0.5rem;
	padding-right: 1.625rem;
	border-right: 1px solid var(--red);
	width: 4.375rem;
}

.emergency__step-label span {
	display: block;
	font-size: 1.375rem;
}

.emergency__step-text {
	padding-left: 1.625rem;
	flex: 1;
}

.gas-trouble__content {
	margin-top: 1.875rem;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.gas-trouble__item {
	border-radius: 0.625rem;
	padding: 1.75rem 2.96875rem;
	background-color: var(--bg-light-gray);
}

.gas-trouble__question {
	position: relative;
}

.gas-trouble__question::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.1875rem;
	width: 1.375rem;
	aspect-ratio: 22/22;
	background-image: url(../images/icon_check.svg);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

.gas-trouble__question {
	padding-left: 2.25rem;
}

.gas-trouble__question span {
	display: inline-block;
}

.gas-trouble__answer {
	margin-top: 0.625rem;
	padding-left: 2.25rem;
}

.dot-title__title.gas-trouble__question2-title {
	font-size: max(14px, var(--base-font-rem));
	color: var(--dark-gray);
	letter-spacing: 0.03em;
}

.dot-title__dot.gas-trouble__question2-title {
	top: calc(0.4lh + 0.0625rem);
}

.gas-trouble__question2-text {
	margin-top: 0.625rem;
	margin-left: 1.125rem;
}

.gas-trouble__answer-scene-title.text-s {
	color: var(--red);
}

.gas-trouble__img {
	margin-top: 1.875rem;
	max-width: 24.8125rem;
	width: 100%;
	margin-inline: auto;
}

.gas-trouble__img img {
	aspect-ratio: 397/255;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.gas-trouble__steps {
	margin-top: 1.875rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.125rem;
}

.gas-trouble__step {
	display: flex;
	flex-direction: column;
	background-color: var(--white);
	padding: 1rem 0.5rem;
}

.gas-trouble__step:not(:first-child) {
	position: relative;
}

.gas-trouble__step:not(:first-child)::before {
	content: "";
	position: absolute;
	left: -1.625rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.1375rem;
	aspect-ratio: 18.2/15.2;
	background-image: url(../images/icon-arrow.svg);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

.gas-trouble__step-label {
	color: var(--red);
	font-size: 1.375rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.05em;
}

.gas-trouble__step-image {
	margin-top: 0.75rem;
	width: 100%;
}

.gas-trouble__step-image img {
	aspect-ratio: 159/89;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.gas-trouble__step-content {
	margin-top: 0.9375rem;
	padding-inline: 0.125rem;
}

.gas-trouble__step-text.caption {
	text-indent: -1em;
	padding-left: 1em;
	color: var(--dark-gray);
}

.gas-trouble__step-text span {
	color: var(--red);
}

.gas-trouble__step-note {
	font-size: max(12px, 0.875rem);
	color: var(--gray);
	line-height: 1.7;
}

.gas-trouble__button {
	text-align: center;
	margin-top: 2rem;
}

.gas-trouble__button a.arrow-button {
	max-width: 22.375rem;
	width: 100%;
	margin-inline: auto;
}

.gas-safety {
	max-width: 56.25rem;
	margin: 0 auto;
	padding: 2.5rem 1.25rem;
	background-color: #f8f8f8;
}

.gas-safety__steps {
	margin-top: 1.875rem;
	display: flex;
	margin-inline: -2.6875rem;
}

.gas-safety__step {
	padding-inline: 2.5rem;
	width: calc(25% - 0rem);
	display: flex;
	flex-direction: column;
}

.gas-safety__step:not(:first-child) {
	border-left: 1px solid var(--light-gray);
}

.gas-safety__step-image {
	max-width: 12rem;
	width: 100%;
	margin-inline: auto;
}

.gas-safety__step-image img {
	aspect-ratio: 192/135;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.gas-safety__text.text-s {
	margin-top: 1.125rem;
	flex: 1;
	color: var(--black);
}

.gas-safety__text.text-s span {
	color: var(--gray);
	font-size: 0.875rem;
	display: block;
	margin-top: 0.5rem;
}

.gas-safety__scenes {
	margin-top: 1.875rem;
	display: flex;
	flex-direction: column;
	gap: 1.875rem;
}

.gas-safety__scene {
	padding: 4.375rem 3.5625rem 2.5rem;
	position: relative;
	background-color: var(--bg-light-gray);
	border-radius: 1.0625rem;
}

.gas-safety__scene-number {
	position: absolute;
	left: 0;
	top: 0;
	color: var(--white);
	font-size: 0.8125rem;
	font-weight: var(--fw-semi-bold);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.01em;
	background-color: var(--red);
	padding: 1.125rem 2.25rem;
	border-radius: 1.0625rem 0 1.5625rem 0;
}

.gas-safety__scene-top {
	padding-bottom: 2.5rem;
	border-bottom: 1px solid var(--red);
}

.gas-safety__scene-title {
	font-size: 1.375rem;
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.03em;
	color: var(--text-black);
}

.gas-safety__scene-title span {
	display: inline-block;
}

.gas-safety__scene-subtitle {
	font-size: 1rem;
	font-weight: 700;
	color: #333;
	margin-bottom: 0.375rem;
}

.gas-safety__scene-text {
	margin-top: 1rem;
	text-indent: -1em;
	padding-left: 1em;
}

.gas-safety__scene-body {
	margin-top: 1.25rem;
}

.gas-safety__scene-items {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.gas-safety__scene-Lv2items {
	display: flex;
	align-items: center;
	gap: 3.75rem;
	gap: min(3.75rem, 3.75vw);
	margin-top: 1.375rem;
}

.gas-safety__scene-Lv2item {
	padding: 1rem min(2.0625rem, 2.0625vw);
	background-color: var(--light-gray);
	border-radius: 6.25rem;
}

.gas-safety__scene-Lv2item:not(:first-child) {
	position: relative;
}

.gas-safety__scene-Lv2item:not(:first-child)::before {
	content: "";
	position: absolute;
	left: -2.5rem;
	left: max(-2.5rem, -2.5vw);
	top: 50%;
	transform: translateY(-50%);
	width: 1.125rem;
	aspect-ratio: 18/14.48;
	background-image: url(../images/icon-arrow.svg);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

.number-title-small__number.gas-safety__scene-Lv2item-title__number {
	font-size: 1rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.01em;
}

.number-title-small__title.gas-safety__scene-Lv2item-title__title {
	color: var(--login-text-color);
	font-size: 0.875rem;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1.5;
	letter-spacing: 0em;
}

.number-title-small__title.gas-safety__scene-Lv2item-title__title span {
	display: inline-block;
}

.gas-safety__scene-Lv3items {
	margin-top: 1.5rem;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.125rem;
}

.gas-safety__scene-Lv3item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.625rem;
	padding: 0.9375rem 0.5rem;
	background-color: var(--white);
	border-radius: 0.625rem;
}

.gas-safety__scene-Lv3item span {
	display: inline-block;
}

.gas-safety__scene-Lv3item__img {
	max-width: 4.244375rem;
	width: 100%;
	margin-inline: auto;
}

.gas-safety__scene-Lv3item__img img {
	aspect-ratio: 1/1;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.gas-safety__scene-Lv3item__text {
	color: #000;
	font-size: 0.875rem;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1.4;
	letter-spacing: 0em;
	text-align: center;
	flex: 1;
	width: 100%;
}

.gas-safety__scene-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.gas-safety__scene-item {
	flex: 1 1 calc(50% - 0.5rem);
}

.gas-safety__scene-item-title__title.dot-title__title {
	font-size: max(14px, var(--base-font-rem));
	color: var(--dark-gray);
	letter-spacing: 0.03em;
}

.gas-safety__scene-item-title__title.dot-title__title span {
	display: inline-block;
}

.dot-title__dot.gas-safety__scene-item-title__dot {
	top: calc(0.4lh + 0.0625rem);
}

.gas-safety__scene-item-text {
	padding-left: 1.0625rem;
	margin-top: 0.5rem;
}

.gas-meter {
	margin-top: 1.875rem;
	display: flex;
	gap: 2rem;
	align-items: flex-start;
	justify-content: center;
	padding: 1.625rem 2.5rem 1.375rem;
	background-color: var(--white);
}

.gas-meter__device {
	max-width: 7.6875rem;
}

.gas-meter__device img {
	aspect-ratio: 123/200;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.gas-meter__table-wrapper {
	flex: 1;
}

.gas-meter__table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid var(--light-gray);
}

.gas-meter__table-left {
	width: 20vw;
}

.gas-meter__table-left,
.gas-meter__table-center,
.gas-meter__table-center2,
.gas-meter__table-right {
	color: var(--text-black);
	font-size: 0.625rem;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1.4;
	letter-spacing: 0em;
}

.gas-meter__table-center {
	width: 13.2142857143%;
}

.gas-meter__table-center2 {
	width: 25%;
}

.gas-meter__table-right {
	width: 45.1785714286%;
}

.gas-meter th,
.gas-meter td {
	border: 1px solid var(--light-gray);
	padding: 0.28125rem 0.1875rem;
	text-align: left;
	vertical-align: top;
	color: var(--dark-gray);
	font-size: 0.75rem;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1.4;
	letter-spacing: 0em;
}

.gas-meter td span {
	display: inline-block;
}

.gas-meter__table th {
	background: var(--white);
	font-weight: bold;
	font-size: 0.75rem;
	color: #333;
}

.gas-meter__table tbody tr:nth-child(even) {
	background: #fafafa;
}

.gas-meter__status {
	max-width: 4.56125rem;
	margin-inline: auto;
}

.gas-meter__status img {
	aspect-ratio: 72.98/40.32;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.gas-meter td:has(.gas-meter__lamp) {
	vertical-align: middle;
	text-align: center;
}

.gas-meter__lamp {
	margin-inline: auto;
	display: inline-block;
	width: 1.0625rem;
	height: 1.0625rem;
	border-radius: 50%;
	background-color: var(--red);
}

.gas-meter__reasons {
	margin: 0;
}

.gas-meter__reason {
	text-indent: -1em;
	padding-left: 1em;
}

.gas-meter-status {
	margin-top: 1.875rem;
	max-width: 28.125rem;
	width: 100%;
	margin-inline: auto;
	padding: 1.5625rem 2rem;
	background-color: var(--white);
}

.gas-meter-status__table {
	width: 100%;
	border-collapse: collapse;
	background: var(--white);
	border: 1px solid var(--light-gray);
}

.gas-meter-status__table th,
.gas-meter-status__table td {
	border: 1px solid var(--light-gray);
	text-align: center;
	vertical-align: middle;
	font-weight: var(--fw-medium);
	font-size: 0.75rem;
}

.gas-meter-status__table td:has(.gas-meter-status__info) {
	vertical-align: top;
}

.gas-meter-status__table th {
	background: var(--white);
	color: var(--text-black);
	padding: 0.1875rem 0.3125rem 0.3125rem;
	text-align: left;
}

.gas-meter-status__table td {
	padding: 0.3125rem 0.1875rem;
	color: var(--dark-gray);
}

.gas-meter-status__table-left {
	width: 29.0519877676%;
}

.gas-meter-status__table-center {
	width: 22.9357798165%;
}

.gas-meter-status__table-right {
	width: 47.0948012232%;
}

.gas-meter-status__display {
	max-width: 4.56125rem;
	margin-inline: auto;
}

.gas-meter-status__display img {
	aspect-ratio: 72.98/40.32;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.gas-meter-status__lamp-cell {
	font-size: 1.125rem;
	color: var(--dark-gray);
}

.gas-meter-status__info {
	text-align: left;
}

.gas-meter-status__info-text {
	text-indent: -1em;
	padding-left: 1em;
}

.disaster-tabs {
	margin-top: 1.875rem;
}

.disaster-tabs__nav {
	display: flex;
	gap: 0.5rem;
	border-radius: 0.625rem 0.625rem 0 0;
	overflow: hidden;
	border-bottom: 2px solid var(--red);
}

.disaster-tabs__button {
	flex: 1;
	padding: 1.3125rem 1.3125rem;
	background-color: var(--light-gray);
	color: var(--dark-gray);
	font-size: 1rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: 0.03em;
	padding: 1.3125rem 1.3125rem;
	border-radius: 0.625rem 0.625rem 0 0;
	text-align: center;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition: color 0.3s;
}

.disaster-tabs__button::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--red);
	transform: translateX(-100%);
	transition: transform 0.4s ease;
	z-index: -1;
	border-radius: 0.625rem 0.625rem 0 0;
}

.disaster-tabs__button--active {
	background-color: var(--red);
	color: var(--white);
}

.disaster-tabs__button--active:hover {
	background-color: var(--red);
}

.disaster-tabs__panel {
	display: none;
	opacity: 0;
}

.disaster-tabs__panel--active {
	display: block;
	animation: fadeIn 0.3s ease forwards;
}

.disaster-steps {
	display: flex;
	gap: 5rem;
	position: relative;
	padding: 2.0625rem 6.125rem 1.8125rem;
	background-color: var(--bg-light-gray);
	border-radius: 0 0 1.0625rem 1.0625rem;
}

.disaster-tabs__panel[data-panel=flood] .disaster-steps {
	gap: 5rem;
}

.disaster-tabs__panel[data-panel=flood] .disaster-steps__item {
	width: 50%;
}

.disaster-tabs__panel[data-panel=flood] .disaster-steps__item:nth-child(2)::after {
	left: -3.125rem;
}

.disaster-steps__item {
	display: flex;
	flex-direction: column;
	position: relative;
}

.disaster-steps__item:nth-child(1) {
	width: 19.1721132898%;
}

.disaster-steps__item:nth-child(2) {
	width: 31.6993464052%;
}

.disaster-steps__item:nth-child(3) {
	width: 31.6993464052%;
}

.disaster-steps__item:not(:first-child)::after {
	content: "";
	position: absolute;
	left: -3.125rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.125rem;
	height: 0.905rem;
	background-image: url(../images/icon-arrow.svg);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

.disaster-steps__label {
	color: var(--red);
	font-size: 1.25rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.01em;
}

.disaster-steps__text {
	margin-top: 0.5rem;
}

.engineering-step {
	background-color: var(--white);
	border-radius: 1.0625rem;
	padding: 2.8125rem 3.125rem;
	margin-top: 2rem;
}

.engineering-step__title {
	padding-block: 0.625rem;
}

.engineering-step__container {
	display: flex;
	align-items: center;
	gap: 2.75rem;
	margin-top: 1.625rem;
}

.engineering-step__item .engineering-step__container {
	margin-top: 0;
}

.engineering-step__img {
	flex: 0 0 19.4375rem;
}

.engineering-step__img img {
	aspect-ratio: 311/220;
	object-fit: cover;
	width: 100%;
	height: 100%;
	border-radius: 0.75rem;
}

.engineering-step__content {
	flex: 1 0 0;
}

.engineering-step__content-title {
	padding-left: 1.25rem;
}

.engineering-step__content-text {
	font-family: var(--base-font);
	font-size: 1rem;
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0;
	padding-left: 1.25rem;
	margin-top: 1.5625rem;
}

.engineering-step__items {
	margin-top: 1.625rem;
}

.engineering-step__item {
	padding-block: 3.125rem;
}

.engineering-step__item:not(:first-child) {
	border-top: 1px solid var(--light-gray);
}

.engineering-step__item:first-child {
	padding-top: 0;
}

.engineering-step__item:last-child {
	padding-bottom: 0;
}

.engineering__text-container {
	background-color: var(--white);
	border-radius: 1.0625rem;
	padding: 2.8125rem 3.125rem;
}

.engineering__text.text-s {
	color: var(--text-black);
}

.equipment-section {
	display: grid;
	gap: 2.5rem;
	padding: 2.8125rem min(51 / var(--vw), 51px);
	border-radius: 1.0625rem;
	background-color: var(--white);
}

.equipment-section__wrap {
	display: grid;
	gap: 1.25rem;
}

.equipment-section__list {
	--gap: calc(50 * var(--rem));
	display: grid;
	gap: var(--gap);
}

.equipment-section__item {
	display: grid;
	grid-template-columns: 234fr 829fr;
	grid-template-areas: "img content" "img makers";
	-moz-column-gap: 2.125rem;
	column-gap: 2.125rem;
}

.equipment-section__item:not(:has(.equipment-section__content)) {
	grid-template-areas: "img makers";
}

.equipment-section__item:not(:last-child) {
	padding-bottom: var(--gap);
	border-bottom: 1px solid var(--light-gray);
}

.equipment-section__img {
	grid-area: img;
}

.equipment-section__img img {
	aspect-ratio: 234/155;
	object-fit: cover;
	border-radius: 0.4375rem;
}

.equipment-section__content {
	grid-area: content;
}

.equipment-section__head-wrap {
	display: grid;
	gap: 1.25rem;
}

.equipment-section__text {
	margin-top: 0.625rem;
}

.equipment-section__makers {
	grid-area: makers;
	margin-top: 0.625rem;
}

.equipment-section__item:not(:has(.equipment-section__text)) .equipment-section__makers {
	margin-top: 1.25rem;
}

.equipment-section__item:not(:has(.equipment-section__content)) .equipment-section__makers {
	margin-top: 0;
}

.equipment-section__maker {
	height: 100%;
}

.facility__container {
	background-color: var(--white);
	border-radius: 1.0625rem;
	padding: 2.8125rem 3.125rem;
}

.facility__container + .facility__container {
	margin-top: 2rem;
}

.facility__title.title {
	padding-block: 0.625rem;
}

.facility__sales {
	margin-top: 1.25rem;
}

.facility__headline {
	font-family: var(--base-font);
	font-size: 1.125rem;
	font-weight: var(--fw-bold);
	color: var(--dark-gray);
	line-height: 1;
	letter-spacing: 0.03em;
}

.facility__text {
	margin-top: 0.625rem;
}

.facility__products {
	margin-top: 2.8125rem;
}

.facility__products-title {
	padding-block: 0.3125rem;
}

.facility__sections {
	margin-top: 1.25rem;
}

.facility__section {
	background-color: var(--bg-light-gray);
	border-radius: 1.0625rem;
	padding: 2.8125rem 3rem;
}

.facility__section.facility__section--narrow-pt {
	padding-top: 1.5625rem;
}

.facility__section + .facility__section {
	margin-top: 2rem;
}

.facility__section-top {
	display: flex;
	gap: 4.75rem;
}

.facility__section-top-content {
	flex: 1 0 0;
}

.facility__section-title {
	padding-block: 0.625rem;
}

.facility__section-text {
	margin-top: 1.25rem;
}

.facility__section-top-items {
	margin-top: 2.25rem;
}

.facility__section-img {
	flex: 0 0 21.5625rem;
}

.facility__section-img img {
	aspect-ratio: 345/210;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 0.75rem;
}

.facility__section-features {
	margin-top: 3.5rem;
}

.facility__features-title {
	padding-block: 0.3125rem;
}

.facility__feature-items {
	counter-reset: feature;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	-moz-column-gap: 1.625rem;
	column-gap: 1.625rem;
	margin-top: 1.25rem;
}

.facility__feature-item {
	position: relative;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	background-color: var(--white);
	border-radius: 0.75rem;
	padding-block: 1.5rem 1.25rem;
	padding-inline: min(45px, 2.8125vw);
}

.facility__feature-item::before {
	content: counter(feature, decimal-leading-zero);
	counter-increment: feature;
	position: absolute;
	top: 0.8125rem;
	left: 1.0625rem;
	font-family: var(--poppins-font);
	font-size: 0.875rem;
	font-weight: var(--fw-medium);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.05em;
}

.facility__section:nth-child(2) .facility__feature-item {
	padding-top: 1.125rem;
}

.facility__feature-title {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border-bottom: 1px solid var(--red);
	padding-bottom: 1.5rem;
}

.facility__section-title-br {
	display: none;
}

.facility__section:nth-child(2) .facility__feature-title {
	padding-bottom: 1.125rem;
}

.facility__feature-text {
	padding-top: 1.25rem;
}

.facility__icon-title {
	padding-block: 0.625rem;
}

.facility__consultation-text {
	padding-left: 5.5rem;
}

.facility__box {
	display: flex;
	gap: 4.125rem;
}

.facility__box-content {
	flex: 1 0 0;
}

.facility__box-title {
	padding-block: 0.625rem;
}

.facility__box-text {
	margin-top: 1.25rem;
}

.facility__box-img {
	flex: 0 0 21.5625rem;
	padding-top: 1.875rem;
}

.facility__box-img img {
	aspect-ratio: 345/210;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 0.75rem;
}

.facility__construction-title {
	padding-block: 0.625rem;
}

.facility__construction-text {
	margin-top: 1.25rem;
}

.facility__construction-images {
	max-width: 50rem;
	margin-inline: auto;
	margin-top: 2.8125rem;
}

.facility__construction-image + .facility__construction-image {
	margin-top: 3.75rem;
}

.facility__construction-image-caption {
	display: block;
	font-size: 1.375rem;
}

.facility__construction-image-container img {
	aspect-ratio: 800/492;
	object-fit: contain;
	width: 100%;
	height: auto;
	border-radius: 0.75rem;
	margin-top: 0.625rem;
}

.facility__contact-items {
	display: flex;
	gap: 0.875rem;
	margin-top: 4.375rem;
}

.facility__contact-item {
	width: 50%;
	background-color: var(--bg-light-gray);
	border-radius: 1.0625rem;
	padding-block: 1.5rem;
	padding-inline: 1.25rem 2rem;
}

.facility__contact-title .icon-title-small__icon {
	width: 2.5625rem;
}

.facility__contact-title .icon-title-small__icon img {
	aspect-ratio: 41/37;
	object-fit: contain;
	width: 100%;
}

.facility__contact-title .icon-title-small__title {
	color: var(--dark-gray);
}

.facility__contact-content {
	padding-left: 3.125rem;
	margin-top: 0.625rem;
}

.facility__contact-text {
	font-family: var(--base-font);
	font-size: 0.875rem;
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0em;
	margin-top: 0.625rem;
}

.facility__contact-content.facility__contact-content--list {
	display: flex;
	gap: 0.875rem;
	padding-block: 0.5625rem;
}

.facility__contact-content-item {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.facility__contact-content-item:first-child {
	width: 53.4246575342%;
}

.facility__contact-content-item:last-child {
	width: 43.3789954338%;
}

.facility__contact-headline {
	flex: 0 0 5.125rem;
}

.facility__contact-headline-text {
	position: relative;
	display: inline-block;
	font-family: var(--base-font);
	font-size: 0.875rem;
	font-weight: var(--fw-regular);
	color: var(--text-black);
	line-height: 1.3;
	letter-spacing: 0.03em;
	background-color: var(--white);
	border-radius: calc(infinity * 1px);
	padding-block: 0.375rem;
	padding-inline: 2.0625rem 1rem;
	width: 100%;
}

.facility__contact-headline-text::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 1.25rem;
	translate: 0 -50%;
	background-color: var(--red);
	width: 0.4375rem;
	aspect-ratio: 1;
	border-radius: 50%;
}

.facility__contact-item-text {
	flex: 1 0 0;
	font-family: var(--base-font);
	font-size: 0.875rem;
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0em;
}

.facility__contact-content-item:first-child .facility__contact-item-text {
	min-width: 9.0625rem;
}

.facility__contact-content-item:last-child .facility__contact-item-text {
	min-width: 6.3125rem;
}

.fees__container {
	display: grid;
	gap: 2rem;
}

.fees__section {
	display: grid;
	gap: 2.5rem;
	padding: 2.8125rem min(45 / var(--vw), 45px);
	border-radius: 1.0625rem;
	background-color: var(--white);
}

.fees__price-top {
	display: grid;
	gap: 1.5rem;
}

.fees__price-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.9375rem;
}

.fees__price-card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: 0;
	padding: 1.875rem 1.3125rem;
	border-radius: 0.625rem;
	background-color: #fff8f8;
}

.fees__price-card-img img {
	aspect-ratio: 314/167;
	object-fit: contain;
	border-radius: 0.6875rem;
}

.fees__price-card-title {
	margin-top: 1.375rem;
}

.fees__price-card-text {
	margin-top: 0.75rem;
}

.fees__price-bottom-img {
	margin-inline: auto;
	max-width: 37rem;
}

.fees__price-bottom-img img {
	aspect-ratio: 592/240;
	object-fit: contain;
}

.fees__wrap {
	display: grid;
	gap: 1.25rem;
}

.fees__img {
	margin-inline: auto;
	max-width: 47.75rem;
}

.fees__img img {
	aspect-ratio: 764/390;
	object-fit: contain;
}

.fees__button {
	margin-inline: auto;
	width: min(100%, 22.375rem);
}

.footer {
	--base-color: var(--white);
	--opacity: 0;
	position: relative;
	padding-block: 12.5rem 2.75rem;
	color: var(--base-color);
}

.footer::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(67, 108, 131, 0), rgba(67, 108, 131, 0.7));
	mix-blend-mode: multiply;
	opacity: var(--opacity);
}

.footer__inner.inner {
	position: relative;
	max-width: calc(1320px + var(--padding-pc) * 2);
}

.footer__catchphrase {
	display: block;
	width: 30.1659125189%;
}

.footer__catchphrase img {
	object-fit: contain;
}

.footer__nav {
	display: grid;
	gap: 2.5rem;
	margin-top: 2.5rem;
	margin-left: auto;
	max-width: 936px;
}

:where(.footer__nav-top,
.footer__nav-bottom) {
	display: flex;
	align-items: flex-start;
}

.footer__nav-top {
	gap: 3.375rem;
}

.footer__nav-bottom {
	gap: 2.8125rem;
}

.footer__nav-column {
	display: grid;
	gap: 0.5rem;
	align-content: start;
	white-space: nowrap;
}

.footer__nav-column:first-child {
	order: -1;
}

.footer__nav-lv1 {
	display: block;
	font-size: max(16px, 1.125rem);
	font-weight: var(--fw-bold);
	line-height: 2;
	letter-spacing: 0.03em;
	transition: color 0.3s ease-out;
}

.footer__nav-lv1[target=_blank] {
	display: inline-grid;
	grid-template-columns: repeat(2, auto);
	gap: 0.375rem;
	align-items: center;
}

.footer__nav-lv1[target=_blank]::after {
	content: "";
	width: 12px;
	aspect-ratio: 1;
	background-color: currentColor;
	-webkit-mask-image: url(../images/icon_blank.svg);
	mask-image: url(../images/icon_blank.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.footer__nav-list {
	display: flex;
	flex-direction: column;
}

.footer__nav-list:has(.footer__nav-wrap) {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 1.75rem;
}

.footer__nav-lv2 {
	display: block;
	font-size: max(14px, 1rem);
	font-weight: var(--fw-bold);
	line-height: 1.8;
	letter-spacing: 0.03em;
	transition: color 0.3s ease-out;
}

.footer__nav-sublist {
	display: grid;
	gap: 0.3125rem;
}

.footer__nav-lv3 {
	display: inline-grid;
	grid-template-columns: auto 1fr;
	gap: 0.375rem;
	align-items: center;
	font-size: max(13px, 0.875rem);
	font-weight: var(--fw-bold);
	line-height: 1.8333333333;
	letter-spacing: 0.03em;
	transition: color 0.3s ease-out;
}

.footer__nav-lv3::before {
	content: "";
	width: 0.5625rem;
	height: 1px;
	background-color: currentColor;
}

.footer__nav-singles {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2.5rem;
}

.footer__bottom {
	display: grid;
	grid-template-columns: auto auto 1fr;
	grid-template-areas: "logo instagram ." "copyright copyright links";
	gap: 1.875rem min(90 / var(--vw), 90px);
	align-items: center;
	margin-top: 5.25rem;
}

.footer__logo {
	grid-area: logo;
	display: block;
	width: 20.0625rem;
	transition: filter 0.3s ease-out;
}

.footer__logo img {
	aspect-ratio: 321/62;
	object-fit: contain;
}

.footer__instagram {
	grid-area: instagram;
	position: relative;
	display: block;
	width: 2.875rem;
}

.footer__instagram img {
	aspect-ratio: 1/1;
	object-fit: contain;
}

.footer__copyright {
	grid-area: copyright;
}

.footer__copyright small {
	font-size: max(10px, 0.75rem);
	font-family: var(--poppins-font);
	font-weight: var(--fw-medium);
	line-height: 1;
	letter-spacing: 0.1em;
}

.footer__links {
	grid-area: links;
	display: flex;
	gap: 2.5rem;
	align-items: center;
	justify-content: flex-end;
}

.footer__link {
	position: relative;
	display: block;
	font-size: max(12px, 0.875rem);
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: 0.05em;
}

.footer__link::before {
	content: "";
	position: absolute;
	inset: -1em;
}

:where(a.footer__nav-lv1,
.footer__nav-lv2,
.footer__nav-lv3,
.footer__link) span {
	position: relative;
}

a.footer__nav-lv1 span::before,
.footer__nav-lv2 span::before,
.footer__nav-lv3 span::before,
.footer__link span::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	translate: -50%;
	width: 0;
	height: 1px;
	background-color: currentColor;
	transition: width 0.3s ease-out;
}

.footer__link span::before {
	bottom: -0.2em;
}

.fv-challenge {
	--radius: calc(30 * var(--rem));
	position: relative;
	clip-path: inset(0 round 0 0 var(--radius) var(--radius));
}

.fv-challenge__wrapper {
	position: sticky;
	top: 0;
	height: 100vh;
}

.fv-challenge__bg {
	--blur: 0px;
	--opacity: 0;
	height: 100%;
}

.fv-challenge__bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.25);
	-webkit-backdrop-filter: blur(var(--blur));
	backdrop-filter: blur(var(--blur));
	opacity: var(--opacity);
	pointer-events: none;
}

.fv-challenge__bg img {
	aspect-ratio: 1600/900;
	height: 100%;
	object-fit: cover;
}

.fv-challenge__h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
}

.fv-challenge__scroll-wrap {
	position: absolute;
	z-index: 1;
	bottom: -1.6875rem;
	left: 50%;
	translate: -50%;
}

.fv-challenge__inner.inner {
	position: relative;
	margin-top: 60vh;
}

.fv-challenge__container {
	display: grid;
	grid-template-columns: 1fr calc(645 / var(--inner-percent));
	grid-template-areas: "head texts";
	gap: 2.5rem;
	place-content: center;
	padding-top: 2.625rem;
	height: 100vh;
}

.fv-challenge__head {
	grid-area: head;
}

.fv-challenge__title {
	display: grid;
	gap: 1.25rem;
}

.fv-challenge__title-en {
	font-size: 1.25rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.fv-challenge__title-ja {
	font-size: 3.125rem;
	font-weight: var(--fw-bold);
	color: var(--white);
	line-height: 1;
	letter-spacing: 0.13em;
}

.fv-challenge__texts {
	grid-area: texts;
	display: grid;
	gap: 1lh;
	font-size: max(16px, 1.25rem);
	color: var(--white);
	line-height: 2.17;
	letter-spacing: 0.12em;
}

.fv {
	--opacity: var(--fv-before-opacity, 0);
	--row-width: clamp(400px, 640/var(--vw), 640px);
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-rows: 1fr auto 1fr;
	grid-template-areas: "." "title" ".";
	place-content: center;
	place-items: center;
	height: 100vh;
	overflow-x: clip;
	background-color: var(--bg-fv);
}

.fv::before {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	background-color: var(--bg-fv);
	opacity: var(--opacity);
	pointer-events: none;
}

.fv__energy {
	position: relative;
	z-index: 2;
	grid-area: title;
	width: 43.5rem;
}

.fv__energy img {
	aspect-ratio: 696/384;
	object-fit: contain;
}

.js-fv-en img {
	opacity: 0;
	filter: drop-shadow(0 0 3.125rem rgba(0, 0, 0, 0.07));
}

.fv__title {
	grid-area: title;
	justify-self: start;
	position: relative;
	left: 2.5rem;
	z-index: 2;
	width: 25rem;
	mix-blend-mode: soft-light;
}

.fv__title img {
	aspect-ratio: 400/33;
	object-fit: contain;
}

.js-fv-ja img {
	opacity: 0;
}

.fv__gradations {
	position: absolute;
	inset: 0;
	animation: center-rotate 5s cubic-bezier(0.61, 0.04, 0.82, 0.99) both;
	rotate: 180deg;
}

.fv__gradient1 {
	position: absolute;
	top: 2%;
	left: calc(50% - max(500px, 960 / var(--vw)));
	width: 40rem;
	scale: 0.6;
	rotate: -180deg;
}

.fv__gradient1 img,
.fv__gradient2 img,
.fv__gradient3 img,
.fv__gradient4 img,
.fv__gradient5 img,
.fv__gradient6 img,
.fv__gradient7 img {
	object-fit: contain;
	opacity: 0;
}

.fv__gradient1 img {
	aspect-ratio: 1036/1000;
}

.fv__gradient2 {
	position: absolute;
	top: 40%;
	left: calc(50% - max(560px, 860 / var(--vw)));
	width: 75rem;
	scale: 0.6;
}

.fv__gradient2 img {
	aspect-ratio: 2380/1846;
}

.fv__gradient3 {
	position: absolute;
	top: -47%;
	left: 57%;
	width: 43.75rem;
	scale: 0.7;
	transition: opacity 0.3s ease-out;
}

.fv__gradient3 img {
	aspect-ratio: 988/1275;
}

.fv__gradient4 {
	position: absolute;
	top: 28%;
	left: 76%;
	width: 39.375rem;
	rotate: 10deg;
	scale: 0.7;
}

.fv__gradient4 img {
	aspect-ratio: 940/1132;
}

.fv__gradient5 {
	position: absolute;
	top: 88%;
	left: 16%;
	translate: -50% -50%;
	width: 26.25rem;
	scale: 0.6;
	transition: opacity 0.3s ease-out;
}

.fv__gradient5.is-center {
	opacity: 0.5;
}

.fv__gradient5 img {
	aspect-ratio: 548/616;
}

.fv__gradient6 {
	position: absolute;
	top: -5%;
	left: 26%;
	translate: -50% -50%;
	width: 46.25rem;
	scale: 0.7;
}

.fv__gradient6 img {
	aspect-ratio: 940/1132;
}

.fv__gradient7 {
	position: absolute;
	top: 40%;
	left: 100%;
	translate: -50% -50%;
	width: 43.75rem;
	scale: 0.7;
}

.fv__gradient7 img {
	aspect-ratio: 1036/1000;
}

.fv__gradient1.is-center,
.fv__gradient2.is-center,
.fv__gradient3.is-center,
.fv__gradient4.is-center,
.fv__gradient5.is-center,
.fv__gradient6.is-center,
.fv__gradient7.is-center {
	--top: 50%;
	--left: 50%;
	animation: centerIn 4s cubic-bezier(0.77, 0.39, 0.58, 0.88) both;
}

.fv__gradient2.is-center {
	--top: 37%;
}

.fv__gradient4.is-center {
	--top: 43%;
	--left: 47%;
}

.fv__gradient5.is-center {
	--top: 60%;
	--left: 40%;
}

.fv__gradient6.is-center {
	--top: 50%;
	--left: 43%;
}

.fv__gradient7.is-center {
	--top: 62%;
	--left: 54%;
}

.fv__scroll-wrap {
	position: absolute;
	bottom: -1.6875rem;
	left: 50%;
	translate: -50%;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.6s ease-out, visibility 0.6s ease-out;
}

.fv__scroll-wrap.is-visible {
	opacity: 1;
	visibility: visible;
}

.fv__scroll {
	display: grid;
	grid-template-areas: "." "line";
	gap: 1.25rem;
	place-items: center;
	font-size: 1rem;
	font-weight: var(--fw-semibold);
	font-family: var(--poppins-font);
	color: var(--white);
	line-height: 1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.fv__scroll::before {
	content: "";
	grid-area: line;
	width: 0.125rem;
	height: 6.875rem;
	background-color: var(--white);
}

.fv__scroll::after {
	content: "";
	grid-area: line;
	align-self: start;
	width: 0.5rem;
	aspect-ratio: 1;
	background-color: var(--white);
	border-radius: 50%;
	animation: scroll 3s linear infinite;
}

.greeting__title-wrap {
	position: relative;
	display: flex;
	gap: 3.125rem;
}

.greeting__title-wrap::after {
	content: "";
	translate: 0 1.125rem;
	width: 100%;
	height: 1px;
	background-color: var(--red);
}

.greeting__title {
	width: -moz-fit-content;
	width: fit-content;
	flex-shrink: 0;
}

.greeting__container {
	margin-top: 4.375rem;
}

.greeting__main-message {
	font-family: var(--base-font);
	font-size: 1.375rem;
	font-weight: var(--fw-bold);
	color: var(--text-black);
	line-height: 1;
	letter-spacing: 0.06em;
}

.greeting__text {
	font-family: var(--base-font);
	font-size: var(--base-font-rem-s);
	font-weight: var(--fw-medium);
	color: var(--text-black);
	line-height: 2.3;
	letter-spacing: 0.06em;
}

.greeting__text:first-of-type {
	margin-top: 3.125rem;
}

.greeting__text + .greeting__text {
	margin-top: 1lh;
}

.greeting__ceo {
	margin-top: 3.125rem;
}

.greeting__position {
	font-family: var(--base-font);
	font-size: var(--base-font-rem);
	font-weight: var(--fw-bold);
	color: var(--text-black);
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.greeting__name {
	font-family: var(--base-font);
	font-size: 1.625rem;
	font-weight: var(--fw-bold);
	color: var(--text-black);
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.header {
	--base-color: var(--red);
	position: fixed;
	z-index: var(--z-index-header);
	top: 0;
	inset-inline: 0;
	height: var(--header-height);
	transition: background-color 0.3s ease, height 0.3s ease, -webkit-backdrop-filter 0.3s ease;
	transition: background-color 0.3s ease, backdrop-filter 0.3s ease, height 0.3s ease;
	transition: background-color 0.3s ease, backdrop-filter 0.3s ease, height 0.3s ease, -webkit-backdrop-filter 0.3s ease;
}

.header:not(:has([data-active=true],
.is-open)).is-scrolled {
	background-color: rgba(255, 255, 255, 0.7);
	-webkit-backdrop-filter: blur(25px);
	backdrop-filter: blur(25px);
}

.header.is-scrolled {
	height: calc(var(--header-height) * 0.8);
}

.header__container {
	position: relative;
	z-index: inherit;
	display: flex;
	align-items: center;
	padding-left: min(48 / var(--vw), 48px);
	height: inherit;
}

.header__logo {
	width: clamp(max(150px, 12.5rem), 260 / var(--vw), 260px);
	height: inherit;
}

.header.is-white .header__logo {
	position: relative;
}

.header.is-white .header__logo::before {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 1;
	background-image: url("../images/logo_white.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: opacity 0.3s ease-out;
	pointer-events: none;
}

.header.is-white.is-scrolled .header__logo::before {
	opacity: 0;
}

.header__logo-link {
	display: grid;
	place-content: center;
	height: inherit;
}

.header__logo-link img {
	aspect-ratio: 321/62;
	object-fit: contain;
}

.header.is-white .header__logo img {
	opacity: 0;
	transition: opacity 0.3s ease-out;
}

.header.is-white.is-scrolled .header__logo img {
	opacity: 1;
}

.header__nav {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: inherit;
	transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.header:has(.is-open) .header__nav {
	opacity: 0;
	visibility: hidden;
}

.header__nav-list {
	display: flex;
	height: inherit;
}

.header__nav-item {
	height: inherit;
}

.header__nav-link {
	position: relative;
	display: grid;
	align-items: center;
	height: inherit;
	padding-inline: min(28 / var(--vw), 28px);
	transition: color 0.3s ease-out;
}

.header.is-white .header__nav-link {
	color: var(--white);
}

.header.is-white.is-scrolled .header__nav-link {
	color: var(--text-black);
}

.header__nav-link::before {
	content: "";
	position: absolute;
	bottom: 25%;
	left: 50%;
	translate: -50%;
	width: 0;
	height: 2px;
	background-color: var(--base-color);
	transition: width 0.3s ease-out;
}

.header__nav-link span {
	position: relative;
	font-size: max(14px, var(--base-font-rem-s));
	line-height: 1;
	letter-spacing: 0.13em;
	text-box: trim-both cap alphabetic;
}

button.header__nav-link span {
	grid-area: text;
	display: grid;
	align-items: center;
	height: inherit;
	grid-template-columns: auto calc(12 * var(--em));
	grid-template-areas: "text line";
	gap: min(12 / var(--vw), 12px);
}

button.header__nav-link span::before,
button.header__nav-link span::after {
	content: "";
	grid-area: line;
	width: 100%;
	height: 2px;
	background-color: var(--base-color);
	transition: rotate 0.3s ease-out;
}

button.header__nav-link span::after {
	rotate: 90deg;
}

.header__nav-item:has([data-active=true]) .header__nav-link span::after {
	rotate: 0deg;
}

.header__sub-menu {
	position: absolute;
	z-index: -1;
	top: 0;
	inset-inline: 0;
	background-color: var(--bg-header);
	-webkit-backdrop-filter: blur(25px);
	backdrop-filter: blur(25px);
	border-bottom: 1px solid var(--white);
	padding-block: calc(var(--header-height) + 1.375rem) 2.375rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.js-submenu:not([data-active=true]) {
	opacity: 0;
	visibility: hidden;
}

.js-submenu[data-active=true] {
	opacity: 1;
	visibility: visible;
}

.header__buttons {
	display: flex;
	align-items: center;
	margin-left: auto;
	height: inherit;
}

.header__button {
	--bg-color: var(--white);
	--padding-inline: minmax(0.5em, min(55/var(--vw), 55px));
	display: grid;
	grid-template-columns: var(--padding-inline) auto var(--padding-inline);
	grid-template-areas: ". text bullet";
	place-items: center;
	border-radius: calc(infinity * 1px);
	background-color: color-mix(in srgb, var(--bg-color) 70%, transparent);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	margin-left: min(7 / var(--vw), 7px);
	padding-block: 1.25rem;
	color: var(--base-color);
	transition: box-shadow 0.3s ease-out, background-color 0.3s ease-out, color 0.3s ease-out;
}

.header:has(.is-open) .header__button {
	box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.2);
}

.header__button::after {
	content: "";
	grid-area: bullet;
	width: 0.4375rem;
	aspect-ratio: 1;
	background-color: currentColor;
	border-radius: 50%;
	transition: scale 0.3s ease-out;
}

.header__button span {
	grid-area: text;
	font-size: max(14px, var(--base-font-rem-s));
	font-weight: var(--fw-medium);
	line-height: 1;
	letter-spacing: 0.13em;
	text-box: trim-both cap alphabetic;
}

.header__hamburger {
	position: relative;
	display: grid;
	grid-template: 2px/calc(42 * var(--rem));
	place-content: center;
	width: min(120 / var(--vw), 120px);
	aspect-ratio: 1;
	padding-bottom: 1.75rem;
	transition: grid-template 0.3s ease-out;
}

.header__hamburger-text {
	position: absolute;
	bottom: calc(50% - 1.5rem);
	left: 50%;
	translate: -50%;
	font-size: max(10px, 0.875rem);
	font-weight: var(--fw-semi-bold);
	font-family: var(--poppins-font);
	color: var(--base-color);
	line-height: 1;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
	white-space: nowrap;
	text-transform: uppercase;
	transition: opacity 0.3s ease-out;
}

.header__hamburger .header__hamburger-text[data-text=close] {
	left: calc(50% - 0.125rem);
}

.header__hamburger-text[data-text=menu] {
	opacity: 1;
}

.header__hamburger-text[data-text=close] {
	opacity: 0;
}

.header__hamburger.is-open .header__hamburger-text[data-text=menu] {
	opacity: 0;
}

.header__hamburger.is-open .header__hamburger-text[data-text=close] {
	opacity: 1;
}

.header__hamburger-line {
	--gap: calc(10 * var(--rem));
	--base-color: inherit;
	display: grid;
	grid-template-areas: "stack";
	align-self: stretch;
	background-color: var(--base-color);
	transition: background-color 0.3s ease-out;
}

.header__hamburger-line::before {
	content: "";
	grid-area: stack;
	background-color: var(--base-color);
	translate: 0 calc(var(--gap) * -1);
	transform-origin: top left;
	transition: rotate 0.3s ease-out;
}

.header__hamburger-line::after {
	content: "";
	grid-area: stack;
	background-color: var(--base-color);
	transition: rotate 0.3s ease-out;
	transform-origin: bottom left;
	translate: 0 var(--gap);
}

.header__hamburger.is-open .header__hamburger-line {
	background-color: transparent;
}

.header__hamburger.is-open .header__hamburger-line::before {
	rotate: 30deg;
}

.header__hamburger.is-open .header__hamburger-line::after {
	rotate: -30deg;
}

.header__drawer {
	position: fixed;
	z-index: var(--z-index-drawer);
	top: 0;
	left: 0;
	width: 100cqw;
	height: 100vh;
	padding-top: var(--header-height);
	opacity: 0;
	visibility: hidden;
	background-color: rgba(255, 255, 255, 0.7);
	-webkit-backdrop-filter: blur(25px);
	backdrop-filter: blur(25px);
	transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.header__drawer.is-preopen {
	visibility: visible;
	-webkit-backdrop-filter: blur(25px);
	backdrop-filter: blur(25px);
}

.header__drawer.is-open {
	opacity: 1;
}

.header__drawer-wrapper {
	display: grid;
	overflow-y: auto;
	height: 100%;
	padding-block: 3.25rem 5rem;
}

.header__drawer-inner.inner {
	--padding-inline: 60px;
	padding-inline: var(--padding-inline);
	max-width: min(1210px + var(--padding-inline) * 2);
}

.header__drawer-list {
	display: grid;
	grid-template-columns: 1fr;
}

.header__drawer-item {
	width: 100%;
}

.header__drawer-link {
	display: block;
	padding-block: 1.25rem;
	font-size: 1.125rem;
	text-align: center;
	text-transform: uppercase;
}

.header__drawer-button {
	margin-top: 2.5rem;
}

.history__items {
	background-color: var(--white);
	border-radius: 1rem;
	padding: 3rem 2.5rem;
	max-height: 60rem;
	overflow-y: scroll;
}

.history__item {
	display: flex;
	align-items: center;
}

.history__item:not(:first-child) {
	border-top: 1px solid #f2f2f2;
}

.history__timing {
	font-family: var(--base-font);
	font-size: max(14px, var(--base-font-rem));
	font-weight: var(--fw-medium);
	color: var(--text-black);
	line-height: 1;
	line-height: 1.7;
	letter-spacing: 0em;
	width: 10rem;
	padding-inline: 1rem;
}

.history__text {
	font-family: var(--base-font);
	font-size: max(13px, var(--base-font-rem-s));
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0em;
	flex: 1;
	padding: 1rem;
}

.home-care__container {
	background-color: var(--white);
	border-radius: 1.0625rem;
	padding: 2.8125rem;
}

.home-care__head {
	display: flex;
	align-items: center;
	gap: 1.625rem;
	padding-inline: 3rem;
}

.home-care__head-text {
	flex: 1 0 0;
}

.home-care__sections {
	margin-top: 2.8125rem;
}

.home-care__section {
	background-color: var(--bg-light-gray);
	border-radius: 1.0625rem;
	padding: 2.8125rem 3rem;
}

.home-care__section + .home-care__section {
	margin-top: 2.8125rem;
}

.home-care__section-title .number-title {
	padding-block: 0.625rem;
}

.home-care__section-overvew {
	margin-top: 1.25rem;
}

.home-care__section-body {
	display: flex;
	gap: 3.9375rem;
	border-top: 1px solid var(--red);
	padding-top: 2.8125rem;
	margin-top: 2.8125rem;
}

.home-care__section-img {
	flex: 0 0 21.875rem;
}

.home-care__section-img img {
	aspect-ratio: 350/280;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 0.75rem;
}

.home-care__section-content {
	flex: 1 0 0;
}

.home-care__content-title {
	padding-block: 0.3125rem;
}

.home-care__content-wrap {
	padding-left: 1.25rem;
	margin-top: 1rem;
}

.home-care__content-item + .home-care__content-item {
	margin-top: 1.125rem;
}

.home-care__item-body {
	margin-top: 0.125rem;
}

.home-care__content-text {
	font-family: var(--base-font);
	font-size: 0.875rem;
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0em;
}

.home-care__content-note {
	margin-top: 2rem;
}

.home-care__content-note .menu-item {
	flex-direction: column;
	gap: 0.875rem;
}

.home-care__content-note .menu-item__title-wrap {
	flex: 0 0 auto;
}

.home-care__content-note .menu-item__title {
	padding-inline: 1.875rem;
	width: -moz-fit-content;
	width: fit-content;
}

.home-customers__container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
	padding: 3.75rem 2.8125rem;
	background-color: var(--white);
	border-radius: 1.0625rem;
}

.home-customers__card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	gap: 0.8125rem;
	padding: 1.5625rem;
	border-radius: 1.0625rem;
	background-color: color-mix(in srgb, var(--bg-light-gray) 60%, transparent);
}

.home-customers__card-img {
	clip-path: inset(0 round 0.6875rem);
}

.home-customers__card-img img {
	aspect-ratio: 302/163;
	height: 100%;
	object-fit: cover;
	transition: scale 0.3s ease-out;
}

.home-customers__card-content {
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	gap: min(10 / var(--vw), 10px);
	align-items: center;
}

.home-customers__card-content::after {
	content: "";
	width: 11px;
	aspect-ratio: 11/9;
	background-color: currentColor;
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: translate 0.3s ease-out;
}

.home-customers__card-icon {
	position: relative;
	top: 1px;
	width: max(22px, 1.9375rem);
	aspect-ratio: 31/22;
}

.home-customers__card-icon img {
	height: 100%;
	object-fit: contain;
}

.home-customers__card-title {
	font-size: max(14px, var(--base-font-rem));
	font-weight: var(--fw-medium);
	line-height: 1.2;
	letter-spacing: 0.03em;
	word-break: keep-all;
}

.house {
	--radius: calc(17 * var(--rem));
	--radius-small: calc(12 * var(--rem));
}

.house__container {
	display: grid;
	gap: 1.5625rem;
	padding: 2.8125rem min(51 / var(--vw), 51px);
	border-radius: var(--radius);
	background-color: var(--white);
}

.house__section {
	display: grid;
	grid-template-columns: 1fr 35.8%;
	grid-template-areas: "body img" "maker maker";
	gap: min(46 / var(--vw), 46px) 2.5rem;
	align-items: start;
	padding: 2.8125rem min(48 / var(--vw), 48px);
	border-radius: var(--radius);
	background-color: var(--bg-light-gray);
}

.house__section:has(.house__section-images) {
	grid-template-areas: "body img" "images images" "maker maker";
}

.house__section-body {
	grid-area: body;
	display: grid;
	gap: 1.5625rem;
}

.house__section-title {
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.house__section-img {
	grid-area: img;
}

.house__section-img img {
	aspect-ratio: 358/229;
	object-fit: cover;
	border-radius: var(--radius-small);
}

.house__section-images {
	grid-area: images;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5625rem;
}

.house__section-img-small img {
	aspect-ratio: 234/155;
	object-fit: cover;
	border-radius: var(--radius-small);
}

.house__section-maker {
	grid-area: maker;
}

.household__container {
	display: grid;
	gap: 2rem;
}

.household__block {
	display: grid;
	gap: 2.5rem;
	padding: 2.8125rem min(45 / var(--vw), 45px);
	border-radius: 1.0625rem;
	background-color: var(--white);
}

.household__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem min(34 / var(--vw), 34px);
}

.household__card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	gap: 0;
}

.household__card-list {
	display: grid;
	gap: 0.375rem;
	margin-top: 0.875rem;
}

.household__card-item {
	display: grid;
	grid-template-columns: auto 1fr;
}

.household__card-item::before {
	content: "・";
}

.household__mycon {
	display: grid;
	grid-template-columns: 710fr 330fr;
	grid-template-areas: "title img" "text img" "button img";
	gap: 0 3.5rem;
}

.household__mycon-title {
	grid-area: title;
}

.household__mycon-text {
	grid-area: text;
	margin-top: 1.25rem;
}

.household__mycon-button {
	grid-area: button;
	margin-top: 2.6875rem;
}

.household__mycon-img {
	grid-area: img;
}

.household__mycon-img img {
	aspect-ratio: 330/259;
	object-fit: cover;
	border-radius: 0.5rem;
}

.household__monitor-top {
	display: grid;
	grid-template-columns: 710fr 345fr;
	grid-template-areas: "title illust" "text illust";
	gap: 1.25rem 2.625rem;
	align-items: center;
}

.household__monitor-title {
	grid-area: title;
}

.household__monitor-text {
	grid-area: text;
}

.household__monitor-illust {
	grid-area: illust;
}

.household__monitor-illust img {
	aspect-ratio: 345/130;
	object-fit: contain;
	border-radius: 0.5rem;
}

.household__monitor-alert {
	grid-area: alert;
}

.household__monitor-cards {
	grid-area: cards;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem min(50 / var(--vw), 50px);
	justify-content: center;
	margin-top: 1rem;
	padding-inline: min(44 / var(--vw), 44px);
	counter-reset: monitorCards;
}

.household__monitor-card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: 0;
	counter-increment: monitorCards;
}

.household__monitor-card-img img {
	aspect-ratio: 303/158;
	object-fit: cover;
	border-radius: 0.5rem;
}

.household__monitor-card-label {
	display: inline-flex;
	gap: 0.5em;
	align-items: center;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 1rem;
	padding: 0.25rem 0.625rem;
	border-radius: calc(infinity * 1px);
	background-color: var(--red);
	font-size: 12px;
	font-family: var(--poppins-font);
	font-weight: var(--fw-semi-bold);
	color: var(--white);
	line-height: 1;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.household__monitor-card-label::after {
	content: counter(monitorCards, decimal-leading-zero);
}

.household__monitor-card-text.text-s {
	margin-top: 0.3125rem;
	color: var(--text-black);
}

.household__monitor-card-text .caption {
	display: block;
}

.household__column {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(44 / var(--vw), 44px);
}

.household__alarms {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.875rem min(47 / var(--vw), 47px);
}

.household__alarm {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	gap: 0.875rem;
	padding-block: 0.625rem;
	padding-right: 2.5rem;
	border-right: 1px solid var(--light-gray);
}

.household__alarm-title {
	align-self: center;
}

.household__alarm-text {
	font-size: max(13px, 0.875rem);
	color: var(--dark-gray);
	line-height: 1.5;
}

.household__alarm-button {
	margin-top: 2.125rem;
	text-align: center;
}

.household__cta {
	position: relative;
	margin-top: 5.625rem;
	padding-block: 4.75rem 6.25rem;
	background-image: -webkit-image-set(url(../images/bg_household_cta.avif) type("image/avif"), url(../images/bg_household_cta.jpg) type("image/jpg"));
	background-image: image-set(url(../images/bg_household_cta.avif) type("image/avif"), url(../images/bg_household_cta.jpg) type("image/jpg"));
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.household__cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.4);
	-webkit-backdrop-filter: blur(8.5px);
	backdrop-filter: blur(8.5px);
}

.household__cta-inner.inner {
	position: relative;
}

.household__cta-head {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	font-size: 1.625rem;
	font-weight: var(--fw-bold);
	color: var(--white);
	line-height: 1;
	letter-spacing: 0.07em;
	text-align: center;
}

.household__cta-head::before,
.household__cta-head::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2.3125rem;
	height: 2px;
	background-color: currentColor;
}

.household__cta-head::before {
	left: -2em;
	rotate: -131deg;
}

.household__cta-head::after {
	right: -2em;
	rotate: 131deg;
}

.household__cta-head .dots {
	--size: calc(6 * 1em / 26);
	background-image: radial-gradient(circle at center, currentColor 20%, transparent 20%);
	background-position: top right;
	background-repeat: repeat-x;
	background-size: 1.07em var(--size);
	padding-top: var(--size);
}

.household__cta-buttons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 566px));
	gap: 1.25rem;
	justify-content: center;
	margin-top: 1.6875rem;
}

.household__cta-button {
	--icon-size: calc(36 * var(--em));
	--title: 1fr;
	--arrow-size: calc(18 * var(--em));
	--font-color: var(--text-black);
	--bg-color: var(--white);
	--accent-color: var(--red);
	display: grid;
	grid-template-columns: var(--icon-size) var(--title) var(--arrow-size);
	gap: 0.5rem;
	align-items: center;
	padding-block: 1.6363636364em 1.5454545455em;
	padding-inline: min(46 / var(--vw), 46px);
	height: 100%;
	background-color: var(--bg-color);
	border-radius: 0.875rem;
	border: 0.25rem solid var(--accent-color);
	color: var(--font-color);
	transition: background-color 0.3s, color 0.3s;
}

.household__cta-button::after {
	content: "";
	width: 100%;
	aspect-ratio: 18/14;
	background-color: currentColor;
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: background-color 0.3s, translate 0.3s;
}

.household__cta-button__icon {
	transition: filter 0.3s;
}

.household__cta-button__icon img {
	object-fit: contain;
}

.household__cta-button__title {
	text-box: trim-both cap alphabetic;
	font-size: 1.375rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: 0.03em;
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.icon-button {
	--icon-size: calc(22 * var(--em));
	--title: 1fr;
	--arrow-size: calc(11 * var(--em));
	--font-color: var(--text-black);
	--bg-color: var(--white);
	--accent-color: var(--red);
	display: grid;
	grid-template-columns: var(--icon-size) var(--title) var(--arrow-size);
	gap: min(13 / var(--vw), 0.8125rem);
	align-items: center;
	padding-block: calc(18 * var(--em));
	padding-inline: 1em;
	height: 100%;
	background-color: var(--bg-color);
	border-radius: 0.4375rem;
	border: 1px solid var(--light-gray);
	color: var(--font-color);
	transition: background-color 0.3s, color 0.3s;
}

.icon-button--red {
	--icon-size: calc(32 * var(--em));
	--arrow-size: calc(18 * var(--em));
	--font-color: var(--white);
	--bg-color: var(--red);
	--accent-color: var(--white);
	gap: min(20 / var(--vw), 20px);
	padding-block: calc(24 * var(--em));
	border-radius: 0.625rem;
}

.icon-button::after {
	content: "";
	width: 100%;
	aspect-ratio: 11/9;
	background-color: currentColor;
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: background-color 0.3s, color 0.3s;
}

.icon-button__icon {
	transition: filter 0.3s;
}

.icon-button--red .icon-button__icon {
	filter: brightness(0) invert(1);
	transition: none;
}

.icon-button__icon img {
	aspect-ratio: 1/1;
	object-fit: contain;
}

.icon-button--red .icon-button__icon img {
	aspect-ratio: auto;
}

.icon-button__title {
	display: grid;
}

.icon-button__title-ja {
	text-box: trim-both cap alphabetic;
	font-size: max(12px, 1rem);
	line-height: 1;
	letter-spacing: 0.03em;
	word-break: keep-all;
}

.icon-button--red .icon-button__title-ja {
	font-size: max(14px, 1.25rem);
}

.icon-button__title-en {
	margin-top: 0.625rem;
	font-size: max(10px, 0.875rem);
	color: var(--light-gray);
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: color 0.3s ease-out;
}

.icon-title-small {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	width: -moz-fit-content;
	width: fit-content;
}

.icon-title-small__icon {
	flex-shrink: 0;
	width: 1.9375rem;
}

.icon-title-small__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 1/1;
}

.icon-title-small__title {
	color: var(--black);
	font-size: max(16px, 1.375rem);
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.03em;
}

.icon-title {
	display: flex;
	align-items: center;
	gap: 1.0625rem;
	width: -moz-fit-content;
	width: fit-content;
	padding-block: 0.625rem;
}

.icon-title__icon {
	flex-shrink: 0;
	width: 4.4375rem;
}

.icon-title__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 1/1;
}

.icon-title__title {
	color: var(--black);
	font-size: 1.75rem;
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.07em;
}

.icon-title__title span {
	display: inline-block;
}

.industrial-equipment__container {
	display: grid;
	gap: 2rem;
}

.industrial-equipment__section {
	display: grid;
	gap: 2.5rem;
	padding: 2.8125rem min(51 / var(--vw), 51px);
	border-radius: 1.0625rem;
	background-color: var(--white);
}

.links-title {
	display: inline-grid;
	gap: 0.8125rem;
	text-align: center;
}

.links-title__en {
	font-size: 2.375rem;
	font-weight: var(--fw-light);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.links-title__ja {
	font-size: 1.125rem;
	font-weight: var(--fw-bold);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.05em;
}

.maker-block {
	display: grid;
	gap: 1.5625rem;
	place-content: center;
	padding: 1.5rem;
	height: 100%;
	border-radius: 0.75rem;
	background-color: var(--bg-light-gray);
}

.maker-block--white {
	background-color: var(--white);
}

.maker-block__title {
	font-size: max(14px, var(--base-font-rem-s));
	font-weight: var(--fw-semi-bold);
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
}

.maker-block__title span {
	font-size: 0.875rem;
}

.maker-block__text {
	width: -moz-fit-content;
	width: fit-content;
	max-width: 883px;
}

.medical-devices__container {
	background-color: var(--white);
	border-radius: 1.0625rem;
	padding: 2.8125rem;
}

.medical-devices__container + .medical-devices__container {
	margin-top: 2rem;
}

.medical-devices__title {
	padding-block: 0.625rem;
}

.medical-devices__head-text {
	font-family: var(--base-font);
	font-size: max(12px, 0.875rem);
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0em;
	margin-top: 1.25rem;
}

.medical-devices__sections {
	margin-top: 2.8125rem;
}

.medical-devices__section {
	background-color: var(--bg-light-gray);
	border-radius: 1.0625rem;
	padding: 2.8125rem 3rem;
}

.medical-devices__section[data-type=small] {
	padding-block: 1.5625rem 2.8125rem;
}

.medical-devices__section + .medical-devices__section {
	margin-top: 2rem;
}

.medical-devices__mix-title {
	padding-block: 0.625rem;
}

.medical-devices__mix-title .mix-title__ja {
	color: var(--text-black);
}

.medical-devices__section-text {
	margin-top: 1.25rem;
}

.medical-devices__section-container {
	display: flex;
	gap: 3.9375rem;
	border-top: 1px solid var(--red);
	padding-top: 2.8125rem;
	margin-top: 2.8125rem;
}

.medical-devices__section-img {
	flex: 0 0 21.875rem;
}

.medical-devices__section-img img {
	aspect-ratio: 350/250;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 0.75rem;
}

.medical-devices__section-img[data-size=small] img {
	aspect-ratio: 350/230;
}

.medical-devices__section-body {
	flex: 1 0 0;
	display: grid;
	gap: 2.5rem;
}

.medical-devices__note-title {
	padding-block: 0.3125rem;
}

.medical-devices__note-title .dot-title__title {
	font-size: max(13px, var(--base-font-rem));
	font-weight: var(--fw-medium);
}

.medical-devices__note-title .dot-title__dot {
	top: 0.4lh;
}

.medical-devices__note-list {
	margin-top: 0.625rem;
	padding-left: 1.25rem;
	display: grid;
	gap: 1.5rem;
}

.medical-devices__note-head {
	font-size: max(12px, var(--base-font-rem-s));
	line-height: 1.7;
}

.medical-devices__note-text {
	font-size: max(11px, 0.875rem);
	line-height: 1.7;
	color: var(--dark-gray);
}

.medical-devices__detail {
	margin-top: 4.0625rem;
	border-radius: 0.75rem;
	background-color: var(--white);
}

.medical-devices__detail-header {
	--padding-inline: calc(20 * var(--rem));
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	grid-template-areas: ". title status";
	gap: 1em;
	place-content: center;
	margin-inline: auto;
	padding-block: 1.4375rem;
	width: calc(100% - var(--padding-inline) * 2);
}

.medical-devices__detail-title {
	grid-area: title;
}

.medical-devices__detail-status {
	grid-area: status;
	display: inline-grid;
	grid-template-columns: 1fr auto;
	grid-template-areas: "text icon";
	gap: 0.625rem;
	align-items: center;
	justify-items: end;
	font-size: 12px;
	font-weight: var(--fw-semi-bold);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.1em;
}

.medical-devices__detail-status::before,
.medical-devices__detail-status::after {
	content: "";
	grid-area: icon;
	width: 1rem;
	height: 2px;
	background-color: currentColor;
	border-radius: 999em;
}

.medical-devices__detail-status::after {
	rotate: 90deg;
	transition: rotate 0.3s ease-out;
}

.medical-devices__detail.is-open .medical-devices__detail-status::after {
	rotate: 180deg;
}

.medical-devices__detail-open {
	grid-area: text;
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.medical-devices__detail.is-open .medical-devices__detail-open {
	opacity: 0;
	visibility: hidden;
}

.medical-devices__detail-close {
	grid-area: text;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.medical-devices__detail.is-open .medical-devices__detail-close {
	opacity: 1;
	visibility: visible;
}

.medical-devices__detail-content {
	margin-inline: auto;
	width: min(100%, 836px);
	height: 0;
	opacity: 0;
	overflow: hidden;
}

.medical-devices__detail-body {
	display: grid;
	gap: 2.1875rem;
	padding-block: 3.125rem;
	padding-inline: 2.5rem;
	border-top: 1px solid var(--border-gray);
}

.medical-devices__detail-block {
	display: grid;
	gap: 1.25rem;
}

.medical-devices__detail-list {
	display: grid;
	grid-template-columns: 12.5rem 1fr;
	align-items: center;
	border: 1px solid var(--border-gray);
}

.medical-devices__detail-term.text-s {
	padding: 0.5rem min(30 / var(--vw), 30px);
	height: 100%;
	font-size: max(12px, 1rem);
	color: var(--text-black);
}

.medical-devices__detail-term:not(:first-of-type) {
	border-top: 1px solid var(--border-gray);
}

.medical-devices__detail-desc.text-s {
	padding: 0.5rem 1.6875rem;
	border-left: 1px solid var(--border-gray);
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.medical-devices__detail-desc:not(:first-of-type) {
	border-top: 1px solid var(--border-gray);
}

.medical-devices__detail-desc span {
	display: inline-block;
	color: var(--gray);
}

.medical-devices__download {
	margin-top: 2.8125rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	justify-content: center;
}

.medical-devices__service-items {
	padding-inline: 5.5rem;
}

.medical-devices__service-item {
	display: flex;
	align-items: center;
	background-color: var(--white);
	border-radius: 0.625rem;
	padding-block: 1.25rem;
	padding-right: 1.9375rem;
}

.medical-devices__service-item + .medical-devices__service-item {
	margin-top: 1.25rem;
}

.medical-devices__service-number {
	flex: 0 0 5.9375rem;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--poppins-font);
	font-size: 2rem;
	font-weight: var(--fw-light);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.1em;
}

.medical-devices__service-content {
	position: relative;
	padding-left: 1.625rem;
}

.medical-devices__service-content::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	background-color: var(--red);
}

.medical-devices__service-heading.text-m {
	font-weight: var(--fw-medium);
	line-height: 1;
	color: var(--text-black);
}

.medical-devices__service-text.text-s {
	letter-spacing: 0em;
	margin-top: 0.625rem;
}

.medical-devices__section.medical-devices__section--narrow-pt {
	padding-top: 1.5625rem;
}

.medical-devices__reason-title {
	padding-block: 0.625rem;
}

.medical-devices__reason-items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	padding-inline: 5.5rem;
}

.medical-devices__reason-item {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	background-color: var(--white);
	border-radius: 0.75rem;
	padding: 1.25rem 1.75rem;
}

.medical-devices__reason-number {
	font-family: var(--poppins-font);
	font-size: 0.75rem;
	font-weight: var(--fw-semi-bold);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
	text-transform: uppercase;
}

.medical-devices__reason-heading {
	font-family: var(--base-font);
	font-size: var(--base-font-rem);
	font-weight: var(--fw-medium);
	color: var(--text-black);
	line-height: 1.4;
	letter-spacing: 0.03em;
	text-align: center;
	padding-bottom: 1.25rem;
	margin-top: 0.625rem;
}

.medical-devices__reason-text {
	font-family: var(--base-font);
	font-size: var(--base-font-rem-s);
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0em;
	border-top: 1px solid var(--red);
	padding-top: 1.25rem;
}

.medical-devices__consultation-title {
	padding-block: 0.625rem;
}

.medical-devices__consultation-text.text-s {
	padding-inline: 5.5rem 0.3125rem;
}

.medical-devices__mix-title .block-title__title {
	color: var(--text-black);
}

.medical-devices__info {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	justify-content: center;
	margin-top: 1.875rem;
	margin-left: 5.5rem;
	width: min(80%, 51.4375rem);
	background-color: var(--white);
	border-radius: 0.75rem;
	padding: 1.75rem 2.5rem;
}

.medical-devices__info-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.medical-devices__info__term {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.5rem 1.25rem;
	border-radius: 999em;
	background-color: var(--bg-light-gray);
	font-size: max(12px, 0.875rem);
	font-weight: var(--fw-regular);
	line-height: 1;
	letter-spacing: 0.03em;
}

.medical-devices__info__term::before {
	content: "";
	width: 0.4375rem;
	aspect-ratio: 1/1;
	background-color: var(--red);
	border-radius: 50%;
}

.medical-devices__info__desc {
	font-size: max(12px, 0.875rem);
	color: var(--dark-gray);
	line-height: 1.7;
}

.menu-item {
	display: flex;
	gap: 1.125rem;
}

.menu-item.menu-item--center {
	align-items: center;
}

.menu-item + .menu-item {
	margin-top: 1.25rem;
}

.menu-item__title-wrap {
	flex: 0 0 8.5rem;
}

.menu-item__title {
	font-family: var(--base-font);
	font-size: var(--base-font-rem);
	font-weight: var(--fw-bold);
	color: var(--dark-gray);
	line-height: 1;
	letter-spacing: 0.07em;
	text-align: center;
	background-color: var(--light-gray);
	border-radius: calc(infinity * 1px);
	padding-block: 0.9375rem;
}

.menu-item__text {
	font-family: var(--base-font);
	font-size: var(--base-font-rem-s);
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.5;
	letter-spacing: 0.07em;
}

.mission__text {
	font-family: var(--base-font);
	font-size: 1.375rem;
	font-weight: var(--fw-bold);
	color: var(--text-black);
	line-height: 2.4;
	letter-spacing: 0.08em;
	margin-top: 3.125rem;
}

.mix-title {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: -moz-fit-content;
	width: fit-content;
}

.mix-title__ja {
	color: var(--black);
	font-size: 1.75rem;
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.07em;
}

.mix-title__en {
	color: var(--red);
	font-size: 0.875rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.1em;
}

/* 初期設定 */

button {
	outline: none;
}

/* モーダルが存在する場合、初期状態でbodyを非表示 */

body:has(#medical-modal) .outer {
	opacity: 0;
}

/* モーダルが開いたら/閉じたらページコンテンツを表示 */

body:has(#medical-modal):has(#medical-modal[open]) .outer,
body:has(#medical-modal):has(#medical-modal:not([open])) .outer {
	opacity: 1;
}

body:has(dialog[open]) {
	overflow: hidden;
}

dialog::backdrop {
	opacity: 0;
}

dialog.js-show.modal {
	opacity: 1;
}

dialog.js-show::backdrop {
	opacity: 1; /* 背景 */
	background: rgba(255, 255, 255, 0.7);
	-webkit-backdrop-filter: blur(5rem);
	backdrop-filter: blur(5rem);
}

.modal {
	opacity: 0;
	width: min(45rem, 95%);
	max-height: 100vh;
	padding-block: 1.25rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.modal__inner {
	overflow-y: scroll;
	max-height: 100%;
	width: 100%;
	position: relative;
	scrollbar-width: none;
	border-radius: 1.0625rem;
	box-shadow: 0 0 5rem rgba(0, 0, 0, 0.1);
}

.modal__body {
	height: -moz-fit-content;
	height: fit-content;
	background: var(--white);
	padding-block: 4.125rem;
}

.modal__heading.title {
	text-align: center;
	padding-block: 0.625rem;
}

.modal__description.text-m {
	color: var(--dark-gray);
	line-height: 2.5;
	text-align: center;
	margin-top: 1.125rem;
}

.modal__question {
	font-size: 1.375rem;
	font-weight: var(--fw-bold);
	color: var(--text-black);
	line-height: 1;
	letter-spacing: 0.03em;
	text-align: center;
	margin-top: 3rem;
}

.modal__buttons {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 2.125rem;
	margin-top: 2rem;
}

.modal__link {
	display: block;
	font-size: 1.125rem;
	font-weight: var(--fw-bold);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.03em;
	text-align: center;
	padding-block: 1.125rem;
	border: 1px solid var(--red);
	border-radius: calc(infinity * 1px);
	transition: background-color 0.3s, color 0.3s;
	min-width: 12.375rem;
}

.nav-menu {
	--base-color: inherit;
	--inline: minmax(var(--padding-pc), 1fr);
	--center: minmax(0, 1600px);
	display: grid;
	grid-template-columns: var(--inline) var(--center) var(--inline);
	grid-template-areas: ". inner . ";
}

.nav-menu__inner {
	--left: 1fr;
	--title: auto;
	--gap: min(82 / var(--vw), 82px);
	--list: minmax(0, 940px);
	grid-area: inner;
	display: grid;
	grid-template-columns: var(--left) var(--title) var(--gap) var(--list);
	grid-template-areas: ". title . list";
	margin-inline: auto;
	width: min(90%, 73.75rem);
}

.nav-menu__title {
	grid-area: title;
	display: grid;
	gap: 0.625rem;
	align-self: start;
}

.nav-menu__title-en {
	font-size: max(13px, var(--base-font-rem-s));
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	color: var(--base-color);
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.nav-menu__title-ja {
	font-size: max(18px, 1.625rem);
	font-weight: var(--fw-medium);
	line-height: 1;
	letter-spacing: 0.1em;
}

.nav-menu__list {
	grid-area: list;
	display: flex;
	flex-wrap: wrap;
	-moz-column-gap: min(64 / var(--vw), 64px);
	column-gap: min(64 / var(--vw), 64px);
	row-gap: 1.25rem;
	padding-top: 1.25rem;
}

.nav-menu__last {
	align-self: start;
	display: grid;
	gap: 0.5rem;
}

.nav-menu__item {
	display: grid;
	height: -moz-fit-content;
	height: fit-content;
	font-size: max(16px, 1.25rem);
	color: var(--dark-gray);
	line-height: 2;
	letter-spacing: 0.07em;
	transition: color 0.3s ease-out;
}

p.nav-menu__item {
	padding-bottom: 0.1875rem;
}

.nav-menu__sub-item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.625rem;
	align-items: center;
	padding-block: 0.25rem;
	font-size: max(14px, 0.9375rem);
	color: var(--dark-gray);
	line-height: 1.6;
	letter-spacing: 0.05em;
	word-break: keep-all;
}

.nav-menu__sub-item::before {
	content: "";
	width: 0.8125rem;
	height: 1px;
	background-color: currentColor;
}

.nav-menu__button {
	grid-area: close;
	margin-left: auto;
}

.news {
	flex: 1;
}

.news__item:first-child .news__item-link {
	padding: 0 4.375rem 2.1875rem 2.5rem;
}

.news__item:not(:first-child) .news__item-link {
	padding: 2.1875rem 4.375rem 2.1875rem 2.5rem;
}

.news__item-link {
	display: block;
	transition: opacity 0.3s;
	border-bottom: 1px solid var(--light-gray);
	position: relative;
}

.news__item-link::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 2.5rem;
	width: 1.125rem;
	aspect-ratio: 18/14.48;
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center center;
	mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	background-color: var(--text-black);
	transition: right 0.3s, background-color 0.3s;
}

.news__item-link::before {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	aspect-ratio: 1/1;
	background-color: var(--red);
	clip-path: inset(0 100% 0 0);
	transition: clip-path 0.3s ease-out;
}

.news__item-info {
	display: flex;
	gap: 0.875rem;
	align-items: center;
}

.news__item-title {
	margin-top: 0.9375rem;
	color: var(--text);
	font-size: max(12px, var(--base-font-rem-s));
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1;
	max-height: 1.5em;
}

.news--tab .news__items {
	display: none;
	animation: fade 0.6s ease-out forwards;
}

.news--tab .news__items.is-current {
	display: block;
}

.notice-button {
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-areas: "icon text arrow";
	align-items: center;
	gap: 0.5em;
	padding: 0.59375rem 1rem;
	border-radius: calc(infinity * 1px);
	border: 2px solid var(--base-color);
	background-color: var(--bg-color);
	color: var(--base-color);
	transition: color 0.3s ease-out, background-color 0.3s ease-out;
	max-width: 25rem;
	width: 100%;
}

.notice-button--line {
	--base-color: var(--white);
	--bg-color: var(--line);
	border-color: var(--line);
}

.notice-button--mail {
	--base-color: var(--white);
	--bg-color: var(--mail);
	border-color: var(--mail);
}

.notice-button::after {
	content: "";
	grid-area: arrow;
	justify-self: end;
	width: 0.9375rem;
	aspect-ratio: 15/12;
	background-color: currentColor;
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: translate 0.3s ease-out;
}

.notice-button--line::before {
	content: "";
	grid-area: icon;
	justify-self: start;
	width: 1.9375rem;
	aspect-ratio: 1/1;
	background-color: var(--white);
	-webkit-mask-image: url(../images/line.png);
	mask-image: url(../images/line.png);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: background-color 0.3s ease-out;
}

.notice-button--mail::before {
	content: "";
	grid-area: icon;
	justify-self: start;
	width: 1.9375rem;
	aspect-ratio: 1/1;
	background-color: var(--white);
	-webkit-mask-image: url(../images/mail.png);
	mask-image: url(../images/mail.png);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: background-color 0.3s ease-out;
}

.notice-button__text {
	grid-area: text;
	font-size: max(13px, 0.9375rem);
	font-weight: var(--fw-bold);
	letter-spacing: 0.05em;
	text-align: center;
}

.notice-button__text span {
	display: inline-block;
}

.number-title-small {
	display: flex;
	gap: 0.625rem;
	align-items: start;
	width: -moz-fit-content;
	width: fit-content;
}

.number-title-small__number {
	display: inline-block;
	position: relative;
	top: 0.7lh;
	transform: translateY(-50%);
	font-size: max(16px, 1.375rem);
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.1em;
	white-space: nowrap;
	text-box: trim-both cap alphabetic;
}

.number-title-small__title {
	color: var(--text-black);
	font-size: max(16px, 1.375rem);
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1.2;
	letter-spacing: 0.03em;
	overflow-wrap: break-word;
	word-break: normal;
}

.number-title-small__title span {
	display: inline-block;
}

.number-title {
	display: flex;
	gap: 1rem;
	width: -moz-fit-content;
	width: fit-content;
}

.number-title__number {
	font-size: 1.625rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	line-height: 1.3076923077;
	letter-spacing: 0.1em;
	color: var(--red);
	white-space: nowrap;
}

.number-title__title {
	color: var(--black);
	font-size: 1.75rem;
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1.2;
	letter-spacing: 0.07em;
}

.office-container__title {
	padding-block: 0.6875rem;
}

.office-container__body {
	background-color: var(--bg-light-gray);
	border-radius: 1.0625rem;
	padding: 2.5rem 2rem;
	margin-top: 1.5rem;
}

.office-container__group-items .office-container__body {
	width: 50%;
}

.office-container__box {
	display: flex;
	gap: 1.875rem;
	background-color: var(--white);
	padding: 1.25rem;
}

.office-container__img {
	width: 20.6380857428%;
	flex: 0 0 12.9375rem;
}

.office-container__img img {
	aspect-ratio: 207/169;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 0.6875rem;
}

.office-container__box-content {
	width: 40.5782652044%;
}

.office-container__box-title {
	font-family: var(--base-font);
	font-size: 1.375rem;
	font-weight: var(--fw-bold);
	color: var(--text-black);
	line-height: 1;
	letter-spacing: 0.03em;
}

.office-container__content-items {
	margin-top: 1.5rem;
}

.office-container__content-item {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	-moz-column-gap: 1.875rem;
	column-gap: 1.875rem;
	row-gap: 0.5rem;
	padding-block: 0.5rem;
}

.office-container__group-items .office-container__content-item {
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
}

.office-container__content-item + .office-container__content-item {
	margin-top: 0.5rem;
}

.office-container__item-heading {
	flex: 0 0 2.625rem;
	position: relative;
	font-family: var(--base-font);
	font-size: 0.875rem;
	font-weight: var(--fw-regular);
	color: var(--text-black);
	line-height: 1;
	letter-spacing: 0.03em;
	padding-left: 0.8125rem;
}

.office-container__item-heading::before {
	content: "";
	position: absolute;
	top: 0.5lh;
	left: 0;
	translate: 0 -50%;
	background-color: var(--red);
	width: 0.4375rem;
	aspect-ratio: 1;
	border-radius: 50%;
}

.office-container__item-text {
	flex: 1 0 0;
	font-family: var(--base-font);
	font-size: var(--base-font-rem-s);
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1;
	letter-spacing: 0em;
	min-width: -moz-fit-content;
	min-width: fit-content;
}

.office-container__map {
	width: 34.0977068794%;
}

.office-container__map iframe {
	aspect-ratio: 342/169;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.office-container__department {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	margin-top: 1.5rem;
}

.office-container__department-item.office-container__department-item--wide {
	grid-column: span 2;
}

.office-container__department-name {
	font-family: var(--base-font);
	font-size: 1.125rem;
	font-weight: var(--fw-medium);
	color: var(--text-black);
	line-height: 1;
	letter-spacing: 0.03em;
}

.office-container__contact-items {
	margin-top: 0.9375rem;
}

.office-container__contact-item {
	display: flex;
	gap: 1.5625rem;
}

.office-container__contact-item + .office-container__contact-item {
	margin-top: 0.5rem;
}

.office-container__contact-heading,
.office-container__contact-number {
	font-family: var(--base-font);
	font-size: var(--base-font-rem-s);
	font-weight: var(--fw-medium);
	color: var(--text-black);
	line-height: 2;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.office-container__contact-heading {
	position: relative;
	background-color: var(--white);
	border-radius: calc(infinity * 1px);
	padding-inline: 1.4375rem 0.5rem;
}

.office-container__contact-heading::before {
	content: "";
	position: absolute;
	top: 0.5lh;
	left: 0.5rem;
	translate: 0 -50%;
	width: 0.4375rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: var(--red);
}

.office-container__box-related {
	display: flex;
	gap: 2rem;
}

.office-container__box-related.office-container__box-related--group {
	flex-direction: column;
}

.office-container__content-related {
	width: 56.0882070949%;
}

.office-container__box-related.office-container__box-related--group .office-container__content-related {
	width: 100%;
}

.office-container__wrapper-related {
	display: flex;
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.office-container__content-items.office-container__content-items--related {
	margin-top: 0;
}

.office-container__map-related {
	width: 40.8437200384%;
}

.office-container__group-items .office-container__map-related {
	width: 100%;
}

.office-container__map-related iframe {
	aspect-ratio: 426/198;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.office-container__group-items .office-container__map-related iframe {
	aspect-ratio: 480/188;
}

.office-container__group-items {
	display: flex;
	gap: 1.0625rem;
}

.office__container {
	background-color: var(--white);
	border-radius: 1.0625rem;
	padding: 3rem 2.5rem;
}

.office__container + .office__container {
	margin-top: 2rem;
}

.oil-products__block .common-block {
	padding-inline: 3.1875rem;
}

.oil-products__block.oil-products__block--machine {
	margin-top: 2rem;
}

.oil-products__container {
	background-color: var(--white);
	border-radius: 1.0625rem;
	padding: 2.8125rem 3.1875rem;
	margin-top: 2rem;
}

.oil-products__text.text-s {
	color: var(--dark-gray);
	margin-top: 1.25rem;
}

.oil-products__note {
	font-family: var(--base-font);
	font-size: 0.875rem;
	font-weight: var(--fw-medium);
	color: var(--gray);
	line-height: 1.7;
	letter-spacing: 0em;
	margin-top: 0.4375rem;
}

.oil-products__table-wrapper {
	margin-top: 2.5rem;
}

.oil-products__items {
	display: flex;
	gap: 2.0625rem;
	margin-top: 2.5rem;
}

.oil-products__item {
	background-color: var(--bg-light-gray);
	border-radius: 1.0625rem;
	padding: 1.875rem 2.125rem;
	width: 50%;
}

.oil-products__item-content {
	padding-inline: 1.25rem;
	margin-top: 0.625rem;
}

.oil-products__item-text {
	font-family: var(--base-font);
	font-size: var(--base-font-rem-s);
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0em;
}

.oil-products__item-text span {
	font-size: 0.875rem;
	color: var(--gray);
}

.oil-products__item-text + .oil-products__item-text {
	margin-top: 0.5625rem;
}

.oil-products__subscription {
	display: flex;
	gap: 1.75rem;
	margin-top: 2rem;
}

.oil-products__subscription-content {
	width: 49.5%;
	background-color: var(--white);
	padding-block: 2.8125rem;
	padding-inline: 3.125rem 1.875rem;
	border-radius: 1.0625rem;
}

.oil-products__subscription-title {
	color: var(--text-black);
	padding-block: 0.625rem;
}

.oil-products__content-body {
	margin-top: 1.25rem;
}

.oil-products__content-text.text-s {
	color: var(--dark-gray);
}

.oil-products__content-text span {
	font-size: 0.875rem;
	font-weight: var(--fw-medium);
	color: var(--gray);
	line-height: 1.7;
}

.oil-products__content-text.text-s:last-of-type {
	margin-top: 0.875rem;
}

.oil-products__list {
	margin-top: 0.875rem;
}

.oil-products__subscription-button {
	width: 48.1666666667%;
}

.oil-products__subscription-link {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-color: #fff8f8;
	border: 1px solid var(--red);
	border-radius: 1.0625rem;
	padding-block: 3rem 3.375rem;
	transition: background-color 0.3s ease-out, color 0.3s ease-out;
	height: 100%;
}

.oil-products__button-img {
	position: relative;
	max-width: 8.6875rem;
	margin-inline: auto;
}

.oil-products__button-img::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../images/icon_tank_white.png) no-repeat center center/contain;
	opacity: 0;
	transition: opacity 0.3s ease-out;
}

.oil-products__button-img img {
	opacity: 1;
	transition: opacity 0.3s ease-out;
}

.oil-products__button-text {
	position: relative;
	font-family: var(--base-font);
	font-size: 1.75rem;
	font-weight: var(--fw-bold);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.07em;
	padding-block: 0.625rem;
	padding-right: 3.125rem;
	margin-top: 1.1875rem;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	transition: color 0.3s ease-out, background-color 0.3s ease-out;
}

.oil-products__button-text::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	translate: 0 -50%;
	background-color: currentColor;
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	width: 2.0625rem;
	aspect-ratio: 33/28;
	transition: right 0.3s ease-out;
}

.oil-products__attention {
	background-color: var(--white);
	border: 1px solid var(--red);
	border-radius: 1.0625rem;
	padding: 2.8125rem 3.1875rem;
	margin-top: 2rem;
}

.oil-products__attention-title {
	padding-block: 0.625rem;
}

.oil-products__attention-text {
	padding-inline: 5.5625rem;
	margin-top: 0.625rem;
}

.oil-products__sections {
	margin-top: 2rem;
}

.oil-products__section {
	display: flex;
	align-items: center;
	gap: 2.875rem;
	background-color: var(--white);
	border-radius: 1.0625rem;
	padding: 2.8125rem 3.1875rem;
}

.oil-products__section + .oil-products__section {
	margin-top: 2rem;
}

.oil-products__section-body {
	flex: 1 0 0;
}

.oil-products__section-title {
	padding-block: 0.6875rem;
}

.oil-products__section-text.text-s {
	color: var(--dark-gray);
	margin-top: 1.5625rem;
}

.oil-products__maker {
	margin-top: 1.5625rem;
}

.oil-products__section-img {
	flex: 0 0 22.375rem;
}

.oil-products__section-img img {
	aspect-ratio: 358/248;
	object-fit: contain;
	width: 100%;
	height: auto;
	border-radius: 1.0625rem;
}

.outline__table {
	margin-top: 2.0625rem;
}

.outline__row {
	display: flex;
	gap: 3.125rem;
}

.outline__items:first-child {
	width: 46.3081130356%;
}

.outline__items:last-child {
	width: 49.0428441203%;
}

.outline__items {
	padding-block: 1rem;
}

.outline__row:not(:first-child) .outline__items {
	border-top: 1px solid var(--light-gray);
}

.outline__item {
	display: flex;
}

.outline__items:first-child .outline__item-heading {
	flex: 0 0 9.875rem;
}

.outline__items:last-child .outline__item-heading {
	flex: 0 0 11.75rem;
}

.outline__item-heading span {
	font-size: 0.875rem;
}

.outline__item-content {
	flex: 1 0 0;
}

.outline__item-text + .outline__item-text {
	margin-top: 0.25rem;
}

.outline__list {
	max-width: 50rem;
	margin-left: auto;
	margin-top: 0.625rem;
}

.outline__list-item {
	display: flex;
	padding: 1em;
	gap: 1rem;
}

.outline__list-item:not(:first-child) {
	border-top: 1px solid var(--light-gray);
}

.outline__list-item-heading {
	flex: 1 0 0;
}

.outline__list-content {
	flex: 0 0 31.25rem;
}

.outline__list-content.outline__list-content--organization {
	flex: 0 0 18.75rem;
}

.outline__list-item-text--indent {
	text-indent: -1em;
	padding-left: 1em;
}

.outline__list-item-text + .outline__list-item-text {
	margin-top: 0.25rem;
}

.outline__certified {
	max-width: 50rem;
	margin-left: auto;
}

.outline__certified-wrap {
	display: grid;
	grid-template-columns: 1fr 30%;
	grid-template-areas: "title img" "text img";
	gap: 1.25rem;
	padding-block: 1.5rem;
}

.outline__certified-wrap:not(:first-child) {
	border-top: 1px solid var(--light-gray);
}

.outline__certified-title.text-outline-h {
	grid-area: title;
	align-self: end;
	font-weight: var(--fw-bold);
}

.outline__certified-text {
	grid-area: text;
}

.outline__certified-img {
	grid-area: img;
	margin-inline: auto;
	height: 10rem;
}

.outline__certified-img img {
	width: auto;
	height: 100%;
	object-fit: contain;
}

.page-404 {
	display: grid;
	place-content: center;
	overflow-x: clip;
	position: relative;
	min-height: 70vh;
	padding-block: var(--header-height);
}

.page-404__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.page-404__gradation1 {
	position: absolute;
	top: calc(50% - clamp(600px, 62.5vw, 1500px));
	left: -18%;
	width: 68.75%;
}

.page-404__gradation1-copy {
	position: absolute;
	inset: 0;
	scale: 0.6;
	animation: copy-rotate 30s linear infinite alternate, copy-scale 24s ease-in-out infinite alternate, copy-move 20s ease-in-out infinite alternate, copy-fade 15s ease-in-out infinite alternate;
}

.page-404__gradation1 img {
	aspect-ratio: 1141/1292;
	object-fit: cover;
}

.page-404__gradation2 {
	position: absolute;
	top: calc(50% - min(600 / var(--vw), 1000px));
	right: calc(50% - clamp(650px, 980 / var(--vw), 1500px));
	width: max(800px, 68.75%);
}

.page-404__gradation2-copy {
	position: absolute;
	inset: 0;
	scale: 0.5;
	animation: copy-rotate 30s linear infinite alternate, copy-scale 24s ease-in-out infinite alternate, copy-move 20s ease-in-out infinite alternate, copy-fade 15s ease-in-out infinite alternate;
}

.page-404__gradation2 img {
	aspect-ratio: 1082/895;
	object-fit: contain;
}

.page-404__gradation3 {
	position: absolute;
	bottom: calc(50% - clamp(360px, 42.5vw, 840px));
	left: -8%;
	width: 37.5%;
}

.page-404__gradation3-copy {
	position: absolute;
	inset: 0;
	scale: 0.5;
	animation: copy-rotate 30s linear infinite alternate, copy-scale 24s ease-in-out infinite alternate, copy-move 20s ease-in-out infinite alternate, copy-fade 15s ease-in-out infinite alternate;
}

.page-404__gradation3 img {
	aspect-ratio: 999/947;
	object-fit: contain;
}

.page-404__inner.inner {
	position: relative;
	text-align: center;
}

.page-404__title {
	font-size: 4rem;
	font-family: var(--poppins-font);
	font-weight: var(--fw-medium);
	line-height: 1;
	letter-spacing: 0.05em;
	text-shadow: 0 0 0 var(--text-black);
	mix-blend-mode: color-burn;
}

.page-404__text {
	margin-top: 3rem;
	font-size: max(14px, var(--base-font-rem));
	color: var(--black);
	line-height: 1.8;
	letter-spacing: 0.03em;
}

.page-404__button {
	margin-top: 4rem;
	margin-inline: auto;
	max-width: 18.75rem;
}

.pagenavi {
	margin-top: 3.875rem;
}

.wp-pagenavi {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2.1875rem;
}

.wp-pagenavi span {
	padding: 0;
	margin: 0;
	border: none;
	font-size: 1.125rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.07em;
	opacity: 1;
	transition: opacity 0.3s;
}

.wp-pagenavi a {
	padding: 0;
	margin: 0;
	border: none;
	font-size: 1.125rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.07em;
	opacity: 0.4;
	transition: opacity 0.3s;
}

.nextpostslink,
.previouspostslink {
	position: relative;
	width: 1.125rem;
	color: transparent;
	display: inline-block;
	overflow: hidden;
}

.previouspostslink {
	margin-right: 2.0625rem !important;
}

.nextpostslink {
	margin-left: 2.0625rem !important;
}

.nextpostslink::after,
.previouspostslink::after {
	position: absolute;
	content: "";
	width: 1.125rem;
	aspect-ratio: 18/14.48;
	background-color: var(--dark-gray);
	-webkit-mask-image: url(../images/icon-arrow2.svg);
	mask-image: url(../images/icon-arrow2.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.previouspostslink::after {
	transform: translate(-50%, -50%) rotate(180deg);
}

.plan__container {
	background-color: var(--white);
	border-radius: 1rem;
	padding-inline: 2.5rem;
}

.plan__item + .plan__item {
	border-top: 1px solid var(--light-gray);
}

.plan__summary {
	position: relative;
	display: block;
	padding-block: 2.5rem 1.875rem;
}

.plan__summary::-webkit-details-marker {
	display: none;
}

.plan__item-title {
	position: relative;
}

.plan__item-content {
	font-weight: var(--fw-medium);
	line-height: 1.7;
	padding-bottom: 2.1875rem;
}

.plan__text-item + .plan__text-item {
	margin-top: 1lh;
}

.plan__content-item + .plan__content-item {
	margin-top: 1lh;
}

.plan__content-text {
	text-indent: -1em;
	padding-left: 1em;
}

.plan__content-body {
	margin-top: 1lh;
}

.plan__content-body-item + .plan__content-body-item {
	margin-top: 1lh;
}

.plan__content-body-list {
	padding-left: 1em;
}

.plan__company-name {
	margin-top: 1lh;
}

.privacy {
	display: grid;
	gap: 0.75rem;
	padding-block: 2.5rem 3.75rem;
	padding-inline: 3.75rem;
	border-radius: 1.0625rem;
	background-color: var(--white);
}

.privacy h2 {
	padding-block: 0.5rem;
	font-size: 1.75rem;
	font-weight: var(--fw-bold);
	line-height: 1.8;
	letter-spacing: 0.07em;
	border-bottom: 1px dashed;
}

.privacy h3 {
	font-size: 1.375rem;
	font-weight: var(--fw-bold);
	line-height: 1.5;
	letter-spacing: 0.03em;
}

.privacy p {
	font-size: max(13px, var(--base-font-rem));
	font-weight: var(--fw-medium);
	line-height: 1.6;
	letter-spacing: 0.03em;
}

.privacy h2 + p {
	margin-top: 0.625rem;
}

.privacy ul {
	display: grid;
	gap: 0.25rem;
}

.privacy li {
	display: flex;
	gap: 0.5em;
	align-items: flex-start;
	font-size: max(14px, var(--base-font-rem-s));
	font-weight: var(--fw-medium);
	line-height: 1.6;
	letter-spacing: 0.03em;
}

.privacy li::before {
	content: "";
	position: relative;
	top: calc(0.5lh - 0.1875rem);
	flex-shrink: 0;
	width: 0.4375rem;
	aspect-ratio: 1;
	background-color: currentColor;
	border-radius: 50%;
}

.products-section {
	background-color: var(--white);
	padding-bottom: 11.25rem;
}

.products-section-top {
	padding-top: 14.3125rem;
}

.products-section-top.products-section-top1 {
	background: url(../images/products-section-top1.avif) no-repeat center center/cover;
}

.products-section-top.products-section-top2 {
	background: url(../images/products-section-top2.avif) no-repeat center center/cover;
}

.products-section-top.products-section-top3 {
	background: url(../images/products-section-top3.avif) no-repeat center center/cover;
}

.products-section-top__bg {
	width: 100%;
}

.products-section-top__bg img {
	aspect-ratio: 1600/537;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.products-section-top__content {
	background-color: var(--white);
	padding: 3.125rem 1.25rem 1.875rem;
	border-radius: 1.0625rem 1.0625rem 0 0;
	text-align: center;
}

.products-section-top__title-en {
	color: var(--red);
	font-size: 1.25rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.products-section-top__title-ja {
	margin-top: 0.875rem;
	color: var(--text-black);
	font-size: 2rem;
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.07em;
}

.products-section-top__title-ja span {
	display: inline-block;
}

.products-section-top__list-container {
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin-top: 2.875rem;
	max-width: 54.6875rem;
}

.products-section-top__list-container-text.text-s {
	text-align: left;
	margin-top: 2.875rem;
	max-width: 54.6875rem;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	color: var(--black);
}

.products-section-top__list-item {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.products-section-top__list-item-title {
	padding: 0.9375rem 1.875rem;
	background-color: var(--bg-light-gray);
	border-radius: 62.5rem;
	color: var(--dark-gray);
	font-size: 1.125rem;
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.07em;
}

.products-section-top__list-item-title.products-section-top__list-item-title--red {
	background-color: var(--red);
	color: var(--white);
}

.products-section-top__list-item-description {
	flex: 1;
	color: var(--dark-gray);
	font-size: 1rem;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1.5;
	letter-spacing: 0.07em;
	text-align: left;
}

.products-section-main-block {
	margin-top: 3.75rem;
}

.products-section-main__container {
	display: flex;
	flex-direction: column;
}

.products-section-main__content-cards {
	margin-top: 2.9375rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4.5rem 5.625rem;
}

.products-section-main__content-card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: 0;
}

.products-section-main__content-card-img,
.products-section2-block__card-img {
	width: 100%;
	border-radius: 0.3125rem;
	overflow: hidden;
}

.products-section-main__content-card-img img,
.products-section2-block__card-img img {
	aspect-ratio: 340/218;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.products-section-main__content-card-content,
.products-section2-block__card-content {
	margin-top: 1.875rem;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	gap: 0;
}

.products-section2-block__card-content.products-section2-block__card-content2 {
	margin-top: 1rem;
}

.products-section-main__content-card-title,
.products-section2-block__card-title {
	color: var(--text-black);
	font-size: 1.25rem;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1.4;
	letter-spacing: 0.05em;
	width: -moz-fit-content;
	width: fit-content;
	margin-right: auto;
	margin-left: auto;
}

.products-section2-block__card-title.products-section2-block__card-title--wide {
	line-height: 1.5;
}

.products-section-main__content-card-text,
.products-section2-block__card-text {
	margin-top: 0.75rem;
	color: var(--dark-gray);
	font-size: 1rem;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1.7;
	letter-spacing: 0.03em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

.products-section-main__content-box {
	margin-top: 3.75rem;
	border-radius: 0.875rem;
	background-color: #fff8f8;
	padding: 1.75rem 4.875rem;
	display: flex;
	gap: 2.5rem;
}

.products-section-main__content-box-button {
	max-width: 21.25rem;
	width: 100%;
}

.products-section-main__content-box-button a.arrow-button {
	padding: 0.8125rem 1rem;
}

.products-section2-block__content {
	margin-top: 6.25rem;
}

.products-section2-block__content-items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: auto auto auto 1fr auto;
	gap: 3.125rem 0rem;
	padding-bottom: 5.625rem;
	position: relative;
}

.products-section2-block__content-items--last::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	height: 1px;
	background-color: var(--light-gray);
}

.products-section2 {
	padding-top: 5.625rem;
}

.products-section2-top__title {
	color: var(--text-black);
	font-size: 1.75rem;
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1.4;
	letter-spacing: 0.07em;
}

.products-section2-top__text {
	margin-top: 1.25rem;
}

.products-section2-top__list-container {
	margin-top: 1.125rem;
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.products-section2-top__list-item {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.products-section2-top__list-item-title {
	padding: 0.75rem 1.875rem;
	background-color: var(--bg-light-gray);
	border-radius: 62.5rem;
	color: var(--dark-gray);
	font-size: 1.125rem;
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.07em;
}

.products-section2-top__list-item-title.products-section2-top__list-item-title--red {
	background-color: var(--red);
	color: var(--white);
}

.products-section2-top__list-item-description {
	flex: 1;
	color: var(--text-black);
	font-size: 1rem;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1.5;
	letter-spacing: 0.07em;
	text-align: left;
}

.products-section2-block__cards {
	margin-top: 6.4375rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4.5rem 5.625rem;
}

.web-guide-section.reg-steps {
	border-radius: 1.0625rem;
	padding: 3.6875rem 2.8125rem;
}

.reg-steps__tabs {
	display: flex;
	align-items: stretch;
	margin-top: 3.4375rem;
	gap: 0.5rem;
	border-bottom: 2px solid var(--red);
}

.reg-steps__tab {
	flex: 1 1 0;
	background-color: var(--light-gray);
	color: var(--dark-gray);
	font-size: 1.375rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: 0.03em;
	padding: 1.3125rem 1.3125rem;
	border-radius: 0.625rem 0.625rem 0 0;
	text-align: center;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition: color 0.3s;
}

.reg-steps__tab::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--red);
	transform: translateX(-100%);
	transition: transform 0.4s ease;
	z-index: -1;
	border-radius: 0.625rem 0.625rem 0 0;
}

.reg-steps__tab span {
	display: inline-block;
}

.reg-steps__tab span.reg-steps__tab-br {
	display: inline-block;
}

.reg-steps__tab--active {
	background-color: var(--red);
	color: var(--white);
}

.reg-steps__panel {
	display: none;
	background-color: var(--bg-light-gray);
	border-radius: 0 0 1.0625rem 1.0625rem;
	padding: 3.625rem 2.8125rem;
}

.reg-steps__panel--active {
	display: block;
	animation: fadeIn 0.3s ease forwards;
}

.reg-steps__panel-button {
	margin-top: 1.375rem;
	display: flex;
	justify-content: center;
}

.reg-steps__panel-button a.arrow-button {
	padding: 0.8125rem 1rem;
	max-width: 30.4375rem;
	width: 100%;
	margin-inline: auto;
}

.reg-steps__panel-button.reg-steps__panel-button--short {
	max-width: 23.625rem;
	width: 100%;
	margin-inline: auto;
}

.reg-steps__lead2 {
	margin-top: 1.5625rem;
}

.reg-steps__notice-buttons {
	margin-top: 1.375rem;
	display: flex;
	gap: 1.5625rem;
	justify-content: center;
	margin-inline: auto;
}

.reg-steps__flyer {
	background-color: var(--white);
	border-radius: 1.0625rem;
	margin-top: 1.75rem;
	padding: 1.5625rem;
}

.reg-steps__flyer-items {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.5625rem;
	max-width: 34.6875rem;
	width: 100%;
	margin-inline: auto;
}

.reg-steps__flyer-img {
	width: 100%;
	max-width: 22.875rem;
	margin-inline: auto;
}

.reg-steps__flyer-img img {
	aspect-ratio: 265/376;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.reg-steps__flyer-img.reg-steps__flyer-img--pc img {
	aspect-ratio: 365/382;
}

.sds__inner.inner {
	max-width: calc(43.625rem + var(--padding-pc) * 2);
}

.sds__title {
	text-align: center;
}

.sds__title-en {
	font-family: var(--poppins-font);
	font-size: 2.125rem;
	font-weight: var(--fw-light);
	color: var(--text-black);
	line-height: 1;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.sds__title-ja {
	font-family: var(--base-font);
	font-size: max(13px, var(--base-font-rem-s));
	font-weight: var(--fw-bold);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.05em;
	margin-top: 0.8125rem;
}

.sds__description {
	font-family: var(--base-font);
	font-size: max(13px, var(--base-font-rem-s));
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0em;
	text-align: center;
	margin-top: 3.125rem;
	max-width: 30.6875rem;
	margin-inline: auto;
}

.sds__note {
	font-family: var(--base-font);
	font-size: max(12px, 0.875rem);
	font-weight: var(--fw-medium);
	color: var(--gray);
	line-height: 1.7;
	letter-spacing: 0em;
	text-align: center;
	margin-top: 0.5rem;
}

.sds__table-area {
	margin-top: 2.625rem;
}

.sds__product-table,
.sds__table-header,
.sds__table-cell {
	border-collapse: collapse;
}

.sds__product-table {
	width: 100%;
}

.sds__table-head {
	background-color: var(--light-gray);
}

.sds__table-header {
	font-family: var(--base-font);
	font-size: max(13px, var(--base-font-rem-s));
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1;
	letter-spacing: 0em;
	text-align: center;
	padding-block: 0.9375rem;
}

.sds__table-header.sds__table-header--number {
	width: 11.1747851003%;
	border-left: 1px solid var(--light-gray);
	font-size: max(13px, 0.9375rem);
}

.sds__table-header.sds__table-header--product {
	width: 59.4555873926%;
	border-left: 1px solid var(--bg-light-gray);
}

.sds__table-header.sds__table-header--download {
	width: 29.3696275072%;
	border-left: 1px solid var(--bg-light-gray);
}

.sds__table-cell {
	border-left: 1px solid var(--light-gray);
	border-bottom: 1px solid var(--light-gray);
	font-family: var(--base-font);
	font-size: max(12px, var(--base-font-rem));
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1;
	letter-spacing: 0.03em;
	text-align: center;
	padding-block: 1.375rem;
}

.sds__table-cell:nth-child(1) {
	font-family: var(--poppins-font);
	letter-spacing: 0.13em;
	padding-block: 1.5rem 1.25rem;
}

.sds__table-cell:nth-child(2) {
	text-align: left;
	padding-inline: 1.875rem;
}

.sds__table-cell:nth-child(3) {
	border-right: 1px solid var(--light-gray);
	padding-block: initial;
}

.sds__table-cell.sds__table-cell--download a {
	display: inline-block;
	max-width: 1.625rem;
	margin-inline: auto;
	transition: opacity 0.3s;
}

.section-title {
	display: grid;
	gap: 1.25rem;
}

.section-title__ja {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	font-size: 1.25rem;
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1;
	letter-spacing: 0.05em;
}

.section-title__ja.bullet {
	--base-color: var(--red);
}

.section-title__en {
	font-size: clamp(5rem, 94 / var(--vw), 5.875rem);
	font-weight: var(--fw-extralight);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.section-title--white :is(.section-title__ja,
.section-title__en) {
	color: var(--white);
}

.side-links {
	width: 6.25rem;
	position: fixed;
	z-index: var(--z-index-cta);
	right: 0;
	top: 8.5625rem;
	display: flex;
	flex-direction: column;
	gap: 1.1875rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s;
}

.js-side-links.is-visible {
	opacity: 1;
	visibility: visible;
}

.side-links--hide-pc {
	display: none;
}

.side-links__list {
	padding: 0.5rem 0.625rem;
	border-radius: 0.9375rem 0 0 0.9375rem;
	overflow: hidden;
	background-color: var(--white);
	box-shadow: 0 0 0.5625rem rgba(102, 99, 96, 0.05);
}

.side-links__item {
	text-align: center;
	padding-block: 0.75rem;
}

.side-links__item:not(:first-child) {
	border-top: 1px solid var(--red);
}

.side-links__item a {
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.side-links__img {
	margin-top: 0.5rem;
	width: 2rem;
	margin-inline: auto;
	transition: transform 0.3s;
}

.side-links__img img {
	aspect-ratio: 1/1;
	object-fit: contain;
	width: 100%;
	height: 100%;
}

.side-links__img.side-links__img--contact {
	margin-top: 0.5rem;
	width: 1.875rem;
}

.side-links__img.side-links__img--contact img {
	aspect-ratio: 30/37;
	object-fit: contain;
	width: 100%;
	height: 100%;
}

.side-links__label {
	color: var(--red);
	font-size: 0.875rem;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1.35;
	letter-spacing: 0.03em;
}

.side-links__label--contact {
	display: flex;
	flex-direction: column;
	color: var(--white);
	transition: transform 0.3s;
}

.side-links__contact-link {
	display: block;
	background-color: var(--red);
	border-radius: 0.9375rem 0 0 0.9375rem;
	text-align: center;
	padding: 0.75rem 0.375rem;
	transition: transform 0.3s;
	box-shadow: 0 0 0.5625rem rgba(102, 99, 96, 0.05);
}

.single-news-main,
.single-case-main {
	margin-top: 5.625rem;
}

.single-news__content,
.single-case__content {
	background-color: var(--white);
	padding: 5.625rem 6.25rem;
	border-radius: 1.0625rem;
}

.single-news__content-main,
.single-case__content-main {
	margin-top: 1.25rem;
}

.single-title,
.single-news__content-main h1,
.single-case__content-main h1 {
	color: var(--text-black);
	font-size: 2.125rem;
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1.25;
	letter-spacing: 0.07em;
	margin-bottom: 2.75rem;
}

.single-news__content-main h2,
.single-case__content-main h2 {
	color: var(--text-black);
	font-size: 1.75rem;
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1.25;
	letter-spacing: 0.07em;
	margin-block: 3.75rem 1.5rem;
	padding-block: 1.25rem;
	border-bottom: 1px dashed var(--text-black);
}

.single-news__content-main h3,
.single-case__content-main h3 {
	color: var(--text-black);
	font-size: 1.375rem;
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1.25;
	letter-spacing: 0.03em;
	padding-block: 0.3125rem;
	padding-left: 1.25rem;
	position: relative;
	margin-block: 1rem;
}

.single-news__content-main h3::before,
.single-case__content-main h3::before {
	content: "";
	position: absolute;
	top: 0.875rem;
	left: 0;
	width: 0.4375rem;
	aspect-ratio: 1/1;
	background-color: var(--red);
	border-radius: 50%;
}

.single-news__content-main h4,
.single-case__content-main h4 {
	color: var(--text-black);
	font-size: 1.375rem;
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1.25;
	letter-spacing: 0.03em;
	padding-block: 0.3125rem;
	margin-block: 1rem;
}

.single-news__content-main p,
.single-case__content-main p {
	color: var(--dark-gray);
	font-size: max(14px, var(--base-font-rem));
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1.7;
	letter-spacing: 0em;
}

.single-news__content-main .wp-block-table,
.single-case__content-main .wp-block-table {
	margin-bottom: 1rem;
}

.single-news__content-main p a,
.single-case__content-main p a {
	color: var(--red);
	border-bottom: 1px solid;
	border-color: var(--red);
	transition: border-color 0.3s, opacity 0.3s;
}

.single-news__content-main .wp-block-image,
.single-case__content-main .wp-block-image {
	margin-block: 3.75rem;
	max-width: 37.25rem;
	width: 100%;
	margin-inline: auto;
}

.single-news__content-main .wp-block-video,
.single-case__content-main .wp-block-video {
	margin-block: 3.75rem;
}

.single-news__content-main .wp-block-embed,
.single-case__content-main .wp-block-embed {
	max-width: 100%;
	width: 100%;
	margin-block: 3.75rem;
}

.single-news__content-main .wp-block-embed iframe,
.single-case__content-main .wp-block-embed iframe {
	width: 100%;
	height: 100%;
	aspect-ratio: 16/9;
	object-fit: cover;
}

.single-news__content-main .wp-block-button,
.single-case__content-main .wp-block-button {
	margin-top: 2.5rem;
	width: 100%;
}

.single-news__content-main .wp-block-buttons .wp-block-button__link,
.single-case__content-main .wp-block-buttons .wp-block-button__link {
	font-size: var(--base-font-rem-s);
	color: var(--red);
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.05em;
	padding: 1.25rem;
	max-width: 22.375rem;
	width: 100%;
	margin-inline: auto;
	background-color: var(--white);
	border-radius: 62.5rem;
	border: 1px solid var(--red);
	display: block;
	text-align: center;
	transition: background-color 0.3s, color 0.3s;
	position: relative;
}

.single-news__content-main .wp-block-button__link::after,
.single-case__content-main .wp-block-button__link::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 1.0625rem;
	width: 0.9375rem;
	aspect-ratio: 15/12;
	-webkit-mask-image: url(../images/arrow-red.svg);
	mask-image: url(../images/arrow-red.svg);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center center;
	mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	background-color: var(--red);
	transition: background-color 0.3s;
}

.single-news__navigation,
.single-case__navigation {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.8125rem;
	align-items: start;
}

.single-news__nav-prev-link,
.single-news__nav-next-link,
.single-case__nav-prev-link,
.single-case__nav-next-link {
	font-size: var(--base-font-rem-s);
	color: var(--red);
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.05em;
	padding: 1.125rem 1.25rem;
	max-width: 16.875rem;
	width: 100%;
	background-color: var(--white);
	border-radius: 62.5rem;
	border: 1px solid var(--red);
	display: block;
	text-align: center;
	transition: background-color 0.3s, color 0.3s;
	position: relative;
}

.single-news__nav-prev-link,
.single-case__nav-prev-link {
	margin-right: auto;
}

.single-news__nav-next-link,
.single-case__nav-next-link {
	margin-left: auto;
}

.single-news__nav-prev-link::before,
.single-news__nav-next-link::before,
.single-case__nav-prev-link::before,
.single-case__nav-next-link::before {
	content: "";
	position: absolute;
	top: 50%;
	width: 0.9375rem;
	aspect-ratio: 15/12;
	-webkit-mask-image: url(../images/arrow-red.svg);
	mask-image: url(../images/arrow-red.svg);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center center;
	mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	background-color: var(--red);
	transition: background-color 0.3s;
}

.single-news__nav-prev-link::before,
.single-case__nav-prev-link::before {
	transform: translateY(-50%) rotate(180deg);
	left: 1.0625rem;
}

.single-news__nav-next-link::before,
.single-case__nav-next-link::before {
	transform: translateY(-50%);
	right: 1.0625rem;
}

.single-news__nav-list,
.single-case__nav-list {
	font-size: var(--base-font-rem-s);
	color: var(--white);
	font-weight: var(--fw-bold);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.05em;
	padding: 1.125rem 1.25rem;
	max-width: 22.375rem;
	width: 100%;
	margin-inline: auto;
	background-color: var(--red);
	border-radius: 62.5rem;
	border: 1px solid var(--red);
	display: block;
	text-align: center;
	transition: background-color 0.3s, color 0.3s;
	position: relative;
}

.single-mt45 {
	margin-top: 2.8125rem;
}

.site-map {
	margin-top: 7.875rem;
}

.site-map__items {
	display: flex;
	flex-direction: column;
	gap: 3.125rem;
}

.nav-menu__title-en.nav-menu__title-en--red {
	color: var(--red);
}

.site-map-menu__title1 {
	transition: color 0.3s;
	width: -moz-fit-content;
	width: fit-content;
}

.site-map__other {
	margin-top: 5rem;
}

.site-map__other .site-map__banner {
	display: none;
}

.site-map__banner {
	width: 19.5rem;
	aspect-ratio: 312/186;
}

.site-map__buttons {
	margin-top: 4.75rem;
	display: flex;
	align-items: center;
	flex-direction: row;
	gap: 3.125rem;
}

.site-map__buttons .icon-button {
	max-width: 19.5rem;
	width: 100%;
}

.sub-fv {
	position: relative;
}

.sub-fv__bg img {
	--radius: calc(30 * var(--rem));
	aspect-ratio: 1600/470;
	height: 100%;
	object-fit: cover;
	border-bottom-left-radius: var(--radius);
	border-bottom-right-radius: var(--radius);
}

.sub-fv__bg.sub-fv__bg--large {
	height: 57.5rem;
}

.sub-fv__bg.sub-fv__bg--large img {
	aspect-ratio: 1600/920;
}

.sub-fv__inner.inner {
	position: absolute;
	inset-inline: 0;
	bottom: 5.625rem;
}

.sub-fv__title {
	display: grid;
	gap: 1.25rem;
}

.sub-fv__title-en {
	font-size: 1.25rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.sub-fv__title-ja {
	font-size: 3.125rem;
	font-weight: var(--fw-bold);
	color: var(--white);
	line-height: 1;
	letter-spacing: 0.13em;
}

.sub-fv--black .sub-fv__title-ja {
	color: var(--text-black);
}

.sub-fv__text {
	margin-top: 3rem;
	font-size: 1.5rem;
	font-family: var(--base-font);
	font-weight: var(--fw-bold);
	color: var(--white);
	line-height: 1.6;
	letter-spacing: 0.07em;
}

.sub-fv__text span {
	display: inline-block;
}

.symbol__title-wrap {
	position: relative;
	display: flex;
	gap: 3.125rem;
}

.symbol__title-wrap::after {
	content: "";
	translate: 0 1.125rem;
	width: 100%;
	height: 1px;
	background-color: var(--red);
}

.symbol__title {
	width: -moz-fit-content;
	width: fit-content;
	flex-shrink: 0;
}

.symbol__container {
	display: flex;
	gap: 1.75rem;
	margin-top: 0.625rem;
}

.symbol__text {
	font-family: var(--base-font);
	font-size: var(--base-font-rem-s);
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0;
	flex: 1 0 0;
	padding-top: 2.5rem;
}

.symbol__img {
	flex: 0 0 11.75rem;
}

.symbol__img img {
	aspect-ratio: 188/176;
	object-fit: contain;
	width: 100%;
	height: auto;
}

.table-area__table,
.table-area__table-cell {
	border-collapse: collapse;
	border: 1px solid var(--light-gray);
}

.table-area__table {
	margin-inline: auto;
	max-width: 60.375rem;
	width: 100%;
}

.table-area__table-cell {
	font-family: var(--base-font);
	font-size: clamp(0.938rem, 0.784rem + 0.24vw, 1rem);
	font-weight: var(--fw-medium);
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0em;
	padding-block: 0.875rem;
	padding-inline: min(2.5rem, 2.5vw) 0.625rem;
}

.table-area__table-cell:first-child {
	color: var(--text-black);
}

.top-business {
	--base-color: var(--red);
	--radius: calc(25 * var(--rem));
	--card-height: min(520 / var(--vw), 520 * var(--rem));
	--offset: 30px;
	padding-bottom: calc(90px + var(--offset));
	background-color: var(--bg-light-gray);
}

.top-business__container {
	position: relative;
}

.top-business__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.top-business__cards {
	margin-top: 70px;
	counter-reset: businessCardNum;
}

.top-business__card-wrap {
	position: sticky;
	top: calc(50vh + 30px - var(--card-height) / 2);
	counter-increment: businessCardNum;
}

.top-business__card-wrap.is-released {
	position: initial;
	top: initial;
}

.top-business__card-wrap + .top-business__card-wrap {
	margin-top: 25vh;
}

.top-business__card-wrap.is-released + .top-business__card-wrap {
	margin-top: initial;
}

.top-business__card {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 41.9166666667%;
	place-items: center;
	min-height: var(--card-height);
	clip-path: inset(0 round var(--radius));
}

.top-business__card-wrap:nth-child(1) .top-business__card {
	top: calc(var(--offset) * -1);
	background-color: #ECECEC;
}

.top-business__card-wrap:nth-child(2) .top-business__card {
	background-color: #F6F6F6;
}

.top-business__card-wrap:nth-child(3) .top-business__card {
	top: var(--offset);
	background-color: var(--white);
}

.top-business__card-wrap:nth-child(4) .top-business__card {
	min-height: initial;
}

.top-business__card-wrap.is-released:nth-child(4) .top-business__card {
	margin-top: initial;
}

.top-business__card-tag {
	position: absolute;
	top: 0;
	left: 0;
	display: grid;
	place-items: center;
	padding: 0.625rem 1rem;
	min-width: 11.875rem;
	min-height: 3.75rem;
	background-color: var(--base-color);
	border-bottom-right-radius: var(--radius);
	font-size: 0.8125rem;
	font-weight: var(--fw-semi-bold);
	font-family: var(--poppins-font);
	color: var(--white);
	line-height: 1;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.top-business__card-body {
	--left: minmax(67px, 1fr);
	--right: minmax(60px, 1fr);
	--content: minmax(0, 424px);
	display: grid;
	grid-template-columns: var(--left) var(--content) var(--right);
	grid-template-areas: ". title ." ". text ." ". button .";
	padding-block: 4.375rem 40px;
	row-gap: 2.625rem;
}

.top-business__card-title {
	grid-area: title;
	display: grid;
	gap: 0.9375rem;
	font-size: 2.125rem;
	font-weight: var(--fw-bold);
	color: var(--dark-gray);
	line-height: 1;
	letter-spacing: 0.07em;
}

.top-business__card-title::before {
	content: "0" counter(businessCardNum) ".";
	font-size: 4rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	color: var(--base-color);
	line-height: 1;
	letter-spacing: 0.05em;
}

.top-business__card-text {
	grid-area: text;
	font-size: max(14px, var(--base-font-rem));
	color: var(--dark-gray);
	line-height: 1.7;
	letter-spacing: 0.03em;
}

.top-business__card-button {
	grid-area: button;
}

.top-business__card-link {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.625rem;
	align-items: center;
	padding-bottom: 0.875rem;
	font-size: max(13px, var(--base-font-rem-s));
	font-weight: var(--fw-semi-bold);
	font-family: var(--poppins-font);
	color: var(--base-color);
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: right;
	border-bottom: 1px solid var(--light-gray);
}

.top-business__card-link::before {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	aspect-ratio: 1/1;
	background-color: var(--base-color);
	clip-path: inset(0 100% 0 0);
	transition: clip-path 0.3s ease-out;
}

.top-business__card-link::after {
	content: "";
	display: block;
	width: 0.4375rem;
	aspect-ratio: 1/1;
	background-color: var(--base-color);
	border-radius: 50%;
	transition: scale 0.3s ease-out;
}

.top-business__card-img {
	height: 100%;
}

.top-business__card-img img {
	aspect-ratio: 503/460;
	height: 100%;
	object-fit: cover;
}

.top-case {
	--top-case-slide-width: calc(416 * var(--rem));
	--padding-block: calc(90 * var(--rem));
	overflow-x: clip;
	position: relative;
	padding-bottom: var(--padding-block);
	background-color: var(--bg-light-gray);
}

.top-case::after {
	--radius: calc(infinity * 1px);
	content: "";
	position: absolute;
	z-index: 1;
	inset-inline: 0;
	top: 1px;
	translate: 0 -100%;
	height: var(--padding-block);
	border-top-left-radius: var(--radius);
	border-top-right-radius: var(--radius);
	background-color: var(--bg-light-gray);
}

.top-case__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.top-case__slider-container {
	position: relative;
}

.top-case__track {
	overflow: visible;
	margin-top: 4.375rem;
	margin-left: max(-60 / var(--vw), -60px);
	width: 100%;
}

.top-case__slider {
	position: relative;
	width: 100%;
}

.top-case__slider .splide__slide {
	width: var(--top-case-slide-width);
}

.top-case__slider-bottom {
	display: grid;
	grid-template-columns: max-content minmax(0, 922px);
	gap: 2.5rem;
	align-items: center;
	justify-content: space-between;
	margin-top: 1.5rem;
}

.top-case__slider-controls {
	--arrow-width: calc(18 * var(--rem));
	display: grid;
	grid-template-columns: var(--arrow-width) auto var(--arrow-width);
	align-items: center;
	gap: 2.25rem;
	flex-shrink: 0;
}

:is(.top-case__slider-prev,
.top-case__slider-next) {
	position: relative;
	inset: initial;
	margin: initial;
	width: var(--arrow-width);
	height: auto;
}

.top-case__slider-prev {
	scale: -1;
}

.top-case__slider-prev::before,
.top-case__slider-next::before {
	content: "";
	position: absolute;
	inset: -0.5em;
}

.top-case__slider-prev::after,
.top-case__slider-next::after {
	content: "";
	width: 100%;
	aspect-ratio: 18/15;
	background-color: var(--dark-gray);
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: background-color 0.3s ease-out;
}

.top-case__slider-count {
	position: relative;
	display: flex;
	gap: 2.75rem;
	align-items: center;
}

.top-case__slider-count::before {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: calc(50% - 0.1875rem);
	translate: -50% -50%;
	width: 1.125rem;
	height: 2px;
	background-color: currentColor;
	rotate: -53deg;
}

.top-case__slider-count span {
	display: inline-grid;
	place-items: center;
	min-width: 1.7em;
	font-size: 1.25rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.15em;
	text-indent: 0.15em;
}

.top-case__slider-count-current {
	color: var(--red);
}

.top-case__slider-progress {
	position: relative;
	inset: initial;
	overflow: hidden;
	height: 0.125rem;
	border-radius: 62.4375rem;
	background-color: var(--white);
}

.top-case__slider-progress-bar {
	position: absolute;
	inset: 0;
	width: 0%;
	background-color: var(--red);
	transform-origin: left center;
	transition: width 0.4s ease-out;
}

.top-challenge {
	background-color: var(--white);
}

.top-challenge__cards {
	margin-top: 4.375rem;
}

.top-challenge__cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(60 / var(--vw), 60px);
}

.top-challenge__card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 4;
}

.top-company {
	position: relative;
}

.top-company__bg {
	--blur: 0px;
	--opacity: 0;
	position: sticky;
	top: 0;
	height: 100vh;
}

.top-company__bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.25);
	-webkit-backdrop-filter: blur(var(--blur));
	backdrop-filter: blur(var(--blur));
	opacity: var(--opacity);
}

.top-company__bg img {
	aspect-ratio: 1600/990;
	height: 100%;
	object-fit: cover;
}

.top-company__inner.inner {
	margin-top: 50vh;
	padding-bottom: calc(50vh - 17.28125rem);
}

.top-company__container {
	--content: 1fr;
	--images: 550;
	position: relative;
	display: grid;
	grid-template-columns: 1fr calc(var(--images) / var(--inner-percent));
	grid-template-rows: auto 1fr;
	grid-template-areas: "title images" "list images";
	-moz-column-gap: 2.5rem;
	column-gap: 2.5rem;
}

.top-company__title {
	grid-area: title;
}

.top-company__list {
	grid-area: list;
	counter-reset: companyListNum;
	margin-top: 2.25rem;
	max-width: 28.125rem;
}

.top-company__item {
	counter-increment: companyListNum;
}

.top-company__link {
	--base-color: var(--white);
	position: relative;
	display: block;
	padding-top: 1.875rem;
	border-bottom: 1px solid var(--light-gray);
}

.top-company__link::before {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	aspect-ratio: 1/1;
	background-color: var(--red);
	clip-path: inset(0 100% 0 0);
	transition: clip-path 0.3s ease-out;
}

.top-company__link-title {
	position: relative;
	left: 1rem;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 3rem;
	align-items: center;
	font-size: max(14px, 1.125rem);
	font-weight: var(--fw-medium);
	color: var(--base-color);
	line-height: 1;
	transition: color 0.3s ease;
}

.top-company__link-title::before {
	content: "0" counter(companyListNum);
	font-size: max(12px, 1rem);
	font-weight: var(--fw-semi-bold);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.01em;
}

.top-company__link-text {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.625rem;
	align-items: center;
	padding-bottom: 0.875rem;
	font-size: max(12px, 0.875rem);
	font-weight: var(--fw-semi-bold);
	font-family: var(--poppins-font);
	color: var(--base-color);
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: right;
	transition: color 0.3s ease;
}

.top-company__link-text::after {
	content: "";
	display: block;
	width: 0.4375rem;
	aspect-ratio: 1/1;
	background-color: currentColor;
	border-radius: 50%;
	transition: scale 0.3s ease;
}

.top-company__images {
	--radius: calc(10 * var(--rem));
	grid-area: images;
	align-self: center;
}

.top-company__img1 {
	width: calc(439 / var(--images) * 100%);
}

.top-company__img1 img {
	aspect-ratio: 439/326;
	object-fit: cover;
	border-radius: var(--radius);
}

.top-contact__title {
	text-align: center;
}

.top-contact__list {
	margin-top: 1.25rem;
}

.top-contact__item:not(:last-child) {
	border-bottom: 1px solid var(--light-gray);
}

.top-customers__title {
	text-align: center;
}

.top-customers__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.125rem 0.875rem;
	margin-top: 3.125rem;
}

.top-emergency__title {
	text-align: center;
}

.top-emergency__list {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-template-rows: auto 9.875rem;
	gap: min(20 / var(--vw), 20px);
	margin-top: 3.125rem;
}

.top-emergency__item {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
}

.top-links {
	--radius: calc(90*var(--rem));
	--base-color: var(--red);
	position: relative;
	z-index: 1;
	background-color: var(--white);
	border-bottom-left-radius: var(--radius);
	border-bottom-right-radius: var(--radius);
}

.top-links__container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 5.625rem;
	border-top: 1px solid var(--base-color);
}

.top-links__customers {
	padding-block: 5.625rem 3.125rem;
	padding-inline: min(32 / var(--vw), 32px);
}

.top-links__contact {
	position: relative;
	padding-block: 5.625rem 1.625rem;
	padding-inline: min(72 / var(--vw), 72px);
}

.top-links__contact::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 89.1743119266%;
	background-color: var(--base-color);
}

.top-links__button {
	position: relative;
	margin-top: 3.125rem;
	margin-inline: auto;
	width: min(100%, 36.625rem);
}

.top-news {
	--padding-block: calc(90 * var(--rem));
	position: relative;
	padding-top: var(--padding-block);
	background-color: var(--bg-light-gray);
}

.top-news::after {
	--radius: calc(infinity * 1px);
	content: "";
	position: absolute;
	z-index: 1;
	inset-inline: 0;
	bottom: 1px;
	translate: 0 100%;
	height: var(--padding-block);
	border-bottom-left-radius: var(--radius);
	border-bottom-right-radius: var(--radius);
	background-color: var(--bg-light-gray);
}

.top-news__inner.inner {
	position: relative;
	z-index: 2;
}

.top-news__container {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto 1fr;
	grid-template-areas: "title news" "category news" ". button";
	gap: 2.5rem 4.375rem;
}

.top-news__title {
	grid-area: title;
}

.top-news__category {
	grid-area: category;
	margin-top: 1rem;
}

.top-news__items {
	grid-area: news;
	padding-top: 2.1875rem;
}

.top-news__button {
	grid-area: button;
	text-align: right;
}

.top-recruit {
	--radius: calc(80*var(--rem));
	overflow: clip;
	position: relative;
	padding-block: 16.875rem 70px;
	background-color: var(--bg-light-gray);
	border-bottom-left-radius: var(--radius);
	border-bottom-right-radius: var(--radius);
}

.top-recruit__inner {
	--left: minmax(20px, 1.27fr);
	--right: minmax(20px, 1fr);
	--content: minmax(0, 446px);
	--img1: calc(245/1600*100%);
	--img2: calc(425/1600*100%);
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: var(--left) var(--content) var(--img1) var(--img2) var(--right);
	gap: 1.875rem min(63 / var(--vw), 63px);
	align-content: start;
	margin-inline: auto;
	max-width: 1600px;
}

.top-recruit__content {
	grid-column-start: 2;
	grid-row: 1/3;
}

.top-recruit__text {
	margin-top: 3.4375rem;
	font-size: 1.125rem;
	font-weight: var(--fw-medium);
	line-height: 2.9;
}

.top-recruit__button {
	margin-top: 3.625rem;
}

.top-recruit__img1 {
	grid-column-start: 4;
}

.top-recruit__img1 img {
	aspect-ratio: 425/481;
	object-fit: cover;
	border-radius: 0.9375rem;
}

.top-recruit__img-wrap {
	position: relative;
	grid-column-start: 3;
	grid-row: 1/3;
	margin-top: min(283 / var(--vw), 283px);
	height: -moz-fit-content;
	height: fit-content;
}

.top-recruit__img2 img {
	aspect-ratio: 245/332;
	object-fit: cover;
	border-radius: 0.9375rem;
}

.top-recruit__catchphrase {
	position: absolute;
	bottom: -5.875rem;
	left: -7.5rem;
	left: calc(50% - min(214 / var(--vw), 214px));
	width: min(658 / var(--vw), 658px);
	filter: drop-shadow(0 0 0.625rem rgba(84, 53, 53, 0.1));
}

.top-recruit__catchphrase img {
	aspect-ratio: 658/188;
	object-fit: contain;
}

.top-recruit__img3 {
	grid-column: 4/-1;
	margin-left: auto;
	margin-right: -0.4375rem;
	width: 56.1969439728%;
}

.top-recruit__img3 img {
	aspect-ratio: 331/206;
	object-fit: cover;
	border-radius: 0.9375rem;
}

.top-recruit__gradation1 {
	position: absolute;
	top: 2.6875rem;
	left: calc(50% - min(1180 / var(--vw), 1280px));
	width: min(72.75%, 1164px);
	rotate: 90deg;
}

.top-recruit__gradation1-copy {
	position: absolute;
	inset: 0;
	scale: 0.5;
	animation: copy-rotate 30s linear infinite alternate, copy-scale 24s ease-in-out infinite alternate, copy-move 20s ease-in-out infinite alternate, copy-fade 15s ease-in-out infinite alternate;
}

.top-recruit__gradation1 img {
	aspect-ratio: 1264/1168;
	object-fit: contain;
}

.top-recruit__gradation2 {
	position: absolute;
	top: 16.25rem;
	left: calc(50% + 90 / var(--vw));
	width: min(58.125%, 1000px);
}

.top-recruit__gradation2-copy {
	position: absolute;
	inset: 0;
	scale: 0.5;
	animation: copy-rotate 26s linear infinite alternate, copy-scale 30s ease-in-out infinite alternate, copy-move 24s ease-in-out infinite alternate, copy-fade 18s ease-in-out infinite alternate;
}

.top-recruit__gradation2 img {
	aspect-ratio: 930/898;
	object-fit: contain;
}

.top-statement {
	overflow-x: clip;
	position: relative;
	background-color: var(--bg-fv);
}

.top-statement__bg {
	position: sticky;
	top: 0;
	height: 100vh;
	opacity: 0;
}

.top-statement__gradation1 {
	position: absolute;
	top: -18%;
	left: calc(50% - 1137 / var(--vw));
	width: 71.0625%;
}

.top-statement__gradation1-copy {
	position: absolute;
	inset: 0;
	scale: 0.5;
	animation: copy-rotate 30s linear infinite alternate, copy-scale 24s ease-in-out infinite alternate, copy-move 20s ease-in-out infinite alternate, copy-fade 15s ease-in-out infinite alternate;
}

.top-statement__gradation1 img {
	aspect-ratio: 1137/1181;
	object-fit: contain;
}

.top-statement__gradation2 {
	position: absolute;
	top: 40%;
	right: calc(50% - min(1156 / var(--vw), 1600px));
	width: 56.625%;
}

.top-statement__gradation2-copy {
	position: absolute;
	inset: 0;
	scale: 0.5;
	animation: copy-rotate 30s linear infinite alternate, copy-scale 24s ease-in-out infinite alternate, copy-move 20s ease-in-out infinite alternate, copy-fade 15s ease-in-out infinite alternate;
}

.top-statement__gradation2 img {
	aspect-ratio: 906/750;
	object-fit: contain;
}

.top-statement__gradation3 {
	position: absolute;
	bottom: -30rem;
	left: calc(50% - 1008 / var(--vw));
	width: 45%;
}

.top-statement__gradation3-copy {
	position: absolute;
	inset: 0;
	scale: 0.4;
	animation: copy-rotate 30s linear infinite alternate, copy-scale 24s ease-in-out infinite alternate, copy-move 20s ease-in-out infinite alternate, copy-fade 15s ease-in-out infinite alternate;
}

.top-statement__gradation3 img {
	aspect-ratio: 720/732;
	object-fit: contain;
}

.top-statement__inner {
	--left: minmax(var(--padding-pc), 1.6fr);
	--right: minmax(var(--padding-pc), 1fr);
	--content: minmax(0, 1275px);
	position: relative;
	display: grid;
	grid-template-columns: var(--left) var(--content) var(--right);
	grid-template-areas: ". content .";
}

.top-statement__container {
	--texts: minmax(360px, calc(584/1275*100%));
	--images: minmax(0, calc(568*var(--rem)));
	grid-area: content;
	display: grid;
	grid-template-columns: var(--texts) var(--images);
	grid-template-rows: auto 1fr;
	grid-template-areas: "texts img1" "texts img2";
	gap: 7.875rem min(40 / var(--vw), 40px);
	align-items: start;
	justify-content: space-between;
}

.top-statement__texts {
	grid-area: texts;
	display: grid;
	gap: 1lh;
	font-size: max(13px, 1rem);
	font-style: italic;
	font-weight: var(--fw-medium);
	color: var(--text-black);
	line-height: 2.5;
	letter-spacing: 0.05em;
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.top-statement__text {
	opacity: 0;
	transform: translateY(0.625rem);
}

.top-statement__text-title {
	font-size: 1.625rem;
}

.top-statement__img1 {
	grid-area: img1;
	margin-top: 6.5625rem;
	width: 86.0915492958%;
	opacity: 0;
	transform: translateY(0.625rem);
}

.top-statement__img1 img {
	aspect-ratio: 489/314;
	object-fit: cover;
	border-radius: 0.9375rem;
}

.top-statement__img2 {
	grid-area: img2;
	margin-left: auto;
	width: max(220px, 67.7816901408%);
	opacity: 0;
	transform: translateY(0.625rem);
}

.top-statement__img2 img {
	aspect-ratio: 385/257;
	object-fit: cover;
	border-radius: 0.9375rem;
}

.top-topics {
	--swiper-theme-color: var(--red);
	--swiper-pagination-bullet-inactive-color: transparent;
	--swiper-pagination-bullet-size: max(10px, calc(12 * var(--rem)));
	--swiper-navigation-size: 60;
	--swiper-slide-width: calc(326 * var(--rem));
	--radius: calc(90 * var(--rem));
	overflow-x: clip;
	position: relative;
	background-color: var(--white);
	border-top-left-radius: var(--radius);
	border-top-right-radius: var(--radius);
}

.top-topics__loop {
	position: absolute;
	top: 0;
	left: 0;
	translate: 0 -100%;
	display: flex;
	align-items: center;
	mix-blend-mode: plus-lighter;
	opacity: 0.03;
}

.top-topics__loop-text {
	padding-inline: 1.25rem;
	font-size: 9.8125rem;
	font-weight: var(--fw-light);
	font-family: var(--poppins-font);
	color: var(--white);
	line-height: 1;
	white-space: nowrap;
	animation: loop-text 20s linear infinite;
}

.top-topics__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.top-topics__slider {
	overflow: visible;
	margin-top: 4.375rem;
}

.top-topics__slide {
	width: var(--swiper-slide-width);
	filter: drop-shadow(0.25rem 0.25rem 0 var(--red));
	opacity: 0.4;
	transition: opacity 0.3s ease-out, scale 0.3s ease-out;
}

.top-topics__slide.swiper-slide-active {
	opacity: 1;
}

.top-topics__link {
	display: block;
}

.top-topics__link img {
	aspect-ratio: 326/334;
	height: 100%;
	object-fit: cover;
	border-radius: 0.8125rem;
}

.top-topics__pagination.swiper-pagination-bullets {
	position: relative;
	inset: initial;
	display: flex;
	gap: 1.125rem;
	justify-content: center;
	margin-top: 2.5rem;
}

.top-topics__pagination.swiper-pagination-bullets .swiper-pagination-bullet {
	position: relative;
	margin: initial;
	border: 1.5px solid var(--swiper-theme-color);
	opacity: 1;
	transition: background-color 0.3s ease, opacity 0.3s ease;
}

.top-topics__pagination.swiper-pagination-bullets .swiper-pagination-bullet::before {
	content: "";
	position: absolute;
	inset: -0.5625rem;
}

.top-topics__pagination.swiper-pagination-bullets .swiper-pagination-bullet-active {
	background-color: var(--swiper-theme-color);
}

.top-topics__buttons {
	position: absolute;
	z-index: 1;
	inset-block: 0;
	left: 50%;
	transform: translateX(-50%);
	width: var(--swiper-slide-width);
	pointer-events: none;
}

:is(.top-topics__button-prev,
.top-topics__button-next) {
	--size: calc(var(--swiper-navigation-size) * var(--rem));
	--x-offset: calc(-10 * var(--rem));
	position: absolute;
	top: 50%;
	margin: initial;
	width: var(--size);
	height: var(--size);
	background-color: var(--bg-light-gray);
	border-radius: 0.25rem;
	pointer-events: auto;
	transition: opacity 0.3s ease-out;
}

.top-topics__button-prev {
	left: var(--x-offset);
	translate: -100% -50%;
	scale: -1;
}

.top-topics__button-next {
	right: var(--x-offset);
	translate: 100% -50%;
}

:is(.top-topics__button-prev,
.top-topics__button-next) img {
	aspect-ratio: 17/13;
	width: calc(22 / var(--swiper-navigation-size) * 100%);
	object-fit: contain;
}

.top-topics__button-prev::after,
.top-topics__button-next::after {
	content: none;
}

.vision__items {
	margin-top: 3.125rem;
}

.vision__item {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	font-family: var(--base-font);
	font-size: 1.375rem;
	font-weight: var(--fw-bold);
	color: var(--text-black);
	line-height: 1;
	letter-spacing: 0.08em;
}

.vision__item span {
	display: inline-block;
	font-family: var(--poppins-font);
	font-size: 2.5rem;
	font-weight: var(--fw-light);
	color: var(--red);
	line-height: 1;
	letter-spacing: 0.2em;
	min-width: 4.25rem;
}

.vision__item:not(:first-child) span {
	letter-spacing: 0.03em;
}

.vision__item + .vision__item {
	margin-top: 3.125rem;
}

.web-guide-contact__content {
	margin-top: 2.5rem;
	display: flex;
	justify-content: space-between;
	gap: 2.5rem;
	align-items: start;
}

.web-guide-contact__info {
	max-width: 24.375rem;
	width: 100%;
}

.web-guide-contact__note-box {
	margin-top: 2rem;
}

.web-guide-contact__note-box-title.text-s {
	color: var(--gray);
}

.web-guide-contact__notes {
	margin-top: 0.125rem;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 0.375rem;
}

.web-guide-contact__note.caption {
	line-height: 1.5;
	color: var(--gray);
	text-indent: -1.3em;
	padding-left: 1.3em;
}

.web-guide-contact__table-wrap {
	max-width: 39.5rem;
	width: 100%;
}

.web-guide-contact__table {
	width: 100%;
	border-collapse: collapse;
	background-color: #fff;
	border-radius: 0.5rem;
	border: 1px solid #e9e9e9;
}

.web-guide-contact__office,
.web-guide-contact__tel {
	border: 1px solid #e9e9e9;
	padding: 0.90625rem 2.5rem;
}

.web-guide-contact__office.text-s {
	color: var(--text-black);
}

.web-guide-contact__tel a {
	text-decoration: none;
}

.web-guide-faq.web-guide-section {
	padding: 2.8125rem 2.8125rem;
}

.web-guide-faq__inner {
	max-width: 62.5rem;
	margin: 0 auto;
	padding: 0 1.25rem;
}

.faq__block {
	margin-top: 1.5625rem;
}

.qa__content {
	border-bottom: 1px solid var(--light-gray);
}

.qa__content--first {
	margin-top: 1.5rem;
}

.qa__summary {
	cursor: pointer;
	padding: 1.25rem 3.5rem 1.25rem 0.9375rem;
	list-style: none;
	position: relative;
}

.qa__ttl-button {
	position: absolute;
	width: 0.875rem;
	height: 0.875rem;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
}

.qa__ttl-button-line-01,
.qa__ttl-button-line-02 {
	position: absolute;
	content: "";
	background-color: var(--red);
}

.qa__ttl-button-line-01 {
	width: 1rem;
	height: 0.125rem;
	top: 0.4375rem;
}

.qa__ttl-button-line-02 {
	width: 0.125rem;
	height: 1rem;
	left: 0.4375rem;
	transition: all 0.3s ease-out;
}

.qa__summary.is-opened .qa__ttl-button-line-02,
.qa__content[open] .qa__ttl-button-line-02 {
	transform: rotate(90deg);
}

.qa__content.is-closing .qa__ttl-button-line-02 {
	transform: rotate(0deg);
}

.qa__ttl.text-s,
.qa__answer-content {
	color: var(--text-black);
	position: relative;
	padding-left: 2.25rem;
}

.qa__answer-content {
	display: flex;
	gap: 2.5rem;
}

.qa__answer-content.qa__answer-content--column {
	flex-direction: column;
	gap: min(3.75rem, 3.75vw);
}

.qa__texts {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 1rem;
}

.qa__text.text-s {
	color: var(--text-black);
}

.qa__text-link {
	color: var(--red);
	border-bottom: 1px solid;
	border-color: var(--red);
	transition: border-color 0.3s, opacity 0.3s;
}

.qa__answer-content-images {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	width: 100%;
	max-width: 22.5rem;
}

.qa__answer-content-images.qa__answer-content-images--flex {
	flex-direction: row;
	max-width: 62.5rem;
}

.qa__text-small {
	display: block;
	color: var(--gray);
	font-size: 0.875rem;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1.7;
	letter-spacing: 0em;
}

.qa__ttl::before,
.qa__texts::before {
	position: absolute;
	font-size: 1rem;
	font-weight: var(--fw-medium);
	font-family: var(--base-font);
	line-height: 1;
	letter-spacing: 0.05em;
	left: 0rem;
}

.qa__ttl::before {
	content: "Q";
	color: var(--red);
	top: 50%;
	transform: translateY(-50%);
}

.qa__texts::before {
	content: "A";
	color: var(--red);
	top: clamp(0.25rem, 0.786rem - 0.595vw, 0.5rem);
}

.qa__ttl span {
	font-weight: 500;
	font-size: 0.875rem;
}

.qa__answer {
	overflow: hidden;
}

.qa__answer-inner {
	padding: 1.25rem 0.9375rem 1.25rem 0.9375rem;
}

summary::-webkit-details-marker {
	display: none;
}

.web-guide-register {
	background-color: #f8f8f8;
	padding: 2.8125rem 3.125rem;
}

.web-guide-register__lead {
	margin-top: 1.25rem;
}

.web-guide-register__list {
	margin-top: 2.5rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3.875rem;
}

.web-guide-register__item {
	position: relative;
}

.web-guide-register__item:not(:first-child) {
	position: relative;
}

.web-guide-register__item:not(:first-child)::before {
	content: "";
	position: absolute;
	left: -2.625rem;
	top: 24%;
	transform: translateY(-50%);
	width: 1.516875rem;
	aspect-ratio: 24.27/19.56;
	background-image: url(../images/icon-arrow.svg);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

.web-guide-register__step {
	color: var(--red);
	font-size: 1.25rem;
	font-weight: var(--fw-regular);
	font-family: var(--poppins-font);
	line-height: 1;
	letter-spacing: 0.01em;
}

.web-guide-register__img {
	margin-top: 0.625rem;
	border-radius: 0.625rem;
	overflow: clip;
	border: 2px solid var(--red);
}

.web-guide-register__img img {
	aspect-ratio: 342/217;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0.625rem;
	overflow: clip;
}

.web-guide-register-info {
	margin-top: 0.625rem;
}

.web-guide-register__text.text-s {
	font-weight: var(--fw-bold);
	color: var(--text-black);
}

.web-guide-register__text2 {
	margin-top: 0.625rem;
}

.web-guide-register__caption-text {
	margin-top: 0.625rem;
}

.web-guide-register__button {
	margin-top: 1rem;
}

.web-guide-register__button a.arrow-button {
	padding: 0.8125rem 1rem;
}

.web-guide-register__note {
	margin-top: 1rem;
	background-color: var(--bg-light-gray);
	border-radius: 0.375rem;
	padding: 0.875rem 1.75rem;
}

.web-guide-register__note-icon {
	width: 1.9375rem;
	margin-inline: auto;
}

.web-guide-register__note-icon img {
	aspect-ratio: 1/1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.web-guide-register__note-text {
	margin-top: 0.375rem;
}

.web-guide-register__note-text.text-s {
	line-height: 1.6;
}

.web-guide-section {
	background-color: var(--white);
	padding: 2.8125rem 2.125rem;
	border-radius: 1.0625rem;
}

.web-guide__container {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 2rem;
}

.web-guide-service__list {
	margin-top: 2.625rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}

.web-guide-service__item {
	background-color: rgba(246, 246, 246, 0.6);
	border-radius: 1.75rem;
	padding: 1.75rem;
}

.web-guide-service__item-top {
	background-color: var(--white);
	border-radius: 0.6875rem;
	padding: 1.125rem;
}

.web-guide-service__item-img {
	width: 9.125rem;
	margin-inline: auto;
}

.web-guide-service__item-img img {
	aspect-ratio: 146/128;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.web-guide-service__item-content {
	margin-top: 1.5rem;
}

.web-guide-service__item-title .number-title-small__title {
	line-height: 1.4;
}

.web-guide-service__item-texts {
	padding-inline: 2.375rem;
}

.web-guide-service__item-text {
	margin-top: 1.25rem;
}

.web-guide-service__item-text2 {
	padding: 0.625rem 2.65625rem;
	margin-block: 1.25rem;
	background-color: var(--light-gray);
	border-radius: 0.625rem;
}

.web-guide-service__item-link {
	display: inline-block;
	color: var(--red);
	font-weight: var(--fw-bold);
	margin-top: 0.5rem;
	font-size: 1rem;
	text-decoration: underline;
}

.welding__container {
	display: grid;
	gap: 2rem;
}

.woodpellet__container {
	background-color: var(--white);
	border-radius: 1.0625rem;
	padding: 2.8125rem;
}

.woodpellet__container + .woodpellet__container {
	margin-top: 2rem;
}

.woodpellet__title {
	padding-block: 0.625rem;
}

.woodpellet__title .block-title__title {
	color: var(--text-black);
}

.woodpellet__text.text-s {
	color: var(--text-black);
	margin-top: 1.25rem;
}

.woodpellet__items {
	margin-top: 2.5rem;
}

.woodpellet__item {
	display: flex;
	gap: 3.25rem;
	border-radius: 1.0625rem;
	background-color: #fafafa;
	padding: 2.8125rem 3rem;
}

.woodpellet__item + .woodpellet__item {
	margin-top: 1.25rem;
}

.woodpellet__item-img {
	flex: 0 0 24.25rem;
}

.woodpellet__item-img img {
	aspect-ratio: 388/314;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 0.75rem;
}

.woodpellet__item-body {
	flex: 1 0 0;
}

.woodpellet__body-title {
	padding-block: 0.625rem;
}

.woodpellet__body-title .mix-title__en {
	text-transform: uppercase;
}

.woodpellet__body-text {
	margin-top: 1.25rem;
}

.woodpellet__makers {
	margin-top: 1.25rem;
}

.woodpellet__sales-items {
	margin-top: 2.5rem;
}

.woodpellet__sales-item + .woodpellet__sales-item {
	margin-top: 2.5rem;
}

.woodpellet__sales-item-title {
	padding-block: 0.6875rem;
}

.woodpellet__sales-wrapper {
	background-color: var(--bg-light-gray);
	border-radius: 1.0625rem;
	padding: 1.875rem 2.8125rem;
	margin-top: 0.625rem;
}

.woodpellet__sales-item-text span {
	font-size: 0.875rem;
	color: var(--gray);
}

.woodpellet__sales-item-text:not(:first-of-type) {
	margin-top: 0.875rem;
}

.woodpellet__sales-headline {
	padding-block: 0.3125rem;
}

.woodpellet__sales-item-content {
	padding-inline: 1.25rem;
	margin-top: 0.625rem;
}

.woodpellet__sales-check-list {
	margin-top: 0.875rem;
}

.woodpellet__table-wrapper {
	margin-top: 1.875rem;
}

.woodpellet__table-wrapper .table-area__table {
	background-color: var(--white);
}

.woodpellet__price-content {
	padding-inline: 4.0625rem;
	margin-top: 1.25rem;
}

.woodpellet__price-table,
.woodpellet__price-table-cell {
	border-collapse: collapse;
	border: 1px solid var(--light-gray);
}

.woodpellet__price-table {
	margin-inline: auto;
	max-width: 60.375rem;
	width: 100%;
}

.woodpellet__price-heading {
	background-color: var(--bg-light-gray);
}

.woodpellet__price-heading,
.woodpellet__price-table-cell {
	text-align: center;
	padding-block: 0.5rem;
}

.woodpellet__price-heading.text-s {
	font-size: 0.875rem;
	font-weight: var(--fw-medium);
	color: var(--text-black);
}

.woodpellet__price-table-cell.text-s {
	font-size: 0.875rem;
	color: var(--dark-gray);
	width: 50%;
}

.woodpellet__price-note.text-s {
	font-size: 0.875rem;
	color: var(--gray);
	margin-top: 0.5rem;
}

.bullet {
	--base-color: currentColor;
}

.bullet::before {
	content: "";
	display: block;
	width: 0.4375rem;
	aspect-ratio: 1/1;
	background-color: var(--base-color);
	border-radius: 50%;
}

.inline-block {
	display: inline-block;
}

.pc-only {
	display: block;
}

.safari {
	--size: 200px;
}

.safari__dummy {
	position: fixed;
	z-index: -1;
	transform: translate3d(0, 0, -1px);
}

.safari::before,
.safari::after {
	content: "";
	position: fixed;
	left: 0;
	z-index: 9999;
	transform: translate3d(0, 0, 9999px);
	width: 100%;
	height: var(--size);
	background: #fff;
}

.safari::before {
	top: calc(var(--size) * -1);
}

.safari::after {
	bottom: calc(var(--size) * -1);
}

.sp-only {
	display: none;
}

.text-m {
	font-size: max(14px, var(--base-font-rem));
	color: var(--black);
	letter-spacing: 0.03em;
}

.text-s {
	font-size: max(13px, var(--base-font-rem-s));
	color: var(--dark-gray);
	line-height: 1.7;
}

.text-outline-h,
.text-outline-t {
	font-size: var(--base-font-rem-s);
	font-weight: var(--fw-medium);
	line-height: 1.7;
	letter-spacing: 0em;
}

.text-outline-h {
	color: var(--text-black);
}

.text-outline-t {
	color: var(--dark-gray);
}

.caption {
	font-size: max(12px, 0.875rem);
	color: var(--gray);
	line-height: 1.7;
}

.title {
	font-size: 1.75rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.07em;
}

.title-s {
	font-size: max(16px, 1.375rem);
	font-weight: var(--fw-bold);
	line-height: 1.4545454545;
	letter-spacing: 0.03em;
}

.visually-hidden {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	width: 1px;
	height: 1px;
	overflow: hidden;
	position: absolute;
	inset: 0;
	white-space: nowrap;
}

@media (any-hover: hover) {

.alert-card-button:hover::after {
	transform: translateY(0.1875rem);
}

.alert-card-button:hover .alert-card-button__icon {
	animation: swing 1s ease-out forwards;
}

.alert-card-button:hover .alert-card-button__text.text-s {
	color: var(--red);
}

.anchor-nav__link:hover span {
	color: var(--accent-color);
}

.anchor-nav__link:hover::after {
	transform: translateY(0.1875rem);
}

.arrow-button:hover {
	background-color: var(--base-color);
	color: var(--bg-color);
}

.arrow-button:hover::after {
	translate: 0.375rem;
}

.banner-button:hover {
	filter: brightness(1.6);
}

.banner-button__text:hover {
	text-shadow: 0 0 0.125rem rgba(0, 0, 0, 0.8);
}

.bullet-button:hover {
	border-color: var(--red);
}

.bullet-button:hover::before {
	scale: 1.7142857143;
}

.business-menu__card:hover .business-menu__title {
	color: var(--red);
}

.business-menu__card:hover .business-menu__btn {
	transform: translateY(-0.9375rem);
}

.business-menu__item-link:hover .business-menu__name {
	color: var(--red);
}

.business-menu__item-link:hover::after {
	transform: translateY(0rem);
	background-color: var(--red);
}

.button1:hover {
	background-color: var(--red);
	color: var(--white);
}

.button1:hover::after {
	right: 1.0625rem;
	width: 0.75rem;
	background-color: var(--white);
}

.card:hover {
	box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.4);
}

.card:hover .button1 {
	background-color: var(--red);
	color: var(--white);
}

.card:hover .button1::after {
	right: 1.0625rem;
	width: 0.75rem;
	background-color: var(--white);
}

.case-item-link:hover {
	border-color: var(--red);
}

.case-item-link:hover::after {
	background-color: var(--red);
}

.case-item-link:hover {
	opacity: 0.8;
}

.case-item-link:hover .case-button::after {
	right: -0.1875rem;
	width: 0.75rem;
}

.category-sidebar__item-link:hover {
	color: var(--red);
}

.challenge__text-link:hover {
	border-color: transparent;
	opacity: 0.8;
}

:is(.challenge__button-prev,
.challenge__button-next):hover {
	opacity: 0.7;
}

.challenge__gallery-link:hover .challenge__gallery-img img {
	scale: 1.05;
}

.cta-nav__content-item:hover::before {
	clip-path: inset(0 0 0 0);
}

.cta-nav__content-item-link:hover::before {
	scale: 1.7142857143;
}

.download-button:hover {
	background-color: var(--base-color);
	color: var(--white);
}

.download-button:hover .download-button__sub {
	color: var(--white);
}

a.drawer-nav__title:hover {
	color: var(--red);
}

a.drawer-nav__item:hover {
	color: var(--red);
}

a.drawer-nav__sub-item:hover {
	color: var(--red);
}

.emergency-button:hover {
	opacity: 0.6;
}

.emergency-card:hover .emergency-card__img {
	animation: furufuru steps(4) 0.2s infinite alternate;
}

.emergency-card:hover .emergency-card__arrow::before {
	translate: calc(var(--arrow-box) * var(--rem));
}

.emergency-card:hover .emergency-card__arrow::after {
	translate: calc(var(--arrow-box) * var(--rem) * 1.3);
}

.disaster-tabs__button:hover {
	color: var(--white);
}

.disaster-tabs__button:hover::before {
	transform: translateX(0);
}

.footer__logo:hover {
	filter: drop-shadow(0 0 0.25rem rgba(255, 255, 255, 0.8));
}

a.footer__nav-lv1:hover span::before,
.footer__nav-lv2:hover span::before,
.footer__nav-lv3:hover span::before,
.footer__link:hover span::before {
	width: 100%;
}

.header__nav-link:hover::before {
	width: 100%;
}

.header__button:hover {
	background-color: var(--base-color);
	color: var(--white);
}

.header__button:hover::after {
	scale: 1.7142857143;
}

.home-customers__card:hover .home-customers__card-img img {
	scale: 1.1;
}

.home-customers__card:hover .home-customers__card-content::after {
	translate: 0.3125rem;
}

.household__cta-button:hover {
	background-color: var(--accent-color);
	color: var(--bg-color);
}

.household__cta-button:hover .household__cta-button__icon {
	filter: brightness(0) invert(1);
}

.household__cta-button:hover::after {
	translate: 0.3125rem;
}

.icon-button:hover {
	background-color: var(--accent-color);
	color: var(--bg-color);
}

.icon-button:hover .icon-button__icon {
	filter: brightness(0) invert(1);
}

.icon-button--red:hover .icon-button__icon {
	filter: initial;
}

.icon-button:hover::after {
	background-color: var(--bg-color);
}

.icon-button--red:hover .icon-button__title-en {
	color: var(--bg-color);
}

.modal__link:hover {
	background-color: var(--red);
	color: var(--white);
}

a.nav-menu__item:hover {
	color: var(--red);
}

.nav-menu__sub-item:hover {
	color: var(--red);
}

.news__item-link:hover::after {
	right: 1.875rem;
	background-color: var(--red);
}

.news__item-link:hover {
	opacity: 0.8;
}

.news__item-link:hover::before {
	clip-path: inset(0 0 0 0);
}

.notice-button:hover {
	background-color: var(--base-color);
	color: var(--bg-color);
}

.notice-button:hover::after {
	translate: 0.375rem;
}

.notice-button--line:hover::before {
	background-color: var(--line);
}

.notice-button--mail:hover::before {
	background-color: var(--mail);
}

.oil-products__subscription-link:hover {
	background-color: var(--red);
	color: var(--white);
}

.oil-products__subscription-link:hover .oil-products__button-img::before {
	opacity: 1;
}

.oil-products__subscription-link:hover .oil-products__button-text {
	color: var(--white);
}

.oil-products__subscription-link:hover .oil-products__button-text::before {
	right: -0.3125rem;
}

.wp-pagenavi a:hover {
	opacity: 1;
}

.plan__summary:hover {
	cursor: pointer;
}

.products-section-main__content-card-link:hover {
	opacity: 0.8;
}

.reg-steps__tab:hover {
	color: var(--white);
}

.reg-steps__tab:hover::before {
	transform: translateX(0);
}

.sds__table-cell.sds__table-cell--download a:hover {
	opacity: 0.7;
}

.side-links__item:hover .side-links__img {
	transform: scale(1.2);
}

.side-links__contact-link:hover .side-links__img--contact {
	transform: scale(1.2);
}

.single-news__content-main p a:hover,
.single-case__content-main p a:hover {
	border-color: transparent;
	opacity: 0.8;
}

.single-news__content-main .wp-block-button__link:hover,
.single-case__content-main .wp-block-button__link:hover {
	background-color: var(--red);
	color: var(--white);
}

.single-news__content-main .wp-block-button__link:hover::after,
.single-case__content-main .wp-block-button__link:hover::after {
	background-color: var(--white);
}

.single-news__nav-prev-link:hover,
.single-news__nav-next-link:hover,
.single-case__nav-prev-link:hover,
.single-case__nav-next-link:hover {
	background-color: var(--red);
	color: var(--white);
}

.single-news__nav-prev-link:hover::before,
.single-news__nav-next-link:hover::before,
.single-case__nav-prev-link:hover::before,
.single-case__nav-next-link:hover::before {
	background-color: var(--white);
}

.single-news__nav-list:hover,
.single-case__nav-list:hover {
	background-color: var(--white);
	color: var(--red);
}

.site-map-menu__title1:hover {
	color: var(--red);
}

.top-business__card-link:hover::before {
	clip-path: inset(0 0 0 0);
}

.top-business__card-link:hover::after {
	scale: 171.4285714286%;
}

.top-case__slider-prev:hover::after,
.top-case__slider-next:hover::after {
	background-color: var(--black);
}

.top-company__link:hover::before {
	clip-path: inset(0 0 0 0);
}

.top-company__link:hover :is(.top-company__link-title,
.top-company__link-text) {
	color: var(--red);
}

.top-company__link:hover .top-company__link-text::after {
	scale: 171.4285714286%;
}

.top-topics__wrapper:has(:hover) .swiper-slide-active {
	opacity: 0.4;
}

.top-topics__wrapper .top-topics__slide.swiper-slide:hover {
	opacity: 1;
	scale: 1.05;
}

:is(.top-topics__button-prev,
.top-topics__button-next):hover {
	opacity: 0.7;
}

.top-topics__pagination .swiper-pagination-bullet:hover {
	background-color: var(--swiper-theme-color);
	opacity: 0.6;
}

.qa__text-link:hover {
	border-color: transparent;
	opacity: 0.8;
}

}

@media screen and (min-width: 1000px) {

.notice-button {
	max-width: 21.25rem;
}

}

@media screen and (max-width: 1200px) {

.archive-main-case__items {
	grid-template-columns: repeat(2, 1fr);
}

}

@media screen and (max-width: 1030px) {

.facility__section-title-br {
	display: block;
}

}

@media screen and (max-width: 1023px) {

.header__nav {
	display: none;
}

}

@media (max-width: 1000px) {

html {
	font-size: calc(16 / var(--inner-value) * 100vw);
}

}

@media screen and (max-width: 767px) {

:root {
	--vw: 375 * 100vw;
}

:root {
	--header-height: calc(64 * var(--rem));
}

html {
	scroll-padding-top: var(--header-height);
}

html {
	font-size: 16px;
}

.inner {
	max-width: 600px;
	padding-inline: var(--padding-sp);
}

.inner.inner--lower {
	max-width: 600px;
}

.layout-anchor-nav {
	position: sticky;
	top: var(--header-height);
	padding-block: 0.625rem 1rem;
	z-index: 2;
}

.layout-common-top {
	margin-top: 3.75rem;
}

.layout-common {
	padding-block: 3.75rem;
}

.layout-company {
	margin-top: 3.75rem;
}

.layout-company01 {
	margin-top: 7.5rem;
}

.layout-company02 {
	margin-top: 6.25rem;
}

.layout-home-customers {
	padding-block: 2.5rem;
}

.layout-household {
	margin-top: 3.75rem;
}

.layout-sds {
	padding-block: 3.125rem 4.375rem;
}

.layout-top-business {
	padding-block: 9.375rem 3.125rem;
}

.layout-top-recruit {
	margin-top: -4.375rem;
	margin-bottom: -1.25rem;
}

.layout-top-statement {
	padding-bottom: 21.25rem;
}

.layout-woodpellet {
	margin-top: 3.75rem;
}

.alert-card-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	max-width: 100%;
	padding-inline: calc(20 / var(--vw));
	margin-top: 1.5rem;
	padding-block: 0.625rem 1rem;
	top: var(--header-height);
	z-index: 3;
	background-color: var(--bg-light-gray);
}

.alert-card-list__item {
	flex-shrink: 0;
	min-width: 17.5rem;
}

.alert-card-button {
	padding: 0.5rem;
}

.alert-card-button::after {
	width: 0.625rem;
}

.anchor-nav__inner.inner {
	width: -moz-fit-content;
	width: fit-content;
	padding-inline: calc(20 / var(--vw));
	max-width: initial;
}

.anchor-nav__list {
	flex-wrap: nowrap;
	white-space: nowrap;
	justify-content: flex-start;
	gap: 0.625rem;
}

.anchor-nav__item {
	min-width: 7.5rem;
}

.anchor-nav--small .anchor-nav__item {
	width: -moz-max-content;
	width: max-content;
	min-width: 7.5rem;
}

.anchor-nav__link {
	min-height: 2.8125rem;
}

.anchor-nav__link::after {
	width: 0.625rem;
}

.anchor-nav__link span {
	font-size: 0.875rem;
}

.anchor-nav.anchor-nav--3col .anchor-nav__item {
	width: -moz-fit-content;
	width: fit-content;
	min-width: 7.5rem;
}

.archive-main-case__items {
	grid-template-columns: repeat(1, 1fr);
}

.archive-main {
	padding-block: 3.75rem;
}

.archive-main__inner {
	flex-direction: column;
}

.archive-main__sidebar {
	width: 100%;
}

.arrow-button {
	padding: 0.75rem;
}

.banner-button {
	padding-inline: 1.875rem;
}

.banner-button--drawer {
	padding-inline: 1.25rem;
	min-height: 7.25rem;
	border-radius: 0.8125rem;
}

.banner-button::before {
	bottom: 0.9375rem;
	right: 1rem;
	width: 1.25rem;
}

.banner-button__text {
	font-size: 1.25rem;
}

.block-title-small {
	line-height: 1.2;
}

.block-title__title {
	font-size: 1.3125rem;
	line-height: 1.2;
}

.breadcrumb-items {
	padding: 1rem 1.5rem;
	gap: 0.625rem;
}

.breadcrumb__icon {
	width: 0.25rem;
}

.bullet-button {
	--bullet-size: calc(5 * var(--em));
	gap: 0.625rem;
	padding-inline: 1.25rem;
}

.business-lpgas__container {
	padding: 1.875rem 1.25rem;
}

.business-lpgas__text {
	margin-top: 0;
}

.business-lpgas__list {
	margin-top: 3.125rem;
}

.business-lpgas__item {
	flex-direction: column;
	gap: 1.25rem;
	padding-block: 1.5625rem;
}

.business-lpgas__item-img {
	flex: 0 0 auto;
}

.business-lpgas__item-content {
	margin-top: 0;
}

.business-lpgas__item-note {
	font-size: 0.875rem;
}

.business-lpgas__table-wrapper {
	overflow-x: scroll;
}

.business-lpgas__table {
	min-width: 43.75rem;
}

.business-lpgas__table-heading {
	font-size: 0.875rem;
}

.business-lpgas__table-cell {
	font-size: 0.875rem;
}

.business-lpgas__button {
	margin-top: 3.125rem;
}

.business-lpgas__button .emergency-button {
	min-width: auto;
}

.business-menu {
	margin-top: 2.5rem;
}

.business-menu__top {
	flex-direction: column;
	margin-inline: auto;
}

.business-menu__icon {
	width: 0.625rem;
}

.business-menu__bottom {
	flex-direction: column;
}

.business-menu__item-link {
	width: 100%;
}

.business-menu__item-link::after {
	width: 0.625rem;
}

.business__items {
	grid-template-columns: repeat(1, 1fr);
	margin-top: 3.75rem;
}

.business__item {
	padding: 1.25rem;
}

.business__item:nth-child(-n+3) {
	grid-column: span 1;
	grid-row: span 1;
	display: grid;
}

.business__item:nth-child(even) .business__item-content {
	flex-direction: column;
}

.business__item-content {
	display: contents;
}

.business__item-list.top-contact__list {
	margin-top: 1.25rem;
}

.business__item-img {
	max-width: 100%;
	order: -2;
	margin-bottom: 1.5625rem;
}

.business__item-img img {
	aspect-ratio: 467/214;
}

.business__item-button {
	margin-top: 1.25rem;
}

.card__img::before {
	height: 3.5rem;
}

.card__body {
	gap: 1.5rem;
	padding-block: 1.875rem;
}

.card__title {
	font-size: 1.75rem;
}

.card--en .card__title {
	font-size: 1.875rem;
}

.card__text.text-s {
	font-size: 0.9375rem;
}

.category-sidebar__items {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 1.25rem 1.875rem;
}

.category-sidebar__item-link.is-current {
	padding-left: 0.75rem;
}

.category-sidebar__item-link.is-current::after {
	top: 59%;
}

.challenge__container {
	grid-template-columns: 1fr;
	gap: 2rem;
	padding-block: 5rem;
}

.challenge[id=hydrogen] .challenge__container {
	padding-block: 5rem;
}

.challenge__title {
	position: static;
	top: initial;
	gap: 0.625rem;
	padding: initial;
}

.challenge__title-sub {
	font-size: 1rem;
}

.challenge__title-main {
	gap: 0.75rem;
	font-size: 1.875rem;
}

.challenge__title[data-title=small] .challenge__title-main {
	flex-direction: row;
}

.challenge__title-main .en {
	font-size: 2.125rem;
}

.challenge__lead {
	gap: 0.625rem;
}

.challenge__lead-main {
	font-size: 1.25rem;
	line-height: 1.4;
}

.challenge__lead-main span::before {
	font-size: 0.4em;
	letter-spacing: 0.5em;
}

.challenge__lead-sub {
	gap: 0.375rem;
	font-size: 1rem;
}

.challenge__lead-wrap {
	gap: 0.8lh;
	margin-top: 2rem;
}

.challenge__lead-text {
	font-size: 0.9375rem;
}

.challenge__item {
	grid-template-columns: 1fr;
	gap: 1.25rem;
	padding-block: 2.5rem;
}

.challenge__item-content {
	grid-template-columns: 1.5em 1fr;
	gap: 0.75rem 0.625rem;
}

.challenge__item-title {
	font-size: 1rem;
}

.challenge__item-text.text-s {
	font-size: 0.9375rem;
}

.challenge__item-img img {
	aspect-ratio: 5/3;
}

.challenge__text-link {
	margin-left: 1.5em;
	font-size: 1rem;
}

.challenge__gallery {
	--swiper-navigation-size: 40;
	--swiper-slide-width: calc(275 * var(--rem));
	margin-inline: auto;
	padding-inline: 1.875rem;
}

.challenge__gallery-item {
	width: var(--swiper-slide-width);
}

.challenge__gallery-img img {
	aspect-ratio: 8/7;
}

.challenge__button-prev {
	left: -0.875rem;
}

.challenge__button-next {
	right: -0.875rem;
}

.challenge__wide-img {
	min-height: 13.75rem;
}

.check-list__item {
	font-size: 0.875rem;
	line-height: 1.3;
	padding-left: 1.5rem;
}

.check-list__item::before {
	width: 1.125rem;
}

.common-block {
	padding: 1.875rem 1.25rem;
	border-radius: 0.625rem;
}

.commmon-gas__wrapper {
	padding-top: 2.5rem;
}

.commmon-gas__overview {
	flex-direction: column;
	gap: 1.25rem;
	padding-inline: 1.25rem;
}

.commmon-gas__container-items {
	padding-inline: 0;
	margin-top: 2.5rem;
}

.commmon-gas__container {
	padding: 1.5625rem 1.25rem;
}

.commmon-gas__container + .commmon-gas__container {
	margin-top: 1.5rem;
}

.commmon-gas__body {
	flex-direction: column;
	gap: 1.25rem;
	margin-top: 0;
}

.commmon-gas__img {
	flex: 0 1 100%;
	max-width: 21.875rem;
	margin-inline: auto;
}

.commmon-gas__content-items {
	padding-right: 0;
}

.commmon-gas__content-items .menu-item:nth-child(2) .menu-item__text {
	padding-left: 1.25rem;
}

.commmon-gas__attention {
	margin-top: 1.875rem;
}

.commmon-gas__attention-title .dot-title__title {
	font-size: 1rem;
}

.commmon-gas__attention-text {
	font-size: 0.875rem;
	margin-top: 0.3125rem;
}

.common-gas__bottom {
	padding-block: 2.5rem;
}

.common-gas__bottom::before {
	top: -2rem;
	height: 4.0625rem;
}

.common-gas__bottom-title {
	font-size: 1.125rem;
}

.common-gas__bottom-text {
	font-size: 0.875rem;
	margin-top: 0.625rem;
}

.company-overview__container {
	padding-block: 1.875rem;
	padding-inline: 1.25rem;
}

.company-title.company-title--vertical-line::before {
	top: -5.9375rem;
	left: 3.125rem;
	height: 4.375rem;
}

.company-title__en {
	font-size: 1.75rem;
}

.company-title__ja {
	font-size: 0.875rem;
	margin-top: 0.5rem;
}

.construction {
	--radius: calc(10 * var(--rem));
	--radius-small: calc(8 * var(--rem));
}

.construction__container {
	gap: 2rem;
	padding-block: 1.875rem 2.5rem;
	padding-inline: 1.25rem;
}

.construction__head {
	gap: 1rem;
}

.construction__title {
	padding-block: initial;
}

.construction__products-title {
	padding-block: initial;
}

.construction__section {
	padding: 1.5rem 1.25rem;
	border-radius: var(--radius-small);
}

.construction__section-list {
	grid-template-columns: repeat(auto-fit, minmax(11.25rem, 1fr));
	gap: 1rem;
}

.credo__text {
	font-size: var(--base-font-size-s);
	line-height: 1.7;
	margin-top: 1.875rem;
}

.credo__img-wrap {
	flex: 0 0 auto;
	overflow-x: scroll;
}

.credo__img {
	min-width: 40.625rem;
}

.csr {
	--radius: calc(10 * var(--rem));
	--radius-small: calc(8 * var(--rem));
}

.csr__container {
	padding-block: 1.875rem 2.5rem;
	padding-inline: 1.25rem;
}

.csr__section {
	grid-template-columns: 1fr;
	gap: 1.5rem 1.25rem;
	padding: 1.25rem;
}

.csr__section-logo-wrap {
	padding: 1.25rem calc(20 / var(--vw));
}

.cta-nav__container.pc-only {
	display: none;
}

.cta-nav__container.sp-only {
	display: grid;
	background-color: var(--bg-title-color);
	clip-path: inset(0 round 0.625rem);
}

.cta-nav__items {
	display: contents;
}

.cta-nav__bottom {
	padding: 1rem 1.25rem;
}

.cta-nav__bottom::after {
	rotate: 90deg;
	transition: rotate 0.3s ease;
}

.cta-nav__block:has(.is-show) .cta-nav__bottom::after {
	rotate: -90deg;
}

.cta-nav__title-ja {
	font-size: var(--base-font-rem);
}

.cta-nav__title-en {
	font-size: 11px;
}

.cta-nav__content {
	display: none;
	border-top: 1px solid var(--border-color);
	opacity: 1;
	visibility: visible;
}

.cta-nav__content::before {
	content: none;
}

.cta-nav__content-title-ja {
	font-size: 2rem;
}

.cta-nav__content-title-en {
	font-size: 0.75rem;
}

.cta-nav__content-item-link {
	padding-inline: 1.875rem 1.375rem;
}

.cta-nav__content-item-link::before {
	width: 0.3125rem;
}

.dot-title__title {
	font-size: 1.25rem;
	line-height: 1.2;
}

.download-button {
	-moz-column-gap: 0.5rem;
	column-gap: 0.5rem;
	padding-inline: 1.25rem;
}

.download-button::before {
	width: 1.25rem;
}

.download-button__title {
	font-size: 0.9375rem;
}

.drawer-nav {
	grid-template-columns: 1fr;
	grid-template-areas: "company" "business" "challenge" "last" "recruit" "other";
	gap: 1.5rem;
}

.drawer-nav__menu:not(:where([data-menu=last],
[data-menu=recruit])) {
	border-bottom: 1px solid var(--base-color);
}

.drawer-nav__menu[data-menu=last] {
	gap: 1.5rem;
}

.drawer-nav__menu[data-menu=recruit] {
	grid-area: recruit;
	display: block;
}

.drawer-nav__title {
	gap: 0.1875rem;
	padding-inline: 0.625rem;
	padding-bottom: 0.875rem;
	width: 100%;
	text-align: left;
	pointer-events: auto;
}

.drawer-nav__menu:not(:has(.drawer-nav__list)) .drawer-nav__title {
	border-bottom: 1px solid var(--base-color);
}

.drawer-nav__title-red {
	display: grid;
	gap: 0.1875rem;
	padding-inline: 0.625rem;
	padding-bottom: 0.875rem;
	color: var(--base-color);
}

:is(.drawer-nav__title-en,
.drawer-nav__title-red-en) {
	font-size: 0.8125rem;
}

:is(.drawer-nav__title-ja,
.drawer-nav__title-red-ja) {
	width: 100%;
	font-size: 1.375rem;
	letter-spacing: 0.08em;
}

.drawer-nav__menu:has(.drawer-nav__list) .drawer-nav__title-ja::before,
.drawer-nav__menu:has(.drawer-nav__list) .drawer-nav__title-ja::after {
	content: "";
	position: absolute;
	top: 0.5lh;
	right: 0;
	width: 1.1875rem;
	height: 2px;
	background-color: var(--base-color);
	transition: transform 0.3s ease-out;
}

.drawer-nav__title-ja::before {
	transform: rotate(90deg);
}

.drawer-nav__menu.is-open .drawer-nav__title-ja::before {
	transform: rotate(180deg);
}

.drawer-nav__menu:not(:has(.drawer-nav__list)) .drawer-nav__title-ja::after,
.drawer-nav__title-red-ja::after {
	content: "";
	position: absolute;
	top: 0.5lh;
	right: 0;
	translate: 0 -50%;
	width: 1.1875rem;
	aspect-ratio: 19/15;
	background-color: var(--base-color);
	-webkit-mask-image: url(../images/icon-arrow.svg);
	mask-image: url(../images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.drawer-nav__list {
	margin-top: 0.125rem;
	padding-inline: 0.625rem;
	height: 0;
	overflow: hidden;
}

.drawer-nav__menu[data-menu=business] .drawer-nav__list {
	display: grid;
	gap: 0.625rem;
}

.drawer-nav__list-inner {
	display: block;
	padding-bottom: 1.25rem;
}

.drawer-nav__item {
	font-size: 1.125rem;
}

.drawer-nav__sub-item {
	padding-block: 0.375rem;
	font-size: 0.9375rem;
	line-height: 1;
}

.drawer-nav__other {
	grid-template-columns: min(94.0438871473%, 400px);
	justify-content: center;
	gap: 0.875rem;
}

.drawer-nav__banner {
	grid-template-rows: initial;
	grid-row: initial;
}

.drawer-nav__buttons {
	gap: 0.875rem;
}

.emergency-button {
	--icon-size: calc(56 * var(--rem));
	padding: 0.75rem;
	min-height: 4.375rem;
}

.emergency-button__icon {
	bottom: initial;
	border-width: 0.1875rem;
	outline-width: 0.25rem;
}

.emergency-button__title {
	flex-wrap: wrap;
}

.emergency-button__title-large {
	font-size: 1.25rem;
}

.emergency-button__title-small {
	font-size: 0.875rem;
}

.emergency-button::after {
	width: 0.75rem;
}

.emergency-card {
	gap: 0;
	padding-inline: 1.25rem;
}

.emergency-card__title {
	padding-block: 1rem;
	font-size: 1rem;
}

.emergency-card__img {
	padding-top: 1rem;
	width: 70%;
}

.emergency {
	margin-top: 2.75rem;
}

.emergency__container {
	gap: 1.5rem;
}

.emergency__section {
	padding: 1.25rem 1.25rem;
}

.emergency__main {
	padding-inline: 0rem;
}

.emergency__table-wrapper {
	overflow-x: auto;
	position: relative;
}

.emergency__table {
	min-width: 43.75rem;
}

.emergency__table-left {
	width: 18.5714285714%;
}

.emergency__table-center {
	width: 42.8571428571%;
}

.emergency__table-right {
	width: 24.2857142857%;
}

.emergency__table td {
	font-size: 0.875rem;
	padding: 1rem;
}

.emergency__step {
	padding: 1rem 1.25rem;
	flex-direction: column;
}

.emergency__step-label {
	padding-right: 0;
	padding-bottom: 1.25rem;
	border-right: none;
	border-bottom: 1px solid var(--red);
	width: 100%;
}

.emergency__step-text {
	padding-left: 0;
	padding-top: 1.25rem;
}

.gas-trouble__item {
	padding: 1.875rem 1.25rem;
}

.gas-trouble__question::before {
	width: 1.25rem;
}

.gas-trouble__question {
	padding-left: 1.5rem;
}

.gas-trouble__answer {
	padding-left: 0;
}

.gas-trouble__question2-text {
	margin-left: 0;
}

.gas-trouble__steps {
	grid-template-columns: repeat(1, 1fr);
	gap: 2.5rem;
}

.gas-trouble__step:not(:first-child)::before {
	top: -1.75rem;
	transform: translateY(0) translateX(-50%) rotate(90deg);
	left: 50%;
}

.gas-trouble__step-image {
	max-width: 18.75rem;
	margin-inline: auto;
}

.gas-safety {
	padding: 1.5rem 1rem;
}

.gas-safety__steps {
	flex-direction: column;
	margin-inline: 0;
}

.gas-safety__step {
	width: 100%;
	padding-inline: 0rem;
}

.gas-safety__step:first-child {
	padding-bottom: 1.25rem;
}

.gas-safety__step:not(:first-child) {
	border-left: none;
	border-top: 1px solid var(--light-gray);
	padding-block: 1.25rem;
}

.gas-safety__scene {
	padding: 3.75rem 1.25rem 1.875rem;
}

.gas-safety__scene-number {
	padding: 0.875rem 1.5rem;
}

.gas-safety__scene-top {
	padding-inline: 0rem;
	padding-bottom: 1.25rem;
}

.gas-safety__scene-body {
	padding-inline: 0rem;
}

.gas-safety__scene-Lv2items {
	flex-direction: column;
	gap: 2rem;
}

.gas-safety__scene-Lv2item {
	max-width: 22.5rem;
	width: 100%;
	margin-inline: auto;
	padding: 1rem 1.25rem;
}

.gas-safety__scene-Lv2item:not(:first-child)::before {
	top: -1.5rem;
	transform: translateY(0) translateX(-50%) rotate(90deg);
	left: 50%;
}

.gas-safety__scene-Lv3items {
	grid-template-columns: repeat(1, 1fr);
}

.gas-safety__scene-Lv3item__img {
	max-width: 2.625rem;
}

.gas-safety__scene-item {
	flex: 1 1 100%;
}

.gas-meter {
	display: block;
	padding: 1.625rem 1.25rem;
}

.gas-meter__device {
	margin-inline: auto;
}

.gas-meter__table-wrapper {
	margin-top: 1.875rem;
	overflow-x: auto;
	min-width: 0;
}

.gas-meter__table {
	min-width: 42.5rem;
}

.gas-meter th,
.gas-meter td {
	padding: 0.5rem 0.375rem;
}

.gas-meter__table th {
	font-size: 0.625rem;
}

.gas-meter__lamp {
	width: 1rem;
	height: 1rem;
}

.gas-meter-status {
	padding: 1.5rem 1.25rem;
	overflow: hidden;
}

.gas-meter-status__table-wrapper {
	overflow-x: auto;
}

.gas-meter-status__table {
	min-width: 23.75rem;
}

.gas-meter-status__lamp-cell {
	font-size: 1rem;
}

.disaster-tabs__nav {
	overflow-x: auto;
	overflow-y: hidden;
}

.disaster-tabs__button {
	padding: 0.5rem 0.3125rem;
	font-size: 1rem;
	flex-shrink: 0;
	min-width: 30%;
	white-space: wrap;
	line-height: 1.2;
}

.disaster-steps {
	flex-direction: column;
	gap: 2.5rem;
	padding: 1.5rem 1.25rem;
	border-radius: 0 0 0.625rem 0.625rem;
}

.disaster-tabs__panel[data-panel=flood] .disaster-steps {
	gap: 2.5rem;
}

.disaster-tabs__panel[data-panel=flood] .disaster-steps__item {
	width: 100%;
}

.disaster-tabs__panel[data-panel=flood] .disaster-steps__item:nth-child(2)::after {
	left: 50%;
	transform: translateY(0) translateX(-50%) rotate(90deg);
}

.disaster-steps__item:nth-child(1) {
	width: 100%;
}

.disaster-steps__item:nth-child(2) {
	width: 100%;
}

.disaster-steps__item:nth-child(3) {
	width: 100%;
}

.disaster-steps__item:not(:first-child)::after {
	top: -1.5rem;
	transform: translateY(0) translateX(-50%) rotate(90deg);
	left: 50%;
}

.engineering-step {
	padding: 1.875rem 1.25rem;
	margin-top: 2.5rem;
}

.engineering-step__title {
	padding-block: 0;
}

.engineering-step__container {
	flex-direction: column;
	gap: 1.25rem;
	margin-top: 1rem;
}

.engineering-step__img {
	flex: 0 0 auto;
}

.engineering-step__content-title {
	padding-left: 0;
}

.engineering-step__content-text {
	padding-left: 0;
	margin-top: 1rem;
}

.engineering-step__items {
	margin-top: 1rem;
}

.engineering-step__item {
	padding-block: 1.875rem;
}

.engineering__text-container {
	padding: 1.875rem 1.25rem;
}

.equipment-section {
	gap: 2rem;
	padding-block: 1.875rem 2.5rem;
	padding-inline: 1.25rem;
	border-radius: 0.625rem;
}

.equipment-section__list {
	--gap: calc(32 * var(--rem));
}

.equipment-section__item {
	grid-template-columns: 1fr;
	grid-template-areas: "content" "img" "makers";
	row-gap: 1.25rem;
}

.equipment-section__item:not(:has(.equipment-section__content)) {
	grid-template-areas: "img" "makers";
}

.facility__container {
	padding: 1.875rem 1rem;
}

.facility__title.title {
	padding-block: 0;
}

.facility__products-title {
	padding-block: 0;
}

.facility__section {
	padding: 1.5rem 1rem;
}

.facility__section.facility__section--narrow-pt {
	padding-top: 1.25rem;
}

.facility__section-top {
	flex-direction: column;
	gap: 1.25rem;
}

.facility__section-title {
	padding-block: 0;
}

.facility__section-img {
	flex: 0 1 100%;
}

.facility__features-title {
	padding-block: 0;
}

.facility__feature-items {
	grid-template-columns: 1fr;
}

.facility__feature-item {
	padding: 1rem 1.25rem;
}

.facility__feature-item::before {
	top: 0.625rem;
	left: 0.625rem;
	font-size: 0.75rem;
}

.facility__feature-item + .facility__feature-item {
	margin-top: 1rem;
}

.facility__section:nth-child(2) .facility__feature-item {
	padding-top: 1rem;
}

.facility__feature-title {
	font-size: var(--base-font-rem-s);
	padding-bottom: 0.625rem;
}

.facility__section-title-br {
	display: none;
}

.facility__section:nth-child(2) .facility__feature-title {
	padding-bottom: 0.625rem;
}

.facility__feature-text {
	font-size: 0.875rem;
	padding-top: 0.625rem;
}

.facility__icon-title {
	padding-block: 0;
}

.facility__consultation-text {
	font-size: 0.875rem;
	padding-left: 0;
	margin-top: 1rem;
}

.facility__box {
	flex-direction: column;
	gap: 1.25rem;
}

.facility__box-title {
	padding-block: 0;
}

.facility__box-text {
	margin-top: 0.625rem;
}

.facility__box-img {
	flex: 0 1 100%;
	padding-top: 0;
}

.facility__construction-title {
	padding-block: 0;
}

.facility__construction-text {
	margin-top: 0.625rem;
}

.facility__construction-image + .facility__construction-image {
	margin-top: 2.5rem;
}

.facility__construction-image-caption {
	font-size: 1.125rem;
}

.facility__construction-image-container {
	overflow-x: scroll;
}

.facility__construction-image-container img {
	min-width: 50rem;
	margin-top: 0.375rem;
}

.facility__contact-items {
	flex-direction: column;
	gap: 1.25rem;
	margin-top: 2.5rem;
}

.facility__contact-item {
	width: 100%;
	padding-inline: 1rem;
}

.facility__contact-content {
	padding-left: 0;
}

.facility__contact-content-item {
	align-items: center;
	min-width: -moz-fit-content;
	min-width: fit-content;
}

.facility__contact-content-item:first-child {
	width: 100%;
}

.facility__contact-content-item:last-child {
	width: 100%;
}

.facility__contact-headline {
	flex: 0 0 auto;
}

.facility__contact-content-item:first-child .facility__contact-item-text {
	min-width: auto;
}

.facility__contact-content-item:last-child .facility__contact-item-text {
	min-width: auto;
}

.fees__section {
	gap: 2rem;
	padding-block: 1.875rem 2.5rem;
	padding-inline: 1.25rem;
	border-radius: 0.625rem;
}

.fees__price-cards {
	grid-template-columns: 1fr;
}

.fees__price-card {
	padding: 1.25rem;
}

.fees__price-bottom-img {
	margin-top: 1.5rem;
}

.footer {
	padding-block: 6.25rem;
}

.footer__inner.inner {
	max-width: 600px;
}

.footer__catchphrase {
	width: 12.5rem;
}

.footer__nav {
	margin-top: 3.75rem;
	display: flex;
	flex-wrap: wrap;
}

:where(.footer__nav-top,
.footer__nav-bottom) {
	flex-direction: column;
	display: contents;
}

.footer__nav-top {
	gap: 1.875rem;
}

.footer__nav-bottom {
	gap: 1.875rem;
}

.footer__nav-lv1 {
	font-size: 1.125rem;
}

.footer__nav-list:has(.footer__nav-wrap) {
	gap: 1.25rem;
}

.footer__nav-lv2 {
	font-size: 1rem;
}

.footer__nav-lv3 {
	gap: 0.25rem;
	font-size: 0.875rem;
}

.footer__nav-lv3::before {
	width: 0.4375rem;
}

.footer__bottom {
	grid-template-columns: repeat(2, auto);
	grid-template-areas: "logo instagram" "links links" "copyright copyright";
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	place-content: center;
	place-items: center;
	margin-top: 2.5rem;
}

.footer__logo {
	width: 15rem;
}

.footer__instagram {
	width: 2.5rem;
}

.footer__copyright {
	text-align: center;
}

.footer__copyright small {
	font-size: 10px;
}

.footer__links {
	justify-content: center;
}

.footer__link {
	font-size: 0.875rem;
}

.fv-challenge__inner.inner {
	width: -moz-fit-content;
	width: fit-content;
}

.fv-challenge__container {
	grid-template-columns: 1fr;
	grid-template-areas: "head" "texts";
	padding-top: initial;
}

.fv-challenge__title {
	gap: 0.625rem;
}

.fv-challenge__title-en {
	font-size: 0.75rem;
}

.fv-challenge__title-ja {
	font-size: 1.875rem;
}

.fv-challenge__texts {
	font-size: 0.9375rem;
	line-height: 1.8;
}

.fv {
	--row-width: min(275/var(--vw), 360px);
}

.fv__energy {
	width: min(300 / var(--vw), 400px);
}

.fv__title {
	width: min(180 / var(--vw), 240px);
	left: 0;
}

.fv__gradient1 {
	top: -2%;
	left: -16%;
	rotate: -20deg;
	width: min(100%, 25rem);
}

.fv__gradient2 {
	left: -41%;
	top: 70%;
	width: min(110%, 37.5rem);
}

.fv__gradient3 {
	top: -26%;
	left: 29%;
	width: min(90%, 34.375rem);
}

.fv__gradient4 {
	top: 74%;
	left: 51%;
	width: min(67%, 28.75rem);
	rotate: 0deg;
}

.fv__gradient5 {
	top: 92%;
	left: 91%;
	width: min(90%, 36.25rem);
}

.fv__gradient6 {
	top: 61%;
	left: 7%;
	width: 83%;
}

.fv__gradient7 {
	top: 42%;
	left: 104%;
	width: min(100%, 28.75rem);
}

.fv__gradient1.is-center {
	--left: 31%;
	--top: 44%;
}

.fv__gradient2.is-center {
	--left: 59%;
}

.fv__gradient3.is-center {
	--top: 49%;
	--left: 63%;
}

.fv__gradient4.is-center {
	--top: 39%;
	--left: 46%;
}

.fv__gradient5.is-center {
	--top: 56%;
	--left: 56%;
}

.fv__gradient6.is-center {
	--left: 53%;
	--top: 53%;
}

.fv__gradient7.is-center {
	--top: 55%;
	--left: 44%;
}

.fv__scroll-wrap {
	bottom: 1.5rem;
}

.fv__scroll {
	gap: 0.625rem;
	font-size: 0.75rem;
}

.fv__scroll::before {
	height: 5.75rem;
}

.greeting__title-wrap::after {
	translate: 0 0.75rem;
}

.greeting__title-wrap {
	gap: 1.25rem;
}

.greeting__container {
	margin-top: 2.5rem;
}

.greeting__main-message {
	font-size: 1.25rem;
	line-height: 1.5;
}

.greeting__text {
	line-height: 1.8;
}

.greeting__text:first-of-type {
	margin-top: 1.875rem;
}

.greeting__ceo {
	margin-top: 1.875rem;
}

.header.is-scrolled {
	height: var(--header-height);
}

.header__container {
	padding-inline: 1.0625rem 0;
}

.header__logo {
	width: 10.625rem;
}

.header__button {
	display: none;
}

.header__hamburger {
	grid-template: 1px/calc(23 * var(--rem));
	width: auto;
	height: inherit;
	padding-bottom: 0.75rem;
}

.header__hamburger.is-open {
	grid-template: 1px/calc(32 * var(--rem));
}

.header__hamburger-text {
	bottom: 1rem;
	font-size: 0.5rem;
}

.header__hamburger-line {
	--gap: calc(5 * var(--rem));
}

.header__hamburger.is-open .header__hamburger-line::before {
	rotate: 20deg;
}

.header__hamburger.is-open .header__hamburger-line::after {
	rotate: -20deg;
}

.header__drawer-wrapper {
	padding-block: 2.25rem;
}

.header__drawer-inner.inner {
	--padding-inline: 28px;
	max-width: 560px;
}

.header__drawer-button {
	margin-inline: auto;
	max-width: 12.5rem;
}

.history__items {
	padding: 1.25rem;
	max-height: 37.5rem;
}

.history__item {
	flex-direction: column;
}

.history__timing {
	width: 100%;
	padding-top: 1rem;
	padding-bottom: 0.5rem;
}

.history__text {
	width: 100%;
	padding-top: 0.5rem;
}

.home-care__container {
	padding: 1.875rem 1.25rem;
}

.home-care__head {
	flex-direction: column;
	gap: 1.25rem;
	padding-inline: 0rem;
}

.home-care__section {
	padding: 1.5rem 1.25rem;
}

.home-care__section-body {
	flex-direction: column;
	gap: 1.25rem;
	padding-top: 1.875rem;
	margin-top: 1.25rem;
}

.home-care__section-img {
	flex: 0 0 100%;
}

.home-care__section-content {
	flex: 0 0 auto;
}

.home-care__content-wrap {
	padding-left: 0;
}

.home-care__content-text.text-s {
	font-size: 0.875rem;
}

.home-care__content-heading {
	font-size: 0.875rem;
}

.home-customers__container {
	grid-template-columns: repeat(auto-fill, minmax(13.75rem, 1fr));
	gap: 1rem;
	padding: 1.25rem;
	border-radius: 0.625rem;
}

.home-customers__card {
	padding: 1rem;
	border-radius: 0.625rem;
}

.home-customers__card-img {
	clip-path: inset(0 round 0.375rem);
}

.home-customers__card-content {
	gap: 0.5em;
}

.home-customers__card-title {
	font-size: 1rem;
}

.house {
	--radius: calc(10 * var(--rem));
	--radius-small: calc(8 * var(--rem));
}

.house__container {
	padding-block: 1.875rem 2.5rem;
	padding-inline: 1.25rem;
}

.house__section {
	grid-template-columns: 1fr;
	grid-template-areas: "body" "img" "maker";
	gap: 1.5rem 1.25rem;
	padding: 1.25rem;
}

.house__section:has(.house__section-images) {
	grid-template-areas: "body" "img" "images" "maker";
}

.house__section-body {
	gap: 1.25rem;
}

.house__section-images {
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	margin-top: -0.5rem;
}

.household__container {
	gap: 2.5rem;
}

.household__block {
	gap: 2rem;
	padding-block: 1.875rem 2.5rem;
	padding-inline: 1.25rem;
	border-radius: 0.625rem;
}

.household__cards {
	grid-template-columns: 1fr;
}

.household__mycon {
	grid-template-columns: 1fr;
	grid-template-areas: "title" "img" "text" "button";
}

.household__mycon-button {
	margin-top: 2rem;
	text-align: center;
}

.household__mycon-img {
	margin-top: 1.25rem;
}

.household__mycon-img img {
	aspect-ratio: 295/180;
}

.household__monitor-top {
	grid-template-columns: 1fr;
	grid-template-areas: "title" "text" "illust";
}

.household__monitor-cards {
	grid-template-columns: 1fr;
	gap: 1.5rem;
	margin-top: 1.5rem;
	padding-inline: 1rem;
}

.household__monitor-card-label {
	font-size: 0.75rem;
	padding: 0.1875rem 0.625rem;
}

.household__column {
	grid-template-columns: 1fr;
}

.household__alarms {
	grid-template-columns: 1fr;
}

.household__alarm {
	padding-block: 0 1.25rem;
	padding-right: 0.75rem;
	border-right: none;
	border-bottom: 1px solid var(--light-gray);
}

.household__alarm-button {
	margin-top: initial;
}

.household__cta {
	margin-top: 4.375rem;
	padding-block: 3.125rem;
}

.household__cta::before {
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

.household__cta-head {
	font-size: 1.25rem;
}

.household__cta-head::before,
.household__cta-head::after {
	width: 1.5rem;
}

.household__cta-head::before {
	left: -1.2em;
	rotate: 70deg;
}

.household__cta-head::after {
	right: -1.2em;
	rotate: -70deg;
}

.household__cta-buttons {
	grid-template-columns: minmax(0, 450px);
	gap: 1.5rem;
	margin-top: 2rem;
}

.household__cta-button {
	--icon-size: calc(28 * var(--em));
	--arrow-size: calc(14 * var(--em));
	padding-inline: 1em;
	border-width: 0.1875rem;
}

.household__cta-button__title {
	font-size: 1.125rem;
	line-height: 1.4;
}

.icon-button {
	gap: 0.8125rem;
}

.icon-button--red {
	gap: 0.625rem;
	padding-inline: 1.6875rem 1.125rem;
}

.icon-title-small {
	gap: 0.5rem;
}

.icon-title-small__icon {
	width: 1.375rem;
}

.icon-title-small__title {
	font-size: 1.125rem;
	line-height: 1.2;
}

.icon-title {
	gap: 0.25rem;
}

.icon-title__icon {
	width: 2.25rem;
}

.icon-title__title {
	font-size: 1.3125rem;
	line-height: 1.2;
}

.industrial-equipment__section {
	gap: 2rem;
	padding-block: 1.875rem 2.5rem;
	padding-inline: 1.25rem;
	border-radius: 0.625rem;
}

.links-title {
	gap: 0.625rem;
}

.links-title__en {
	font-size: 1.75rem;
}

.links-title__ja {
	font-size: 1rem;
	line-height: 1.2;
}

.maker-block {
	gap: 1.25rem;
	padding-inline: 1.25rem;
}

.maker-block__title span {
	display: block;
	margin-top: 0.25rem;
}

.medical-devices__container {
	padding: 1.25rem 1rem;
}

.medical-devices__title {
	padding-block: 0;
	word-break: keep-all;
}

.medical-devices__section {
	padding: 1.5rem 1rem;
}

.medical-devices__mix-title {
	padding-block: 0;
}

.medical-devices__section-container {
	flex-direction: column;
	gap: 1.25rem;
}

.medical-devices__section-img {
	flex: 0 0 auto;
}

.medical-devices__section-body {
	flex: 0 0 auto;
	gap: 1.5rem;
}

.medical-devices__note-title {
	padding-block: 0;
}

.medical-devices__note-title .dot-title__title {
	font-size: 1rem;
}

.medical-devices__note-list {
	padding-left: 0;
	gap: 1rem;
}

.medical-devices__note-text {
	font-size: 0.875rem;
}

.medical-devices__detail {
	margin-top: 3.125rem;
}

.medical-devices__detail-header {
	grid-template-columns: 1fr auto;
	grid-template-areas: "title status";
	padding-block: 1.25rem;
}

.medical-devices__detail-body {
	padding-block: 1.875rem;
	padding-inline: 1.25rem;
}

.medical-devices__detail-head .dot-title__title {
	font-size: 1rem;
}

.medical-devices__detail-list {
	grid-template-columns: 1fr;
}

.medical-devices__detail-term.text-s {
	padding-inline: 1rem;
	font-size: 0.875rem;
	background-color: var(--bg-light-gray);
}

.medical-devices__detail-desc.text-s {
	padding-inline: 1rem;
	border-left: none;
	border-top: 1px solid var(--border-gray);
	font-size: 0.875rem;
}

.medical-devices__download a {
	width: min(100%, 380px);
}

.medical-devices__service-items {
	padding-inline: 0rem;
	margin-top: 1.25rem;
}

.medical-devices__service-item {
	flex-direction: column;
	padding-top: 0.625rem;
	padding-right: 0;
}

.medical-devices__service-item + .medical-devices__service-item {
	margin-top: 1rem;
}

.medical-devices__service-number {
	flex: 0 0 3.75rem;
}

.medical-devices__service-content {
	padding-top: 1.25rem;
	padding-inline: 1rem;
}

.medical-devices__service-content::before {
	left: 50%;
	translate: -50% 0;
	width: 90%;
	height: 1px;
}

.medical-devices__service-heading.text-m {
	text-align: center;
}

.medical-devices__service-text.text-s {
	margin-top: 1.25rem;
}

.medical-devices__section.medical-devices__section--narrow-pt {
	padding-top: 1.25rem;
}

.medical-devices__reason-items {
	grid-template-columns: 1fr;
	padding-inline: 0rem;
	margin-top: 1.25rem;
}

.medical-devices__reason-item + .medical-devices__reason-item {
	margin-top: 1.25rem;
}

.medical-devices__reason-heading {
	padding-bottom: 0.625rem;
}

.medical-devices__reason-text {
	padding-top: 0.625rem;
}

.medical-devices__consultation-text.text-s {
	padding-left: 0;
	margin-top: 1.25rem;
}

.medical-devices__info {
	flex-direction: column;
	align-items: start;
	margin-left: initial;
	padding-inline: 1.25rem;
	width: 100%;
}

.medical-devices__info__term::before {
	width: 0.3125rem;
}

.menu-item {
	flex-direction: column;
	gap: 0.5rem;
}

.menu-item.menu-item--center {
	align-items: flex-start;
}

.menu-item + .menu-item {
	margin-top: 1.875rem;
}

.menu-item__title-wrap {
	flex: 0 1 100%;
	width: -moz-fit-content;
	width: fit-content;
}

.menu-item__title {
	font-size: 0.875rem;
	padding: 0.625rem;
	min-width: 6.25rem;
}

.menu-item__text {
	font-size: 0.875rem;
}

.mission__text {
	font-size: 1.125rem;
	line-height: 1.8;
	letter-spacing: 0em;
	margin-top: 2.5rem;
}

.mix-title__ja {
	line-height: 1.2;
}

.modal {
	max-width: 31.25rem;
	margin-inline: auto;
}

.modal__body {
	padding-inline: 1rem;
}

.modal__heading.title {
	font-size: 1.375rem;
	padding-block: 0rem;
}

.modal__description.text-m {
	font-size: 1rem;
	line-height: 1.8;
}

.modal__question {
	font-size: 1.125rem;
	margin-top: 2rem;
}

.modal__buttons {
	gap: 1.25rem;
}

.modal__link {
	padding-block: 0.625rem;
}

.news__item:first-child .news__item-link {
	padding: 0 3rem 1.5rem 1.25rem;
}

.news__item:not(:first-child) .news__item-link {
	padding: 1.5rem 3rem 1.5rem 1.25rem;
}

.news__item-link::after {
	right: 1.25rem;
}

.notice-button {
	padding: 0.75rem;
}

.notice-button--line::before {
	width: 1.25rem;
}

.notice-button--mail::before {
	width: 1.25rem;
}

.number-title-small__number {
	top: 0.65lh;
	font-size: 1.25rem;
}

.number-title-small__title {
	font-size: 1.25rem;
}

.number-title {
	gap: 0.625rem;
}

.number-title__number {
	font-size: 1.5rem;
}

.number-title__title {
	font-size: 1.5rem;
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.office-container__title {
	padding-block: 0;
}

.office-container__body {
	padding: 1.25rem 1rem;
}

.office-container__group-items .office-container__body {
	width: 100%;
}

.office-container__box {
	flex-direction: column;
	gap: 1rem;
}

.office-container__img {
	width: 100%;
	flex: 0 0 auto;
}

.office-container__box-content {
	width: 100%;
}

.office-container__box-title {
	font-size: 1.125rem;
}

.office-container__content-items {
	margin-top: 1rem;
}

.office-container__content-item {
	padding-block: 0.25rem;
}

.office-container__content-item + .office-container__content-item {
	margin-top: 0.25rem;
}

.office-container__item-heading {
	font-size: 0.875rem;
	line-height: 1.3;
}

.office-container__item-text {
	font-size: 0.875rem;
	line-height: 1.3;
}

.office-container__map {
	width: 100%;
}

.office-container__map iframe {
	aspect-ratio: 4/3;
}

.office-container__department {
	grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
	-moz-column-gap: 0rem;
	column-gap: 0rem;
	row-gap: 1.5rem;
}

.office-container__department-name {
	font-size: 1rem;
	line-height: 1.3;
}

.office-container__contact-items {
	margin-top: 0.5rem;
}

.office-container__contact-item {
	flex-direction: column;
	gap: 0;
}

.office-container__contact-heading,
.office-container__contact-number {
	font-size: 0.875rem;
}

.office-container__contact-heading {
	width: -moz-fit-content;
	width: fit-content;
}

.office-container__box-related {
	flex-direction: column;
}

.office-container__content-related {
	width: 100%;
}

.office-container__wrapper-related {
	flex-direction: column;
}

.office-container__map-related {
	width: 100%;
}

.office-container__map-related iframe {
	aspect-ratio: 4/3;
}

.office-container__group-items .office-container__map-related iframe {
	aspect-ratio: 4/3;
}

.office-container__group-items {
	flex-direction: column;
}

.office__container {
	padding: 1.875rem 0.625rem;
}

.oil-products__block .common-block {
	padding-inline: 1.25rem;
}

.oil-products__container {
	padding: 1.875rem 1.25rem;
}

.oil-products__items {
	flex-direction: column;
	gap: 1.25rem;
}

.oil-products__item {
	padding: 1.25rem 1rem;
	width: 100%;
}

.oil-products__item-content {
	padding-inline: 0.625rem;
}

.oil-products__item-text {
	font-size: 0.875rem;
}

.oil-products__item-text span {
	font-size: 0.75rem;
}

.oil-products__subscription {
	flex-direction: column;
}

.oil-products__subscription-content {
	padding: 1.25rem 1rem;
	width: 100%;
}

.oil-products__content-body {
	margin-top: 0.625rem;
}

.oil-products__content-text.text-s {
	font-size: 0.875rem;
}

.oil-products__content-text span {
	display: block;
	font-size: 0.75rem;
}

.oil-products__subscription-button {
	width: 100%;
}

.oil-products__button-img {
	max-width: 6.25rem;
}

.oil-products__button-text {
	font-size: 1.25rem;
	padding-right: 1.875rem;
}

.oil-products__button-text::before {
	width: 1.5rem;
}

.oil-products__attention {
	padding: 1.5625rem 1.25rem;
}

.oil-products__attention-text {
	padding-inline: 0;
}

.oil-products__section {
	flex-direction: column;
	gap: 1.25rem;
	padding: 1.5625rem 1.25rem;
}

.oil-products__section-text.text-s {
	margin-top: 1rem;
}

.oil-products__section-img {
	flex: 0 0 auto;
}

.outline__row {
	flex-direction: column;
	gap: 0;
}

.outline__items:first-child {
	width: 100%;
}

.outline__items:last-child {
	width: 100%;
}

.outline__item {
	flex-direction: column;
	gap: 0.3125rem;
}

.outline__items:first-child .outline__item-heading {
	flex: 0 0 auto;
}

.outline__items:last-child .outline__item-heading {
	flex: 0 0 auto;
}

.outline__list {
	margin-left: initial;
}

.outline__list-item {
	flex-direction: column;
	gap: 0.5rem;
}

.outline__list-content {
	flex: 0 0 auto;
}

.outline__list-content.outline__list-content--organization {
	flex: 0 0 auto;
}

.outline__certified-wrap {
	grid-template-columns: 1fr;
	grid-template-areas: "title" "img" "text";
	gap: 1rem;
}

.outline__certified-title.text-outline-h {
	text-align: center;
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.outline__certified-img {
	height: 8.25rem;
}

.page-404__gradation1 {
	top: -24%;
	left: -32%;
	width: min(100%, 37.5rem);
}

.page-404__gradation2 {
	top: calc(50% - min(160 / var(--vw), 320px));
	right: calc(50% - min(340 / var(--vw), 800px));
	width: min(110%, 50rem);
}

.page-404__gradation3 {
	bottom: calc(50% - min(460 / var(--vw), 500px));
	left: -24%;
	width: min(80%, 28.75rem);
}

.page-404__title {
	font-size: 2rem;
}

.page-404__text {
	margin-top: 2rem;
	font-size: 0.9375rem;
}

.page-404__button {
	margin-top: 3rem;
}

.wp-pagenavi {
	gap: 0.75rem;
}

.previouspostslink {
	margin-right: 0.5rem !important;
}

.nextpostslink {
	margin-left: 0.5rem !important;
}

.plan__container {
	padding-inline: 1.25rem;
}

.plan__summary {
	padding-block: 1.5rem 1.25rem;
}

.plan__item-title {
	line-height: 1.2;
}

.privacy {
	gap: 0.625rem;
	padding-block: 1.25rem 1.875rem;
	padding-inline: 1rem;
	border-radius: 0.625rem;
}

.privacy h2 {
	font-size: 1.5rem;
}

.privacy h3 {
	font-size: 1.25rem;
}

.privacy p {
	font-size: 1rem;
}

.privacy li {
	font-size: 0.875rem;
}

.privacy li::before {
	width: 0.3125rem;
}

.products-section {
	padding-bottom: 5rem;
}

.products-section.products-section1 {
	margin-top: 3.75rem;
}

.products-section-top {
	padding-top: 5rem;
}

.products-section-top__content {
	padding: 1.875rem 1rem 1.25rem;
}

.products-section-top__title-en {
	font-size: 1rem;
}

.products-section-top__title-ja {
	margin-top: 0.5rem;
	font-size: 1.375rem;
	line-height: 1.4;
}

.products-section-top__list-container {
	margin-top: 1.25rem;
}

.products-section-top__list-container-text.text-s {
	margin-top: 1.25rem;
}

.products-section-top__list-item {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.625rem;
}

.products-section-top__list-item-title {
	padding: 0.5rem 1rem;
}

.products-section-main-block {
	margin-top: 3.75rem;
}

.products-section-main__content-cards {
	margin-top: 1.25rem;
	grid-template-columns: repeat(1, 1fr);
	gap: 2.5rem;
}

.products-section-main__content-card-content,
.products-section2-block__card-content {
	margin-top: 1rem;
}

.products-section-main__content-card-text,
.products-section2-block__card-text {
	font-size: 0.875rem;
}

.products-section-main__content-box {
	margin-top: 2.5rem;
	flex-direction: column;
	gap: 1.25rem;
	padding: 1.5rem 1.25rem;
}

.products-section-main__content-box-button {
	margin-inline: auto;
}

.products-section2-block__content {
	margin-top: 3.75rem;
}

.products-section2-block__content-items {
	grid-template-columns: repeat(1, 1fr);
	padding-bottom: 3.75rem;
}

.products-section2 {
	padding-top: 3.75rem;
}

.products-section2-top__title {
	font-size: 1.3125rem;
}

.products-section2-top__text {
	margin-top: 0.625rem;
}

.products-section2-top__list-container {
	margin-top: 1.125rem;
	gap: 0.625rem;
}

.products-section2-top__list-item {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.625rem;
}

.products-section2-top__list-item-title {
	padding: 0.5rem 1.25rem;
}

.products-section2-block__cards {
	margin-top: 3.75rem;
	grid-template-columns: repeat(1, 1fr);
	gap: 2.5rem;
}

.web-guide-section.reg-steps {
	padding: 1.25rem;
}

.reg-steps__tabs {
	margin-top: 2rem;
	gap: 0.375rem;
}

.reg-steps__tab {
	font-size: 1rem;
	padding: 1rem 1rem;
}

.reg-steps__tab span {
	display: none;
}

.reg-steps__tab span.reg-steps__tab-br {
	display: inline-block;
}

.arrow-button__text span {
	display: inline-block;
}

.reg-steps__panel {
	padding: 1.25rem;
}

.reg-steps__panel-button a.arrow-button {
	padding: 0.75rem;
}

.reg-steps__notice-buttons {
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}

.reg-steps__flyer {
	margin-top: 1.25rem;
	padding: 1.25rem;
}

.reg-steps__flyer-items {
	flex-direction: column;
}

.sds__description {
	font-size: 0.875rem;
}

.sds__note {
	font-size: 0.75rem;
}

.sds__table-header {
	font-size: 0.875rem;
}

.sds__table-cell {
	font-size: 0.875rem;
	line-height: 1.2;
}

.sds__table-cell:nth-child(1) {
	padding-block: 0.1875rem 0;
}

.sds__table-cell:nth-child(2) {
	padding-inline: 1.25rem;
}

.section-title {
	gap: 0.625rem;
}

.section-title__ja {
	gap: 0.3125rem;
	font-size: 0.875rem;
	line-height: 1.2;
}

.section-title__en {
	font-size: 3rem;
}

.side-links {
	flex-direction: row;
	width: 100%;
	top: initial;
	bottom: 0;
	gap: 0;
}

.side-links--hide-pc {
	display: flex;
}

.side-links__list {
	padding: 0.5rem 0.375rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	width: 62%;
	border-radius: 0;
}

.side-links__item {
	padding: 0.125rem 0.75rem;
}

.side-links__item:not(:first-child) {
	border-top: none;
	border-left: 1px solid var(--red);
}

.side-links__item a {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	align-items: center;
	gap: 0.5em;
}

.side-links__img {
	flex-shrink: 0;
	width: 1.5rem;
	margin-top: 0.25rem;
	margin-inline: 0;
}

.side-links__img.side-links__img--contact {
	margin-top: 0.25rem;
	width: 1.125rem;
}

.side-links__label {
	font-size: 0.625rem;
}

.side-links__label--contact {
	flex-direction: row;
	flex-wrap: wrap;
	-moz-column-gap: 1em;
	column-gap: 1em;
	justify-content: center;
}

.side-links__contact {
	flex: 1;
}

.side-links__contact-link {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: center;
	gap: 1em;
	padding: 0.5rem 1.25rem;
	border-radius: 0;
	height: 100%;
}

.single-news-main,
.single-case-main {
	margin-top: 2.5rem;
}

.single-news__content,
.single-case__content {
	padding: 2.5rem 1.25rem;
}

.single-news__content-main,
.single-case__content-main {
	margin-top: 1.25rem;
}

.single-title,
.single-news__content-main h1,
.single-case__content-main h1 {
	font-size: 1.5rem;
	line-height: 1.4;
	margin-bottom: 1.5rem;
}

.single-news__content-main h2,
.single-case__content-main h2 {
	font-size: 1.5rem;
	line-height: 1.4;
	margin-block: 2.5rem 1rem;
	padding-block: 1rem;
}

.single-news__content-main h3,
.single-case__content-main h3 {
	font-size: 1.25rem;
	line-height: 1.4;
	padding-left: 1rem;
	margin-block: 0.5rem;
}

.single-news__content-main h3::before,
.single-case__content-main h3::before {
	top: 0.75rem;
}

.single-news__content-main h4,
.single-case__content-main h4 {
	margin-block: 0.5rem;
	font-size: 1.25rem;
	line-height: 1.4;
}

.single-news__content-main .wp-block-table,
.single-case__content-main .wp-block-table {
	margin-bottom: 0.5rem;
}

.single-news__content-main .wp-block-image,
.single-case__content-main .wp-block-image {
	margin-block: 2.5rem;
}

.single-news__content-main .wp-block-video,
.single-case__content-main .wp-block-video {
	margin-block: 2.5rem;
}

.single-news__content-main .wp-block-embed,
.single-case__content-main .wp-block-embed {
	margin-block: 2.5rem;
}

.single-news__content-main .wp-block-button,
.single-case__content-main .wp-block-button {
	margin-top: 1.25rem;
}

.single-news__navigation,
.single-case__navigation {
	margin-top: 1.25rem;
	grid-template-columns: repeat(1, 1fr);
}

.single-news__nav-prev-link,
.single-news__nav-next-link,
.single-case__nav-prev-link,
.single-case__nav-next-link {
	max-width: 22.375rem;
}

.single-news__nav-prev-link,
.single-case__nav-prev-link {
	margin-inline: auto;
}

.single-news__nav-next-link,
.single-case__nav-next-link {
	margin-inline: auto;
}

.single-mt45 {
	margin-top: 1.5rem;
}

.site-map {
	margin-top: 2.5rem;
}

.site-map__items {
	gap: 2.5rem;
}

.site-map__other {
	margin-top: 3.75rem;
}

.site-map__buttons {
	margin-top: 3.125rem;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.5rem;
}

.sub-fv__bg {
	height: 13.75rem;
}

.sub-fv__bg img {
	--radius: calc(20 * var(--rem));
	aspect-ratio: 375/220;
}

.sub-fv__bg.sub-fv__bg--large {
	height: 22.5rem;
}

.sub-fv__inner.inner {
	bottom: 2.5rem;
}

.sub-fv__title {
	gap: 0.625rem;
}

.sub-fv__title-en {
	font-size: 0.75rem;
}

.sub-fv__title-ja {
	font-size: 1.75rem;
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.sub-fv__text {
	margin-top: 1.25rem;
	font-size: 1.125rem;
}

.symbol__title-wrap::after {
	translate: 0 0.75rem;
}

.symbol__title-wrap {
	gap: 1.25rem;
}

.symbol__container {
	flex-direction: column-reverse;
	gap: 1.25rem;
}

.symbol__text {
	padding-top: 0;
}

.symbol__img {
	flex: 0 0 auto;
	max-width: 11.75rem;
	margin-inline: auto;
}

.table-area {
	overflow-x: scroll;
}

.table-area__table {
	min-width: 43.75rem;
}

.table-area__table-cell {
	font-size: 0.875rem;
	padding: 1rem;
}

.top-business {
	--card-height: min(400 / var(--vw), 400 * var(--rem));
	padding-bottom: calc(90px + var(--offset));
}

.top-business__header {
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
}

.top-business__cards {
	margin-top: 60px;
}

.top-business__card-wrap.is-released + .top-business__card-wrap {
	margin-top: 2.5rem;
}

.top-business__card {
	--offset: 15px;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr auto;
}

.top-business__card-tag {
	padding-block: 0.375rem;
	min-width: 8.75rem;
	min-height: 2.5rem;
	font-size: 0.75rem;
}

.top-business__card-body {
	--left: minmax(30px, 1fr);
	--right: var(--left);
	align-items: center;
	row-gap: 1.5rem;
	padding-block: 3.5rem 1.875rem;
	height: 100%;
}

.top-business__card-title {
	gap: 0.625rem;
	font-size: 1.5rem;
}

.top-business__card-title::before {
	font-size: 1.875rem;
}

.top-business__card-text {
	font-size: 0.9375rem;
}

.top-business__card-link {
	font-size: var(--base-font-rem-s);
}

.top-business__card-link::after {
	width: 0.3125rem;
}

.top-business__card-img img {
	aspect-ratio: 3/2;
}

.top-case {
	--top-case-slide-width: calc(335 * var(--rem));
	--padding-block: calc(70 * var(--rem));
}

.top-case::after {
	--radius: calc(40 * var(--rem));
}

.top-case__container {
	display: flex;
	flex-direction: column;
}

.top-case__header {
	display: contents;
}

.top-case__button {
	order: 1;
	margin-top: 3.125rem;
	margin-left: auto;
}

.top-case__track {
	margin-top: 2.5rem;
	margin-left: initial;
}

.top-case__slider-bottom {
	gap: 1.25rem;
}

.top-case__slider-controls {
	gap: 1rem;
}

.top-case__slider-count {
	gap: 1.5rem;
}

.top-case__slider-count::before {
	left: calc(50% - 0.125rem);
	width: 1rem;
}

.top-case__slider-count span {
	min-width: calc(25 * var(--em));
	font-size: 1rem;
}

.top-challenge__cards {
	margin-top: 3.125rem;
}

.top-challenge__cards {
	grid-template-columns: 1fr;
}

.top-company__container {
	grid-template-columns: 1fr;
	grid-template-rows: initial;
	grid-template-areas: "title" "list" "images";
}

.top-company__list {
	margin-top: 1.875rem;
	max-width: 25rem;
}

.top-company__link-text::after {
	width: 0.3125rem;
}

.top-company__images {
	margin-top: 3.125rem;
}

.top-company__img1 {
	margin-left: auto;
	width: min(100%, 30rem);
}

.top-customers__list {
	grid-template-columns: 1fr;
	gap: 0.625rem;
	margin-top: 1.875rem;
}

.top-emergency__list {
	grid-template-columns: repeat(auto-fit, minmax(9.875rem, 1fr));
	grid-template-rows: 1fr 1.5fr;
	gap: 1rem;
}

.top-links {
	--radius: calc(50*var(--rem));
}

.top-links__container {
	grid-template-columns: 1fr;
	margin-top: 3.125rem;
}

.top-links__customers {
	padding-block: 3.125rem;
	padding-inline: 1.25rem;
}

.top-links__contact {
	padding-block: 3.125rem;
	padding-inline: 1.25rem;
	border-top: 1px solid var(--base-color);
}

.top-links__contact::before {
	content: none;
}

.top-links__button {
	margin-top: 1.875rem;
	width: min(100%, 25rem);
}

.top-news {
	--padding-block: calc(60 * var(--rem));
}

.top-news::after {
	--radius: calc(40 * var(--rem));
}

.top-news__container {
	grid-template-columns: 1fr;
	grid-template-rows: unset;
	grid-template-areas: "title" "category" "news" "button";
}

.top-news__category {
	margin-top: initial;
}

.top-news__items {
	padding-top: initial;
}

.top-recruit {
	--radius: calc(50*var(--rem));
	padding-top: 10rem;
}

.top-recruit__inner {
	--left: minmax(var(--padding-sp), 1fr);
	--right: minmax(var(--padding-sp), 1fr);
	--content: minmax(0, 560px);
	grid-template-columns: var(--left) var(--content) var(--right);
	gap: 0;
}

.top-recruit__content {
	grid-row: initial;
}

.top-recruit__text {
	margin-top: 2rem;
	font-size: 1rem;
	line-height: 2.4;
}

.top-recruit__button {
	margin-top: 2.5rem;
	text-align: center;
}

.top-recruit__img1 {
	grid-column-start: 2;
	margin-top: 3.75rem;
	margin-left: 12%;
	width: 64%;
}

.top-recruit__img1 img {
	border-radius: 0.625rem;
}

.top-recruit__img-wrap {
	grid-column: 2/3;
	grid-row: 5/6;
	margin-top: 3rem;
}

.top-recruit__img2 {
	width: 45%;
}

.top-recruit__img2 img {
	border-radius: 0.625rem;
}

.top-recruit__catchphrase {
	width: 100%;
	bottom: -1.5rem;
	left: 50%;
	translate: -50%;
}

.top-recruit__img3 {
	grid-column: 2/3;
	grid-row: 5/6;
	margin-top: 1.25rem;
	margin-right: -1.5rem;
	width: 54%;
}

.top-recruit__img3 img {
	border-radius: 0.625rem;
}

.top-recruit__gradation1 {
	left: calc(50% - min(370 / var(--vw), 520px));
	width: min(130.7692307692%, 510px);
}

.top-recruit__gradation2 {
	top: 60%;
	left: calc(50% - min(160 / var(--vw), 160px));
	width: min(112.8205128205%, 540px);
}

.top-statement__gradation1 {
	top: -10%;
	left: calc(50% - 300 / var(--vw));
	width: min(100%, 37.5rem);
}

.top-statement__gradation2 {
	top: 38%;
	right: -15%;
}

.top-statement__gradation3 {
	bottom: -16%;
	left: calc(50% - min(260 / var(--vw), 450px));
	width: min(80%, 20rem);
}

.top-statement__inner {
	--left: minmax(var(--padding-sp), 1fr);
	--right: minmax(var(--padding-sp), 1fr);
	--content: minmax(0, 540px);
}

.top-statement__container {
	grid-template-columns: 1fr;
	grid-template-areas: "texts" "img1" "img2";
	gap: 2rem;
}

.top-statement__texts {
	margin-top: 2.5rem;
	margin-inline: -0.5em;
	font-size: 0.875rem;
	text-align: center;
}

.top-statement__text-title {
	font-size: 1.375rem;
}

.top-statement__img1 {
	margin-top: 3.125rem;
	width: 59.7014925373%;
}

.top-statement__img1 img {
	border-radius: 0.625rem;
}

.top-statement__img2 {
	width: 53.7313432836%;
}

.top-statement__img2 img {
	border-radius: 0.625rem;
}

.top-topics {
	--swiper-navigation-size: 40;
	--swiper-slide-width: calc(260 * var(--rem));
	--radius: calc(50 * var(--rem));
}

.top-topics__loop-text {
	font-size: 6.25rem;
}

.top-topics__header {
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
}

.top-topics__slider {
	margin-top: 3.125rem;
}

.vision__item {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.625rem;
	font-size: var(--base-font-size-s);
	line-height: 1.3;
}

.vision__item span {
	font-size: 2rem;
}

.web-guide {
	margin-top: 4rem;
}

.web-guide-contact__content {
	flex-direction: column;
	gap: 1.5rem;
}

.web-guide-contact__info {
	max-width: 100%;
}

.web-guide-contact__office,
.web-guide-contact__tel {
	padding: 0.75rem 0.875rem;
}

.web-guide-faq.web-guide-section {
	padding: 1.25rem 1.25rem;
}

.qa__summary {
	padding: 1rem 2rem 1rem 1rem;
}

.qa__ttl-button {
	right: 0.625rem;
}

.qa__ttl.text-s,
.qa__answer-content {
	padding-left: 2rem;
}

.qa__answer-content {
	flex-direction: column;
	gap: 1.25rem;
}

.qa__answer-content-images {
	margin-inline: auto;
}

.qa__answer-content-images.qa__answer-content-images--flex {
	flex-direction: column;
}

.qa__texts::before {
	top: 0.3125rem;
}

.qa__ttl span {
	font-size: 1.25rem;
}

.qa__answer-inner {
	padding: 1rem 1.25rem 1rem;
}

.web-guide-register {
	padding: 1.25rem;
}

.web-guide-register__list {
	grid-template-columns: repeat(1, 1fr);
	gap: 2.5rem;
}

.web-guide-register__item {
	margin: 0 auto;
	max-width: 25rem;
}

.web-guide-register__item:not(:first-child)::before {
	top: -1.75rem;
	transform: translateY(0) translateX(-50%) rotate(90deg);
	left: 50%;
}

.web-guide-register__button a.arrow-button {
	padding: 0.75rem;
}

.web-guide-register__note {
	padding: 0.625rem 1.25rem;
}

.web-guide-register__item {
	margin: 0 auto;
	max-width: 25rem;
}

.web-guide-register__title-text {
	font-size: 1.25rem;
}

.web-guide-section {
	padding: 1.25rem;
}

.web-guide__container {
	gap: 1.25rem;
}

.web-guide-service__list {
	margin-top: 1.25rem;
	grid-template-columns: 1fr;
}

.web-guide-service__item {
	padding: 1.25rem;
}

.web-guide-service__item-texts {
	padding-inline: 0rem;
}

.web-guide-service__item-text2 {
	padding: 0.625rem 1.25rem;
	margin-block: 0.625rem;
}

.woodpellet__container {
	padding: 1.875rem 1.25rem;
}

.woodpellet__title {
	padding-block: 0;
}

.woodpellet__item {
	flex-direction: column;
	gap: 1.875rem;
	padding: 1.5rem 1.25rem;
	border-radius: 0.625rem;
}

.woodpellet__item-img {
	flex: 0 0 auto;
}

.woodpellet__body-text {
	margin-top: 0;
}

.woodpellet__sales-wrapper {
	padding: 1.5625rem 1.25rem;
}

.woodpellet__sales-item-text.text-s {
	font-size: 0.875rem;
}

.woodpellet__sales-item-text span {
	font-size: 0.75rem;
}

.woodpellet__sales-item-content {
	padding-inline: 0;
}

.woodpellet__price-content {
	padding-inline: 0;
}

.woodpellet__price-table-wrap {
	overflow-x: scroll;
}

.woodpellet__price-table {
	min-width: 31.25rem;
}

.bullet::before {
	width: 0.3125rem;
}

.pc-only {
	display: none;
}

.sp-only {
	display: block;
}

.title {
	font-size: 1.5rem;
}

.title-s {
	font-size: 1.125rem;
}

}

@media (max-width: 767px) {

a[href^="tel:"] {
	pointer-events: auto;
}

}

@media screen and (any-hover: hover) and (max-width: 767px) {

.news__item-link:hover::after {
	right: 0.625rem;
}

}

@media screen and (max-width: 559px) {

.facility__contact-content.facility__contact-content--list {
	flex-direction: column;
}

}

@media screen and (max-width: 500px) {

.nav-menu__list {
	flex-direction: column;
	row-gap: 0rem;
}

}

@media screen and (max-width: 410px) {

.mission__text-br {
	display: none;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

.web-guide-contact__table-wrap {
	overflow-x: auto;
	width: 100%;
}

.web-guide-contact__office,
.web-guide-contact__tel {
	white-space: nowrap;
}

}

@keyframes swing {

20% {
	transform: rotate(15deg);
}

40% {
	transform: rotate(-10deg);
}

60% {
	transform: rotate(5deg);
}

80% {
	transform: rotate(-5deg);
}

100% {
	transform: rotate(0deg);
}

}

@keyframes furufuru {

0% {
	rotate: 6deg;
}

100% {
	rotate: -6deg;
}

}

@keyframes fadeIn {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@keyframes center-rotate {

from {
	rotate: 180deg;
}

to {
	rotate: 0deg;
}

}

@keyframes centerIn {

to {
	top: var(--top);
	left: var(--left);
	translate: -50% -50%;
	scale: 1;
}

}

@keyframes visibleIn {

from {
	opacity: 0;
}

to {
	opacity: var(--opacity);
}

}

@keyframes fadeIn {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@keyframes scroll {

0% {
	transform: translateY(0);
	opacity: 0;
}

1% {
	opacity: 1;
}

50% {
	opacity: 1;
}

100% {
	transform: translateY(6.875rem);
	opacity: 0;
}

}

@keyframes fade {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@keyframes copy-rotate {

from {
	rotate: 0deg;
}

to {
	rotate: 240deg;
}

}

@keyframes copy-scale {

from {
	scale: 0.4;
}

to {
	scale: 0.6;
}

}

@keyframes copy-move {

from {
	translate: -3% 1%;
}

to {
	translate: 3% -1%;
}

}

@keyframes copy-fade {

from {
	opacity: 0.2;
}

to {
	opacity: 1;
}

}

@keyframes loop-text {

0% {
	transform: translateX(0);
}

100% {
	transform: translateX(-100%);
}

}

