@font-face {
	font-display: swap;
	font-family: "noto sans japanese";
	font-style: normal;
	font-weight: 400;
	src: url("../font/NotoSansJP-Regular.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "noto sans japanese";
	font-style: normal;
	font-weight: 500;
	src: url("../font/NotoSansJP-Medium.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "noto sans japanese";
	font-style: normal;
	font-weight: 700;
	src: url("../font/NotoSansJP-Bold.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "zen kaku gothic new";
	font-style: normal;
	font-weight: 400;
	src: url("../font/ZenKakuGothicNew-Regular.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "zen kaku gothic new";
	font-style: normal;
	font-weight: 500;
	src: url("../font/ZenKakuGothicNew-Medium.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "zen kaku gothic new";
	font-style: normal;
	font-weight: 700;
	src: url("../font/ZenKakuGothicNew-Bold.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "zen old mincho";
	font-style: normal;
	font-weight: 400;
	src: url("../font/ZenOldMincho-Regular.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "zen old mincho";
	font-style: normal;
	font-weight: 500;
	src: url("../font/ZenOldMincho-Medium.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "zen old mincho";
	font-style: normal;
	font-weight: 700;
	src: url("../font/ZenOldMincho-Bold.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "poppins";
	font-style: normal;
	font-weight: 400;
	src: url("../font/Poppins-Regular.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "poppins";
	font-style: normal;
	font-weight: 500;
	src: url("../font/Poppins-Medium.woff") format("woff");
}

@font-face {
	font-display: swap;
	font-family: "poppins";
	font-style: normal;
	font-weight: 700;
	src: url("../font/Poppins-Bold.woff") format("woff");
}

:root {
	--gothic-font: "zen kaku gothic new", sans-serif;
	--mincho-font: "zen old mincho", sans-serif;
	--poppins-font: "poppins", sans-serif;
	--noto-font: "noto sans japanese", sans-serif;
}

:root {
	--regular: 400;
	--medium: 500;
	--bold: 700;
}

:root {
	--black: #383532;
	--black0: #000000;
	--black2: #333333;
	--white: #fff;
	--base: #383532;
	--blue: #008cd6;
	--light-blue: #e5f3fb;
	--green: #6ed893;
	--light-green: #f1fbf4;
	--red: #ff6676;
	--pink: #fff0f1;
	--gray: #f4f3ee;
	--gray2: #b4b4b4;
	--gold: #9c8e61;
}

body {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
}

main {
	overflow-x: clip;
}

.u-desktop {
	display: none;
}

.u-desktop-450 {
	display: none;
}

.u-desktop-500 {
	display: none;
}

.u-desktop-550 {
	display: none;
}

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

html {
	font-size: 16px;
}

/* pcの電話番号発信対応 */

/* ホバー */

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

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

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

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

body {
	word-wrap: anywhere;
}

/* Set core root defaults */

html {
	scroll-behavior: smooth;
	scroll-padding-top: 5rem;
}

/* Set core body defaults */

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeSpeed;
}

/* 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 {
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

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

article>*+* {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

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

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

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

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

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

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;
}

.about {
	background-color: #fff;
	background-color: var(--white);
	margin-top: 8.125rem;
	padding: 0 0 5rem;
	position: relative;
	z-index: 1;
}

.about::after {
	aspect-ratio: 1500/1007;
	background-image: url("../images/common/about-bg.webp");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	left: 52%;
	position: absolute;
	top: 1.0625rem;
	transform: translateX(-50%);
	width: 93.75rem;
	z-index: -1;
}

.about::before {
	aspect-ratio: 298/222;
	background-image: url(../images/common/about-bg-logo.webp);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: -2.125rem;
	content: "";
	left: calc(50% - min(51.5vw, 45rem));
	position: absolute;
	width: 18.625rem;
	z-index: -1;
}

.about__heading {
	text-align: center;
}

.about__logo {
	margin-left: auto;
	margin-right: auto;
	max-width: 7.5rem;
	width: 100%;
}

.about__logo img {
	-o-object-fit: contain;
	aspect-ratio: 120/96;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.about__title {
	color: #008cd6;
	color: var(--blue);
	font-size: 1.25rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.about__content {
	display: flex;
	flex-direction: column-reverse;
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.about__content-left {
	width: 100%;
}

.about__image {
	border-radius: 1.5rem;
	overflow: clip;
}

.about__image img {
	-o-object-fit: cover;
	aspect-ratio: 348/220;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.about__caption {
	margin-top: 1rem;
	text-align: center;
}

.about__caption-company {
	color: #383532;
	color: var(--black);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.about__caption-title {
	color: #383532;
	color: var(--black);
	font-size: 1.125rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 0.25rem;
}

.about__texts {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
	width: 100%;
}

.about__text {
	color: #383532;
	color: var(--black);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 2;
}

.assistance {
	background-color: #fff;
	background-color: var(--white);
	margin-top: 5rem;
	position: relative;
}

.assistance-content {
	margin-top: 2.5rem;
	padding-bottom: 5rem;
	padding-top: 2.5rem;
	position: relative;
	z-index: 1;
}

.assistance-content::before {
	background-color: #ff6676;
	background-color: var(--red);
	border-radius: 5rem 0 0 5rem;
	content: "";
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: -1;
}

.assistance__main-header {
	text-align: center;
}

.assistance__main-subtitle {
	color: #383532;
	color: var(--black);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.assistance__main-title {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin-top: 0.5rem;
}

.assistance__main-description {
	color: #383532;
	color: var(--black);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 1rem;
}

.assistance__main-body {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.assistance__images {
	border-radius: 0 1.5rem 1.5rem 0;
	display: none;
	flex-shrink: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.assistance__image {
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity 0.4s ease;
	width: 100%;
}

.assistance__image.is-active {
	opacity: 1;
	position: relative;
}

.assistance__cards {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	width: 100%;
}

.assistance__card {
	background-color: #fff;
	background-color: var(--white);
	border-radius: 1rem;
	margin-top: 49.6vw;
	position: relative;
	transition: background-color 0.3s;
}

.assistance__card-image {
	border-radius: 0 1.5rem 1.5rem 0;
	left: 0;
	margin-left: calc(50% - 50vw);
	overflow: hidden;
	position: absolute;
	top: -49.6vw;
	width: 92.8vw;
	width: min(92.8vw, 650px);
	z-index: -1;
}

.assistance__card-image img {
	-o-object-fit: cover;
	aspect-ratio: 348/240;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.assistance__card-link {
	display: block;
	padding: 1.25rem;
}

.assistance__card-header {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.assistance__card-label {
	color: #ff6676;
	color: var(--red);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	line-height: 1.75;
	padding-left: 2rem;
	position: relative;
}

.assistance__card-label::before {
	background-color: #ff6676;
	background-color: var(--red);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
}

.assistance__card-number {
	color: #b4b4b4;
	color: var(--gray2);
	font-family: "poppins", sans-serif;
	font-family: var(--poppins-font);
	font-size: 1.25rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.assistance__card-title {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin-top: 0.5rem;
}

.assistance__card-content {
	display: grid;
	grid-template-rows: 1fr;
	margin-top: 1rem;
	transition: grid-template-rows 0.4s ease;
}

.assistance__card--01 .assistance__card-content {
	grid-template-rows: 1fr;
}

.assistance__card-content-inner {
	overflow: hidden;
}

.assistance__card-text {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.9375rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 1rem;
}

.assistance__card-arrow {
	display: block;
	height: 1.25rem;
	margin-left: auto;
	margin-top: 1rem;
	width: 1.25rem;
}

.birth-story-page__anchors {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 2.5rem;
}

.birth-story-page__anchor {
	align-items: center;
	background-color: #fff;
	background-color: var(--white);
	box-shadow: 0 0 1.25rem rgba(51, 51, 51, 0.2);
	color: #000000;
	color: var(--black0);
	display: flex;
	flex: 1;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.5;
	padding: 1.09375rem 3rem;
	position: relative;
	text-align: center;
	transition: background-color 0.3s, color 0.3s;
}

.birth-story-page__anchor::after {
	-webkit-mask-image: url(../images/common/arrow.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 1/1;
	background-color: #9c8e61;
	background-color: var(--gold);
	content: "";
	mask-image: url(../images/common/arrow.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	transition: background-color 0.3s;
	width: 1rem;
}

.birth-story-page__contents {
	display: flex;
	flex-direction: column;
	gap: 6.25rem;
	margin-top: 3.5rem;
}

.birth-story-page__body {
	margin-top: 2.5rem;
}

.birth-story-page__section+.birth-story-page__section {
	margin-top: 2.5rem;
}

.birth-story-page__section-main {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.birth-story-page__section-image-box {
	align-items: center;
	display: flex;
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.birth-story-page__section-image {
	width: 100%;
}

.birth-story-page__section-image img {
	-o-object-fit: cover;
	aspect-ratio: 320/240;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.birth-story-page__section-title {
	color: #000000;
	color: var(--black0);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.16em;
	line-height: 1.75;
}

.birth-story-page__section-title span {
	display: inline-block;
}

.birth-story-page__section-texts {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 0.5rem;
}

.future-breadcrumb {
	order: -2;
}

.future-breadcrumb__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	row-gap: 0.25rem;
}

.past-breadcrumb__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	row-gap: 0.25rem;
}

.future-breadcrumb__item,
.past-breadcrumb__list-item {
	align-items: center;
	display: flex;
	position: relative;
}

.future-breadcrumb__item:first-child .future-breadcrumb__link,
.past-breadcrumb__list-item:first-child .past-breadcrumb__list-link {
	padding-right: 0.5rem;
}

.future-breadcrumb__item:not(:first-child)::after,
.past-breadcrumb__list-item:not(:first-child)::after {
	content: "";
	height: 0.5rem;
	left: 0rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
}

.future-breadcrumb__item:not(:first-child)::after {
	background-color: #fff;
	background-color: var(--white);
}

.past-breadcrumb__list-item:not(:first-child)::after {
	background-color: #000000;
	background-color: var(--black0);
}

.future-breadcrumb__item:not(:first-child):not(:last-child) .future-breadcrumb__link,
.past-breadcrumb__list-item:not(:first-child):not(:last-child) .past-breadcrumb__list-link {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

.future-breadcrumb__item:last-child .future-breadcrumb__link,
.past-breadcrumb__list-item:last-child .past-breadcrumb__list-link {
	padding-left: 0.5rem;
}

.future-breadcrumb__link,
.past-breadcrumb__list-link {
	-webkit-text-decoration: underline;
	display: inline-block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.625rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.5;
	text-decoration: underline;
}

.future-breadcrumb__link {
	color: #fff;
	color: var(--white);
}

.future-breadcrumb__link {
	color: #000000;
	color: var(--black0);
}

.future-breadcrumb__link,
.past-breadcrumb__list-link {
	-webkit-text-decoration: underline;
	display: inline-block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.625rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.5;
	text-decoration: underline;
}

.future-breadcrumb__link {
	color: #fff;
	color: var(--white);
}

.past-breadcrumb__list-link {
	color: #000000;
	color: var(--black0);
}

.future-breadcrumb__link.future-breadcrumb__text,
.past-breadcrumb__list-link.past-breadcrumb__list-text {
	-webkit-text-decoration: none;
	text-decoration: none;
}

.button {
	background-color: #fff;
	background-color: var(--white);
	border-radius: 1.75rem;
	display: inline-block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.5;
	max-width: 17.625rem;
	padding: 1rem 3.75rem;
	position: relative;
	text-align: center;
	transition: background-color 0.3s, color 0.3s;
	width: 100%;
}

.button::before {
	-webkit-mask-image: url("../images/common/arrow-blue.svg");
	-webkit-mask-size: cover;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 20/20;
	content: "";
	mask-image: url("../images/common/arrow-blue.svg");
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: cover;
	position: absolute;
	right: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
	transition: background-color 0.3s;
	width: 1.25rem;
}

.button--blue {
	border: 1px solid #008cd6;
	border: 1px solid var(--blue);
	color: #008cd6;
	color: var(--blue);
}

.button--blue::before {
	background-color: #008cd6;
	background-color: var(--blue);
}

.button--green {
	border: 1px solid #6ed893;
	border: 1px solid var(--green);
	color: #6ed893;
	color: var(--green);
}

.button--green::before {
	background-color: #6ed893;
	background-color: var(--green);
}

.button--red {
	border: 1px solid #ff6676;
	border: 1px solid var(--red);
	color: #ff6676;
	color: var(--red);
}

.button--red::before {
	background-color: #ff6676;
	background-color: var(--red);
}

.challenge {
	padding: 5rem 0;
	position: relative;
}

.challenge::before {
	background-color: #008cd6;
	background-color: var(--blue);
	border-radius: 0 5rem 5rem 0;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.challenge__cards {
	grid-gap: 2.0625rem;
	display: grid;
	gap: 2.0625rem;
	grid-template-columns: repeat(1, 1fr);
	margin-top: 2.5rem;
}

.challenge__card {
	background-color: #fff;
	background-color: var(--white);
	border-radius: 1.5rem;
	box-shadow: 0 0.625rem 1.25rem rgba(0, 140, 214, 0.15);
	display: grid;
	grid-template-rows: auto 1fr;
	overflow: clip;
	position: relative;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.challenge__card-image {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.challenge__card-image::before {
	background-color: rgba(51, 51, 51, 0.4);
	content: "";
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity 0.3s;
	width: 100%;
	z-index: 1;
}

.challenge__card-image img {
	-o-object-fit: cover;
	aspect-ratio: 348/166;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
	width: 100%;
}

.challenge__card-overlay {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	left: 50%;
	padding: 1.5rem;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: 2;
}

.challenge__card-overlay-subtitle {
	color: #fff;
	color: var(--white);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.challenge__card-overlay-title {
	color: #fff;
	color: var(--white);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.75rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin-top: 0.5rem;
}

.challenge__card-content {
	background-color: #fff;
	background-color: var(--white);
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1rem;
	transition: background-color 0.3s;
}

.challenge__card-title {
	align-self: start;
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.challenge__card-title span {
	display: inline-block;
}

.challenge__card-text {
	color: #383532;
	color: var(--black);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 0.5rem;
}

.challenge__card-arrow {
	display: block;
	height: 1.25rem;
	margin-left: auto;
	margin-top: 0.5rem;
	width: 1.25rem;
}

.cta {
	background: url(../images/common/cta-bg.webp) no-repeat center center/cover;
	margin-top: 5rem;
	overflow-x: clip;
}

.cta.cta--future {
	margin-top: 5rem;
}

.cta__link {
	display: block;
	position: relative;
}

.cta__link::before {
	background-color: rgba(34, 29, 26, 0.6);
	content: "";
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: opacity 0.3s;
	width: 100%;
	z-index: 2;
}

.cta__inner.inner {
	padding-left: 24px;
	padding-right: 24px;
	position: relative;
}

.cta__content {
	display: flex;
	flex-direction: column;
}

.cta__text-block {
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
}

.cta__title {
	color: #383532;
	color: var(--black);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.75rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.cta__description {
	color: #383532;
	color: var(--black);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.5rem;
}

.cta__images {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0 calc(50% - 50vw);
	overflow: hidden;
	width: 100%;
	width: 100vw;
}

.cta__images-slider {
	overflow: hidden;
	width: 100%;
}

.cta__images-slider.cta__images-slider--03 {
	display: none;
}

.cta__images-slider .swiper-wrapper {
	transition-timing-function: linear;
}

.cta__image {
	width: 7.5rem;
}

.cta__image img {
	-o-object-fit: cover;
	aspect-ratio: 120/90;
	box-shadow: 0 0 1.25rem 0 rgba(51, 51, 51, 0.2);
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cta__images-slider .swiper-wrapper {
	gap: 0.5rem;
}

.cta__images-slider .swiper-slide {
	height: auto;
	width: auto;
}

.cta__button {
	bottom: 2.5rem;
	right: 2.5rem;
}

.footer {
	overflow-x: clip;
	padding-top: 5rem;
	position: relative;
}

.footer::before {
	aspect-ratio: 264/138;
	background-image: url(../images/common/footer-bg-sp-future.webp);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
	right: -1.5rem;
	top: 1rem;
	width: 16.5rem;
	z-index: -1;
}

.footer__logo {
	max-width: 15rem;
	width: 100%;
}

.footer__logo img {
	-o-object-fit: contain;
	aspect-ratio: 240/37;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.footer__nav {
	display: none;
}

.footer__nav-list {
	align-items: center;
	display: flex;
	gap: 2.5rem;
}

.footer__nav-link {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.5;
}

.footer__outside {
	margin-top: 2.5rem;
}

.footer__outside-links {
	grid-gap: 1rem 2.5rem;
	display: grid;
	gap: 1rem 2.5rem;
	grid-template-columns: repeat(1, 1fr);
}

.footer__outside-link-item {
	align-items: center;
	border: 0.0625rem solid transparent;
	border-radius: 1.75rem;
	box-shadow: 0 0 1.25rem 0 rgba(0, 140, 214, 0.15);
	display: flex;
	gap: 0.5rem;
	justify-content: space-between;
	padding: 0.66375rem 2rem;
	transition: border-color 0.3s;
}

.footer__outside-link-icon {
	display: block;
	height: 2.049375rem;
	position: relative;
	width: 2rem;
}

.footer__outside-link-icon::before {
	-webkit-mask-image: url(../images/common/circle-icon.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 32/32.79;
	content: "";
	left: 50%;
	mask-image: url(../images/common/circle-icon.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) rotate(0deg);
	transition: transform 0.3s;
	width: 100%;
}

.footer__outside-link-icon--blue::before {
	background-color: #008cd6;
	background-color: var(--blue);
}

.footer__outside-link-icon--green::before {
	background-color: #6ed893;
	background-color: var(--green);
}

.footer__outside-link-icon--red::before {
	background-color: #ff6676;
	background-color: var(--red);
}

.footer__outside-link-text {
	color: #383532;
	color: var(--black);
	display: inline-block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.5;
	padding-right: 1.5rem;
	position: relative;
}

.footer__outside-link-text::after {
	aspect-ratio: 14/14;
	background-image: url(../images/common/link-arrow.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
	right: 0rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.875rem;
}

.footer__banner-items {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 2.5rem;
}

.footer__banner-item {
	width: 100%;
}

.footer__banner-link {
	border-radius: 0.5rem;
	box-shadow: 0 0 1.25rem 0 transparent;
	display: block;
	overflow: hidden;
	transition: box-shadow 0.3s;
	width: 100%;
}

.footer__banner-link img {
	-o-object-fit: cover;
	aspect-ratio: 348/80;
	border-radius: 0.5rem;
	height: auto;
	object-fit: cover;
	overflow: hidden;
	width: 100%;
}

.footer__copyright {
	background-color: #008cd6;
	background-color: var(--blue);
	border-radius: 0 2.5rem 0 0;
	margin-top: 2.5rem;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
}

.footer__copyright-container {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.footer__copyright-nav-list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
}

.footer__copyright-nav-item {
	display: flex;
}

.footer__copyright-nav-link {
	color: #fff;
	color: var(--white);
	display: inline-block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.75rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.5;
	padding-right: 0.875rem;
	position: relative;
}

.footer__copyright-nav-link::after {
	-webkit-mask-image: url(../images/common/link-arrow.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 1/1;
	background-color: #fff;
	background-color: var(--white);
	content: "";
	mask-image: url(../images/common/link-arrow.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 0rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

.footer__copyright-nav-link span {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

.footer__copyright-text {
	color: #fff;
	color: var(--white);
	display: inline-block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.75rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.5;
}

.future-anchor-links {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.future-anchor-link {
	align-items: center;
	border: 0.0625rem solid transparent;
	border-bottom: 0.0625rem solid transparent;
	border-radius: 1.75rem;
	box-shadow: 0 0 1.25rem 0 rgba(88, 169, 116, 0.15);
	display: flex;
	gap: 0.5rem;
	justify-content: space-between;
	padding: 0.5rem 1.5rem;
	transition: background-color 0.3s, border 0.3s;
	width: 100%;
}

.future-anchor-link-icon {
	display: block;
	height: 2.5rem;
	position: relative;
	width: 2.5rem;
}

.future-anchor-link-icon::before {
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 40/40;
	background-color: #6ed893;
	background-color: var(--green);
	content: "";
	left: 50%;
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) rotate(0deg);
	transition: transform 0.3s;
	width: 100%;
}

.future-anchor-link-icon1::before {
	-webkit-mask-image: url(../images/common/sustainability-icon1.svg);
	mask-image: url(../images/common/sustainability-icon1.svg);
}

.future-anchor-link-icon2::before {
	-webkit-mask-image: url(../images/common/sustainability-icon2.svg);
	mask-image: url(../images/common/sustainability-icon2.svg);
}

.future-anchor-link-icon3::before {
	-webkit-mask-image: url(../images/common/sustainability-icon3.svg);
	mask-image: url(../images/common/sustainability-icon3.svg);
}

.future-anchor-link-icon4::before {
	-webkit-mask-image: url(../images/common/sustainability-icon4.svg);
	mask-image: url(../images/common/sustainability-icon4.svg);
}

.future-anchor-link-text {
	color: #383532;
	color: var(--black);
	display: inline-block;
	flex: 1;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
	padding-right: 1.375rem;
	position: relative;
}

.future-anchor-link-text::after {
	aspect-ratio: 14/14;
	background-image: url(../images/common/anchor-arrow.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
	right: 0rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.875rem;
}

.future-fv {
	border-radius: 0 0 5rem 0rem;
	padding-bottom: 5rem;
	padding-top: 1rem;
}

.future-fv--blue {
	background-color: #008cd6;
	background-color: var(--blue);
}

.future-fv--green {
	background-color: #6ed893;
	background-color: var(--green);
}

.future-fv--red {
	background-color: #ff6676;
	background-color: var(--red);
}

.future-fv__inner {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}

.future-fv__heading {
	margin-top: 2.5rem;
}

.future-head__label {
	color: #008cd6;
	color: var(--blue);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
	padding-left: 2.5rem;
	position: relative;
}

.future-head__label.future-head__label--green {
	color: #6ed893;
	color: var(--green);
}

.future-head__label.future-head__label--blue {
	color: #008cd6;
	color: var(--blue);
}

.future-head__label.future-head__label--red {
	color: #ff6676;
	color: var(--red);
}

.future-head__label::before {
	background-color: #008cd6;
	background-color: var(--blue);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
}

.future-head__label.future-head__label--green::before {
	background-color: #6ed893;
	background-color: var(--green);
}

.future-head__label.future-head__label--blue::before {
	background-color: #008cd6;
	background-color: var(--blue);
}

.future-head__label.future-head__label--red::before {
	background-color: #ff6676;
	background-color: var(--red);
}

.future-head__title {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 2rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin-top: 0.5rem;
}

.future-head__title-en {
	font-family: "poppins", sans-serif;
	font-family: var(--poppins-font);
	font-weight: 500;
	font-weight: var(--medium);
	text-transform: uppercase;
}

.future-head__title-br {
	display: inline-block;
}

.future-head__description {
	margin-top: 1.5rem;
}

.future-mv {
	overflow-x: clip;
	position: relative;
	z-index: 1;
}

.future-mv__icon {
	aspect-ratio: 770/750;
	position: absolute;
	right: calc(50% - min(64vw, 24rem));
	top: 71%;
	transform: translateY(-50%);
	width: min(85.3333333333vw, 550px);
	z-index: 2;
}

.future-mv__icon-svg {
	height: 100%;
	width: 100%;
}

.future-mv-ring {
	transform-origin: 385px 375px;
}

.future-mv-ring--1 {
	animation: futureMvRotateClockwise 30s linear infinite;
}

.future-mv-ring--2 {
	animation: futureMvRotateCounterClockwise 40s linear infinite;
}

.future-mv-ring--3 {
	animation: futureMvRotateClockwise 50s linear infinite;
}

.future-mv-ring--4 {
	animation: futureMvRotateCounterClockwise 60s linear infinite;
}

.future-mv-logo {
	transform-origin: 385px 375px;
}

.future-mv__bg {
	aspect-ratio: 353/508;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 0.875rem;
	transform: translateX(-50%);
	width: 22.0625rem;
	width: min(25rem, 94.1333333333vw);
	z-index: -1;
}

.future-mv__bg svg {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.future-mv__bg-svg {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.future-mv__bg-svg--pc {
	display: none;
}

.future-mv__bg-svg--sp {
	display: block;
}

.future-mv-bg-item--1 {
	animation: float1 6s ease-in-out infinite;
}

.future-mv-bg-item--2 {
	animation: float2 7s ease-in-out infinite;
	animation-delay: -1s;
}

.future-mv-bg-item--3 {
	animation: float3 5s ease-in-out infinite;
	animation-delay: -2s;
}

.future-mv-bg-item--4 {
	animation: float4 8s ease-in-out infinite;
	animation-delay: -0.5s;
}

.future-mv-bg-item--5 {
	animation: float5 6.5s ease-in-out infinite;
	animation-delay: -3s;
}

.future-mv-bg-item--6 {
	animation: float1 7.5s ease-in-out infinite;
	animation-delay: -1.5s;
}

.future-mv-bg-item--7 {
	animation: float2 5.5s ease-in-out infinite;
	animation-delay: -2.5s;
}

.future-mv-bg-item--8 {
	animation: float3 8.5s ease-in-out infinite;
	animation-delay: -0.8s;
}

.future-mv-bg-item--9 {
	animation: float4 6s ease-in-out infinite;
	animation-delay: -4s;
}

.future-mv-bg-item--10 {
	animation: float5 7s ease-in-out infinite;
	animation-delay: -1.2s;
}

.future-mv-bg-item--11 {
	animation: float1 5s ease-in-out infinite;
	animation-delay: -3.5s;
}

.future-mv-bg-item--12 {
	animation: float2 8s ease-in-out infinite;
	animation-delay: -2s;
}

.future-mv-bg-item--13 {
	animation: float3 6.5s ease-in-out infinite;
	animation-delay: -0.3s;
}

.future-mv-bg-item--14 {
	animation: float4 7.5s ease-in-out infinite;
	animation-delay: -1.8s;
}

.future-mv-bg-item--15 {
	animation: float5 5.5s ease-in-out infinite;
	animation-delay: -4.5s;
}

.future-mv-bg-item--16 {
	animation: float1 8s ease-in-out infinite;
	animation-delay: -2.2s;
}

.future-mv-bg-item--17 {
	animation: float2 6s ease-in-out infinite;
	animation-delay: -0.7s;
}

.future-mv-bg-item--18 {
	animation: float3 7s ease-in-out infinite;
	animation-delay: -3.2s;
}

.future-mv-bg-item--19 {
	animation: float4 5.5s ease-in-out infinite;
	animation-delay: -1.4s;
}

.future-mv-bg-item--20 {
	animation: float5 8.5s ease-in-out infinite;
	animation-delay: -2.8s;
}

.future-mv__heading {
	padding-bottom: 17.0625rem;
	padding-top: 1.5rem;
	position: relative;
	z-index: 3;
}

.future-mv__heading::after {
	aspect-ratio: 60/46;
	background-image: url(../images/common/scroll.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -3.125rem;
	content: "";
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 3.75rem;
}

.future-mv__heading-label {
	color: #008cd6;
	color: var(--blue);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	line-height: 1.75;
	padding-left: 2rem;
	position: relative;
}

.future-mv__heading-label::before {
	background: #008cd6;
	background: var(--blue);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
}

.future-mv__title {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
}

.future-text {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.header {
	background-color: #fff;
	background-color: var(--white);
	left: 0;
	padding-bottom: 0.5rem;
	padding-top: 0.5rem;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
}

.header.past-header {
	background-color: transparent;
}

.header__inner {
	margin: 0 auto;
	max-width: 90rem;
	padding: 0 0.875rem;
}

.header-container {
	align-items: center;
	display: flex;
	height: inherit;
	justify-content: space-between;
}

.header__logo {
	position: relative;
	z-index: 1001;
}

.header__logo-link {
	display: block;
	max-width: 12.5rem;
	width: 100%;
}

.header__logo-link img {
	-o-object-fit: contain;
	aspect-ratio: 200/31;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.header__nav {
	display: none;
	height: inherit;
}

.header__nav-list {
	align-items: center;
	display: flex;
	gap: clamp(0.625rem, -0.089rem + 1.488vw, 1.25rem);
	height: inherit;
}

.header__nav-item {
	height: inherit;
	position: relative;
}

.header__nav-item:hover .header__nav-sub-list {
	display: block;
}

.header__nav-item.header__nav-item--mega.is-open .header__mega-menu {
	opacity: 1;
	visibility: visible;
}

.header__nav-link {
	color: #383532;
	color: var(--black);
	display: block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.5;
	padding-bottom: 1.21875rem;
	padding-top: 1.21875rem;
}

.header__nav-accordion {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	padding-right: clamp(0.625rem, 0.054rem + 1.19vw, 1.125rem);
	position: relative;
	text-align: left;
	width: 100%;
}

.header__nav-accordion::after {
	aspect-ratio: 1/1;
	background-image: url(../images/common/drower-arrow.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
	right: 0rem;
	top: 50%;
	transform: translateY(-50%) rotate(0deg);
	transition: transform 0.3s;
	width: 0.875rem;
}

.header__nav-item--accordion:hover .header__nav-accordion::after {
	transform: translateY(-50%) rotate(180deg);
}

.header__nav-item--mega.is-open .header__nav-accordion::after {
	transform: translateY(-50%) rotate(180deg);
}

.header:not(.past-header) .header__nav-list {
	position: relative;
}

.header:not(.past-header) .header__nav-list::after {
	background-color: transparent;
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	pointer-events: none;
	position: absolute;
	width: 100%;
}

.header:not(.past-header) .header__nav-item::before {
	background-color: #008cd6;
	background-color: var(--blue);
	bottom: 0rem;
	content: "";
	height: 2px;
	left: 50%;
	opacity: 0;
	position: absolute;
	transform: translateX(-50%);
	transition: opacity 0.3s;
	width: 5rem;
	z-index: 10;
}

.header:not(.past-header) .header__nav-item--mega.is-open::before {
	opacity: 1;
}

.past-header .header__nav-list {
	position: relative;
}

.past-header .header__nav-item::before {
	background-color: #9c8e61;
	background-color: var(--gold);
	bottom: 0;
	content: "";
	height: 2px;
	left: 50%;
	opacity: 0;
	position: absolute;
	transform: translateX(-50%);
	transition: opacity 0.3s;
	width: 5rem;
	z-index: 10;
}

.past-header .header__nav-item--mega.is-open::before {
	opacity: 1;
}

.past-header .header__nav-accordion::after {
	filter: brightness(0);
}

.header__nav-sub-list {
	background-color: #fff;
	background-color: var(--white);
	border-radius: 0.5rem;
	box-shadow: 0 0.625rem 1.25rem rgba(0, 140, 214, 0.15);
	display: none;
	left: 0;
	min-width: 15rem;
	padding: 1rem 1.25rem;
	position: absolute;
	top: 100%;
	z-index: 100;
}

.header__nav-sub-item:not(:last-child) {
	margin-bottom: 0.75rem;
}

.header__nav-sub-link {
	color: #383532;
	color: var(--black);
	display: block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.8125rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	transition: color 0.3s;
	white-space: nowrap;
}

.header__mega-menu {
	background-color: #fff;
	background-color: var(--white);
	border-radius: 0.75rem;
	box-shadow: 0 0 1.25rem 0 rgba(0, 140, 214, 0.15);
	left: 50%;
	max-height: calc(100vh - 7.25rem - 1.25rem);
	max-width: 75rem;
	opacity: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 2.5rem 3.5rem;
	position: fixed;
	top: 7.25rem;
	transform: translateX(-50%);
	transition: opacity 0.3s, visibility 0.3s;
	visibility: hidden;
	width: calc(100% - 2.5rem);
	z-index: 100;
}

.header__mega-menu-inner {
	display: flex;
	gap: 8rem;
}

.header__mega-menu-left {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	justify-content: space-between;
	max-width: 17.5rem;
	width: 100%;
}

.header__mega-menu-title {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.header__mega-menu-top-link {
	align-items: center;
	color: #008cd6;
	color: var(--blue);
	display: inline-flex;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	gap: 0.5rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-right: 2.25rem;
	position: relative;
	transition: opacity 0.3s;
}

.header__mega-menu-top-link::after {
	aspect-ratio: 20/20;
	background-image: url(../images/common/arrow-blue.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
	right: 0rem;
	top: 50%;
	transform: translateY(-50%);
	transition: right 0.3s ease;
	width: 1.25rem;
}

.header__mega-menu-right {
	flex: 1;
}

.header__mega-menu-cards {
	display: flex;
	gap: 1.25rem;
}

.header__mega-menu-card {
	display: block;
	flex: 1;
	transition: opacity 0.3s, visibility 0.3s;
}

.header__mega-menu-card-img {
	aspect-ratio: 16/9;
	overflow: hidden;
	width: 100%;
}

.header__mega-menu-card-img img {
	-o-object-fit: cover;
	aspect-ratio: 320/160;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.header__mega-menu-card-title {
	color: #383532;
	color: var(--black);
	display: block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.5rem;
	position: relative;
}

.header__mega-menu-card-title::before {
	aspect-ratio: 20/20;
	background-image: url(../images/common/arrow-blue.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
	right: 0rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.25rem;
}

.header__mega-menu-lists {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: repeat(2, 1fr);
}

.header__mega-menu-list {
	align-items: center;
	display: flex;
	gap: 1rem;
	padding-right: 4.3125rem;
	position: relative;
}

.header__mega-menu-list::after {
	aspect-ratio: 20/20;
	background-image: url(../images/common/arrow-blue.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
	right: 0rem;
	top: 50%;
	transform: translateY(-50%);
	transition: right 0.3s ease;
	width: 1.25rem;
}

.header__mega-menu-list-icon {
	height: 2.5rem;
	position: relative;
	width: 2.5rem;
}

.header__mega-menu-list-icon img {
	-o-object-fit: contain;
	aspect-ratio: 1/1;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.header__mega-menu-list-icon::after {
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	background-color: #008cd6;
	background-color: var(--blue);
	content: "";
	height: 100%;
	left: 50%;
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.header__mega-menu-list-icon1::after {
	-webkit-mask-image: url(../images/common/sustainability-icon1.svg);
	mask-image: url(../images/common/sustainability-icon1.svg);
}

.header__mega-menu-list-icon2::after {
	-webkit-mask-image: url(../images/common/sustainability-icon2.svg);
	mask-image: url(../images/common/sustainability-icon2.svg);
}

.header__mega-menu-list-icon3::after {
	-webkit-mask-image: url(../images/common/sustainability-icon3.svg);
	mask-image: url(../images/common/sustainability-icon3.svg);
}

.header__mega-menu-list-icon4::after {
	-webkit-mask-image: url(../images/common/sustainability-icon4.svg);
	mask-image: url(../images/common/sustainability-icon4.svg);
}

.header__mega-menu-list-title {
	color: #383532;
	color: var(--black);
	flex: 1;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.125rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.header__hamburger {
	background-color: #008cd6;
	background-color: var(--blue);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	height: 3.5rem;
	margin: 0;
	outline: none;
	padding: 0;
	position: relative;
	transition: all 0.3s ease;
	width: 3.5rem;
	z-index: 1001;
}

.header__hamburger span {
	background-color: #fff;
	background-color: var(--white);
	display: block;
	height: 1px;
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	transition: all 0.3s ease;
	width: 1.5rem;
}

.header__hamburger span:nth-of-type(1) {
	top: -0.5rem;
}

.header__hamburger span:nth-of-type(2) {
	top: 0;
}

.header__hamburger span:nth-of-type(3) {
	top: 0.5rem;
}

.header__hamburger.is-open span:nth-of-type(2) {
	opacity: 0;
}

.header__hamburger.is-open span:nth-of-type(1) {
	top: 0;
	transform: translateX(-50%) rotate(45deg);
}

.header__hamburger.is-open span:nth-of-type(3) {
	background-color: #fff;
	background-color: var(--white);
	top: -0.125rem;
	transform: translateX(-50%) rotate(-45deg);
}

.header__drawer {
	background-color: #fff;
	background-color: var(--white);
	height: 100vh;
	overflow-y: auto;
	position: fixed;
	right: -100%;
	top: 0;
	transition: right 0.3s ease;
	width: 100%;
	z-index: 1000;
}

.header__drawer.is-open {
	right: 0;
}

.header__drawer.past-header__drawer {
	background: url("../images/common/cta-bg.webp") center/cover;
}

.header__drawer-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 6rem 2rem 2.5rem;
	position: relative;
	z-index: 2;
}

.header__drawer-link {
	color: #383532;
	color: var(--black);
	display: block;
	font-size: 1rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.5;
	position: relative;
	transition: color 0.3s;
}

.header__drawer-accordion {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	text-align: left;
	width: 100%;
}

.header__drawer-accordion::after {
	aspect-ratio: 16/16;
	background-image: url(../images/common/drower-arrow.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
	right: 0rem;
	top: 50%;
	transform: translateY(-50%) rotate(0deg);
	transition: transform 0.3s;
	width: 1rem;
}

.header__drawer-accordion.is-open::after {
	transform: translateY(-50%) rotate(180deg);
}

.header__drawer-sub-list {
	display: none;
}

.header__drawer-sub-item {
	margin-top: 1.5rem;
}

.header__drawer-sub-link {
	color: #383532;
	color: var(--black);
	display: block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.08em;
	line-height: 1.75;
	padding-left: 1rem;
	position: relative;
	transition: color 0.3s;
}

.header__drawer-sub-link::before {
	background-color: #008cd6;
	background-color: var(--blue);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.5rem;
}

.past-header .header__drawer-accordion::after {
	-webkit-mask-image: url(../images/common/drower-arrow.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	background-color: #9c8e61;
	background-color: var(--gold);
	background-image: none;
	mask-image: url(../images/common/drower-arrow.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
}

.past-header .header__drawer-sub-link::before {
	background-color: #9c8e61;
	background-color: var(--gold);
}

.header__mega-menu--innovation {
	background-color: #fff;
	border-radius: 0;
	box-shadow: 0 0 1.25rem 0 rgba(51, 51, 51, 0.2);
}

.header__mega-menu--innovation .header__mega-menu-inner {
	gap: 0;
}

.header__mega-menu--innovation .header__mega-menu-left {
	gap: 5.5625rem;
}

.header__mega-menu--innovation .header__mega-menu-title {
	color: #000000;
}

.header__mega-menu-top-link--black {
	color: #383532;
	color: var(--black);
}

.header__mega-menu-top-link--black::after {
	-webkit-mask-image: url(../images/common/arrow-black.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	background-color: #383532;
	background-color: var(--black);
	mask-image: url(../images/common/arrow-black.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
}

.header__mega-menu-top-link--gold {
	color: #9c8e61;
	color: var(--gold);
}

.header__mega-menu-top-link--gold::after {
	-webkit-mask-image: url(../images/common/arrow-black.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	background-color: #9c8e61;
	background-color: var(--gold);
	background-image: none;
	mask-image: url(../images/common/arrow-black.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
}

.header__mega-menu-cards--innovation {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: repeat(3, 1fr);
	max-width: 50rem;
	width: 100%;
}

.header__mega-menu-card--innovation {
	width: 100%;
}

.header__mega-menu-card--innovation .header__mega-menu-card-img {
	aspect-ratio: 240/120;
}

.header__mega-menu-card--innovation .header__mega-menu-card-img img {
	aspect-ratio: 240/120;
}

.header__mega-menu-card-title--innovation {
	align-items: center;
	color: #000000;
	color: var(--black0);
	display: flex;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1rem;
	font-weight: 700;
	font-weight: var(--bold);
	justify-content: space-between;
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.5rem;
}

.header__mega-menu-card-title--innovation::before {
	display: none;
}

.header__mega-menu-card-title--innovation::after {
	-webkit-mask-image: url(../images/common/arrow-black.svg);
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center center;
	background-color: #9c8e61;
	background-color: var(--gold);
	content: "";
	flex-shrink: 0;
	height: 1rem;
	mask-image: url(../images/common/arrow-black.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 1rem;
}

.header__mega-menu--birth-story {
	background-color: #fff;
	background-color: var(--white);
	border-radius: 0;
	box-shadow: 0 0 1.25rem 0 rgba(51, 51, 51, 0.2);
}

.header__mega-menu--birth-story .header__mega-menu-inner {
	gap: 0;
}

.header__mega-menu--birth-story .header__mega-menu-left {
	gap: 3.375rem;
}

.header__mega-menu--birth-story .header__mega-menu-title {
	color: #000000;
}

.header__mega-menu-cards--birth-story {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: repeat(3, 1fr);
	max-width: 50rem;
	width: 100%;
}

.header__mega-menu-card--birth-story {
	align-items: center;
	display: flex;
	gap: 1rem;
	width: 100%;
}

.header__mega-menu-card--birth-story .header__mega-menu-card-img {
	aspect-ratio: 56/42;
	flex-shrink: 0;
	width: 3.5rem;
}

.header__mega-menu-card--birth-story .header__mega-menu-card-img img {
	aspect-ratio: 56/42;
}

.header__mega-menu-card-title--birth-story {
	align-items: center;
	color: #000000;
	color: var(--black0);
	display: flex;
	flex: 1;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	gap: 0.5rem;
	justify-content: space-between;
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin-top: 0;
	transition: color 0.3s;
}

.header__mega-menu-card-title--birth-story::before {
	display: none;
}

.header__mega-menu-card-title--birth-story::after {
	-webkit-mask-image: url(../images/common/arrow-black.svg);
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center center;
	background-color: #9c8e61;
	background-color: var(--gold);
	content: "";
	flex-shrink: 0;
	height: 1rem;
	mask-image: url(../images/common/arrow-black.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 1rem;
}

.history-page {
	padding-bottom: 2.5rem;
}

.history-page__inner {
	position: relative;
	z-index: 2;
}

.history-single-fv {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 2.5rem 0.875rem;
	position: relative;
}

.history-single-fv::before {
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

.history-single-fv--1 {
	background-image: url(../images/common/single-history-img1-sp.webp);
}

.history-single-fv--2 {
	background-image: url(../images/common/single-history-img2-sp.webp);
}

.history-single-fv--3 {
	background-image: url(../images/common/single-history-img3-sp.webp);
}

.history-single-fv--4 {
	background-image: url(../images/common/single-history-img4-sp.webp);
}

.history-single-fv__inner {
	margin: 0 auto;
	max-width: 38.875rem;
	position: relative;
	width: 100%;
	z-index: 1;
}

.history-single-fv__title {
	color: #fff;
	color: var(--white);
	display: flex;
	flex-direction: column;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.75rem;
	font-weight: 700;
	font-weight: var(--bold);
	gap: 1rem;
	letter-spacing: 0.08em;
	line-height: 1;
}

.history-single-fv__subtitle {
	color: #fff;
	color: var(--white);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.25rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1;
}

.history-single-fv__text {
	color: #fff;
	color: var(--white);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 2.5rem;
}

.history-page__header {
	border-bottom: 1px solid #383532;
	border-bottom: 1px solid var(--black);
	padding-bottom: 1.5rem;
}

.history-page__title {
	align-items: baseline;
	display: flex;
	gap: 1rem;
}

.history-page__title-en {
	color: #383532;
	color: var(--black);
	font-family: "poppins", sans-serif;
	font-family: var(--poppins-font);
	font-size: 2rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.08em;
	line-height: 1;
}

.history-page__title-ja {
	color: #383532;
	color: var(--black);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.08em;
	line-height: 1;
}

.history-page__lead {
	margin-top: 1rem;
}

.history-page__top-button {
	display: flex;
	justify-content: center;
	margin-top: 1.5rem;
}

.history-page__cards {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	margin: 0 calc(50% - 50vw);
	margin-top: 3.5rem;
	overflow: hidden;
	position: relative;
	width: 100vw;
}

.history-page__cards.history-page__cards--single {
	margin-top: 5rem;
}

.history-page__card {
	aspect-ratio: 376/120;
	display: block;
	overflow: hidden;
	position: relative;
}

.history-page__card::after {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: transform 0.3s;
	width: 100%;
	z-index: 0;
}

.history-page__card1::after {
	background-image: url(../images/common/history-img-sp1.webp);
}

.history-page__card2::after {
	background-image: url(../images/common/history-img-sp2.webp);
}

.history-page__card3::after {
	background-image: url(../images/common/history-img-sp3.webp);
}

.history-page__card4::after {
	background-image: url(../images/common/history-img-sp4.webp);
}

.history-page__card::before {
	background-color: rgba(0, 0, 0, 0.5);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.history-page__card-content {
	left: calc(50% - min(49.5vw, 20rem));
	padding: 1rem 0.875rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.history-page__card-title {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.history-page__card-year {
	color: #fff;
	color: var(--white);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.75rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1;
}

.history-page__card-subtitle {
	color: #fff;
	color: var(--white);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1;
}

.history-page__button {
	margin-top: 3.5rem;
}

.history-timeline {
	margin-top: 3.5rem;
}

.history-timeline__header {
	display: none;
}

.history-timeline__header-spacer {
	display: none;
}

.history-timeline__columns-header {
	display: flex;
	max-width: 62.5rem;
	width: 100%;
}

.history-timeline__column-title {
	color: #000000;
	color: var(--black0);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.08em;
	line-height: 12.5;
	text-align: center;
}

.history-timeline__container {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.history-timeline__row {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	position: relative;
}

.history-timeline__columns {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.history-timeline__year {
	align-items: center;
	color: #9c8e61;
	color: var(--gold);
	display: flex;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1;
}

.history-timeline__year--sp {
	display: flex;
}

.history-timeline__year-mark {
	display: none;
}

.history-timeline__year-mark::before {
	background: #9c8e61;
	background: var(--gold, #9c8e61);
	border-radius: 50%;
	content: "";
	filter: blur(4px);
	height: 1.25rem;
	left: 50%;
	opacity: 0.4;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 1.25rem;
}

.history-timeline__year-fixed {
	display: none;
}

.history-timeline__year-fixed-text {
	color: #9c8e61;
	color: var(--gold);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 2rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1;
}

.history-timeline__content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.history-timeline__content:empty {
	display: none;
}

.history-timeline__card {
	background-color: #fff;
	background-color: var(--white);
	cursor: pointer;
	display: block;
	font: inherit;
	padding: 0;
	position: relative;
	text-align: left;
	transition: box-shadow 0.3s;
	width: 100%;
}

.history-timeline__card--no-modal {
	background-color: #e7e3da;
	cursor: default;
}

.history-timeline__card--no-modal .history-timeline__card-icon {
	display: none;
}

.history-timeline__card--no-modal .history-timeline__card-inner {
	box-shadow: none;
}

.history-timeline__content--company .history-timeline__card--no-modal {
	background-color: transparent;
	border: 1px solid #d1cdc3;
}

.history-timeline__content--product .history-timeline__card {
	background-color: #e7e3da;
}

.history-timeline__card--text-only {
	background-color: transparent;
	border: 1px solid #d1cdc3;
	cursor: default;
	padding: 1rem;
}

.history-timeline__card-inner {
	box-shadow: 0 0 1.25rem 0 rgba(51, 51, 51, 0.2);
	display: flex;
	flex-direction: row;
	gap: 0.5rem;
	padding: 1rem;
}

.history-timeline__card-image {
	flex-shrink: 0;
	max-width: 9.625rem;
	overflow: hidden;
	width: 100%;
}

.history-timeline__card-image-box {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 0.25rem;
	max-width: 9.625rem;
	width: 100%;
}

.history-timeline__card-image-box .history-timeline__card-image {
	max-width: 100%;
}

.history-timeline__card-image-box-caption {
	color: #a0a0a0;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.625rem;
	font-weight: 500;
	font-weight: var(--medium);
	line-height: 1.75;
	text-align: left;
}

.history-timeline__card-image img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.history-timeline__card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: flex-start;
}

.history-timeline__card-text {
	color: #000000;
	color: var(--black0);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.history-timeline__card-text--indent {
	padding-left: 1em;
	text-indent: -1em;
}

.history-timeline__card-icon {
	background-color: #9c8e61;
	background-color: var(--gold);
	border-radius: 50%;
	bottom: 1rem;
	height: 1.25rem;
	position: absolute;
	right: 1rem;
	width: 1.25rem;
}

.history-timeline__card-icon::before,
.history-timeline__card-icon::after {
	background-color: #fff;
	background-color: var(--white);
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.history-timeline__card-icon::before {
	height: 0.0625rem;
	width: 0.5rem;
}

.history-timeline__card-icon::after {
	height: 0.5rem;
	width: 0.0625rem;
}

.history-modal {
	align-items: center;
	bottom: 0;
	display: flex;
	justify-content: center;
	left: 0;
	opacity: 0;
	padding: 1.25rem;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.3s, visibility 0.3s;
	visibility: hidden;
	z-index: 1000;
}

.history-modal.is-active {
	opacity: 1;
	visibility: visible;
}

.history-modal__overlay {
	background-color: rgba(34, 29, 26, 0.6);
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.history-modal__content {
	background-color: #fff;
	background-color: var(--white);
	max-height: 90vh;
	max-width: 92.8vw;
	overflow-y: auto;
	padding: 1.5rem;
	position: relative;
	transform: translateY(1.25rem);
	transition: transform 0.3s;
	width: 100%;
}

.is-active .history-modal__content {
	transform: translateY(0);
}

.history-modal__inner {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.history-modal__close {
	background-color: transparent;
	border: none;
	cursor: pointer;
	height: 1.5rem;
	padding: 0;
	position: absolute;
	right: 1rem;
	top: 1rem;
	transition: opacity 0.3s;
	width: 1.5rem;
	z-index: 1;
}

.history-modal__close::before,
.history-modal__close::after {
	background-color: #000000;
	background-color: var(--black0);
	content: "";
	height: 0.0625rem;
	left: 50%;
	position: absolute;
	top: 50%;
	width: 2.125rem;
}

.history-modal__close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.history-modal__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.history-modal__image {
	width: 100%;
}

.history-modal__image img {
	-o-object-fit: cover;
	aspect-ratio: 300/171;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.history-modal__slider {
	align-self: flex-start;
	flex-shrink: 0;
	overflow: visible;
	position: relative;
	width: 100%;
}

.history-modal__slider .swiper {
	width: 100%;
}

.history-modal__slider .swiper-slide {
	width: 100%;
}

.history-modal__slider .swiper-slide img {
	-o-object-fit: cover;
	aspect-ratio: 300/171;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.history-modal__slider-nav {
	align-items: center;
	display: flex;
	justify-content: space-between;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
}

.history-modal__slider-prev,
.history-modal__slider-next {
	background-color: transparent;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	border: none;
	cursor: pointer;
	flex-shrink: 0;
	height: 5.0625rem;
	pointer-events: auto;
	transition: opacity 0.3s ease;
	width: 2.25rem;
}

.history-modal__slider-prev.swiper-button-disabled,
.history-modal__slider-next.swiper-button-disabled {
	cursor: default;
	opacity: 0.3;
}

.history-modal__slider-prev {
	background-image: url(../images/common/modal-prev.png);
	margin-left: -1.375rem;
}

.history-modal__slider-next {
	background-image: url(../images/common/modal-next.png);
	margin-right: -1.375rem;
}

.history-modal__slider-pagination {
	display: none;
}

.history-modal__slider-pagination .swiper-pagination-bullet {
	background-color: #d1cdc3;
	border-radius: 50%;
	height: 0.5rem;
	opacity: 1;
	transition: background-color 0.3s ease;
	width: 0.5rem;
}

.history-modal__slider-pagination .swiper-pagination-bullet-active {
	background-color: #9c8e61;
	background-color: var(--gold);
}

.history-modal__body {
	flex: 1;
}

.history-modal__header {
	border-bottom: 1px solid #9c8e61;
	border-bottom: 1px solid var(--gold);
	padding-bottom: 1rem;
}

.history-modal__year {
	color: #9c8e61;
	color: var(--gold);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.75rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1;
}

.history-modal__title {
	color: #9c8e61;
	color: var(--gold);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 0.9375rem;
}

.history-modal__text {
	color: #000000;
	color: var(--black0);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 1rem;
}

.history-text {
	color: #000000;
	color: var(--black0);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.history {
	min-height: 100vh;
}

.history__inner {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.history__left {
	display: flex;
	flex-direction: column;
	padding: 2.5rem 1.25rem 7.5rem;
	position: relative;
}

.history__logo {
	width: 11.25rem;
}

.history__logo img {
	-o-object-fit: contain;
	aspect-ratio: 320/50;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.history__title {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: gradientFlow 8s linear infinite;
	background: linear-gradient(90deg, #ff6b6b 0%, #ffa940 14%, #ffec3d 28%, #95de64 42%, #5cdbd3 56%, #69c0ff 70%, #597ef7 84%, #ff6b6b 100%);
	background-clip: text;
	background-size: 200% 100%;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 2rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2.5rem;
}

.history__title span {
	display: inline-block;
}

.history__texts {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.history__text {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 2;
}

.history__text--small {
	font-size: 0.8125rem !important;
}

.history__text--small {
	margin-top: 1rem;
}

.history__top-logo {
	bottom: 1.25rem;
	position: absolute;
	right: 1.25rem;
	width: 6.25rem;
}

.history__top-logo img {
	-o-object-fit: contain;
	aspect-ratio: 1/1;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.history__right {
	display: flex;
	flex-direction: column;
}

.history__past {
	-webkit-text-decoration: none;
	align-items: center;
	display: flex;
	flex: 1;
	justify-content: center;
	min-height: 17.5rem;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.history__past-slider {
	bottom: 0;
	display: flex;
	gap: 0.5rem;
	height: 100%;
	justify-content: center;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.history__past-slider-col {
	flex: 0 0 calc(33.3333333333% + 2.5rem);
	height: 100%;
	overflow: hidden;
}

.history__past-slider-col--01 {
	margin-left: -3.75rem;
}

.history__past-slider-col--05 {
	margin-right: -3.75rem;
}

.history__past-slider-track {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	transition: transform 0.3s ease;
}

.history__past-slider-col--01 .history__past-slider-track,
.history__past-slider-col--03 .history__past-slider-track,
.history__past-slider-col--05 .history__past-slider-track {
	animation: slideUp 20s linear infinite paused;
}

.history__past-slider-col--02 .history__past-slider-track,
.history__past-slider-col--04 .history__past-slider-track {
	animation: slideDown 20s linear infinite paused;
}

.history__past-slider-item {
	border-radius: 0.5rem;
	flex-shrink: 0;
	overflow: hidden;
}

.history__past-slider-item img {
	-o-object-fit: cover;
	aspect-ratio: 4/3;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.history__past-overlay {
	background-color: rgba(34, 29, 26, 0.75);
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: background-color 0.3s ease;
}

.history__past-content,
.history__future-content {
	padding: 1.25rem 1.25rem;
	position: relative;
	text-align: center;
	z-index: 1;
}

.history__past-title,
.history__future-title {
	color: #fff;
	color: var(--white);
	font-size: 1.75rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.history__past-title {
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
}

.history__future-title {
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
}

.history__past-text,
.history__future-text {
	color: #fff;
	color: var(--white);
	display: block;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.history__past-text span,
.history__future-text span {
	display: inline-block;
}

.history__past-text {
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
}

.history__future-text {
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
}

.history__future {
	-webkit-text-decoration: none;
	align-items: center;
	display: flex;
	flex: 1;
	justify-content: center;
	min-height: 17.5rem;
	overflow: clip;
	position: relative;
	text-decoration: none;
	transition: background-color 0.3s ease;
}

.history__future-bg {
	align-items: center;
	bottom: 0;
	display: flex;
	height: 100%;
	justify-content: center;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.history__future-bg::after {
	background-color: rgba(0, 140, 214, 0.8);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transition: background-color 0.3s ease;
	width: 100%;
	z-index: 1;
}

.history__future-bg-svg {
	height: 100%;
	left: 50%;
	min-height: 100%;
	min-width: 100%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.future-bg-ring {
	transform-origin: 300px 200px;
	transition: transform 0.3s ease;
}

.future-bg-ring--1 {
	animation: rotateClockwise 30s linear infinite paused;
}

.future-bg-ring--2 {
	animation: rotateCounterClockwise 40s linear infinite paused;
}

.future-bg-ring--3 {
	animation: rotateClockwise 50s linear infinite paused;
}

.future-bg-ring--4 {
	animation: rotateCounterClockwise 60s linear infinite paused;
}

.future-bg-logo {
	transform-origin: 300px 200px;
}

.future-bg-decorations {
	animation: rotateClockwise 80s linear infinite paused;
	transform-origin: 300px 200px;
}

.history__past-button,
.history__future-button {
	bottom: 1.25rem;
	right: 1.25rem;
}

.innovation-page__cards {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: 1fr;
	margin-top: 3.5rem;
}

.innovation-page__card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.innovation-page__card-image {
	width: 100%;
}

.innovation-page__card-image img {
	-o-object-fit: cover;
	aspect-ratio: 560/300;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.innovation-page__card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	margin-top: 0.5rem;
}

.innovation-page__card-title {
	color: #000000;
	color: var(--black0);
	display: block;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.125rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
	position: relative;
}

.innovation-page__card-title::after {
	-webkit-mask-image: url(../images/common/arrow.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 16/16;
	background-color: #000000;
	background-color: var(--black0);
	content: "";
	mask-image: url(../images/common/arrow.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 0rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
}

.innovation-page__card-text {
	flex: 1;
	margin-top: 0.5rem;
}

.larning-section-box {
	margin-top: 5rem;
}

.larning-section-box__inner {
	display: flex;
	flex-direction: column;
	gap: 5rem;
}

.larning-section {
	position: relative;
	z-index: 1;
}

.larning-section-side-text {
	color: #f7f7f7;
	font-family: "poppins", sans-serif;
	font-family: var(--poppins-font);
	font-size: 3.5rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.08em;
	line-height: 1;
	mix-blend-mode: multiply;
	position: absolute;
	right: 0;
	text-orientation: mixed;
	top: 0;
	white-space: nowrap;
	width: -moz-fit-content;
	width: fit-content;
	writing-mode: vertical-rl;
}

.larning-section__body {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.larning-section__body-texts {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
}

.larning-section__body-images {
	align-items: end;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.larning-section__body-image {
	width: 100%;
}

.larning-section__body-image img {
	-o-object-fit: cover;
	aspect-ratio: 400/266;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.larning-section__body-image.larning-section__body-image2 {
	aspect-ratio: 360/240;
}

.learning-tab {
	margin-top: 5rem;
}

.learning-anchor-links {
	grid-gap: 1rem;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(1, 1fr);
}

.learning-anchor-link {
	border: 1px solid transparent;
	border-radius: 1.875rem;
	box-shadow: 0 0 1.25rem 0 rgba(255, 102, 118, 0.15);
	color: #383532;
	color: var(--black);
	display: block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
	padding: 1.09375rem 3.875rem;
	position: relative;
	text-align: center;
	transition: border-color 0.3s, color 0.3s, background-color 0.3s;
}

.learning-anchor-link::after {
	-webkit-mask-image: url(../images/common/anchor-arrow.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 14/14;
	background-color: #ff6676;
	background-color: var(--red);
	content: "";
	mask-image: url(../images/common/anchor-arrow.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.875rem;
}

.loading {
	height: 100%;
	left: 0;
	overflow: hidden;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999;
}

.loading__bg {
	background: linear-gradient(to bottom, #008cd6, #2f77b8);
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.loading__stripes {
	display: flex;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 2;
}

.loading__stripe {
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0 0);
	flex: 1;
	height: 100%;
	transition: none;
}

.loading__stripe--1 {
	background: #ff8591;
}

.loading__stripe--2 {
	background: #ffc68d;
}

.loading__stripe--3 {
	background: #f6fda0;
}

.loading__stripe--4 {
	background: #8be0a9;
}

.loading__stripe--5 {
	background: #88c7de;
}

.loading__stripe--6 {
	background: #33a3de;
}

.loading__counter {
	color: #fff;
	color: var(--white);
	font-family: "poppins", sans-serif;
	font-family: var(--poppins-font);
	font-size: 5rem;
	font-weight: 500;
	font-weight: var(--medium);
	left: 50%;
	letter-spacing: 0.08em;
	line-height: 1.5;
	position: absolute;
	text-shadow: 0 0.25rem 0.625rem rgba(51, 51, 51, 0.2);
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
}

.loading__logo {
	height: 120px;
	left: 50%;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 200px;
	z-index: 3;
}

.loading__skip {
	background: transparent;
	border: none;
	bottom: 2.5rem;
	color: #fff;
	color: var(--white);
	cursor: pointer;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.25rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	padding: 0;
	position: absolute;
	right: 2.5rem;
	transition: opacity 0.3s ease;
	z-index: 4;
}

.loading__skip::after {
	background-color: #fff;
	background-color: var(--white);
	bottom: 0.1875rem;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}

body.is-loading {
	overflow: hidden;
}

body.is-loading main {
	opacity: 0;
}

.manufacturing-section-box {
	display: flex;
	flex-direction: column;
	gap: 5rem;
}

.manufacturing-section-box {
	margin-top: 5rem;
	overflow-x: clip;
}

.manufacturing-section-box__inner {
	display: flex;
	flex-direction: column;
	gap: 5rem;
}

.manufacturing-section {
	position: relative;
	z-index: 1;
}

.manufacturing-section-side-text {
	color: #f7f7f7;
	font-family: "poppins", sans-serif;
	font-family: var(--poppins-font);
	font-size: 3.5rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.08em;
	line-height: 1;
	mix-blend-mode: multiply;
	position: absolute;
	right: 0;
	text-orientation: mixed;
	top: 0;
	white-space: nowrap;
	width: -moz-fit-content;
	width: fit-content;
	writing-mode: vertical-rl;
}

.manufacturing-section__content-box {
	padding-bottom: 3.5rem;
	padding-top: 2.5rem;
	position: relative;
}

.manufacturing-section__content-box::after {
	background: repeating-linear-gradient(to right, #f4f3ee 0, #f4f3ee 4px, transparent 4px, transparent 8px);
	background: repeating-linear-gradient(to right, var(--gray) 0, var(--gray) 4px, transparent 4px, transparent 8px);
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	width: 100%;
}

.manufacturing-section__content-box.manufacturing-section__content-box2::after {
	display: none;
}

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

.manufacturing-section__image {
	border-radius: 1.5rem;
	overflow: hidden;
	width: 100%;
}

.manufacturing-section__image img {
	-o-object-fit: cover;
	aspect-ratio: 480/320;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.manufacturing-section__texts,
.manufacturing-section__content-bottom {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 1.5rem;
}

.manufacturing-section__content-bottom {
	margin-top: 1.5rem;
}

.manufacturing-section__title {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.5rem;
}

.manufacturing-section__footer {
	margin-top: 3.5rem;
	padding-bottom: 3.5rem;
	padding-top: 3.5rem;
	position: relative;
}

.manufacturing-section__footer.manufacturing-section__footer2 {
	padding-bottom: 3.5rem;
	padding-top: 3.5rem;
}

.manufacturing-section__footer::before {
	background-color: #f1fbf4;
	background-color: var(--light-green);
	border-radius: 5rem 0 0 5rem;
	content: "";
	height: 100%;
	margin: 0 calc(50% - 50vw);
	position: absolute;
	right: calc(50% - 58vw);
	top: 0;
	width: 100vw;
	z-index: -1;
}

.manufacturing-section__footer-title {
	color: #6ed893;
	color: var(--green);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.25rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.manufacturing-section__footer-title span {
	display: inline-block;
}

.manufacturing-section__footer-texts {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.manufacturing-section__footer-items {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(1, 1fr);
	margin-top: 1.5rem;
}

.manufacturing-section__footer-item-label {
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 0.625rem;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.manufacturing-section__footer-item-label::after {
	-webkit-clip-path: polygon(100% 0, 0 0, 100% 100%);
	aspect-ratio: 12/10;
	background-color: #6ed893;
	background-color: var(--green);
	bottom: 0;
	clip-path: polygon(100% 0, 0 0, 100% 100%);
	content: "";
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0.75rem;
}

.manufacturing-section__footer-item-label span {
	background-color: #6ed893;
	background-color: var(--green);
	border-radius: 0.25rem;
	color: #fff;
	color: var(--white);
	display: inline-block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.25rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
	padding: 0.5rem 1.5rem;
}

.manufacturing-section__footer-item-img {
	border-radius: 1.5rem;
	box-shadow: 0 0.625rem 1.25rem rgba(88, 169, 116, 0.15);
	margin-top: 0.5rem;
	overflow: hidden;
}

.manufacturing-section__footer-item-img img {
	-o-object-fit: cover;
	aspect-ratio: 518/226;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.manufacturing-section__box {
	border: 1px solid #6ed893;
	border: 1px solid var(--green);
	border-radius: 1.5rem;
	margin-top: 5rem;
	padding: 2rem 1.25rem;
}

.manufacturing-section__catch {
	color: #6ed893;
	color: var(--green);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.manufacturing-section__title {
	color: #6ed893;
	color: var(--green);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.manufacturing-section__title span {
	display: inline-block;
}

.manufacturing-section__description {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 1.5rem;
}

.manufacturing-section__box-video {
	aspect-ratio: 800/450;
	border-radius: 1.5rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
	max-width: 50rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.manufacturing-section__box-video iframe {
	-o-object-fit: cover;
	aspect-ratio: 800/450;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.manufacturing-section__video-thumbnail {
	aspect-ratio: 800/450;
	cursor: pointer;
	position: relative;
}

.manufacturing-section__video-thumbnail img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.manufacturing-section__video-play {
	align-items: center;
	background-color: #6ed893;
	background-color: var(--green);
	border-radius: 50%;
	display: flex;
	height: 4rem;
	justify-content: center;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: transform 0.3s, background-color 0.3s;
	width: 4rem;
	z-index: 2;
}

.manufacturing-section__video-play::before {
	border-color: transparent transparent transparent #fff;
	border-color: transparent transparent transparent var(--white);
	border-style: solid;
	border-width: 0.5rem 0 0.5rem 0.625rem;
	content: "";
	height: 0;
	margin-left: 0.1875rem;
	transition: border-color 0.3s;
	width: 0;
}

.manufacturing-section__video-thumbnail::before {
	background-color: rgba(255, 255, 255, 0.4);
	content: "";
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity 0.3s;
	width: 100%;
	z-index: 1;
}

.manufacturing-section__video-wrapper {
	display: none;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.manufacturing-section__video-wrapper iframe {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.manufacturing-section__box-video.is-playing .manufacturing-section__video-thumbnail {
	display: none;
}

.manufacturing-section__box-video.is-playing .manufacturing-section__video-wrapper {
	display: block;
}

.manufacturing-tab {
	margin-top: 5rem;
}

.past-banner {
	margin-top: 6rem;
}

.past-banner-img {
	border-radius: 1.5rem;
	box-shadow: 0 0 1.25rem 0 rgba(51, 51, 51, 0.2);
	overflow: clip;
}

.past-banner-img img {
	-o-object-fit: cover;
	aspect-ratio: 1/1;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.past-birth-story {
	margin-top: 5rem;
}

.past-birth-story__content {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	margin-top: 2.5rem;
}

.past-birth-story__item {
	display: block;
	padding-top: 5rem;
	position: relative;
}

.past-birth-story__content>.past-birth-story__item:nth-child(1) .past-birth-story__item-image::after {
	aspect-ratio: 452/235;
	background-image: url(../images/common/birth-story-image-icon1.webp);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	left: -0.625rem;
	position: absolute;
	top: 0;
	width: 18.5rem;
	z-index: 2;
}

.past-birth-story__content>.past-birth-story__item:nth-child(2) .past-birth-story__item-image::after {
	aspect-ratio: 394/172;
	background-image: url(../images/common/birth-story-image-icon2.webp);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	left: 65%;
	position: absolute;
	top: 0rem;
	transform: translateX(-50%);
	width: 16.25rem;
	z-index: 2;
}

.past-birth-story__content>.past-birth-story__item:nth-child(3) .past-birth-story__item-image::after {
	aspect-ratio: 250/320;
	background-image: url(../images/common/birth-story-image-icon3.webp);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	left: -0.625rem;
	position: absolute;
	top: -2.8125rem;
	width: min(40vw, 9.375rem);
	z-index: 2;
}

.birth-story-page__content:nth-child(1) .past-birth-story__item-image::after {
	aspect-ratio: 452/235;
	background-image: url(../images/common/birth-story-image-icon1.webp);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
	right: calc(50% - min(51.5vw, 10rem));
	top: 0;
	width: 12.5rem;
	z-index: 2;
}

.birth-story-page__content:nth-child(2) .past-birth-story__item-image::after {
	aspect-ratio: 394/172;
	background-image: url(../images/common/birth-story-image-icon2.webp);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	left: 65%;
	position: absolute;
	top: 0rem;
	transform: translateX(-50%);
	width: 16.25rem;
	z-index: 2;
}

.birth-story-page__content:nth-child(3) .past-birth-story__item-image::after {
	aspect-ratio: 250/320;
	background-image: url(../images/common/birth-story-image-icon3.webp);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
	right: calc(50% - min(51.5vw, 11.5rem));
	top: 0;
	width: min(29.3333333333vw, 9.5rem);
	z-index: 2;
}

.past-birth-story__item.past-birth-story__item3 {
	margin-top: 2.5rem;
}

.past-birth-story__item-image {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.past-birth-story__item-image-inner {
	height: 100%;
	overflow: hidden;
	width: 100%;
}

.past-birth-story__item-image img {
	-o-object-fit: cover;
	-webkit-clip-path: inset(0);
	aspect-ratio: 960/320;
	clip-path: inset(0);
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
	width: 100%;
}

.past-birth-story__item--left .past-birth-story__item-image {
	padding-left: 3rem;
}

.past-birth-story__item--right .past-birth-story__item-image {
	padding-right: 3rem;
}

.past-birth-story__item-body-box {
	background-color: rgba(255, 255, 255, 0.8);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-left: auto;
	max-width: 18.75rem;
	padding: 1rem;
	position: relative;
	width: 100%;
	z-index: 1;
}

.past-birth-story__item.past-birth-story__item--left.past-birth-story__item--lower .past-birth-story__item-body-box {
	margin-left: 0;
	margin-right: auto;
}

.past-birth-story__item.past-birth-story__item--left .past-birth-story__item-body-box {
	margin-left: 0;
	margin-right: auto;
}

.past-birth-story__item-title {
	color: #000000;
	color: var(--black0);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.25rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
	text-align: right;
	width: 100%;
}

.past-birth-story__item.past-birth-story__item--left .past-birth-story__item-title {
	text-align: left;
}

.past-birth-story__item-text {
	margin-top: 0.5rem;
	text-align: right;
	width: 100%;
}

.past-birth-story__item.past-birth-story__item--left .past-birth-story__item-text {
	text-align: left;
}

.past-birth-story__item-link {
	align-items: center;
	color: #000000;
	color: var(--black0);
	display: inline-flex;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	gap: 1rem;
	justify-content: flex-end;
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin-top: 0.5rem;
	width: 100%;
}

.past-birth-story__item.past-birth-story__item--left .past-birth-story__item-link {
	justify-content: flex-start;
}

.past-birth-story__item-link::after {
	-webkit-mask-image: url(../images/common/arrow-black.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 1/1;
	background-color: #000000;
	background-color: var(--black0);
	content: "";
	mask-image: url(../images/common/arrow-black.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: transform 0.3s;
	width: 1rem;
}

.past-birth-story__button {
	margin-top: 2.5rem;
}

.past-birth-story__button a {
	margin-left: auto;
	margin-right: auto;
}

.past-button-container {
	margin-top: 5rem;
}

.past-button-container a {
	margin-left: auto;
	margin-right: auto;
}

.past-button {
	align-items: center;
	background-color: transparent;
	border: 1px solid #000000;
	border: 1px solid var(--black0);
	color: #000000;
	color: var(--black0);
	display: flex;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	gap: 1rem;
	height: 3.75rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.5;
	max-width: 25rem;
	overflow: hidden;
	padding: 0.375rem 3rem;
	position: relative;
	text-align: center;
	transition: color 0.3s;
	width: 100%;
	z-index: 1;
}

.past-button::before {
	background-color: #000000;
	background-color: var(--black0);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.3s;
	width: 100%;
	z-index: -1;
}

.past-button::after {
	-webkit-mask-image: url(../images/common/arrow-black.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 1/1;
	background-color: #000000;
	background-color: var(--black0);
	content: "";
	mask-image: url(../images/common/arrow-black.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	transition: background-color 0.3s;
	width: 1rem;
}

.past-button.past-button--form::after {
	-webkit-mask-image: url(../images/common/link-arrow.svg);
	mask-image: url(../images/common/link-arrow.svg);
	width: 0.75rem;
}

.past-community {
	margin-top: 5rem;
}

.past-community__content {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	margin-top: 2.5rem;
}

.past-community__item {
	position: relative;
}

.past-community__item-image {
	width: 100%;
}

.past-community__item-image img {
	-o-object-fit: cover;
	aspect-ratio: 348/240;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.past-community__item-body-box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-left: auto;
	margin-top: 1rem;
	width: 100%;
}

.past-community__item-body {
	display: flex;
	flex-direction: column;
}

.past-community__item-title {
	color: #000000;
	color: var(--black0);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.25rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.16em;
	line-height: 1.75;
}

.past-community__item-text {
	color: #000000;
	color: var(--black0);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 1rem;
}

.past-community__item-link {
	align-items: center;
	align-self: flex-end;
	color: #000000;
	color: var(--black0);
	display: inline-flex;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	gap: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin-top: 1rem;
}

.past-community__item-link::after {
	-webkit-mask-image: url(../images/common/arrow-black.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 1/1;
	background-color: #000000;
	background-color: var(--black0);
	content: "";
	mask-image: url(../images/common/arrow-black.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: transform 0.3s;
	width: 1rem;
}

.community-section {
	margin-top: 2.5rem;
}

.community-section__title {
	color: #000000;
	color: var(--black0);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.community-section__content {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-top: 2rem;
}

.community-section__text {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.community-section__block-title {
	color: #000000;
	color: var(--black0);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.16em;
	line-height: 1.75;
}

.community-section__block-texts {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 0.5rem;
}

.community-section__images {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.community-section__image {
	width: 100%;
}

.community-section__image img {
	-o-object-fit: cover;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.community-section__image.community-section__image1 img {
	-o-object-fit: cover;
	aspect-ratio: 384/252;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.community-section__image.community-section__image2 img {
	-o-object-fit: cover;
	aspect-ratio: 240/160;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.community-section__image.community-section__image3 img {
	-o-object-fit: cover;
	aspect-ratio: 280/183;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.past-footer {
	background: url("../images/common/footer-bg.webp") no-repeat right 24% bottom/cover;
	padding-top: 3.5rem;
}

.past-footer-top__logo {
	max-width: 15rem;
	width: 100%;
}

.past-footer-top__logo img {
	-o-object-fit: contain;
	aspect-ratio: 400/62;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.past-footer-top__nav {
	display: none;
}

.past-footer-top__nav-list {
	display: flex;
	flex-direction: column;
	gap: 1.125rem;
	justify-content: space-between;
}

.past-footer-top__nav-link {
	color: #fff;
	color: var(--white);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.5;
}

.past-footer__outside-outside {
	margin-top: 2.5rem;
}

.past-footer__outside-links {
	grid-gap: 1rem;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(1, 1fr);
}

.past-footer__outside-link-item {
	border: 1px solid #fff;
	border: 1px solid var(--white);
	color: #fff;
	color: var(--white);
	display: block;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
	overflow: hidden;
	padding: 1.03125rem 3rem;
	position: relative;
	text-align: center;
	transition: color 0.3s;
	z-index: 1;
}

.past-footer__outside-link-item::after {
	background-color: #fff;
	background-color: var(--white);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.3s;
	width: 100%;
	z-index: -1;
}

.past-footer__outside-link-item::before {
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center center;
	-webkit-mask-image: url("./../images/common/expand-arrows.svg");
	aspect-ratio: 16/16;
	background-color: #fff;
	background-color: var(--white);
	content: "";
	mask-image: url("./../images/common/expand-arrows.svg");
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	transition: background-color 0.3s;
	width: 1rem;
}

.past-footer__banner-items {
	grid-gap: 1rem;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(1, 1fr);
	margin-top: 3.5rem;
}

.past-footer__banner-link {
	box-shadow: 0 0 1.25rem 0 transparent;
	display: block;
	transition: box-shadow 0.3s;
	width: 100%;
}

.past-footer__banner-link img {
	-o-object-fit: cover;
	aspect-ratio: 348/80;
	border-radius: 0.5rem;
	height: 100%;
	object-fit: cover;
	overflow: hidden;
	width: 100%;
}

.past-footer__copyright {
	background-color: #000000;
	margin-top: 2.5rem;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
}

.past-footer__copyright-container {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.past-footer__copyright-nav-list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
}

.past-footer__copyright-nav-item {
	display: flex;
}

.past-footer__copyright-nav-link {
	color: #fff;
	color: var(--white);
	display: inline-block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.75rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.5;
	padding-right: 0.875rem;
	position: relative;
}

.past-footer__copyright-nav-link::after {
	-webkit-mask-image: url(../images/common/link-arrow.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 1/1;
	background-color: #fff;
	background-color: var(--white);
	content: "";
	mask-image: url(../images/common/link-arrow.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 0rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

.past-footer__copyright-nav-link span {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

.past-footer__copyright-text {
	color: #fff;
	color: var(--white);
	display: inline-block;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.75rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.5;
}

.past-fv__heading {
	margin-top: 3.5rem;
}

.past-fv__title {
	color: #000000;
	color: var(--black0);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.75rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.16em;
	line-height: 1.75;
}

.past-fv__description {
	margin-top: 1rem;
}

.past-section-heading {
	margin-top: 3.5rem;
	padding-bottom: 1.5rem;
	position: relative;
}

.past-section-heading::after {
	background-color: #9c8e61;
	background-color: var(--gold);
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	margin-right: calc(50% - 50vw);
	position: absolute;
	width: 100vw;
	z-index: 1;
}

.past-section-heading__title {
	color: #9c8e61;
	color: var(--gold);
	display: flex;
	flex-direction: column;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 2.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	gap: 0.75rem;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.past-section-heading__title-subtitle {
	color: #383532;
	color: var(--black);
	display: inline-block;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.16em;
	line-height: 1.75;
}

.past-section-heading__description {
	margin-top: 1.5rem;
}

.past-history {
	margin-top: 5rem;
}

.past-history__title {
	align-items: baseline;
	display: flex;
	gap: 1rem;
}

.past-history__title-en {
	color: var(--brown);
	font-family: "poppins", sans-serif;
	font-family: var(--poppins-font);
	font-size: 2rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.08em;
	line-height: 1;
}

.past-history__title-ja {
	color: var(--brown);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.08em;
	line-height: 1;
}

.past-history__lead {
	color: var(--brown);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 1rem;
}

.past-history__content {
	margin-top: 2.5rem;
}

.past-history__content-title {
	color: #000000;
	color: var(--black0);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.125rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
}

.past-history__images {
	margin-top: 1.5rem;
	overflow: visible;
}

.past-history__images .swiper-wrapper {
	transition-timing-function: linear;
}

.past-history__images .swiper-slide {
	height: auto;
	width: auto;
}

.past-history__image {
	overflow: hidden;
	width: 7.5rem;
}

.past-history__image img {
	-o-object-fit: cover;
	aspect-ratio: 4/3;
	box-shadow: 0 0 1.25rem 0 rgba(51, 51, 51, 0.2);
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.past-history__bottom {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	margin-top: 1.5rem;
}

.past-history__button {
	flex-shrink: 0;
}

.past-history__button-link.past-button {
	margin-left: auto;
	margin-right: auto;
}

.past-innovation {
	margin-top: 6rem;
}

.past-innovation__content {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 2.625rem;
	overflow-x: clip;
	width: 100vw;
}

.past-innovation__slider {
	margin-left: -5rem;
	margin-right: -5rem;
	overflow: visible;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
	width: calc(100% + 10rem);
}

.past-innovation__slider .swiper-wrapper {
	align-items: center;
}

.past-innovation__slider .swiper-slide {
	height: auto;
	opacity: 0.4;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	transition: opacity 0.3s, transform 0.3s;
}

.past-innovation__slider .swiper-slide-active {
	opacity: 1;
	transform: scale(1.5);
	z-index: 10;
}

.past-innovation__slider .swiper-slide-active .past-innovation__slide-image img {
	aspect-ratio: 400/300;
}

.past-innovation__slide-item {
	align-items: center;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.past-innovation__slide-image {
	overflow: hidden;
	transition: transform 0.3s;
	width: 100%;
}

.past-innovation__slide-image img {
	-o-object-fit: contain;
	aspect-ratio: 240/152;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.past-innovation__slide-label {
	color: #000000;
	color: var(--black0);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.16em;
	line-height: 1.75;
	text-align: center;
}

.past-innovation__detail {
	margin-top: 6.9333333333vw;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	text-align: center;
}

.past-innovation__detail-title {
	color: #000000;
	color: var(--black0);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.past-innovation__button {
	display: flex;
	justify-content: center;
	margin-top: 2.5rem;
	padding-left: 0.875rem;
	padding-right: 0.875rem;
}

.past-main {
	background-color: #f4f3ee;
	background-color: var(--gray);
	position: relative;
}

.past-main::before {
	aspect-ratio: 1440/800;
	background-image: url(../images/common/cta-bg.webp);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0;
	content: "";
	height: 100%;
	left: 0;
	max-height: 41.875rem;
	position: absolute;
	right: 0;
	top: -100px;
	width: 100%;
	z-index: 1;
}

.past-message {
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	padding: 16.75rem 0 5rem;
	position: relative;
	z-index: 1;
}

.past-message__bg {
	height: 100vh;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.past-message__bg::before {
	background-image: url(../images/common/message-bg.webp);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
}

.past-message__inner {
	position: relative;
	z-index: 1;
}

.past-message__header {
	position: relative;
}

.past-message__image {
	max-width: 17.5rem;
	max-width: min(74.6666666667vw, 31.25rem);
	width: 100%;
	width: 100%;
}

.past-message__image img {
	-o-object-fit: cover;
	aspect-ratio: 640/448;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.past-message__heading {
	aspect-ratio: 295/128;
	bottom: -2.8125rem;
	content: "";
	position: absolute;
	right: 0;
	width: 18.4375rem;
}

.past-message__label {
	color: #fff;
	color: var(--white);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 2.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1;
}

.past-message__title {
	color: #fff;
	color: var(--white);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.125rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1.5rem;
	white-space: nowrap;
}

.past-message__texts {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin-top: 5.625rem;
	text-align: left;
}

.past-message__text {
	color: #fff;
	color: var(--white);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 2.4;
}

.past-message__text span {
	display: inline-block;
}

.past-message__signature {
	margin-top: 3.5rem;
	text-align: center;
}

.past-message__signature-company {
	color: #fff;
	color: var(--white);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.past-message__signature-position {
	color: #fff;
	color: var(--white);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.125rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 0.5rem;
}

.past-mv {
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 6.25rem;
	padding-top: 1.5rem;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 2;
}

.past-mv__label {
	color: #383532;
	color: var(--black);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	line-height: 1.75;
	padding-top: 3rem;
	position: relative;
	text-align: center;
}

.past-mv__label::before {
	background-color: #9c8e61;
	background-color: var(--gold);
	content: "";
	height: 2.625rem;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 0.0625rem;
}

.past-mv-title {
	color: #383532;
	color: var(--black);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.375rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 1rem;
	text-align: center;
}

.past-mv__slider {
	bottom: -4.0625rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	left: 50%;
	overflow: hidden;
	position: absolute;
	transform: translate(-50%, 50%);
	width: 100vw;
	z-index: 1;
}

.past-mv__slider-track {
	animation: scroll-left 30s linear infinite;
	display: flex;
	gap: 0.5rem;
	width: -moz-max-content;
	width: max-content;
}

.past-mv__slider-track--top {
	animation: scroll-left 30s linear infinite;
}

.past-mv__slider-track--bottom {
	animation: scroll-right 30s linear infinite;
}

.past-mv__slider-item {
	aspect-ratio: 160/120;
	flex-shrink: 0;
	width: 10rem;
}

.past-mv__slider-item img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.past-text {
	color: #000000;
	color: var(--black0);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.past-text span {
	display: inline-block;
}

.qa__block {
	margin-top: 1.5rem;
	width: 100%;
}

.qa__block+.qa__block {
	margin-top: 3.75rem;
}

.qa__content+.qa__content {
	margin-top: 1.5rem;
}

.qa__summary {
	border: 1px solid rgba(#383532, 0.3);
	border: 1px solid rgba(var(--black), 0.3);
	color: #fff;
	cursor: pointer;
	list-style: none;
	padding-bottom: 1rem;
	padding-left: 3rem;
	padding-right: 3.875rem;
	padding-top: 1.25rem;
	position: relative;
}

.qa__summary::before {
	background: transparent;
	border: 1px solid #008cd6;
	border: 1px solid var(--blue);
	border-radius: 1rem;
	content: "";
	height: 1.5rem;
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
}

.qa__summary::after {
	border-bottom: 1px solid #008cd6;
	border-bottom: 1px solid var(--blue);
	border-right: 1px solid #008cd6;
	border-right: 1px solid var(--blue);
	content: "";
	display: inline-block;
	height: 0.375rem;
	position: absolute;
	right: 1.9375rem;
	top: 47%;
	transform: rotate(45deg) translateY(-50%);
	transition: all 0.3s ease-out;
	width: 0.375rem;
}

.qa__summary.is-opened::after {
	top: 53%;
	transform: rotate(45deg) translateY(-50%) scale(-1, -1);
}

.qa__ttl {
	color: #383532;
	color: var(--black);
	font-size: 0.9375rem;
	font-weight: 400;
	position: relative;
}

.qa__ttl::before {
	color: #383532;
	color: var(--black);
	content: "Q";
	font-family: #383532;
	font-family: var(--black);
	font-size: 1.375rem;
	font-weight: 600;
	left: -2.125rem;
	position: absolute;
	top: -0.25rem;
}

.qa__ttl span {
	font-size: 0.875rem;
	font-weight: 500;
}

.qa__inner {
	border-bottom: 1px solid rgba(#383532, 0.3);
	border-bottom: 1px solid rgba(var(--black), 0.3);
	border-left: 1px solid rgba(#383532, 0.3);
	border-left: 1px solid rgba(var(--black), 0.3);
	border-right: 1px solid rgba(#383532, 0.3);
	border-right: 1px solid rgba(var(--black), 0.3);
	overflow: hidden;
	padding-left: 3rem;
	padding-right: 1.5rem;
}

.qa__wrap {
	padding-bottom: 1.125rem;
	padding-top: 1.125rem;
}

.qa__txt {
	color: #383532;
	color: var(--black);
	font-size: 0.8125rem;
	line-height: 1.6;
	position: relative;
}

.qa__txt::before {
	color: #383532;
	color: var(--black);
	content: "A";
	font-family: #383532;
	font-family: var(--black);
	font-size: 1.375rem;
	font-weight: 600;
	left: -2.125rem;
	position: absolute;
	top: -0.25rem;
}

.qa__btn {
	display: flex;
	justify-content: flex-end;
	margin-top: 1.5rem;
}

.qa__blockTitle-wrapper {
	background: #008cd6;
	background: var(--blue);
	margin-bottom: 1.5rem;
	padding-bottom: 1.25rem;
	padding-top: 1.25rem;
	text-align: center;
}

.qa__blockTitle {
	color: #fff;
	color: var(--white);
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.4;
}

summary::-webkit-details-marker {
	display: none;
}

.section-heading-center {
	text-align: center;
}

.section-label {
	font-family: "poppins", sans-serif;
	font-family: var(--poppins-font);
	font-size: 1rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.08em;
	line-height: 1.5;
	padding-left: 1.5rem;
	position: relative;
	text-transform: capitalize;
}

.section-label::before {
	-webkit-mask-image: url(../images/common/circle-icon.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 1/1;
	content: "";
	left: 0rem;
	mask-image: url(../images/common/circle-icon.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
}

.section-label--white {
	color: #fff;
	color: var(--white);
}

.section-label--white::before {
	background-color: #fff;
	background-color: var(--white);
}

.section-label--blue {
	color: #008cd6;
	color: var(--blue);
}

.section-label--blue::before {
	background-color: #008cd6;
	background-color: var(--blue);
}

.section-label--green {
	color: #6ed893;
	color: var(--green);
}

.section-label--green::before {
	background-color: #6ed893;
	background-color: var(--green);
}

.section-label--red {
	color: #ff6676;
	color: var(--red);
}

.section-label--red::before {
	background-color: #ff6676;
	background-color: var(--red);
}

.section__subtitle {
	color: #fff;
	color: var(--white);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 2rem;
}

.section__subtitle.section__subtitle--black {
	color: #383532;
	color: var(--black);
}

.section__title {
	color: #fff;
	color: var(--white);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
	margin-top: 0.5rem;
}

.section__title span {
	display: inline-block;
}

.section__title.section__title--black {
	color: #383532;
	color: var(--black);
}

.section__description {
	color: #fff;
	color: var(--white);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 2rem;
}

.section__description span {
	display: inline-block;
}

.section__description.section__description--black {
	color: #383532;
	color: var(--black);
}

.single-innovation__wrapper {
	display: flex;
	flex-direction: column-reverse;
	gap: 2.5rem;
	margin-top: 2.5rem;
}

.single-innovation__header {
	align-items: baseline;
	border-bottom: 1px solid #9c8e61;
	border-bottom: 1px solid var(--gold);
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	padding-bottom: 1rem;
}

.single-innovation__year {
	color: #9c8e61;
	color: var(--gold);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 2.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1;
}

.single-innovation__year-suffix {
	color: #9c8e61;
	color: var(--gold);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1;
}

.single-innovation__subtitle {
	color: #9c8e61;
	color: var(--gold);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.single-innovation__subtitle span {
	display: inline-block;
}

.single-innovation__year-nav {
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	display: flex;
	gap: 0.5rem;
	margin: -1.25rem;
	overflow: auto;
	padding: 1.25rem;
	scrollbar-width: none;
}

.single-innovation__year-nav::-webkit-scrollbar {
	display: none;
}

.single-innovation__year-link {
	align-items: baseline;
	background-color: transparent;
	border-radius: 1.25rem;
	box-shadow: inset 0 0.125rem 0.75rem rgba(51, 51, 51, 0.2);
	color: #9c8e61;
	color: var(--gold);
	display: flex;
	flex-shrink: 0;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1;
	padding: 0.4375rem 0.375rem;
	position: relative;
	transition: background-color 0.3s, color 0.3s, box-shadow 0.3s, opacity 0.3s;
	transition: opacity 0.3s, background-color 0.3s, color 0.3s, box-shadow 0.3s;
	width: 5rem;
}

.single-innovation__year-link::after {
	background-color: rgba(225, 225, 225, 0.1);
	border-radius: inherit;
	content: "";
	height: 100%;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	transition: opacity 0.3s;
	width: 100%;
}

.single-innovation__year-link span {
	display: inline-block;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.625rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1;
}

.single-innovation__year-link--active {
	background-color: #fff;
	background-color: var(--white);
	box-shadow: 0 0 1.25rem 0 rgba(51, 51, 51, 0.2), inset 0 0 0 rgb(225, 225, 225);
	color: #9c8e61;
	color: var(--gold);
}

.single-innovation__year-link--active::after {
	opacity: 0;
}

.single-innovation__product {
	margin-top: 2rem;
}

.single-innovation__product-title {
	align-items: center;
	color: #000000;
	color: var(--black0);
	display: flex;
	flex-wrap: wrap;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.25rem;
	font-weight: 700;
	font-weight: var(--bold);
	gap: 0 0.5rem;
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.single-innovation__product-title-small {
	display: inline-block;
	font-size: 0.875rem;
}

.single-innovation__product-top-images {
	grid-gap: 1rem;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 1.5rem;
}

.single-innovation__product-top-image {
	text-align: center;
	width: 100%;
}

.single-innovation__product-top-image-img {
	width: 100%;
}

.single-innovation__product-top-image-img img {
	-o-object-fit: cover;
	aspect-ratio: 480/300;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.single-innovation__product-top-image-caption {
	color: #000000;
	color: var(--black0);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.75rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 0.5rem;
	text-align: left;
}

.single-innovation__product-top-image-caption span {
	display: inline-block;
}

.single-innovation__product-image {
	margin-top: 1.5rem;
	width: 100%;
}

.single-innovation__product-image img {
	height: auto;
	width: 100%;
}

.single-innovation__product-content {
	margin-top: 1.5rem;
}

.single-innovation__product-content.single-innovation__product-content2 {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: repeat(1, 1fr);
}

.single-innovation__product-text-note {
	color: #a0a0a0;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.75rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 0.5rem;
}

.single-innovation__product-images {
	grid-gap: 0.5rem;
	display: grid;
	gap: 0.5rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 1rem;
}

.single-innovation__product-images.single-innovation__product-images2 {
	grid-template-columns: repeat(1, 1fr);
}

.single-innovation__product-images.single-innovation__product-images3 {
	grid-template-columns: repeat(1, 1fr);
	margin-top: 0;
	max-width: 100%;
}

.single-innovation__product-image-item {
	width: 100%;
}

.single-innovation__product-image-item-image {
	width: 100%;
}

.single-innovation__product-image-item img {
	-o-object-fit: cover;
	aspect-ratio: 170/119;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.single-innovation__product-image-caption {
	color: #000000;
	color: var(--black0);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.75rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 0.5rem;
}

.single-innovation__product-image-caption.single-innovation__product-image-caption--small {
	font-size: 0.75rem;
}

.single-innovation__nav {
	border-bottom: 1px solid #d1cdc3;
	border-top: 1px solid #d1cdc3;
	display: flex;
	justify-content: space-between;
	margin-top: 2.5rem;
	padding-bottom: 1rem;
	padding-top: 1rem;
}

.single-innovation__nav-link {
	align-items: center;
	color: #000000;
	color: var(--black0);
	display: flex;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	gap: 1rem;
	letter-spacing: 0.08em;
	line-height: 1.5;
	transition: opacity 0.3s, color 0.3s;
}

.single-innovation__nav-link.single-innovation__nav-link--none {
	opacity: 0;
	pointer-events: none;
}

.single-innovation__nav-arrow {
	-webkit-mask-image: url(../images/common/arrow.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 1/1;
	background-color: #9c8e61;
	background-color: var(--gold);
	mask-image: url(../images/common/arrow.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 1rem;
}

.single-innovation__nav-link--prev .single-innovation__nav-arrow {
	transform: rotate(180deg);
}

.single-innovation__related {
	margin-top: 5rem;
}

.single-innovation__related-title {
	color: #000000;
	color: var(--black0);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.25rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
	text-align: center;
}

.single-innovation__related-cards {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 1.5rem;
}

.single-innovation__related-card {
	display: block;
}

.single-innovation__related-card-image {
	overflow: hidden;
}

.single-innovation__related-card-image img {
	-o-object-fit: cover;
	aspect-ratio: 280/150;
	height: auto;
	object-fit: cover;
	transition: transform 0.3s;
	width: 100%;
}

.single-innovation__related-card-title {
	align-items: center;
	color: #383532;
	color: var(--black);
	display: flex;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	gap: 0.5rem;
	justify-content: center;
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 0.5rem;
	transition: color 0.3s, background-color 0.3s;
}

.single-innovation__related-card-title::after {
	-webkit-mask-image: url(../images/common/arrow.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 1/1;
	background-color: #000000;
	background-color: var(--black0);
	content: "";
	mask-image: url(../images/common/arrow.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: background-color 0.3s;
	width: 1rem;
}

.single-innovation__variation {
	margin-top: 2.5rem;
}

.single-innovation__variation-title {
	color: #000000;
	color: var(--black0);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.25rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.single-innovation__variation-description {
	margin-top: 0.5rem;
}

.single-innovation__variation-table-wrapper {
	-webkit-overflow-scrolling: touch;
	margin-bottom: 5rem;
	margin-top: 1.5rem;
	overflow-x: auto;
}

.single-innovation__variation-table {
	background-color: transparent;
	border-collapse: collapse;
	min-width: 62.5rem;
}

.single-innovation__variation-table th {
	border: 1px solid #d1cdc3;
	color: #000000;
	color: var(--black0);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	line-height: 1.75;
	padding: 0.75rem 0.5rem;
	text-align: center;
	vertical-align: middle;
}

.single-innovation__variation-table td {
	border: 1px solid #d1cdc3;
	color: #000000;
	color: var(--black0);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	padding: 0.75rem 0.5rem;
	text-align: center;
	vertical-align: middle;
}

.single-innovation__variation-table-header-empty {
	background-color: transparent;
	border-left-color: transparent;
	border-top-color: transparent;
	width: 8.375rem;
}

.single-innovation__variation-table-header-group {
	background-color: transparent;
	color: #000000;
	color: var(--black0);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
}

.single-innovation__variation-table-row-header {
	background-color: transparent;
	color: #000000;
	color: var(--black0);
	font-weight: 700;
	font-weight: var(--bold);
	text-align: center;
	white-space: nowrap;
}

.single-innovation__variation-table td:nth-child(2),
.single-innovation__variation-table td:nth-child(3),
.single-innovation__variation-table td:nth-child(4),
.single-innovation__variation-table td:nth-child(5) {
	width: 7.8125rem;
}

.single-innovation__variation-table td:nth-child(6),
.single-innovation__variation-table td:nth-child(7),
.single-innovation__variation-table td:nth-child(8) {
	width: 7.625rem;
}

.single-innovation__variation-table-series-name {
	color: #000000;
	color: var(--black0);
	display: block;
	font-size: 0.75rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.single-innovation__variation-table-series-img {
	margin-left: auto;
	margin-right: auto;
	margin-top: auto;
	max-width: 6.25rem;
	padding-top: 0.25rem;
	width: 100%;
}

.single-innovation__variation-table-series-img img {
	height: auto;
	width: 100%;
}

.single-innovation__variation-table thead tr:first-child th,
.single-innovation__variation-table thead tr:first-child td {
	border-top: none;
}

.single-innovation__variation-table th:first-child,
.single-innovation__variation-table td:first-child {
	border-left: none;
}

.single-innovation__variation-table th:last-child,
.single-innovation__variation-table td:last-child {
	border-right: none;
}

.single-innovation__variation-table td:nth-child(2) {
	border-right: none;
}

.single-innovation__variation-table td:nth-child(3),
.single-innovation__variation-table td:nth-child(4) {
	border-left: none;
	border-right: none;
}

.single-innovation__variation-table td:nth-child(5) {
	border-left: none;
}

.single-innovation__variation-table td:nth-child(6) {
	border-right: none;
}

.single-innovation__variation-table td:nth-child(7) {
	border-left: none;
	border-right: none;
}

.single-innovation__variation-table td:nth-child(8) {
	border-left: none;
}

.single-innovation__feature {
	margin-top: 3.75rem;
}

.single-innovation__feature-title {
	color: #000000;
	color: var(--black0);
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1.25rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.single-innovation__feature-description {
	margin-top: 0.5rem;
}

.single-innovation__feature-content {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.single-innovation__feature-image {
	width: 100%;
}

.single-innovation__feature-image img {
	-o-object-fit: cover;
	aspect-ratio: 480/300;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.single-innovation__feature-image.single-innovation__feature-image--short {
	margin-top: 1rem;
}

.single-innovation__feature-image.single-innovation__feature-image--short img {
	-o-object-fit: cover;
	aspect-ratio: 500/242;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.single-innovation__feature-right {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.single-innovation__feature-item-title {
	color: #000000;
	color: var(--black0);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	line-height: 1.75;
}

.single-innovation__feature-item-text {
	color: #000000;
	color: var(--black0);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.75rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 0.5rem;
}

.single-innovation__feature-button-wrapper {
	margin-top: 2.5rem;
	text-align: center;
}

.single-innovation__feature-button-wrapper a {
	margin-left: auto;
	margin-right: auto;
}

.single-innovation__feature-button {
	align-items: center;
	background-color: #9c8e61;
	background-color: var(--gold);
	border-radius: 0.25rem;
	color: #fff;
	color: var(--white);
	display: inline-flex;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.875rem;
	font-weight: 700;
	font-weight: var(--bold);
	gap: 0.75rem;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.5;
	padding: 1rem 2.5rem;
	transition: opacity 0.3s;
}

.single-innovation__feature-button::after {
	-webkit-mask-image: url(../images/common/arrow.svg);
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 1/1;
	background-color: #fff;
	background-color: var(--white);
	content: "";
	mask-image: url(../images/common/arrow.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 1rem;
}

.single-innovation__variation-table-shape-img {
	margin-left: auto;
	margin-right: auto;
	max-width: 6.875rem;
	width: 100%;
}

.single-innovation__variation-table-shape-img img {
	-o-object-fit: cover;
	aspect-ratio: 110/128;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.sustainability {
	margin-top: 5rem;
	overflow: clip;
}

.sustainability-bottom {
	background-color: #6ed893;
	background-color: var(--green);
	border-radius: 0 0 5rem 5rem;
	margin-top: 2.5rem;
}

.sustainability__content {
	padding-bottom: 7rem;
	padding-top: 2.5rem;
	position: relative;
}

.sustainability__cards {
	height: 100%;
	overflow: visible;
}

.sustainability__cards .swiper-slide {
	display: flex;
	height: auto;
	width: 19.375rem;
}

.sustainability__card {
	display: flex;
	height: 100%;
	width: 100%;
}

.sustainability__card-link {
	background-color: #fff;
	background-color: var(--white);
	border-radius: 1.5rem;
	display: block;
	height: 100%;
	padding: 1.5rem 1.375rem;
	position: relative;
	transition: background-color 0.3s;
}

.sustainability__card-link::before {
	-webkit-mask-image: url("../images/common/arrow-red.svg");
	-webkit-mask-size: contain;
	-webkit-mask-position: center center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 1/1;
	background-color: #6ed893;
	background-color: var(--green);
	bottom: 1rem;
	content: "";
	mask-image: url("../images/common/arrow-red.svg");
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	opacity: 0;
	position: absolute;
	right: 1rem;
	transition: opacity 0.3s, background-color 0.3s;
	width: 1.25rem;
}

.sustainability__card-top {
	display: flex;
	justify-content: space-between;
}

.sustainability__card-top-image {
	max-width: 6.25rem;
	width: 100%;
}

.sustainability__card-top-image img {
	-o-object-fit: contain;
	aspect-ratio: 1/1;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.sustainability__card-top-number {
	color: #b4b4b4;
	color: var(--gray2);
	font-family: "poppins", sans-serif;
	font-family: var(--poppins-font);
	font-size: 1.25rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.sustainability__card-bottom {
	margin-top: 1rem;
}

.sustainability__card-bottom-title {
	align-items: center;
	color: #383532;
	color: var(--black);
	display: flex;
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.25rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.sustainability__card-bottom-text {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 0.9375rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	line-height: 1.75;
	margin-top: 0.5rem;
}

.sustainability__content .swiper-pagination.sustainability__pagination {
	align-items: center;
	bottom: 5rem;
	display: flex;
	gap: 1.5rem;
	justify-content: center;
	margin-top: 1.5rem;
}

.sustainability__content .swiper-pagination.sustainability__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #fff;
	background-color: var(--white);
	height: 0.5rem;
	margin: 0;
	opacity: 1;
	width: 0.5rem;
}

.sustainability__content .swiper-pagination.sustainability__pagination .swiper-pagination-bullet {
	background-color: transparent;
	border: 0.0625rem solid #fff;
	border: 0.0625rem solid var(--white);
	margin: 0;
	opacity: 1;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	bottom: -1.5625rem;
	text-align: right;
}

.swiper-pagination-bullet-active {
	background: #391E88;
}

.future-button {
	margin-top: 6.25rem;
	text-align: center;
}

.future-button.future-button--shot {
	margin-top: 6.25rem;
}

.technology-box {
	margin-top: 2.5rem;
}

.technology {
	position: relative;
	z-index: 1;
}

.technology-section-side-text {
	color: #f7f7f7;
	font-family: "poppins", sans-serif;
	font-family: var(--poppins-font);
	font-size: 3.5rem;
	font-weight: 500;
	font-weight: var(--medium);
	letter-spacing: 0.08em;
	line-height: 1;
	mix-blend-mode: multiply;
	position: absolute;
	right: 0;
	text-orientation: mixed;
	top: 0;
	white-space: nowrap;
	width: -moz-fit-content;
	width: fit-content;
	writing-mode: vertical-rl;
}

.technology--factory {
	margin-top: 6.25rem;
}

.technology__head {
	border-bottom: 2px dashed #f4f3ee;
	border-bottom: 2px dashed var(--gray);
	padding-bottom: 3.5rem;
}

.technology__item-description-box {
	margin-top: 1.5rem;
}

.technology__image {
	border-radius: 1.5rem;
	margin-top: 1.5rem;
	overflow: hidden;
}

.technology__image img {
	-o-object-fit: cover;
	aspect-ratio: 348/202;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.technology__body {
	margin-top: 3.5rem;
}

.technology__item {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.technology__item+.technology__item {
	margin-top: 2.5rem;
}

.technology__item-title {
	color: #383532;
	color: var(--black);
	font-family: "zen kaku gothic new", sans-serif;
	font-family: var(--gothic-font);
	font-size: 1.5rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.5;
}

.technology__item-title-en {
	font-family: "poppins", sans-serif;
	font-family: var(--poppins-font);
	font-weight: 500;
	font-weight: var(--medium);
	text-transform: uppercase;
}

.technology__item-title-br {
	display: inline-block;
}

.technology__item-description-box {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.technology__item-note {
	color: #a0a0a0;
	font-family: "noto sans japanese", sans-serif;
	font-family: var(--noto-font);
	font-size: 0.875rem;
	font-weight: 400;
	font-weight: var(--regular);
	letter-spacing: 0.04em;
	line-height: 1.6;
	margin-top: 0.5rem;
}

.technology__item-image {
	border-radius: 1.5rem;
	overflow: clip;
}

.technology__item-image img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.top-banner {
	padding-bottom: 2.5rem;
}

.view-button {
	color: #fff;
	color: var(--white);
	display: inline-block;
	font-family: "zen old mincho", sans-serif;
	font-family: var(--mincho-font);
	font-size: 1rem;
	font-weight: 700;
	font-weight: var(--bold);
	letter-spacing: 0.08em;
	line-height: 1.75;
	opacity: 0;
	padding-right: 2rem;
	position: absolute;
	text-transform: uppercase;
	transition: opacity 0.3s;
	z-index: 2;
}

.view-button::after {
	aspect-ratio: 16/16;
	background-image: url(../images/common/arrow-right.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
}

.wp-pagenavi {
	display: flex;
	gap: 0.625rem;
	justify-content: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
	align-items: center;
	background-color: #7633A4;
	border-radius: 50%;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 1.25rem;
	font-weight: bold;
	height: 2.8125rem;
	justify-content: center;
	transition: 0.3s ease;
	width: 2.8125rem;
}

.wp-pagenavi a:hover {
	background-color: #F1EBF8;
	color: #4F31A5;
	opacity: 1;
}

.wp-pagenavi span.current {
	background-color: #F1EBF8;
	color: #4F31A5;
}

.inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 650px;
	padding-left: 14px;
	padding-right: 14px;
	width: 100%;
}

.inner2 {
	margin-left: auto;
	margin-right: auto;
	max-width: 650px;
	padding-left: 14px;
	padding-right: 14px;
	width: 100%;
}

.inner3 {
	margin-left: auto;
	margin-right: auto;
	max-width: 650px;
	padding-left: 14px;
	padding-right: 14px;
	width: 100%;
}

@media (any-hover: hover) {

	.assistance__main-body:has(.assistance__card--01:hover) .assistance__image--01 {
		opacity: 1;
		z-index: 1;
	}

	.assistance__main-body:has(.assistance__card--02:hover) .assistance__image--02 {
		opacity: 1;
		z-index: 1;
	}

	.assistance__main-body:has(.assistance__card--03:hover) .assistance__image--03 {
		opacity: 1;
		z-index: 1;
	}

	.assistance__card:hover {
		background-color: #fff0f1;
		background-color: var(--pink);
	}

	.birth-story-page__anchor:hover {
		background-color: #000000;
		background-color: var(--black0);
		color: #fff;
		color: var(--white);
		opacity: 1;
	}

	.birth-story-page__anchor:hover::after {
		background-color: #fff;
		background-color: var(--white);
	}

	.future-breadcrumb__link:hover {
		-webkit-text-decoration: none;
		text-decoration: none;
	}

	.button--blue:hover {
		background-color: #008cd6;
		background-color: var(--blue);
		color: #fff;
		color: var(--white);
		opacity: 1;
	}

	.button--blue:hover::before {
		background-color: #fff;
		background-color: var(--white);
	}

	.button--green:hover {
		background-color: #6ed893;
		background-color: var(--green);
		color: #fff;
		color: var(--white);
	}

	.button--green:hover::before {
		background-color: #fff;
		background-color: var(--white);
	}

	.button--red:hover {
		background-color: #ff6676;
		background-color: var(--red);
		color: #fff;
		color: var(--white);
	}

	.button--red:hover::before {
		background-color: #fff;
		background-color: var(--white);
	}

	.button:hover::before {
		background-color: #fff;
		background-color: var(--white);
	}

	.challenge__card:hover {
		box-shadow: 0 0 1.25rem 0 rgba(0, 140, 214, 0.15);
		opacity: 1;
	}

	.challenge__card:hover .challenge__card-image::before {
		opacity: 1;
	}

	.challenge__card:hover .challenge__card-image img {
		transform: scale(1.05);
	}

	.challenge__card:hover .challenge__card-content {
		background-color: #e5f3fb;
		background-color: var(--light-blue);
	}

	.cta__link:hover {
		opacity: 1;
	}

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

	.cta__link:hover .view-button {
		opacity: 1;
	}

	.footer__outside-link-item:hover {
		opacity: 1;
	}

	.footer__outside-link-item:hover .footer__outside-link-icon::before {
		transform: translate(-50%, -50%) rotate(180deg);
	}

	.footer__outside-link-item--blue:hover {
		border-color: #008cd6;
		border-color: var(--blue);
	}

	.footer__outside-link-item--green:hover {
		border-color: #6ed893;
		border-color: var(--green);
	}

	.footer__outside-link-item--red:hover {
		border-color: #ff6676;
		border-color: var(--red);
	}

	.footer__banner-link:hover {
		box-shadow: 0 0 1.25rem 0 rgba(0, 140, 214, 0.15);
		opacity: 1;
	}

	.footer__copyright-nav-link:hover {
		opacity: 1;
	}

	.footer__copyright-nav-link:hover span {
		-webkit-text-decoration: none;
		text-decoration: none;
	}

	.future-anchor-link:hover {
		border-color: #6ed893;
		border-color: var(--green);
		opacity: 1;
	}

	.future-anchor-link:hover .future-anchor-link-icon::before {
		animation: swing 1s ease-out forwards;
	}

	.header:not(.past-header) .header__nav-item:hover::before {
		opacity: 1;
	}

	.past-header .header__nav-item:hover::before {
		opacity: 1;
	}

	.header__nav-sub-link:hover {
		color: #008cd6;
		color: var(--blue);
	}

	.header__mega-menu-top-link:hover::after {
		right: -0.25rem;
	}

	.header__mega-menu-list:hover {
		opacity: 1;
	}

	.header__mega-menu-list:hover .header__mega-menu-list-icon {
		animation: swing2 1s ease-out forwards;
	}

	.header__mega-menu-list:hover::after {
		right: -0.25rem;
	}

	.header__drawer-link:hover {
		color: #008cd6;
		color: var(--blue);
		opacity: 1;
	}

	.past-header .header__drawer-link:hover {
		color: #9c8e61;
		color: var(--gold);
	}

	.header__drawer-sub-link:hover {
		color: #008cd6;
		color: var(--blue);
		opacity: 1;
	}

	.past-header .header__drawer-sub-link:hover {
		color: #9c8e61;
		color: var(--gold);
	}

	.header__mega-menu-card--birth-story:hover {
		opacity: 1;
	}

	.header__mega-menu-card--birth-story:hover .header__mega-menu-card-img {
		animation: swing2 1s ease-out forwards;
	}

	.header__mega-menu-card--birth-story:hover .header__mega-menu-card-title--birth-story {
		color: #9c8e61;
		color: var(--gold);
	}

	.history-page__card:hover {
		opacity: 1;
	}

	.history-page__card:hover::after {
		transform: scale(1.05);
	}

	.history-modal__close:hover {
		opacity: 0.7;
	}

	.history-modal__slider-prev:not(.swiper-button-disabled):hover,
	.history-modal__slider-next:not(.swiper-button-disabled):hover {
		opacity: 0.7;
	}

	.history__past:hover .history__past-overlay {
		background-color: rgba(34, 29, 26, 0.6);
	}

	.history__past:hover .history__past-slider-track {
		animation-play-state: running;
	}

	.history__future:hover .history__future-bg::after {
		background-color: rgba(0, 140, 214, 0.4);
	}

	.history__future:hover .future-bg-ring--1,
	.history__future:hover .future-bg-ring--2,
	.history__future:hover .future-bg-ring--3,
	.history__future:hover .future-bg-ring--4,
	.history__future:hover .future-bg-decorations {
		animation-play-state: running;
	}

	.learning-anchor-link:hover {
		border-color: #ff6676;
		border-color: var(--red);
		color: #ff6676;
		color: var(--red);
		opacity: 1;
	}

	.loading__skip:hover {
		opacity: 0.8;
	}

	.loading__skip::after:hover {
		background-color: transparent;
	}

	.manufacturing-section__video-thumbnail:hover::before {
		opacity: 1;
	}

	.manufacturing-section__video-thumbnail:hover .manufacturing-section__video-play {
		background-color: #fff;
		background-color: var(--white);
		transform: translate(-50%, -50%) scale(1.1);
	}

	.manufacturing-section__video-thumbnail:hover .manufacturing-section__video-play::before {
		border-color: transparent transparent transparent #6ed893;
		border-color: transparent transparent transparent var(--green);
	}

	.past-birth-story__item:hover {
		opacity: 1;
	}

	.past-birth-story__item:hover .past-birth-story__item-link {
		opacity: 1;
	}

	.past-birth-story__item:hover .past-birth-story__item-link::after {
		transform: translateX(0.25rem);
	}

	.past-birth-story__content .past-birth-story__item:hover .past-birth-story__item-image img {
		transform: scale(1.1);
	}

	.past-button:hover {
		color: #fff;
		color: var(--white);
		opacity: 1;
	}

	.past-button:hover::before {
		transform: scaleX(1);
		transform-origin: left;
	}

	.past-button:hover::after {
		background-color: #fff;
		background-color: var(--white);
	}

	.past-community__item-link:hover {
		opacity: 1;
	}

	.past-community__item-link:hover::after {
		transform: translateX(0.25rem);
	}

	.past-footer__outside-link-item:hover {
		color: #383532;
		color: var(--black);
		opacity: 1;
	}

	.past-footer__outside-link-item:hover::after {
		transform: scaleX(1);
		transform-origin: left;
	}

	.past-footer__outside-link-item:hover::before {
		background-color: #383532;
		background-color: var(--black);
	}

	.past-footer__banner-link:hover {
		box-shadow: 0 0 1.25rem 0 rgba(0, 140, 214, 0.15);
		opacity: 1;
	}

	.past-footer__copyright-nav-link:hover {
		opacity: 1;
	}

	.past-footer__copyright-nav-link:hover span {
		-webkit-text-decoration: none;
		text-decoration: none;
	}

	.single-innovation__year-link:hover {
		background-color: #fff;
		background-color: var(--white);
		box-shadow: 0 0 1.25rem 0 rgba(51, 51, 51, 0.2), inset 0 0 0 rgb(225, 225, 225);
		color: #9c8e61;
		color: var(--gold);
		opacity: 1;
	}

	.single-innovation__year-link:hover::after {
		opacity: 0;
	}

	.single-innovation__nav-link:hover {
		color: #9c8e61;
		color: var(--gold);
		opacity: 1;
	}

	.single-innovation__related-card:hover {
		opacity: 1;
	}

	.single-innovation__related-card:hover .single-innovation__related-card-image img {
		transform: scale(1.05);
	}

	.single-innovation__related-card:hover .single-innovation__related-card-title {
		color: #9c8e61;
		color: var(--gold);
	}

	.single-innovation__related-card:hover .single-innovation__related-card-title::after {
		background-color: #9c8e61;
		background-color: var(--gold);
	}

	.single-innovation__feature-button:hover {
		opacity: 0.8;
	}

	.sustainability__card-link:hover {
		background-color: #f1fbf4;
		background-color: var(--light-green);
	}

	.sustainability__card-link:hover::before {
		opacity: 1;
	}

	.cta__link:hover .view-button,
	.history__past:hover .view-button,
	.history__future:hover .view-button {
		opacity: 1;
	}

}

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

	.u-desktop {
		display: block;
	}

	.u-mobile {
		display: none;
	}

	html {
		font-size: 1.3333333333vw;
	}

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

	a:hover {
		opacity: 0.8;
	}

	html {
		scroll-padding-top: 8.125rem;
	}

	.about {
		margin-top: 3rem;
		padding: 0 0 8rem;
	}

	.about::before {
		aspect-ratio: 800/598;
		bottom: -6.125rem;
		width: 50rem;
	}

	.about__logo {
		max-width: 10rem;
	}

	.about__logo img {
		aspect-ratio: 160/120;
	}

	.about__title {
		font-size: 2rem;
	}

	.about__content {
		align-items: flex-start;
		flex-direction: row;
		gap: 3.5rem;
		margin-top: 3.5rem;
	}

	.about__content-left {
		max-width: 25rem;
	}

	.about__image {
		border-radius: 2.5rem;
	}

	.about__image img {
		aspect-ratio: 400/560;
	}

	.about__caption-company {
		font-size: 1rem;
	}

	.about__caption-title {
		font-size: 1.25rem;
	}

	.about__texts {
		gap: 2.25rem;
		max-width: 46.5rem;
	}

	.about__text {
		font-size: 1.125rem;
	}

	.assistance {
		margin-top: 8rem;
	}

	.assistance-content {
		margin-top: 5rem;
		padding-bottom: 6.375rem;
		padding-top: 5rem;
	}

	.assistance-content::before {
		border-radius: 10rem 0 0 10rem;
		left: calc(50% - min(51.5vw, 29.5rem));
		margin: 0 calc(50% - 50vw);
	}

	.assistance__main-header {
		text-align: left;
	}

	.assistance__main-subtitle {
		font-size: 1rem;
	}

	.assistance__main-title {
		font-size: 2.25rem;
	}

	.assistance__main-description {
		font-size: 1rem;
		margin-top: 1.5rem;
	}

	.assistance__main-body {
		align-items: flex-start;
		flex-direction: row;
		gap: 5rem;
	}

	.assistance__images {
		border-radius: 2.5rem;
		display: block;
		max-width: 35rem;
	}

	.assistance__image img {
		-o-object-fit: cover;
		aspect-ratio: 1/1;
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

	.assistance__cards {
		gap: 1.5rem;
	}

	.assistance__card {
		border-radius: 1.5rem;
		margin-top: 0;
	}

	.assistance__card-image {
		display: none;
	}

	.assistance__card-link {
		padding: 1.5rem 2.5rem;
	}

	.assistance__card-label {
		font-size: 0.875rem;
	}

	.assistance__card-content {
		grid-template-rows: 0fr;
	}

	.assistance__card-text {
		margin-top: 0;
	}

	.birth-story-page__anchors {
		flex-direction: row;
		gap: 1.5rem;
		margin-top: 5rem;
	}

	.birth-story-page__anchor {
		font-size: 1rem;
		padding: 1.125rem 3rem;
	}

	.birth-story-page__contents {
		gap: 11.75rem;
		margin-top: 8rem;
	}

	.birth-story-page__body {
		margin-top: 5rem;
	}

	.birth-story-page__section+.birth-story-page__section {
		margin-top: 3.5rem;
	}

	.birth-story-page__section--with-image {
		display: flex;
		gap: 3.5rem;
	}

	.birth-story-page__section-main {
		flex: 1;
		gap: 3.5rem;
	}

	.birth-story-page__section-image-box {
		flex-direction: column;
		gap: 2.5rem;
		margin-top: 0;
		max-width: 20rem;
		width: 100%;
	}

	.birth-story-page__section-title {
		font-size: 1.125rem;
	}

	.birth-story-page__section-texts {
		gap: 1.75rem;
		margin-top: 1rem;
	}

	.future-breadcrumb {
		margin-top: 2.875rem;
		order: 1;
	}

	.future-breadcrumb__list {
		justify-content: flex-end;
	}

	.past-breadcrumb__list {
		justify-content: flex-start;
	}

	.future-breadcrumb__link,
	.past-breadcrumb__list-link {
		font-size: 0.75rem;
	}

	.future-breadcrumb__link,
	.past-breadcrumb__list-link {
		font-size: 0.75rem;
	}

	.past-breadcrumb__list {
		padding-bottom: 1rem;
		padding-top: 1rem;
	}

	.challenge {
		padding: 8rem 0;
	}

	.challenge::before {
		border-radius: 0 10rem 10rem 0;
		margin: 0 calc(50% - 50vw);
		right: calc(50% - min(51.5vw, 30.5rem));
		width: auto;
	}

	.challenge__cards {
		-moz-column-gap: 5rem;
		column-gap: 5rem;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto auto auto auto;
		margin-top: 5rem;
		row-gap: 0;
	}

	.challenge__card {
		border-radius: 2rem;
		grid-row: span 4;
		grid-template-rows: subgrid;
	}

	.challenge__card-image img {
		aspect-ratio: 560/374;
	}

	.challenge__card-overlay {
		padding: 2rem;
	}

	.challenge__card-overlay-subtitle {
		font-size: 1.125rem;
	}

	.challenge__card-overlay-title {
		font-size: 2rem;
	}

	.challenge__card-content {
		display: grid;
		grid-row: span 3;
		grid-template-rows: subgrid;
		padding: 1.5rem 2.5rem 2.0625rem;
	}

	.challenge__card-title {
		font-size: 1.25rem;
	}

	.challenge__card-text {
		font-size: 1rem;
	}

	.challenge__card-arrow {
		align-self: end;
		margin-top: 0.625rem;
	}

	.cta {
		margin-top: 8rem;
	}

	.cta.cta--future {
		margin-top: 12rem;
	}

	.cta__inner.inner {
		padding-left: 25px;
		padding-right: 25px;
	}

	.cta__content {
		align-items: center;
		flex-direction: row;
		gap: 0.3125rem;
		margin-left: auto;
		margin-right: calc(50% - 50vw);
	}

	.cta__text-block {
		max-width: 32.3125rem;
		width: 100%;
	}

	.cta__title {
		font-size: 3rem;
	}

	.cta__description {
		font-size: 1.25rem;
		margin-top: 1.5rem;
	}

	.cta__images {
		flex: 1;
		flex-direction: row;
		gap: 1.5rem;
		height: 25rem;
		margin: 0;
		width: auto;
	}

	.cta__images-slider {
		flex: 1;
		height: 100%;
	}

	.cta__images-slider.cta__images-slider--03 {
		display: block;
	}

	.cta__image {
		width: 100%;
	}

	.cta__image img {
		aspect-ratio: 250/187;
	}

	.cta__images-slider .swiper-wrapper {
		flex-direction: column;
		gap: 1.5rem;
	}

	.cta__images-slider .swiper-slide {
		width: 100%;
	}

	.footer {
		padding-top: 8rem;
	}

	.footer::before {
		aspect-ratio: 642/270;
		background-image: url(../images/common/footer-bg-future.webp);
		right: 1.6875rem;
		top: 2.6875rem;
		width: 40.125rem;
	}

	.footer__logo {
		max-width: 25rem;
	}

	.footer__logo img {
		aspect-ratio: 400/61;
	}

	.footer__nav {
		display: block;
		margin-top: 2.5rem;
	}

	.footer__nav-link {
		font-size: 1rem;
	}

	.footer__outside {
		margin-top: 5rem;
	}

	.footer__outside-links {
		gap: 2.5rem 1.5rem;
		grid-template-columns: repeat(3, 1fr);
	}

	.footer__outside-link-item {
		padding: 0.72625rem 2rem;
	}

	.footer__outside-link-text {
		font-size: 1rem;
	}

	.footer__banner-items {
		flex-direction: row;
		gap: 1.5rem;
		margin-top: 3.5rem;
		max-width: 41.5rem;
		width: 100%;
	}

	.footer__banner-link img {
		aspect-ratio: 348/80;
	}

	.footer__copyright {
		border-radius: 0 5rem 0 0;
		margin-top: 5rem;
		padding-bottom: 2.5rem;
		padding-top: 2.5rem;
	}

	.footer__copyright-container {
		align-items: center;
		flex-direction: row;
		gap: 0rem;
		justify-content: space-between;
	}

	.footer__copyright-nav-list {
		gap: 1.5rem;
	}

	.future-anchor-links {
		flex-direction: row;
		gap: min(1.6666666667vw, 1.5rem);
	}

	.future-anchor-link {
		gap: min(2.4305555556vw, 2.1875rem);
		padding: min(0.4166666667vw, 0.375rem) min(1.6666666667vw, 1.5rem);
	}

	.future-anchor-link-icon {
		height: min(2.7777777778vw, 2.5rem);
		width: min(2.7777777778vw, 2.5rem);
	}

	.future-anchor-link-text {
		font-size: 1rem;
		padding-right: min(1.1111111111vw, 1rem);
	}

	.future-fv {
		border-radius: 0 0 0 10rem;
		padding-bottom: 1rem;
		padding-top: 10.75rem;
	}

	.future-fv__heading {
		margin-top: 0;
	}

	.future-head__label {
		font-size: 1rem;
		padding-left: 3.5rem;
	}

	.future-head__label::before {
		width: 2.5rem;
	}

	.future-head__title {
		font-size: 3.5rem;
		margin-top: 1rem;
	}

	.future-head__description {
		margin-top: 2.5rem;
	}

	.future-mv__icon {
		right: calc(50% - min(56vw, 50.5rem));
		top: 54%;
		width: 47.5rem;
	}

	.future-mv__bg {
		aspect-ratio: 1335/628;
		left: 51%;
		top: 3.75rem;
		width: 101.75rem;
	}

	.future-mv__bg svg {
		-o-object-fit: contain;
		object-fit: contain;
	}

	.future-mv__bg-svg {
		-o-object-fit: contain;
		object-fit: contain;
	}

	.future-mv__bg-svg--pc {
		display: block;
	}

	.future-mv__bg-svg--sp {
		display: none;
	}

	.future-mv__inner.inner {
		max-width: 83.125rem;
	}

	.future-mv__heading {
		padding-bottom: 16.3125rem;
		padding-top: 13.75rem;
	}

	.future-mv__heading::after {
		aspect-ratio: 60/56;
		bottom: 1.5rem;
	}

	.future-mv__heading-label {
		font-size: 1.25rem;
		padding-left: 3.5rem;
	}

	.future-mv__heading-label::before {
		width: 2.5rem;
	}

	.future-mv__title {
		font-size: 3rem;
		margin-top: 2rem;
	}

	.future-text {
		font-size: 1rem;
	}

	.header {
		background-color: transparent;
		padding-bottom: 0rem;
		padding-top: 0rem;
		padding-top: 1.5rem;
	}

	.header__inner {
		gap: clamp(0rem, -1.429rem + 2.976vw, 1.25rem);
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.header.header--lower .header__inner {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.header-container {
		gap: clamp(0rem, -1.429rem + 2.976vw, 1.25rem);
	}

	.header.header--lower .header-container {
		background-color: #fff;
		background-color: var(--white);
		border-radius: 1.875rem;
		box-shadow: 0 0.625rem 1.25rem rgba(51, 51, 51, 0.2);
		gap: clamp(0rem, -1.429rem + 2.976vw, 1.25rem);
		padding-left: clamp(1rem, -0.714rem + 3.571vw, 2.5rem);
		padding-right: clamp(1rem, -0.714rem + 3.571vw, 2.5rem);
	}

	.header__logo-link {
		max-width: clamp(7.125rem, 0.268rem + 16.369vw, 15rem);
	}

	.header__logo-link img {
		aspect-ratio: 240/37;
	}

	.header__nav {
		align-items: center;
		background-color: #fff;
		background-color: var(--white);
		border-radius: 1.875rem;
		box-shadow: 0 0.625rem 1.25rem rgba(0, 140, 214, 0.15);
		display: flex;
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.header.header--lower .header__nav {
		background-color: transparent;
		box-shadow: none;
		padding-left: 0;
		padding-right: 0;
	}

	.header.header--lower .header__nav-list {
		gap: 0.625rem;
	}

	.header__nav-item.header__nav-item--mega {
		padding-bottom: 1.21875rem;
		padding-top: 1.21875rem;
	}

	.header__hamburger {
		display: none;
	}

	.history-page {
		padding-bottom: 5rem;
		padding-top: 5.8125rem;
	}

	.history-single-fv {
		margin-left: 0;
		margin-right: calc(50% - 50vw);
		padding: 4.75rem 3.5rem;
	}

	.history-single-fv--1 {
		background-image: url(../images/common/single-history-img1.webp);
	}

	.history-single-fv--2 {
		background-image: url(../images/common/single-history-img2.webp);
	}

	.history-single-fv--3 {
		background-image: url(../images/common/single-history-img3.webp);
	}

	.history-single-fv--4 {
		background-image: url(../images/common/history-img4.webp);
	}

	.history-single-fv__inner {
		max-width: 75rem;
	}

	.history-single-fv__title {
		align-items: center;
		flex-direction: row;
		font-size: 3.5rem;
		gap: 1.5rem;
	}

	.history-single-fv__subtitle {
		font-size: 1.5rem;
	}

	.history-single-fv__text {
		font-size: 1rem;
	}

	.history-page__header {
		padding-bottom: 2.5rem;
	}

	.history-page__title {
		gap: 1.5rem;
	}

	.history-page__title-en {
		font-size: 3.5rem;
	}

	.history-page__title-ja {
		font-size: 1.125rem;
	}

	.history-page__lead {
		margin-top: 1.5rem;
	}

	.history-page__top-button {
		margin-top: 2.5rem;
	}

	.history-page__cards {
		margin: 0;
		margin-top: 5rem;
		width: 100%;
	}

	.history-page__cards.history-page__cards--single {
		margin-top: 10rem;
	}

	.history-page__card {
		aspect-ratio: 1200/200;
	}

	.history-page__card1::after {
		background-image: url(../images/common/history-img1.webp);
	}

	.history-page__card2::after {
		background-image: url(../images/common/history-img2.webp);
	}

	.history-page__card3::after {
		background-image: url(../images/common/history-img3.webp);
	}

	.history-page__card4::after {
		background-image: url(../images/common/history-img4.webp);
	}

	.history-page__card-content {
		left: 0;
		padding: 2rem 3.5rem;
	}

	.history-page__card-title {
		align-items: center;
		flex-direction: row;
		gap: 2.5rem;
	}

	.history-page__card-year {
		font-size: 2.5rem;
	}

	.history-page__card-subtitle {
		font-size: 1.5rem;
	}

	.history-page__button {
		margin-top: 5rem;
	}

	.history-timeline {
		margin-top: 8rem;
	}

	.history-timeline__header {
		background-color: var(--beige);
		display: flex;
		position: sticky;
		top: 0rem;
		z-index: 10;
		background-color: var(--gray);
		height: 10rem;
	}

	.history-timeline__header-spacer {
		display: block;
		flex-shrink: 0;
		width: 12.5rem;
	}

	.history-timeline__columns-header {
		position: relative;
	}

	.history-timeline__column-title {
		font-size: 1.25rem;
		max-width: 31.25rem;
		padding: 0 2.5rem;
		width: 100%;
	}

	.history-timeline__body {
		align-items: flex-start;
		display: flex;
		margin-top: 2.5rem;
	}

	.history-timeline__container {
		display: block;
		flex: 1;
		position: relative;
	}

	.history-timeline__container::after {
		background: repeating-linear-gradient(to bottom, #9c8e61 0, #9c8e61 0.5rem, transparent 0.5rem, transparent 0.75rem);
		background: repeating-linear-gradient(to bottom, var(--gold) 0, var(--gold) 0.5rem, transparent 0.5rem, transparent 0.75rem);
		content: "";
		height: 100%;
		left: 50%;
		position: absolute;
		top: 0;
		width: 1px;
	}

	.history-timeline__row {
		align-items: start;
		display: flex;
		flex-direction: row;
		gap: 0;
	}

	.history-timeline__row:not(:first-child) {
		padding-top: 5rem;
	}

	.history-timeline__columns {
		flex-direction: row;
		gap: 0rem;
		max-width: 62.5rem;
		width: 100%;
	}

	/* .history-timeline__columns.history-timeline__columns--center {
		align-items: center;
	} */

	.history-timeline__year {
		flex-shrink: 0;
		font-size: 2rem;
		padding-top: 1rem;
		width: 12.5rem;
	}

	.history-timeline__year--sp {
		display: none;
	}

	.history-timeline__year-mark {
		align-items: center;
		background-color: #9c8e61;
		background-color: var(--gold);
		border-radius: 50%;
		color: #9c8e61;
		color: var(--gold);
		display: block;
		display: flex;
		height: 0.5rem;
		justify-content: center;
		margin-left: 1rem;
		position: relative;
		text-shadow: 0 0 0.125rem #383532;
		text-shadow: 0 0 0.125rem var(--black);
		width: 0.5rem;
	}

	.history-timeline__year-fixed {
		align-items: center;
		align-self: flex-start;
		display: flex;
		flex-shrink: 0;
		position: sticky;
		top: 15.5rem;
		width: 12.5rem;
		z-index: 10;
	}

	.history-timeline__content {
		gap: 1.5rem;
		max-width: 31.25rem;
		width: 100%;
	}

	.history-timeline__content:empty {
		display: flex;
	}

	.history-timeline__content--company {
		padding-right: 2.5rem;
	}

	.history-timeline__content--product {
		padding-left: 2.5rem;
	}

	.history-timeline__card--text-only {
		padding: 1rem 1.5rem;
	}

	.history-timeline__card-inner {
		align-items: stretch;
		gap: 1rem;
		padding: 1rem 1.5rem;
	}

	.history-timeline__card-image {
		max-width: 12.5rem;
	}

	.history-timeline__card-image-box {
		max-width: 12.5rem;
	}

	.history-timeline__card-image-box-caption {
		font-size: 0.75rem;
	}

	.history-timeline__card-text {
		font-size: 1rem;
	}

	.history-timeline__card-icon {
		bottom: 1rem;
		right: 1.5rem;
	}

	.history-modal__content {
		max-width: 77.5rem;
		padding: 2.5rem;
	}

	.history-modal__inner {
		flex-direction: row;
		gap: 2.5rem;
	}

	.history-modal__close {
		right: 1.5rem;
		top: 1.5rem;
	}

	.history-modal__image {
		max-width: 35rem;
	}

	.history-modal__image img {
		aspect-ratio: 560/320;
	}

	.history-modal__slider {
		max-width: 35rem;
	}

	.history-modal__slider .swiper-slide img {
		aspect-ratio: 560/320;
	}

	.history-modal__slider-pagination .swiper-pagination-bullet {
		height: 0.625rem;
		width: 0.625rem;
	}

	.history-modal__header {
		padding-bottom: 1.5rem;
	}

	.history-modal__year {
		font-size: 2rem;
	}

	.history-modal__title {
		font-size: 1.25rem;
		margin-top: 0.5rem;
	}

	.history-modal__text {
		font-size: 1rem;
		margin-top: 1.5rem;
	}

	.history-text {
		font-size: 1rem;
	}

	.history__inner {
		align-items: stretch;
		flex-direction: row;
	}

	.history__left {
		padding: 5.0625rem 4.375rem 5.0625rem 5rem;
		width: 58.3333333333%;
	}

	.history__logo {
		width: 20rem;
	}

	.history__title {
		font-size: 2.5rem;
	}

	.history__texts {
		gap: 2rem;
		margin-top: 1.5rem;
	}

	.history__text {
		font-size: 1rem;
	}

	.history__text--small {
		font-size: 0.875rem !important;
	}

	.history__text--small {
		margin-top: 1.5rem;
	}

	.history__top-logo {
		bottom: 4.5rem;
		right: 2.5rem;
		width: 9.25rem;
	}

	.history__right {
		height: auto;
		width: 41.6666666667%;
	}

	.history__past {
		min-height: 17.5rem;
	}

	.history__past-slider {
		gap: 1rem;
	}

	.history__past-slider-col {
		flex: 0 0 19.875rem;
	}

	.history__past-slider-col--01 {
		margin-left: -5rem;
	}

	.history__past-slider-col--05 {
		margin-right: -5rem;
	}

	.history__past-slider-track {
		gap: 1rem;
	}

	.history__past-slider-item {
		border-radius: 0.75rem;
	}

	.history__past-title,
	.history__future-title {
		font-size: 3rem;
	}

	.history__past-text,
	.history__future-text {
		font-size: 1.25rem;
	}

	.history__future {
		min-height: 17.5rem;
	}

	.history__past-button,
	.history__future-button {
		bottom: 2.5rem;
		right: 2.5rem;
	}

	.innovation-page__cards {
		gap: 5rem;
		grid-template-columns: repeat(2, 1fr);
		margin-top: 5rem;
	}

	.innovation-page__card-body {
		margin-top: 1rem;
	}

	.innovation-page__card-title {
		font-size: 1.5rem;
	}

	.innovation-page__card-text {
		margin-top: 1rem;
	}

	.larning-section-box {
		margin-top: 8rem;
	}

	.larning-section-box__inner {
		gap: 12rem;
	}

	.larning-section {
		margin-left: auto;
		max-width: 67.5rem;
		width: 100%;
	}

	.larning-section-side-text {
		font-size: 7.5rem;
		left: calc(50% - min(52.5vw, 46rem));
	}

	.larning-section__body {
		flex-direction: row;
		gap: 2.625rem;
		margin-top: 2.5rem;
	}

	.larning-section__body-texts {
		gap: 1.6875rem;
		max-width: 40rem;
	}

	.larning-section__body-images {
		gap: 2.625rem;
	}

	.larning-section__body-image {
		max-width: 25rem;
	}

	.larning-section__body-image.larning-section__body-image2 {
		margin-right: 0rem;
		max-width: 22.5rem;
	}

	.learning-tab {
		margin-top: 8rem;
	}

	.learning-anchor-links {
		gap: 1.5rem;
		grid-template-columns: repeat(3, 1fr);
	}

	.learning-anchor-link {
		font-size: 1rem;
		padding: 1.125rem 3.875rem;
	}

	.loading__counter {
		font-size: 7.5rem;
	}

	.loading__logo {
		height: 120px;
		width: 200px;
	}

	.loading__skip {
		bottom: 2.5rem;
		font-size: 1.25rem;
		right: 5rem;
	}

	.manufacturing-section-box {
		gap: 12rem;
	}

	.manufacturing-section-box {
		margin-top: 8rem;
	}

	.manufacturing-section-box__inner {
		gap: 19rem;
	}

	.manufacturing-section {
		margin-left: auto;
		max-width: 67.5rem;
		width: 100%;
	}

	.manufacturing-section-side-text {
		font-size: 7.5rem;
		left: calc(50% - min(52.5vw, 46rem));
	}

	.manufacturing-section__content-box {
		padding-bottom: 8rem;
		padding-top: 8rem;
	}

	.manufacturing-section__content {
		align-items: flex-start;
		flex-direction: row;
		gap: 2.5rem;
	}

	.manufacturing-section__image {
		border-radius: 2.5rem;
		max-width: 30rem;
	}

	.manufacturing-section__texts,
	.manufacturing-section__content-bottom {
		gap: 2rem;
	}

	.manufacturing-section__content-bottom {
		margin-top: 2.5rem;
	}

	.manufacturing-section__title {
		font-size: 2rem;
	}

	.manufacturing-section__footer {
		margin-top: 6.25rem;
		padding-bottom: 8rem;
		padding-top: 8rem;
	}

	.manufacturing-section__footer.manufacturing-section__footer2 {
		padding-bottom: 9.75rem;
		padding-top: 9.75rem;
	}

	.manufacturing-section__footer::before {
		border-radius: 10rem 0 0 10rem;
	}

	.manufacturing-section__footer-title {
		font-size: 2rem;
	}

	.manufacturing-section__footer-texts {
		gap: 1.5rem;
		margin-top: 2.5rem;
	}

	.manufacturing-section__footer-items {
		gap: 2.75rem;
		grid-template-columns: repeat(2, 1fr);
		margin-top: 2.5rem;
	}

	.manufacturing-section__footer-item-label {
		margin-left: 0;
		margin-right: 0;
	}

	.manufacturing-section__footer-item-img {
		margin-top: 1rem;
	}

	.manufacturing-section__box {
		border-radius: 2.5rem;
		margin-top: 0rem;
		padding: 5rem;
	}

	.manufacturing-section__catch {
		font-size: 1rem;
	}

	.manufacturing-section__title {
		font-size: 2rem;
	}

	.manufacturing-section__description {
		font-size: 1rem;
		margin-top: 2.5rem;
	}

	.manufacturing-section__box-video {
		border-radius: 2.5rem;
		margin-top: 2.5rem;
	}

	.manufacturing-section__video-play {
		height: 5rem;
		width: 5rem;
	}

	.manufacturing-section__video-play::before {
		border-width: 0.625rem 0 0.625rem 0.75rem;
		margin-left: 0.25rem;
	}

	.manufacturing-tab__inner.inner3 {
		max-width: 78.125rem;
	}

	.manufacturing-tab {
		margin-top: 8rem;
	}

	.past-banner {
		margin-top: 10rem;
	}

	.past-banner-img {
		margin-left: auto;
		margin-right: auto;
		max-width: 60rem;
		width: 100%;
	}

	.past-banner-img img {
		aspect-ratio: 960/240;
	}

	.past-birth-story {
		margin-top: 10rem;
	}

	.past-birth-story__content {
		gap: 5rem;
		margin-top: 5rem;
	}

	.past-birth-story__item {
		padding-top: 3.5rem;
	}

	.past-birth-story__content>.past-birth-story__item:nth-child(1) .past-birth-story__item-image::after {
		left: 63%;
		right: auto;
		transform: translateX(-50%);
		width: 28.25rem;
	}

	.past-birth-story__content>.past-birth-story__item:nth-child(2) .past-birth-story__item-image::after {
		left: 50%;
		width: 24.625rem;
	}

	.past-birth-story__content>.past-birth-story__item:nth-child(3) .past-birth-story__item-image::after {
		bottom: 0;
		left: calc(50% - min(14.5vw, 8.5rem));
		top: auto;
		width: 15.625rem;
	}

	.birth-story-page__content:nth-child(1) .past-birth-story__item-image::after {
		left: 49%;
		right: auto;
		transform: translateX(-50%);
		width: 28.25rem;
	}

	.birth-story-page__content:nth-child(2) .past-birth-story__item-image::after {
		left: 50%;
		width: 24.625rem;
	}

	.birth-story-page__content:nth-child(3) .past-birth-story__item-image::after {
		bottom: 0;
		left: calc(50% - min(8.5vw, 8rem));
		right: auto;
		top: auto;
		width: 15.625rem;
	}

	.past-birth-story__item.past-birth-story__item3 {
		margin-top: 0rem;
	}

	.past-birth-story__item--left .past-birth-story__item-image {
		padding-left: 15rem;
	}

	.past-birth-story__item--right .past-birth-story__item-image {
		padding-right: 15rem;
	}

	.past-birth-story__item-body-box {
		max-width: 35rem;
		padding: 2.5rem 3.5rem;
	}

	.past-birth-story__item.past-birth-story__item--left.past-birth-story__item--lower .past-birth-story__item-body-box {
		max-height: 16.5rem;
		padding: 3.5rem 3.5rem;
	}

	.past-birth-story__item-title {
		font-size: 2rem;
		letter-spacing: 0.16em;
	}

	.past-birth-story__item-text {
		margin-top: 1.5rem;
	}

	.past-birth-story__item-link {
		font-size: 0.9375rem;
		gap: 1rem;
		margin-top: 1.5rem;
	}

	.past-birth-story__button {
		margin-top: 5rem;
	}

	.past-button-container {
		margin-top: 10rem;
	}

	.past-button {
		font-size: 1rem;
	}

	.past-community {
		margin-top: 10rem;
	}

	.past-community__content {
		gap: 3.75rem;
		margin-top: 5rem;
	}

	.past-community__item {
		padding-top: 10.0625rem;
	}

	.past-community__item-image {
		height: calc(100% - 8.1875rem);
		left: 0;
		max-width: 60rem;
		position: absolute;
		top: 0;
	}

	.past-community__item-image img {
		aspect-ratio: 960/480;
	}

	.past-community__item-body-box {
		background-color: rgba(255, 255, 255, 0.8);
		margin-top: 0;
		max-width: 37.5rem;
		padding: 3.5rem 3.5rem;
		position: relative;
		z-index: 1;
	}

	.past-community__item-title {
		font-size: 1.5rem;
	}

	.past-community__item-text {
		font-size: 1rem;
		margin-top: 1.5rem;
	}

	.past-community__item-link {
		font-size: 1rem;
		margin-top: 1.5rem;
	}

	.community-section {
		margin-top: 5rem;
	}

	.community-section__title {
		font-size: 2rem;
	}

	.community-section__content {
		flex-direction: row;
		gap: 3.5rem;
		margin-top: 3.5rem;
	}

	.community-section__text {
		gap: 3.5rem;
		max-width: 50rem;
		width: 100%;
	}

	.community-section__block-title {
		font-size: 1.125rem;
	}

	.community-section__block-texts {
		gap: 1.875rem;
		margin-top: 1rem;
	}

	.community-section__images {
		gap: 0rem;
		max-width: 25.5rem;
		width: 100%;
	}

	.community-section__image.community-section__image1 {
		max-width: 24rem;
		width: 100%;
	}

	.community-section__image.community-section__image2 {
		margin-left: 10.5rem;
		margin-top: 3.5rem;
		max-width: 15rem;
		width: 100%;
	}

	.community-section__image.community-section__image3 {
		margin-left: 2.5rem;
		margin-top: 2.5rem;
		max-width: 17.5rem;
		width: 100%;
	}

	.past-footer {
		background: url("../images/common/footer-bg.webp") no-repeat center center/cover;
		padding-top: 8rem;
	}

	.past-footer-top__logo {
		margin-left: auto;
		margin-right: auto;
		max-width: 25rem;
	}

	.past-footer-top__nav {
		display: block;
		margin-left: auto;
		margin-right: auto;
		margin-top: 2.5rem;
		max-width: 53.75rem;
		width: 100%;
	}

	.past-footer-top__nav-list {
		align-items: center;
		flex-direction: row;
		gap: 2.5rem;
	}

	.past-footer-top__nav-link {
		font-size: 1rem;
	}

	.past-footer__outside-outside {
		margin-top: 5rem;
	}

	.past-footer__outside-links {
		gap: 1.5rem;
		grid-template-columns: repeat(3, 1fr);
	}

	.past-footer__outside-link-item {
		font-size: 1rem;
		padding: 1.125rem 3rem;
	}

	.past-footer__banner-items {
		gap: 1.5rem;
		grid-template-columns: repeat(2, 1fr);
		margin-left: auto;
		margin-right: auto;
		max-width: 41.5rem;
		width: 100%;
	}

	.past-footer__copyright {
		margin-top: 5rem;
	}

	.past-footer__copyright-container {
		align-items: center;
		flex-direction: row;
		gap: 0rem;
		justify-content: space-between;
	}

	.past-footer__copyright-nav-list {
		gap: 1.5rem;
	}

	.past-fv__heading {
		margin-top: 5rem;
	}

	.past-fv__title {
		font-size: 2.5rem;
	}

	.past-fv__description {
		margin-top: 1.5rem;
	}

	.past-section-heading {
		margin-top: 5rem;
		padding-bottom: 3.5rem;
	}

	.past-section-heading__title {
		align-items: baseline;
		flex-direction: row;
		font-size: 5rem;
		gap: 0.75rem;
	}

	.past-section-heading__title.past-section-heading__title--column {
		align-items: flex-start;
		flex-direction: column;
		gap: 1.5rem;
	}

	.past-section-heading__title-subtitle {
		font-size: 1.5rem;
	}

	.past-section-heading__description {
		margin-top: 2.5rem;
	}

	.past-history {
		margin-top: 10rem;
	}

	.past-history__title-en {
		font-size: 3rem;
	}

	.past-history__title-ja {
		font-size: 1rem;
	}

	.past-history__lead {
		font-size: 0.9375rem;
	}

	.past-history__content {
		margin-top: 5rem;
	}

	.past-history__content-title {
		font-size: 2rem;
		letter-spacing: 0.16em;
	}

	.past-history__images {
		margin-top: 2.875rem;
	}

	.past-history__image {
		width: 17.5rem;
	}

	.past-history__bottom {
		align-items: flex-end;
		flex-direction: row;
		gap: 2.5rem;
		justify-content: space-between;
		margin-top: 2.5rem;
	}

	.past-history__button-link.past-button {
		width: 25rem;
	}

	.past-innovation {
		margin-top: 10rem;
	}

	.past-innovation__content {
		margin-top: 6.25rem;
	}

	.past-innovation__slider .swiper-slide {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.past-innovation__slide-item {
		gap: 0.625rem;
	}

	.past-innovation__slide-label {
		font-size: 1rem;
	}

	.past-innovation__detail {
		margin-top: 3.625rem;
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}

	.past-innovation__detail-title {
		font-size: 2rem;
	}

	.past-innovation__button {
		margin-top: 5rem;
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.past-main::before {
		max-height: 50rem;
	}

	.past-message {
		padding: 24.375rem 0 14.25rem;
	}

	.past-message__image {
		max-width: 40rem;
	}

	.past-message__heading {
		aspect-ratio: 600/232;
		bottom: auto;
		top: 62%;
		transform: translateY(-50%);
		width: 37.5rem;
	}

	.past-message__label {
		font-size: 5rem;
	}

	.past-message__title {
		font-size: 2rem;
		margin-top: 2.5rem;
		white-space: normal;
	}

	.past-message__texts {
		gap: 2.625rem;
		margin-top: 3.5rem;
		text-align: center;
	}

	.past-message__text {
		font-size: 1.125rem;
	}

	.past-message__signature {
		margin-top: 3.5rem;
	}

	.past-message__signature-company {
		font-size: 1rem;
	}

	.past-message__signature-position {
		font-size: 1.5rem;
	}

	.past-mv {
		padding-bottom: 14.375rem;
		padding-top: 10.75rem;
	}

	.past-mv__label {
		font-size: 1.25rem;
	}

	.past-mv-title {
		font-size: 3rem;
		letter-spacing: 0.16em;
		margin-top: 1.5rem;
	}

	.past-mv__slider {
		bottom: 0rem;
		gap: 0;
	}

	.past-mv__slider-track {
		gap: 1.5rem;
	}

	.past-mv__slider-track--bottom {
		display: none;
	}

	.past-mv__slider-item {
		aspect-ratio: 400/300;
		width: 25rem;
	}

	.past-text {
		font-size: 1rem;
	}

	.qa__block {
		margin-top: 0;
		margin-top: initial;
	}

	.qa__block+.qa__block {
		margin-top: 6rem;
	}

	.qa__content+.qa__content {
		margin-top: 2.25rem;
	}

	.qa__summary {
		padding-bottom: 1.25rem;
		padding-left: 5.1875rem;
	}

	.qa__summary::before {
		height: 2rem;
		right: 1.875rem;
		width: 2rem;
	}

	.qa__summary::after {
		height: 0.5rem;
		right: 2.8125rem;
		width: 0.5rem;
	}

	.qa__summary.is-opened::after {
		top: 53%;
	}

	.qa__ttl {
		font-size: 1.125rem;
		line-height: 1.4;
	}

	.qa__ttl::before {
		left: -3rem;
		top: 50%;
		transform: translateY(-50%);
	}

	.qa__ttl span {
		font-size: 1.25rem;
	}

	.qa__inner {
		padding-left: 5.1875rem;
		padding-right: 6rem;
	}

	.qa__txt {
		font-size: 1rem;
		line-height: 1.5;
	}

	.qa__txt::before {
		left: -3rem;
		top: 50%;
		transform: translateY(-50%);
	}

	.qa__btn {
		margin-top: 3rem;
	}

	.qa__blockTitle-wrapper {
		margin-bottom: 3rem;
	}

	.qa__blockTitle {
		font-size: 1.25rem;
	}

	.section-label {
		font-size: 1.25rem;
		margin-left: clamp(-2.25rem, (100vw - 1300px) * -0.2571428571, 0rem);
		padding-left: 2rem;
	}

	.section-label::before {
		width: 1.25rem;
	}

	.section__subtitle {
		font-size: 1.25rem;
		margin-top: 2.5rem;
	}

	.section__title {
		font-size: 3rem;
	}

	.section__description {
		font-size: 1rem;
		margin-top: 2.5rem;
	}

	.single-innovation__wrapper {
		flex-direction: row;
		gap: 5rem;
		margin-top: 5rem;
	}

	.single-innovation__article {
		flex: 1;
	}

	.single-innovation__header {
		gap: 1rem 3.25rem;
		padding-bottom: 1.25rem;
	}

	.single-innovation__year {
		font-size: 5rem;
	}

	.single-innovation__year-suffix {
		font-size: 2rem;
	}

	.single-innovation__subtitle {
		font-size: 1.5rem;
	}

	.single-innovation__year-nav {
		align-self: flex-start;
		flex-direction: column;
		flex-shrink: 0;
		gap: 1.5rem;
		margin: 0;
		margin-top: 3.5rem;
		overflow: visible;
		padding: 0;
		position: sticky;
		top: 6.25rem;
		width: 7.5rem;
	}

	.single-innovation__year-link {
		flex-shrink: 1;
		font-size: 1.25rem;
		padding: 0.625rem 0.625rem;
		text-align: center;
		width: auto;
	}

	.single-innovation__year-link span {
		font-size: 0.875rem;
	}

	.single-innovation__product {
		margin-top: 3.5rem;
	}

	.single-innovation__product-title {
		font-size: 2rem;
		gap: 1.25rem;
	}

	.single-innovation__product-title-small {
		font-size: 1.5rem;
	}

	.single-innovation__product-top-images {
		gap: 2.5rem;
		grid-template-columns: repeat(2, 1fr);
		margin-top: 2.5rem;
	}

	.single-innovation__product-top-image-caption {
		font-size: 1rem;
		margin-top: 0.5rem;
	}

	.single-innovation__product-image {
		margin-top: 2rem;
		max-width: 55.1875rem;
	}

	.single-innovation__product-content {
		align-items: flex-start;
		display: flex;
		gap: 2.5rem;
		margin-top: 2.5rem;
	}

	.single-innovation__product-content.single-innovation__product-content2 {
		grid-template-columns: repeat(2, 1fr);
	}

	.single-innovation__product-text {
		flex: 1;
	}

	.single-innovation__product-text-note {
		font-size: 0.875rem;
		margin-top: 0.5rem;
	}

	.single-innovation__product-images {
		gap: 1rem;
		grid-template-columns: repeat(2, 1fr);
		margin-top: 0;
		max-width: 26.0625rem;
		width: 100%;
	}

	.single-innovation__product-images.single-innovation__product-images2 {
		max-width: 12.5rem;
		width: 100%;
	}

	.single-innovation__product-image-item img {
		aspect-ratio: 200/140;
	}

	.single-innovation__product-image-caption {
		font-size: 1rem;
	}

	.single-innovation__product-image-caption.single-innovation__product-image-caption--small {
		font-size: 0.875rem;
	}

	.single-innovation__nav {
		margin-top: 5rem;
		padding-bottom: 1.5rem;
		padding-top: 1.5rem;
	}

	.single-innovation__nav-link {
		font-size: 1rem;
		gap: 2.5rem;
	}

	.single-innovation__related {
		margin-top: 10rem;
	}

	.single-innovation__related-title {
		font-size: 1.5rem;
	}

	.single-innovation__related-cards {
		gap: 1.5rem;
		grid-template-columns: repeat(4, 1fr);
		margin-top: 2.5rem;
	}

	.single-innovation__related-card-image {
		margin-left: auto;
		margin-right: auto;
		max-width: 17.5rem;
		width: 100%;
	}

	.single-innovation__related-card-title {
		font-size: 1rem;
		gap: 1rem;
		margin-top: 1rem;
	}

	.single-innovation__variation {
		margin-top: 3.5rem;
	}

	.single-innovation__variation-title {
		font-size: 1.5rem;
	}

	.single-innovation__variation-description {
		margin-top: 1rem;
	}

	.single-innovation__variation-table-wrapper {
		margin-bottom: 15rem;
		margin-top: 2.5rem;
		overflow-x: visible;
	}

	.single-innovation__variation-table {
		max-width: 62.5rem;
		min-width: auto;
		width: 100%;
	}

	.single-innovation__variation-table th {
		font-size: 1.125rem;
		padding: 1rem 0.75rem;
	}

	.single-innovation__variation-table td {
		font-size: 1.125rem;
		padding: 0.875rem 0.3125rem;
	}

	.single-innovation__variation-table-header-group {
		font-size: 1rem;
	}

	.single-innovation__variation-table-row-header {
		width: 8.375rem;
	}

	.single-innovation__variation-table-series-name {
		font-size: 0.875rem;
	}

	.single-innovation__variation-table-series-img {
		max-width: 7.5rem;
	}

	.single-innovation__feature {
		margin-top: 5rem;
	}

	.single-innovation__feature-title {
		font-size: 1.5rem;
	}

	.single-innovation__feature-description {
		margin-top: 1rem;
	}

	.single-innovation__feature-content {
		flex-direction: row;
		gap: 3rem;
		justify-content: space-between;
	}

	.single-innovation__feature-left {
		max-width: 31.25rem;
		width: 100%;
	}

	.single-innovation__feature-image.single-innovation__feature-image--short {
		margin-top: -1.375rem;
	}

	.single-innovation__feature-right {
		gap: 1rem;
		max-width: 27.75rem;
		width: 100%;
	}

	.single-innovation__feature-item-title {
		font-size: 1rem;
	}

	.single-innovation__feature-item-text {
		font-size: 0.875rem;
	}

	.single-innovation__feature-button-wrapper {
		margin-top: 5rem;
	}

	.single-innovation__feature-button {
		font-size: 1rem;
		gap: 1rem;
		padding: 1.25rem 3.5rem;
	}

	.sustainability {
		margin-top: 8rem;
	}

	.sustainability-bottom {
		border-radius: 0 0 10rem 10rem;
		margin-top: 5rem;
	}

	.sustainability__content {
		padding-bottom: 8rem;
		padding-top: 5rem;
	}

	.sustainability__cards .swiper-wrapper {
		grid-gap: 2.5rem;
		display: grid;
		gap: 2.5rem;
		grid-template-columns: repeat(4, 1fr);
	}

	.sustainability__cards .swiper-slide {
		width: 100%;
	}

	.sustainability__card-link {
		padding: 1.5rem 1.375rem;
	}

	.sustainability__content .swiper-pagination.sustainability__pagination {
		display: none;
	}

	.future-button {
		margin-top: 15.5rem;
	}

	.future-button.future-button--shot {
		margin-top: 12rem;
	}

	.technology-box {
		margin-top: 8rem;
	}

	.technology {
		margin-left: auto;
		max-width: 67.5rem;
		width: 100%;
	}

	.technology-section-side-text {
		font-size: 7.5rem;
		left: calc(50% - min(52.5vw, 46rem));
	}

	.technology--factory {
		margin-top: 15.5rem;
	}

	.technology__head {
		padding-bottom: 8rem;
	}

	.technology__item-description-box {
		margin-top: 2.5rem;
	}

	.technology__image {
		border-radius: 2.5rem;
		margin-top: 2.5rem;
	}

	.technology__image img {
		aspect-ratio: 1080/300;
	}

	.technology__body {
		margin-top: 8rem;
	}

	.technology__item {
		flex-direction: row;
		gap: 2.5rem;
	}

	.technology__item+.technology__item {
		margin-top: 8rem;
	}

	.technology__item-content {
		max-width: 35rem;
		width: 100%;
	}

	.technology__item-title {
		font-size: 2rem;
	}

	.technology__item-description-box {
		gap: 1.5rem;
	}

	.technology__item-note {
		font-size: 0.875rem;
		margin-top: 1rem;
	}

	.technology__item-image {
		border-radius: 2.5rem;
		max-width: 30rem;
		width: 100%;
	}

	.top-banner {
		padding-bottom: 4.625rem;
	}

	.inner {
		max-width: 1250px;
		padding-left: 25px;
		padding-right: 25px;
	}

	.inner2 {
		max-width: 1410px;
		padding-left: 25px;
		padding-right: 25px;
	}

	.inner3 {
		max-width: 1130px;
		padding-left: 25px;
		padding-right: 25px;
	}

}

@media (any-hover: hover) and (min-width: 768px) {

	.assistance__cards:has(.assistance__card--02:hover) .assistance__card--01 .assistance__card-content,
	.assistance__cards:has(.assistance__card--03:hover) .assistance__card--01 .assistance__card-content {
		grid-template-rows: 0fr;
	}

	.assistance__card-link:hover .assistance__card-content {
		grid-template-rows: 1fr;
	}

}

@media screen and (min-width: 1024px) {

	.header__drawer {
		display: none;
	}

}

@media (min-width: 1200px) {

	html {
		font-size: 16px;
	}

}

@media screen and (min-width: 1300px) {

	.header__inner {
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}

	.header.header--lower .header__inner {
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}

	.header__nav {
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}

	.header.header--lower .header__nav-list {
		gap: 1.25rem;
	}

}

@media screen and (min-width: 1350px) {

	.community-section__images {
		margin-right: -4rem;
	}

}

@media screen and (min-width: 1400px) {

	.larning-section__body-image.larning-section__body-image2 {
		margin-right: -5rem;
	}

}

@media screen and (min-width: 1440px) {

	.past-innovation__detail {
		margin-top: 4.0277777778vw;
	}

}

@media screen and (min-width: 1441px) {

	.history__left {
		padding: 5.625vw 4.8611111111vw 5.625vw 5.5555555556vw;
	}

	.history__logo {
		width: 22.2222222222vw;
	}

	.history__title {
		font-size: 2.7777777778vw;
		margin-top: 2.7777777778vw;
	}

	.history__texts {
		gap: 2.2222222222vw;
		margin-top: 1.6666666667vw;
	}

	.history__text {
		font-size: 1.1111111111vw;
	}

	.history__text--small {
		font-size: 0.9722222222vw !important;
	}

	.history__text--small {
		margin-top: 1.6666666667vw;
	}

	.history__top-logo {
		bottom: 5vw;
		right: 2.7777777778vw;
		width: 9.5vw;
	}

	.history__past-content,
	.history__future-content {
		padding: 1.3888888889vw 1.3888888889vw;
	}

	.history__past-title,
	.history__future-title {
		font-size: 3.3333333333vw;
	}

	.history__past-text,
	.history__future-text {
		font-size: 1.3888888889vw;
		margin-top: 1.6666666667vw;
	}

	.history__past-button,
	.history__future-button {
		bottom: 2.7777777778vw;
		right: 2.7777777778vw;
	}

	.loading__counter {
		font-size: 8.3333333333vw;
		text-shadow: 0 0.2777777778vw 0.6944444444vw rgba(51, 51, 51, 0.2);
	}

	.loading__logo {
		height: 8.3333333333vw;
		width: 13.8888888889vw;
	}

	.loading__skip {
		bottom: 2.7777777778vw;
		font-size: 1.3888888889vw;
		right: 5.5555555556vw;
	}

	.loading__skip::after {
		bottom: 0.2083333333vw;
	}

}

@media screen and (max-width: 767px) {

	.past-birth-story__item-title span {
		font-size: 1rem;
	}

}

@media screen and (max-width: 550px) {

	.u-desktop-550 {
		display: block;
	}

}

@media screen and (max-width: 500px) {

	.u-desktop-500 {
		display: block;
	}

}

@media screen and (max-width: 450px) {

	.u-desktop-450 {
		display: block;
	}

}

@media (max-width: 375px) {

	html {
		font-size: 4.2666666667vw;
	}

}

@keyframes swing {

	20% {
		transform: translate(-50%, -50%) rotate(15deg);
	}

	40% {
		transform: translate(-50%, -50%) rotate(-10deg);
	}

	60% {
		transform: translate(-50%, -50%) rotate(5deg);
	}

	80% {
		transform: translate(-50%, -50%) rotate(-5deg);
	}

	100% {
		transform: translate(-50%, -50%) rotate(0deg);
	}

}

@keyframes futureMvRotateClockwise {

	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}

}

@keyframes futureMvRotateCounterClockwise {

	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(-360deg);
	}

}

@keyframes float1 {

	0%,
	100% {
		transform: translateY(0) translateX(0);
	}

	25% {
		transform: translateY(-8px) translateX(4px);
	}

	50% {
		transform: translateY(-4px) translateX(-3px);
	}

	75% {
		transform: translateY(-10px) translateX(2px);
	}

}

@keyframes float2 {

	0%,
	100% {
		transform: translateY(0) translateX(0);
	}

	20% {
		transform: translateY(-6px) translateX(-5px);
	}

	40% {
		transform: translateY(-12px) translateX(3px);
	}

	60% {
		transform: translateY(-5px) translateX(-2px);
	}

	80% {
		transform: translateY(-9px) translateX(4px);
	}

}

@keyframes float3 {

	0%,
	100% {
		transform: translateY(0) translateX(0);
	}

	30% {
		transform: translateY(-10px) translateX(6px);
	}

	60% {
		transform: translateY(-3px) translateX(-4px);
	}

}

@keyframes float4 {

	0%,
	100% {
		transform: translateY(0) translateX(0);
	}

	15% {
		transform: translateY(-5px) translateX(-3px);
	}

	45% {
		transform: translateY(-11px) translateX(5px);
	}

	70% {
		transform: translateY(-7px) translateX(-2px);
	}

}

@keyframes float5 {

	0%,
	100% {
		transform: translateY(0) translateX(0);
	}

	35% {
		transform: translateY(-9px) translateX(-4px);
	}

	65% {
		transform: translateY(-4px) translateX(6px);
	}

}

@keyframes swing2 {

	20% {
		transform: rotate(15deg);
	}

	40% {
		transform: rotate(-10deg);
	}

	60% {
		transform: rotate(5deg);
	}

	80% {
		transform: rotate(-5deg);
	}

	100% {
		transform: rotate(0deg);
	}

}

@keyframes gradientFlow {

	0% {
		background-position: 0% 50%;
	}

	100% {
		background-position: 200% 50%;
	}

}

@keyframes rotateClockwise {

	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}

}

@keyframes rotateCounterClockwise {

	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(-360deg);
	}

}

@keyframes slideUp {

	0% {
		transform: translateY(0);
	}

	100% {
		transform: translateY(-50%);
	}

}

@keyframes slideDown {

	0% {
		transform: translateY(-50%);
	}

	100% {
		transform: translateY(0);
	}

}

@keyframes scroll-left {

	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}

}

@keyframes scroll-right {

	0% {
		transform: translateX(-50%);
	}

	100% {
		transform: translateX(0);
	}

}

/*# sourceMappingURL=style.css.map */

/* character セクション */
.character {
	margin-top: 8rem;
}

.character .character__inner {
	max-width: 1090px;
	position: relative;
	padding-right: min(calc(((320) / 1090 * 100%) + 56px), 376px);
}

.character .character__image {
	position: absolute;
	top: 0;
	right: 25px;
	width: calc(320 / 1090 * 100%);
}

.character .character__description {
	margin-top: 2.5rem;
	font-weight: 500;
}

.character .character__button {
	margin-top: 2.5rem;
	text-align: center;
}

.character .character__button .button {
	padding: 0.2rem 3.75rem;
}

.character__label:before {
	-webkit-mask-image: url(../images/common/character-icon.svg);
	mask-image: url(../images/common/character-icon.svg);
}

@media screen and (min-width: 768px) {
	.character .character__subtitle {
		margin-top: 0.5rem;
	}
}

@media screen and (max-width: 767px) {
	.character {
		margin-top: 5rem;
	}

	.character .character__inner {
		max-width: 1090px;
		position: relative;
		padding-right: 14px;
	}

	.character .character__image {
		position: static;
		width: calc(200 / 375 * 100%);
		max-width: 300px;
		margin-top: 2rem;
		margin-left: auto;
		margin-right: auto;
	}

	.character .character__heading {
		text-align: center;
	}

	.character .character__description {
		margin-top: 2.5rem;
		font-weight: 500;
	}
}


/* character 詳細ページ */
:root {
	--blue2: #009CDB;
}

.future-fv__character+.repeat-label__character {
	margin-top: 5rem;
}

.future-fv__character .character__inner {
	display: flex;
	align-items: center;
	gap: 3.5rem;
	background-image: url(../images/common/bg_mv_character.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.future-fv__character .character__image {
	width: 30rem;
}

.future-fv__character .character__heading {
	width: 41.5rem;
}

.future-fv__character .character__tag {
	background-color: var(--blue2);
	padding: 0.25rem 1.5rem;
	font-weight: 700;
	line-height: 150%;
	letter-spacing: 0.1rem;
	color: var(--white);
	border-radius: 1.1875rem;
	margin-left: 0;
}

.future-fv__character .character__description {
	margin-top: 1.5rem;
	line-height: 175%;
	letter-spacing: 0.045rem;
}

.future-fv__character .character__title {
	margin-top: 1.5rem;
}

.repeat-label__character {
	background-image: url(../images/common/bg_character_repeat_x.svg);
	background-repeat: repeat-x;
	background-position: left top;
	background-size: auto 100%;
	height: 3.697rem;
}

.repeat-label__character~.repeat-label__character {
	margin-top: 12rem;
}

.repeat-label__character+.cta.cta--future {
	margin-top: 0;
}

.character-section-box {
	margin-top: 8rem;
}

.character-section-box .character__title {
	font-size: 2.5rem;
}

.character__profile {
	border-radius: 10rem;
	border: 16px solid rgba(0, 156, 219, 0.05);
	padding: 5rem 7.5rem;
	display: flex;
	align-items: center;
	gap: 5rem;
	margin-top: 3.5rem;
}

.character__profile-image {
	width: 15rem;
}

.character__profile-content {
	width: 40rem;
}

.character__profile-title {
	color: var(--blue2);
	font-size: 1.5rem;
	line-height: 175%;
	letter-spacing: 0.08rem;
}

.character__profile-text {
	margin-top: 0.5rem;
	color: var(--black);
	font-size: 1rem;
	line-height: 175%;
	letter-spacing: 0.04rem;
}

.character__profile-list {
	margin-top: 2.5rem;
	box-shadow: inset 0 1px 0 var(--blue2);
}

.character__profile-item {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	box-shadow: inset 0 -1px 0 var(--blue2);
	padding: 1.5rem 0;
}

.character__profile-item .character__profile-text {
	margin-top: 0;
}

.character__profile-tag {
	display: flex;
	width: 8.4375rem;
	padding: 0.25rem 1rem;
	justify-content: center;
	align-items: center;
	gap: 0.625rem;
	background-color: var(--blue2);
	border-radius: 1.1875rem;
	color: var(--white);
}

@media screen and (min-width: 768px) {
	.character__label {
		margin-left: -2.25rem;
	}
}

@media screen and (max-width: 767px) {
	.future-fv__character .character__heading {
		text-align: center;
	}

	.future-fv__character .character__image {
		width: min(calc(240 / 375 * 100%), 300px);
		margin-left: auto;
		margin-right: auto;
		margin-top: 2rem;
	}

	.future-fv__character .character__description {
		text-align: left;
	}

	.repeat-label__character~.repeat-label__character {
		margin-top: 5rem;
	}

	.future-fv__character+.repeat-label__character {
		margin-top: 2rem;
	}

	.character-section-box {
		margin-top: 5rem;
	}

	.character-section-box .character__title {
		font-size: 1.5rem;
	}

	.character__profile {
		border-radius: 3rem;
		border: 5px solid rgba(0, 156, 219, 0.05);
		padding: 3rem 1rem;
		display: block;
		margin-top: 2rem;
	}

	.character__profile-image {
		width: min(calc(160 / 375 * 100%), 10rem);
		margin-left: auto;
		margin-right: auto;
	}

	.character__profile-content {
		width: 100%;
	}

	.character__profile-title {
		font-size: 1.2rem;
	}

	.character__profile-text {
		margin-top: 0.5rem;
		font-size: 0.875rem;
	}

	.character__profile-list {
		margin-top: 2.5rem;
		box-shadow: inset 0 1px 0 var(--blue2);
	}

	.character__profile-item {
		display: block;
		padding: 1rem 0;
	}

	.character__profile-item .character__profile-text {
		margin-top: 0.5rem;
	}

	.character__profile-tag {
		width: 8rem;
		font-size: 0.875rem;
	}

}