*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
	border: 0;
	font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

html {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

li,
dd {
	list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
	display: block;
}

img {
	border: none;
	vertical-align: bottom;
}

html {
	font-size: 16px;
	overflow-x: hidden;
}

body {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
}

a {
	color: inherit;
	text-decoration: none;
	transition: 0.3s;
}

picture,
img,
a,
span {
	display: inline-block;
}

video,
img,
svg {
	height: 100%;
	width: 100%;
}

button {
	background: transparent;
	background: none;
	border: none;
	color: inherit;
	font: inherit;
}

input,
textarea,
select {
	font: inherit;
}

.l-header {
	--c: #FFFFFF;
	--ci: #1D1D1D;
	color: var(--c);
	left: 0;
	position: fixed;
	top: 18px;
	transition: color 0.4s ease;
	width: 100%;
	z-index: 100;
}

.l-header--top {
	--c: #1D1D1D;
	--ci: #FFFFFF;
}

.l-header--top.is-inverted {
	--c: #FFFFFF;
	--ci: #1D1D1D;
}

.l-header:not(.l-header--top).is-inverted {
	--c: #1D1D1D;
	--ci: #FFFFFF;
}

.l-header__inner {
	align-items: center;
	display: flex;
	height: 40px;
	justify-content: space-between;
	padding-left: 17px;
	padding-right: 18px;
}

.l-header__logo-link {
	color: currentColor;
	display: block;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 17px;
	letter-spacing: 0.06em;
	text-decoration: none;
	white-space: nowrap;
}

.l-header__right {
	align-items: center;
	display: flex;
	gap: 32px;
}

.l-header__nav {
	display: none;
}

.l-header__nav-list {
	align-items: center;
	display: flex;
	gap: clamp(16px, 2.5vw, 36px);
	list-style: none;
}

.l-header__nav-link {
	color: currentColor;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	letter-spacing: 0.06em;
	position: relative;
	text-decoration: none;
	white-space: nowrap;
}

.l-header__nav-link::after {
	background: currentColor;
	bottom: -6.5px;
	content: "";
	height: 1px;
	left: 0;
	opacity: 0;
	position: absolute;
	transition: opacity 0.3s;
	width: 100%;
}

.l-header__btns {
	align-items: center;
	display: flex;
	gap: 7px;
}

.l-header__btn-mail,
.l-header__btn-drawer {
	align-items: center;
	background: transparent;
	border: 1px solid var(--c);
	border-radius: 50%;
	color: var(--c);
	cursor: pointer;
	display: flex;
	flex-shrink: 0;
	height: 40px;
	justify-content: center;
	transition: color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
	width: 40px;
}

.l-header__btn-mail svg {
	flex-shrink: 0;
	height: 14px;
	width: 18px;
}

.l-header__btn-drawer {
	flex-direction: column;
	gap: 4px;
}

.l-header--top .l-header__btn-drawer {
	background: #1D1D1D;
	border-color: #1D1D1D;
	color: #FFFFFF;
}

.l-header--top.is-inverted .l-header__btn-drawer {
	background: #FFFFFF;
	border-color: #FFFFFF;
	color: #1D1D1D;
}

.l-header__bar {
	align-self: center;
	background: currentColor;
	display: block;
	height: 1px;
}

.l-header__bar:first-child {
	width: 16px;
}

.l-header__bar:last-child {
	transform: translateX(2px);
	width: 12px;
}

.p-drawer {
	background: #303030;
	display: flex;
	flex-direction: column;
	inset: 0;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	position: fixed;
	transition: opacity 0.4s ease, visibility 0.4s ease;
	visibility: hidden;
	z-index: 101;
}

.p-drawer.js-show {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.p-drawer__close {
	align-items: center;
	background: #000000;
	border: 1px solid #000000;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	flex-shrink: 0;
	height: 40px;
	justify-content: center;
	position: absolute;
	right: 18px;
	top: 18px;
	transition: background 0.3s ease, border-color 0.3s ease;
	width: 40px;
	z-index: 3;
}

.p-drawer__close::before,
.p-drawer__close::after {
	background: #fff;
	content: "";
	height: 1px;
	position: absolute;
	transition: background 0.3s ease;
	width: 16px;
}

.p-drawer__close::before {
	transform: rotate(45deg);
}

.p-drawer__close::after {
	transform: rotate(-45deg);
}

.p-drawer__body {
	display: grid;
	flex: 1;
	grid-template-columns: 1fr;
	min-height: 0;
	position: relative;
}

.p-drawer__left {
	overflow-y: auto;
	padding-block: clamp(60px, 10vh, 100px) clamp(40px, 5vh, 60px);
	padding-inline: 20px;
	position: relative;
	z-index: 2;
}

.p-drawer__list {
	display: flex;
	flex-direction: column;
	list-style: none;
}

.p-drawer__item {
	padding-block: clamp(14px, 2.5vh, 26px);
	position: relative;
}

.p-drawer__item::before {
	background: rgba(255, 255, 255, 0.2);
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}

.p-drawer__item::after {
	background: #fff;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
	width: 100%;
}

.p-drawer__item:first-child {
	padding-block-start: 0;
}

.p-drawer__link {
	color: #fff;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.06em;
	opacity: 0.7;
	transition: opacity 0.3s ease;
}

.p-drawer__row {
	align-items: start;
	display: grid;
	gap: 0;
	grid-template-columns: 180px 1fr;
}

.p-drawer__sub {
	align-content: start;
	display: grid;
	grid-template-columns: 120px 1fr;
	list-style: none;
	row-gap: clamp(14px, 2.5vh, 28px);
}

.p-drawer__sub-link {
	color: rgba(255, 255, 255, 0.7);
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 15px;
	letter-spacing: 0.06em;
	padding-inline-start: 20px;
	position: relative;
	transition: color 0.3s ease;
	white-space: nowrap;
}

.p-drawer__sub-link::before {
	background: currentColor;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
}

.p-drawer__right {
	display: none;
}

.p-drawer__imgs {
	height: 100%;
	position: relative;
	width: 100%;
}

.p-drawer__img {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.6s ease;
}

.p-drawer__img.is-active {
	opacity: 1;
}

.p-drawer__marquee {
	bottom: 0;
	left: 0;
	line-height: 1;
	mix-blend-mode: difference;
	opacity: 0.4;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.p-drawer__marquee-track {
	color: #fff;
	display: flex;
	font-family: "Outfit", sans-serif;
	font-size: clamp(60px, 12vh, 80px);
	font-weight: 100;
	letter-spacing: -0.05em;
	white-space: nowrap;
	will-change: transform;
}

.l-footer {
	background: #303030;
	padding-bottom: 26px;
	padding-top: 50px;
}

.l-inner {
	margin-inline: auto;
	max-width: 1440px;
	padding-inline: 20px;
	width: 100%;
}

.l-main {
	margin-block-start: 0;
}

.l-section {
	padding-block: 60px;
}

.l-page-transition__loader {
	align-items: center;
	display: flex;
	gap: 10px;
	inset: 0;
	justify-content: center;
	position: absolute;
}

.l-page-transition__dot {
	background: #59B9C7;
	flex-shrink: 0;
	height: 12px;
	width: 12px;
}

.l-page-transition__dot:nth-child(2) {
	background: #3F4F8A;
}

.c-animated__fadeIn {
	opacity: 0;
	transition: opacity 0.3s ease, translate 0.3s ease;
	translate: 0 40px;
}

.c-animated__fadeIn.js-fadein {
	opacity: 1;
	translate: 0 0;
}

.c-btn {
	align-items: center;
	cursor: pointer;
	display: inline-flex;
	gap: 16px;
	text-decoration: none;
}

.c-btn__line {
	flex-shrink: 0;
	height: 1px;
	overflow: hidden;
	position: relative;
	width: 163px;
}

.c-btn__line::before,
.c-btn__line::after {
	background: #1D1D1D;
	content: "";
	inset: 0;
	position: absolute;
}

.c-btn__line::before {
	transition: transform 0.45s ease;
}

.c-btn__line::after {
	transform: translateX(-101%);
	transition: transform 0.45s ease 0.15s;
}

.c-btn__text-wrap {
	display: inline-block;
	height: 1em;
	line-height: 1;
	overflow: hidden;
	position: relative;
}

.c-btn__text-wrap::after {
	color: #1D1D1D;
	content: attr(data-text);
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 500;
	left: 0;
	letter-spacing: 0.1em;
	position: absolute;
	top: 0;
	transform: translateY(150%);
	transition: transform 0.4s ease;
	white-space: nowrap;
}

.c-btn__text {
	color: #1D1D1D;
	display: inline-block;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.1em;
	transition: transform 0.4s ease;
	white-space: nowrap;
}

.c-btn--white .c-btn__line::before,
.c-btn--white .c-btn__line::after {
	background: #FFFFFF;
}

.c-btn--white .c-btn__text {
	color: #FFFFFF;
}

.c-btn--white .c-btn__text-wrap::after {
	color: #FFFFFF;
}

.c-btn-more {
	color: #1D1D1D;
	cursor: pointer;
	display: inline-flex;
	flex-direction: column;
	gap: 5px;
	text-decoration: none;
}

.c-btn-more__arrow {
	display: inline-block;
	flex-shrink: 0;
	height: 8px;
	position: relative;
	width: 30px;
}

.c-btn-more__arrow::before {
	background: currentColor;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
}

.c-btn-more__arrow::after {
	border-right: 1px solid currentColor;
	border-top: 1px solid currentColor;
	content: "";
	height: 8px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 8px;
}

.c-btn-more__line {
	background: currentColor;
	height: 1px;
	opacity: 0.3;
	transition: opacity 0.45s ease;
	width: 200px;
}

.c-btn-more--outline {
	align-items: center;
	border: 1px solid currentColor;
	border-radius: 15px;
	flex-direction: row;
	gap: 0;
	height: 30px;
	justify-content: center;
	opacity: 0.4;
	padding: 0;
	transition: opacity 0.3s ease;
	width: 84px;
}

.c-btn-more--outline svg {
	flex-shrink: 0;
	height: 8px;
	width: 30px;
}

.c-btn-more--outline .c-btn-more__line {
	display: none;
}

.c-btn-more--white {
	color: #FFFFFF;
}

.c-btn-contact {
	align-items: center;
	background-color: #3F4F8A;
	border-radius: 100px;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 16px;
	font-weight: 500;
	gap: 8px;
	justify-content: center;
	letter-spacing: 0.1em;
	padding-block: 20px;
	padding-inline: 40px;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.c-btn-contact__arrow {
	border-right: 1.5px solid currentColor;
	border-top: 1.5px solid currentColor;
	display: inline-block;
	flex-shrink: 0;
	height: 10px;
	transform: rotate(45deg);
	width: 10px;
}

.c-btn-link {
	align-items: center;
	color: #3F4F8A;
	cursor: pointer;
	display: inline-flex;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 700;
	gap: 9px;
	letter-spacing: 1.28px;
	line-height: 2;
	text-decoration: none;
}

.c-btn-link__icon {
	background-color: #FFFFFF;
	border: 1px solid #3F4F8A;
	border-radius: 50%;
	color: #3F4F8A;
	display: grid;
	flex-shrink: 0;
	height: 26px;
	place-items: center;
	transition: background-color 0.3s, color 0.3s;
	width: 26px;
}

.c-btn-link__icon svg {
	height: 8px;
	width: 8px;
}

.c-btn-link:not(:has(.c-btn-link__icon))::before {
	background-color: #FFFFFF;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M0 4H7' stroke='%233F4F8A'/%3E%3Cpath d='M4 1L7 4L4 7' stroke='%233F4F8A'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	border: 1px solid #3F4F8A;
	border-radius: 50%;
	content: "";
	display: inline-block;
	flex-shrink: 0;
	height: 26px;
	transition: background-color 0.3s;
	width: 26px;
}

.wp-block-button.c-btn-link {
	align-items: center;
	display: inline-flex;
	gap: 9px;
}

.wp-block-button.c-btn-link::before {
	background-color: #FFFFFF;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M0 4H7' stroke='%233F4F8A'/%3E%3Cpath d='M4 1L7 4L4 7' stroke='%233F4F8A'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	border: 1px solid #3F4F8A;
	border-radius: 50%;
	content: "";
	display: inline-block;
	flex-shrink: 0;
	height: 26px;
	transition: background-color 0.3s;
	width: 26px;
}

.wp-block-button.c-btn-link .wp-block-button__link {
	background: none;
	color: #3F4F8A;
	cursor: pointer;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 1.28px;
	line-height: 2;
	padding: 0;
	text-decoration: none;
}

.c-title__label {
	align-items: center;
	display: flex;
	gap: 15px;
	margin-left: 4px;
}

.c-title__marker {
	background: #3F4F8A;
	display: inline-block;
	flex-shrink: 0;
	height: 15px;
	width: 15px;
}

.c-title__label-text {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.1px;
}

.c-title.c-title--no-line {
	background-image: none;
}

.c-title.c-title--no-line .c-title__en::before,
.c-title.c-title--no-line .c-title__en::after {
	display: none;
}

.c-title--white .c-title__marker {
	background: #FFFFFF;
}

.c-title--white .c-title__label-text {
	color: #FFFFFF;
}

.c-title--white .c-title__en {
	color: #FFFFFF;
}

.c-title__en {
	color: #1D1D1D;
	font-family: "Outfit", sans-serif;
	font-size: clamp(36px, 7.6vw, 110px);
	font-weight: 200;
	letter-spacing: -0.05em;
	line-height: 0.96;
}

.c-card {
	color: #1D1D1D;
	display: block;
	text-decoration: none;
}

.c-card__img-wrap {
	aspect-ratio: 360/390;
	border-radius: 10px;
	margin-block-end: 31px;
	overflow: hidden;
	width: 100%;
}

.c-card__img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.c-card__head {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
	margin-block-end: 16px;
}

.c-card__texts {
	flex: 1;
	min-width: 0;
}

.c-card__title {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 1.2px;
	line-height: 1.3;
	margin-block-end: 1px;
}

.c-card__en {
	color: #1D1D1D;
	font-family: "Outfit", sans-serif;
	font-size: 13px;
	font-weight: 200;
	letter-spacing: 0.5px;
	line-height: 28px;
}

.c-card__markers {
	display: flex;
	flex-shrink: 0;
	gap: 0;
	margin-block-start: 7px;
}

.c-card__sq {
	display: inline-block;
	height: 15px;
	width: 15px;
}

.c-card__sq--1 {
	background: #3F4F8A;
}

.c-card__sq--2 {
	background: #59B9C7;
}

.c-card__sq--3 {
	background: #B7C8D0;
}

.c-card__foot {
	margin-block-start: -7px;
}

.c-hero {
	height: 260px;
	overflow: hidden;
	position: relative;
}

.c-hero__bg {
	inset: 0;
	position: absolute;
}

.c-hero__img {
	display: block;
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: bottom;
	object-position: bottom;
}

.c-hero__overlay {
	background: linear-gradient(to bottom, #1D1D1D 0%, rgba(29, 29, 29, 0.2) 100%);
	inset: 0;
	position: absolute;
}

.c-hero__inner {
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: flex-end;
	margin-inline: auto;
	max-width: 1380px;
	padding-block-end: 8px;
	padding-inline-start: 64px;
	position: relative;
	z-index: 1;
}

.c-hero__label {
	color: #FFFFFF;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: clamp(12px, 14.59px + 0.376vw, 20px);
	font-weight: 500;
	letter-spacing: 0.1px;
	line-height: clamp(18px, 15.5px + 1.84vw, 42px);
	margin-block-end: 30px;
	position: relative;
}

.c-hero__label::before {
	background: rgba(255, 255, 255, 0.6);
	content: "";
	height: 1px;
	position: absolute;
	right: calc(100% + 16px);
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
}

.c-hero__heading {
	color: #FFFFFF;
	font-family: "Outfit", sans-serif;
	font-size: clamp(80px, 68.31px + 8.45vw, 190px);
	font-weight: 100;
	letter-spacing: clamp(-3.8px, -1.37px - 0.169vw, -1.5px);
	line-height: clamp(45px, 37.4px + 4.69vw, 105px);
}

.c-hero--voice .c-hero__heading {
	font-size: clamp(62px, 53.28px + 6.59vw, 148px);
	line-height: clamp(35px, 29.17px + 3.66vw, 82px);
}

.c-hero--noimg {
	background: #303030;
}

.p-fv {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	overflow: hidden;
	position: relative;
}

.p-fv__upper {
	align-items: flex-end;
	display: flex;
	margin-inline: auto;
	max-width: 1440px;
	padding-left: 24px;
	padding-right: 30px;
	padding-top: 85px;
}

.p-fv__text {
	flex: 1;
	min-width: 0;
}

.p-fv__heading {
	color: #1D1D1D;
	font-family: "Outfit", sans-serif;
	font-size: clamp(48px, 13vw, 100px);
	font-size: 70px;
	font-style: normal;
	letter-spacing: -0.04em;
	line-height: 1;
	margin-block-end: 12px;
}

.p-fv__subtitle {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-style: normal;
	letter-spacing: 1.12px;
	padding-left: 6px;
}

.p-fv__scroll {
	flex-shrink: 0;
	width: 60px;
}

.p-fv__img-wrap {
	margin-inline: auto;
	margin-top: 56px;
	max-width: 1380px;
	position: relative;
}

.p-fv__img {
	display: block;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}

.p-fv__deco {
	position: absolute;
	right: 31px;
	top: -61px;
}

.p-fv__deco-img {
	display: block;
	height: 150px;
	width: 120px;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-about {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	overflow: hidden;
	padding-bottom: 60px;
	padding-top: 45px;
}

.p-about__inner {
	margin-inline: auto;
	max-width: 1440px;
	padding-inline: 30px;
}

.p-about__heading-wrap {
	margin-block-end: 37px;
	padding-left: 4px;
}

.p-about__en-heading {
	color: #3F4F8A;
	font-family: "Outfit", sans-serif;
	font-size: 50px;
	font-weight: 200;
	letter-spacing: -0.05em;
	line-height: 0.96;
}

.p-about__body {
	display: block;
}

.p-about__heading {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.6;
	margin-block-end: 19px;
	margin-left: -17px;
}

.p-about__text {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 1.6px;
	line-height: 2;
}

.p-about__text + .p-about__text {
	margin-block-start: 1.95em;
}

.p-about__btn {
	margin-block-start: 48px;
}

.p-about__right {
	display: none;
}

.p-about__right img:not(.p-about__deco-right):not(.p-about__deco-left) {
	aspect-ratio: 600/420;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
	position: relative;
	z-index: 1;
}

.p-about__img {
	display: block;
	height: auto;
	width: 100%;
}

.p-about__deco-right,
.p-about__deco-left {
	display: block;
	position: absolute;
}

.p-about__deco-right {
	height: auto;
	right: -60px;
	top: -60px;
	width: 120px;
}

.p-about__deco-left {
	bottom: -57px;
	height: auto;
	left: -30px;
	width: 90px;
}

.p-about-message {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	padding-block: 60px;
	scroll-margin-top: 78px;
}

.p-about-message__head-inner {
	margin-inline: auto;
	max-width: 1192px;
	padding-inline: 26px;
	position: relative;
	z-index: 1;
}

.p-about-message__body {
	display: flex;
	flex-direction: column;
	margin-block-start: 40px;
	margin-inline: auto;
	max-width: 1192px;
	padding-inline: 26px;
	position: relative;
}

.p-about-message__photo-wrap {
	aspect-ratio: 1/1;
	margin-inline: auto;
	max-width: 350px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.p-about-message__photo {
	display: block;
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-about-message__deco {
	display: block;
	pointer-events: none;
	position: absolute;
}

.p-about-message__deco img {
	display: block;
	height: 100%;
	width: 100%;
}

.p-about-message__deco--1 {
	bottom: -60px;
	left: 12px;
	width: 60px;
}

.p-about-message__deco--2 {
	right: -10px;
	top: -17px;
	width: 60px;
}

.p-about-message__content {
	margin-block-start: 32px;
	position: relative;
}

.p-about-message__heading {
	color: #3F4F8A;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.6;
	margin-block-end: 24px;
}

.p-about-message__text {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 1.6px;
	line-height: 32px;
}

.p-about-message__text + .p-about-message__text {
	margin-block-start: 1.5em;
}

.p-about-message__signer {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	margin-block-start: 24px;
}

.p-about-message__signer-label {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1.4px;
	line-height: 32px;
}

.p-about-message__signature {
	display: block;
	height: 28px;
	width: 120px;
}

.p-about-message__signature text {
	fill: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 1px;
}

.p-about-values {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	margin-inline: auto;
	max-width: 1440px;
	overflow: hidden;
	padding-block: 60px;
	position: relative;
	scroll-margin-top: 78px;
}

.p-about-values__photo-wrap {
	display: block;
	inset: 0;
	position: absolute;
	z-index: 0;
}

.p-about-values__photo {
	display: block;
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-about-values__watermark {
	display: none;
	margin: 0;
}

.p-about-values__watermark-line {
	display: none;
}

.p-about-values__inner {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	margin-inline: auto;
	max-width: 1192px;
	padding-inline: 26px;
	position: relative;
	z-index: 2;
}

.p-about-values__cluster {
	width: -moz-fit-content;
	width: fit-content;
}

.p-about-values__banner {
	margin-block-start: 16px;
}

.p-about-values__line {
	align-items: center;
	background: #3F4F8A;
	color: #FFFFFF;
	display: flex;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	font-weight: 500;
	justify-content: flex-end;
	line-height: 32px;
	margin-inline: auto 0;
	padding-block: 0;
	padding-inline: 0;
	text-align: right;
	white-space: nowrap;
	width: -moz-fit-content;
	width: fit-content;
}

.p-about-values__line + .p-about-values__line {
	margin-block-start: 0;
}

.p-about-company {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	padding-block: 60px;
	position: relative;
	scroll-margin-top: 78px;
}

.p-about-company__inner {
	margin-inline: auto;
	max-width: 1192px;
	padding-inline: 26px;
}

.p-about-company__list {
	margin: 0;
	margin-block-start: 48px;
}

.p-about-company__row {
	border-block-start: 1px solid rgba(29, 29, 29, 0.12);
	margin: 0;
	padding-block: 20px;
}

.p-about-company__row:last-child {
	border-block-end: 1px solid rgba(29, 29, 29, 0.12);
}

.p-about-company__label {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 1.6px;
	margin: 0;
}

.p-about-company__value {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 1.6px;
	line-height: 32px;
	margin: 0;
}

.p-about-company__business-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-about-company__business-list li {
	line-height: 33px;
}

.p-about-access {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	margin-inline: auto;
	max-width: 1440px;
	padding-block-end: 60px;
	padding-block-start: 0;
	position: relative;
	scroll-margin-top: 78px;
}

.p-about-access__body {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-block-start: 48px;
	margin-inline: auto;
	max-width: 1192px;
	padding-inline: 26px;
}

.p-about-access__head {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.p-about-access__address {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 1.4px;
	line-height: 28px;
}

.p-about-access__map-frame {
	aspect-ratio: 870/510;
	border: 0;
	display: block;
	height: auto;
	width: 100%;
}

.p-marquee {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	border-bottom: 1px solid #303030;
	border-top: 1px solid #303030;
	height: 75px;
	overflow: hidden;
}

.p-marquee__track {
	animation: p-marquee-scroll 40s linear infinite;
	color: #1D1D1D;
	display: flex;
	font-family: "Outfit", sans-serif;
	font-size: 125px;
	font-weight: 200;
	letter-spacing: -0.02em;
	line-height: 1;
	line-height: 75px;
	white-space: nowrap;
	will-change: transform;
}

.p-service {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	padding-top: 46px;
}

.p-service__inner {
	margin-inline: auto;
	max-width: 1440px;
	padding-inline: 26px;
}

.p-service__head {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-block-end: 40px;
}

.p-service__slider {
	border-bottom: 1px solid rgba(29, 29, 29, 0.15);
	border-top: 1px solid rgba(29, 29, 29, 0.15);
	margin-inline: -26px;
	overflow: hidden;
}

.p-service__slider .p-service__card {
	flex-shrink: 0;
	width: 330px;
}

.p-service__card {
	padding-block: 45px;
	padding-inline: 30px;
	position: relative;
}

.p-service__card--1::after,
.p-service__card--2::after {
	background: rgba(29, 29, 29, 0.15);
	content: "";
	height: 9999px;
	position: absolute;
	right: 0;
	top: 0;
	width: 1px;
}

.p-service-list {
	margin-inline: auto;
	max-width: 1380px;
	padding-block: 60px;
}

.p-service-list__item {
	align-items: stretch;
	border-block-start: 1px solid rgba(48, 48, 48, 0.25);
	display: flex;
	flex-direction: column;
	padding-block-start: 32px;
	padding-inline: 20px;
	position: relative;
	scroll-margin-top: 78px;
}

.p-service-list__item:last-child {
	border-block-end: 1px solid rgba(48, 48, 48, 0.25);
}

.p-service-list__img-wrap {
	aspect-ratio: 4/3;
	margin-inline: auto;
	order: -1;
	position: relative;
	width: 100%;
}

.p-service-list__img {
	display: block;
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-service-list__img-wrap::after {
	background: #303030;
	content: "";
	inset: 0;
	opacity: 0.05;
	position: absolute;
}

.p-service-list__body {
	flex: 1;
	margin-inline: auto;
	min-width: 0;
	padding-block: 40px;
	width: 100%;
}

.p-service-list__head {
	align-items: flex-end;
	display: flex;
	gap: 14px;
	margin-block-end: 28px;
}

.p-service-list__index {
	color: #B7C8D0;
	font-family: "Outfit", sans-serif;
	font-size: 56px;
	font-weight: 200;
	letter-spacing: 4.48px;
	line-height: 1;
}

.p-service-list__title {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 32px;
}

.p-service-list__en {
	color: #1D1D1D;
	font-family: "Outfit", sans-serif;
	font-size: 14px;
	font-weight: 200;
	line-height: 28px;
}

.p-service-list__row {
	align-items: center;
	border-block-end: 1px solid rgba(29, 29, 29, 0.08);
	display: flex;
	justify-content: space-between;
	padding-block-end: 14px;
}

.p-service-list__row + .p-service-list__row {
	margin-block-start: 14px;
}

.p-service-list__row-text {
	color: #3F4F8A;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1.6;
}

.p-service-list__markers {
	display: flex;
	flex-shrink: 0;
	gap: 0;
}

.p-service-list__sq {
	display: inline-block;
	height: 10px;
	width: 10px;
}

.p-service-list__sq--1 {
	background: #3F4F8A;
}

.p-service-list__sq--2 {
	background: #59B9C7;
}

.p-service-list__sq--3 {
	background: #B7C8D0;
}

.p-service-list__deco {
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.p-service-list__deco--1,
.p-service-list__deco--2 {
	height: 45px;
	width: 45px;
}

.p-service-list__deco--3,
.p-service-list__deco--4 {
	height: 45px;
	width: 60px;
}

.p-service-list__deco--1 {
	left: 20px;
	top: -15px;
}

.p-service-list__deco--2 {
	right: 20px;
	top: -15px;
}

.p-service-list__deco--3 {
	left: calc(20px - 8px);
	top: 0;
}

.p-service-list__deco--4 {
	bottom: -15px;
	right: 20px;
	z-index: -1;
}

.p-service-list__text {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.56px;
	line-height: 1.8;
	margin-block-start: 24px;
}

.p-feature {
	background: #EFEFEF;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	overflow: hidden;
	padding-bottom: 85px;
	padding-top: 75px;
	position: relative;
	z-index: 1;
}

.p-feature__deco-right {
	display: block;
	position: absolute;
	right: 15px;
	top: 15px;
	width: 60px;
}

.p-feature__deco-left {
	bottom: 15px;
	display: block;
	left: 15px;
	position: absolute;
	width: 45px;
}

.p-feature__inner {
	margin-inline: auto;
	max-width: 1440px;
	padding-inline: 26px;
}

.p-feature__head {
	margin-block-end: 73px;
}

.p-feature__left {
	position: relative;
	z-index: 1;
}

.p-feature__right-top {
	min-width: 0;
}

.p-feature__marquee {
	overflow-x: clip;
	position: relative;
	z-index: 0;
}

.p-feature__right-bottom {
	min-width: 0;
}

.p-feature__imgs {
	position: relative;
}

.p-feature__img-wrap {
	left: 50%;
	position: absolute;
	top: 50%;
}

.p-feature__img-wrap--1 {
	transform: translate(-50%, -50%) rotate(-6.59deg);
	z-index: 1;
}

.p-feature__img-wrap--2 {
	transform: translate(-50%, -50%);
	z-index: 0;
}

.p-feature__img {
	display: block;
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-feature__jp-heading {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 26px;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.6153846154;
}

.p-feature__text {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 2;
	margin-block-end: 48px;
}

.p-feature__marquee-track {
	animation: p-feature-marquee 25s linear infinite;
	color: #FFFFFF;
	display: block;
	font-family: "Outfit", sans-serif;
	font-size: clamp(80px, 35.2vw, 132px);
	font-weight: 300;
	letter-spacing: -0.02em;
	line-height: 1;
	pointer-events: none;
	white-space: nowrap;
}

.p-feature__btn {
	margin-block-start: 0;
}

.p-feature-detail {
	background: #303030;
	color: #FFFFFF;
	padding-block: 60px;
	position: relative;
	z-index: 2;
}

.p-feature-detail__inner {
	margin-inline: auto;
	max-width: 1192px;
	padding-inline: 26px;
}

.p-feature-detail__item {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.p-feature-detail__body {
	max-width: 480px;
	order: 1;
	width: 100%;
}

.p-feature-detail__img-wrap {
	aspect-ratio: 570/480;
	margin-block-start: 32px;
	margin-inline: auto;
	max-width: 570px;
	order: 2;
	overflow: hidden;
	width: 100%;
}

.p-feature-detail__img {
	display: block;
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-feature-detail__head {
	align-items: center;
	display: flex;
	gap: 8px;
	margin-block-end: 12px;
}

.p-feature-detail__marker {
	background: #59B9C7;
	display: inline-block;
	flex-shrink: 0;
	height: 15px;
	width: 15px;
}

.p-feature-detail__en {
	color: #59B9C7;
	font-family: "Outfit", sans-serif;
	font-size: 16px;
	font-weight: 300;
	letter-spacing: -0.02em;
	line-height: 25px;
}

.p-feature-detail__heading {
	color: #FFFFFF;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.4;
	margin-block-end: 20px;
}

.p-feature-detail__heading-line {
	display: inline-block;
	position: relative;
}

.p-feature-detail__heading-line::before,
.p-feature-detail__heading-line::after {
	background: rgba(255, 255, 255, 0.15);
	content: "";
	height: 1.5px;
	position: absolute;
}

.p-feature-detail__heading-line::before {
	left: -0.35em;
	top: 0.125em;
	width: 55%;
}

.p-feature-detail__heading-line::after {
	bottom: 0.0625em;
	right: -0.35em;
	width: 55%;
}

.p-feature-detail__heading-line--indent::before {
	left: 0.65em;
}

.p-feature-detail__text {
	color: #FFFFFF;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8;
}

.p-feature-detail__marquee {
	border-block: 1px solid rgba(255, 255, 255, 0.15);
	height: 75px;
	margin-block: 48px;
	margin-inline: calc(50% - 50vw);
	overflow: hidden;
	width: 100vw;
}

.p-feature-detail__marquee-track {
	animation: p-feature-detail-marquee 40s linear infinite;
	color: #FFFFFF;
	display: flex;
	font-family: "Outfit", sans-serif;
	font-size: 125px;
	font-weight: 200;
	letter-spacing: -0.02em;
	line-height: 1;
	line-height: 75px;
	white-space: nowrap;
	will-change: transform;
}

.p-voice {
	background: #303030;
	color: #FFFFFF;
	padding-bottom: 72px;
	padding-top: 60px;
	position: relative;
	z-index: 2;
}

.p-voice__inner {
	margin-inline: auto;
	max-width: 1440px;
	padding-inline: 26px;
}

.p-voice__body {
	margin-block-end: 46px;
}

.p-voice__head {
	padding-block-end: 40px;
}

.p-voice__label {
	align-items: center;
	display: flex;
	gap: 8px;
	margin-block-end: 8px;
}

.p-voice__label-marker {
	background: #FFFFFF;
	display: inline-block;
	flex-shrink: 0;
	height: 15px;
	width: 15px;
}

.p-voice__label-text {
	color: #FFFFFF;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	letter-spacing: 0.06em;
}

.p-voice__heading {
	color: #FFFFFF;
	font-family: "Outfit", sans-serif;
	font-size: clamp(44px, 11.7vw, 76px);
	font-weight: 100;
	letter-spacing: -0.03em;
	line-height: 1;
}

.p-voice__nav {
	display: none;
}

.p-voice__nav-prev {
	transform: scaleX(-1);
}

.p-voice__slider-wrap {
	overflow: hidden;
}

.p-voice__list {
	list-style: none;
}

.p-voice__card {
	display: flex;
	flex-direction: column;
	padding: 30px;
	width: 330px;
}

.p-voice__card {
	border-right: 1px solid rgba(255, 255, 255, 0.15);
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

#js-voice-prev.swiper-button-disabled,
#js-voice-next.swiper-button-disabled {
	opacity: 0.15;
	pointer-events: none;
}

.p-voice__card-index {
	color: #FFFFFF;
	font-family: "Outfit", sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.02em;
	opacity: 0.5;
}

.p-voice__card-img-wrap {
	border-radius: 10px;
	margin-block-start: 12px;
	overflow: hidden;
}

.p-voice__card-img {
	aspect-ratio: 270/300;
	display: block;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-voice__card-name {
	color: #FFFFFF;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	letter-spacing: 0.06em;
	line-height: 1.5;
	margin-block-start: 27px;
	opacity: 0.5;
}

.p-voice__card-text {
	color: #FFFFFF;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 18px;
	letter-spacing: 0.06em;
	line-height: 1.78;
	margin-block-start: 5px;
}

.p-voice__more-wrap {
	display: flex;
	justify-content: center;
}

.p-voice-list {
	background: #303030;
	background-image: repeating-linear-gradient(rgba(255, 255, 255, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0 1px, transparent 1px 30px);
	color: #FFFFFF;
	padding-block: 60px;
}

.p-voice-list__inner {
	margin-inline: auto;
	padding-inline: 20px;
}

.p-voice-list__grid {
	background-image: linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.15));
	background-position: 50% 0;
	background-repeat: no-repeat;
	background-size: 1px 100%;
	display: grid;
	gap: 40px 20px;
	grid-template-columns: repeat(2, 1fr);
	list-style: none;
	position: relative;
}

.p-voice-list__item {
	position: relative;
}

.p-voice-list__item::before {
	background: rgba(255, 255, 255, 0.15);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.p-voice-list__card {
	color: inherit;
	display: flex;
	flex-direction: column;
	padding-block: 60px;
	text-decoration: none;
}

.p-voice-list__index {
	color: #FFFFFF;
	font-family: "Outfit", sans-serif;
	font-size: 14px;
	margin-block-end: 12px;
}

.p-voice-list__img-wrap {
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

.p-voice-list__img {
	aspect-ratio: 4/3;
	display: block;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.p-voice-list__img-tint {
	background: rgba(0, 0, 0, 0.1);
	inset: 0;
	position: absolute;
}

.p-voice-list__name {
	color: rgba(255, 255, 255, 0.5);
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	margin-block-start: 20px;
}

.p-voice-list__text {
	color: #FFFFFF;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7;
	margin-block-start: 8px;
}

.p-voice-list__btn {
	margin-block-start: 20px;
}

.p-voice-list__pagination {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: center;
	margin-block-start: 40px;
}

.p-voice-list__page {
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.4);
	display: grid;
	font-family: "Outfit", sans-serif;
	font-size: 16px;
	height: 44px;
	place-items: center;
	text-decoration: none;
	width: 44px;
}

.p-voice-list__page.is-current {
	background: #FFFFFF;
	color: #1D1D1D;
}

.p-voice-detail {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	padding-block: 60px;
}

.p-voice-detail__inner {
	margin-inline: auto;
	max-width: 840px;
	padding-inline: 20px;
}

.p-voice-detail__date {
	color: #1D1D1D;
	font-family: "Outfit", sans-serif;
	font-size: 14px;
	font-weight: 200;
	letter-spacing: 0.64px;
}

.p-voice-detail__name {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.8;
	margin-block-start: 10px;
}

.p-voice-detail__content {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-block-start: 15px;
}

.p-voice-detail__img-wrap {
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

.p-voice-detail__img {
	aspect-ratio: 800/390;
	display: block;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-voice-detail__img-wrap::after {
	background: linear-gradient(to bottom, rgba(48, 48, 48, 0) 40%, rgba(48, 48, 48, 0.85) 100%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.p-voice-detail__quote {
	bottom: 16px;
	color: #FFFFFF;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 500;
	inset-inline: 16px;
	line-height: 1.6;
	position: absolute;
	z-index: 1;
}

.p-voice-detail__qa {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.p-voice-detail__q-wrap {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.p-voice-detail__q {
	color: #3F4F8A;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1.8;
}

.p-voice-detail__q-line {
	color: #1D1D1D;
	display: block;
	height: 15px;
	opacity: 0.25;
	position: relative;
	width: 100%;
}

.p-voice-detail__q-line::before {
	background: currentColor;
	content: "";
	height: 1px;
	left: 19.31px;
	position: absolute;
	right: 0;
	top: 0.5px;
}

.p-voice-detail__q-line::after {
	background: currentColor;
	content: "";
	height: 1px;
	left: 19.31px;
	position: absolute;
	top: 0.5px;
	transform: rotate(143.64deg);
	transform-origin: left center;
	width: 23.61px;
}

.p-voice-detail__a p {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1.28px;
	line-height: 2;
	margin: 0;
}

.p-voice-detail__signature {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1.6px;
	line-height: 2;
	text-align: right;
}

.p-voice-detail__back {
	display: flex;
	justify-content: center;
	margin-block-start: 60px;
}

.p-voice-other {
	background: #EFEFEF;
	padding-block-end: 50px;
	padding-block-start: 50px;
}

.p-voice-other__inner {
	margin-inline: auto;
	max-width: 1440px;
	padding-inline: 20px;
}

.p-voice-other__grid {
	display: grid;
	gap: 40px;
	grid-template-columns: 1fr;
	list-style: none;
	margin: 0;
	margin-block-start: 40px;
	padding: 0;
}

.p-voice-other__item {
	position: relative;
}

.p-voice-other__card {
	color: inherit;
	display: flex;
	flex-direction: column;
	text-decoration: none;
}

.p-voice-other__index {
	color: #1D1D1D;
	font-family: "Outfit", sans-serif;
	font-size: 14px;
	font-weight: 300;
	margin-block-end: 12px;
}

.p-voice-other__img-wrap {
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

.p-voice-other__img {
	aspect-ratio: 4/3;
	display: block;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.p-voice-other__img-tint {
	background: rgba(0, 0, 0, 0.1);
	inset: 0;
	position: absolute;
}

.p-voice-other__name {
	color: rgba(29, 29, 29, 0.5);
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	margin-block-start: 15px;
}

.p-voice-other__text {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 18px;
	line-height: 32px;
	margin-block-start: 5px;
}

.p-news {
	background: #FFFFFF;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	padding-bottom: 69px;
	padding-top: 48px;
}

.p-news__inner {
	margin-inline: auto;
	max-width: 1440px;
	padding-inline: 26px;
}

.p-news__head {
	padding-block-end: 41px;
}

.p-news__label {
	align-items: center;
	display: flex;
	gap: 8px;
	margin-block-end: 8px;
}

.p-news__label-marker {
	background: #3F4F8A;
	display: inline-block;
	flex-shrink: 0;
	height: 15px;
	width: 15px;
}

.p-news__label-text {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	letter-spacing: 0.06em;
}

.p-news__heading {
	color: #1D1D1D;
	font-family: "Outfit", sans-serif;
	font-size: clamp(44px, 11.7vw, 72px);
	font-weight: 100;
	letter-spacing: -0.03em;
	line-height: 1;
}

.p-news__list {
	list-style: none;
}

.js-fade-up {
	opacity: 0;
	transform: translateY(20px);
	transition-duration: 1s;
	transition-property: opacity, transform;
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.js-fade-up.is-intersected {
	opacity: 1;
	transform: none;
}

.p-news__item {
	border-top: 1px solid rgba(29, 29, 29, 0.15);
}

.p-news__item:last-child {
	border-bottom: 1px solid rgba(29, 29, 29, 0.15);
}

.p-news__item:nth-child(2) {
	transition-delay: 0.12s;
}

.p-news__item:nth-child(3) {
	transition-delay: 0.24s;
}

.p-news__item-link {
	align-items: center;
	color: #1D1D1D;
	display: grid;
	gap: 60px;
	grid-template-columns: 180px 1fr;
	overflow: hidden;
	padding-block: 30px;
	position: relative;
	text-decoration: none;
}

.p-news__item-link::after {
	background: #EFEFEF;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	transform: translateY(100%);
	transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.p-news__item-img-wrap {
	border-radius: 5px;
	flex-shrink: 0;
	overflow: hidden;
	position: relative;
	width: 180px;
	z-index: 1;
}

.p-news__item-img {
	aspect-ratio: 3/2;
	display: block;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.p-news__item-content {
	position: relative;
	z-index: 1;
}

.p-news__item-meta {
	align-items: center;
	display: flex;
	gap: 12px;
	margin-block-end: 7px;
}

.p-news__item-tag {
	background: #303030;
	border-radius: 20px;
	color: #FFFFFF;
	display: inline-block;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 12px;
	letter-spacing: 0.06em;
	padding: 2px 13px;
}

.p-news__item-date {
	font-family: "Outfit", sans-serif;
	font-size: 16px;
	font-weight: 200;
	letter-spacing: 0.04em;
}

.p-news__item-title {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 1.08px;
	line-height: 1.4;
}

.p-news__more-wrap {
	display: flex;
	justify-content: flex-end;
	margin-block-start: 43px;
}

.p-news-list {
	background: #FFFFFF;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	padding-block: 60px;
}

.p-news-list__inner {
	margin-inline: auto;
	max-width: 1440px;
	padding-inline: 20px;
}

.p-news-list__body {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.p-news-list__aside {
	order: 2;
}

.p-news-list__aside-block:nth-child(n+2) {
	margin-block-start: 30px;
}

.p-news-list__aside-heading-row {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.p-news-list__aside-heading {
	color: #1D1D1D;
	font-family: "Outfit", sans-serif;
	font-size: 16px;
	font-weight: 300;
	letter-spacing: 0.64px;
}

.p-news-list__aside-divider {
	background: rgba(29, 29, 29, 0.15);
	display: block;
	height: 1px;
	width: 100%;
}

.p-news-list__aside-list {
	display: flex;
	flex-direction: column;
	gap: 40px;
	list-style: none;
	margin-block-start: 20px;
}

.p-news-list__aside-link {
	color: #1D1D1D;
	display: inline-block;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 1.4px;
	line-height: 1.43;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 4px;
	transition: text-decoration-color 0.3s;
}

.p-news-list__aside-count {
	color: #B1B1B1;
}

.p-news-list__main {
	min-width: 0;
	order: 1;
}

.p-news-list__list {
	list-style: none;
}

.p-news-list__item {
	border-top: 1px solid rgba(29, 29, 29, 0.15);
}

.p-news-list__item:last-child {
	border-bottom: 1px solid rgba(29, 29, 29, 0.15);
}

.p-news-list__item-link {
	color: #1D1D1D;
	display: flex;
	flex-direction: column;
	gap: 16px;
	overflow: hidden;
	padding-block: 20px;
	position: relative;
	text-decoration: none;
}

.p-news-list__item-link::after {
	background: #EFEFEF;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	transform: translateY(100%);
	transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.p-news-list__img-wrap {
	border-radius: 5px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.p-news-list__img {
	aspect-ratio: 3/2;
	display: block;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.p-news-list__content {
	position: relative;
	z-index: 1;
}

.p-news-list__meta {
	align-items: center;
	display: flex;
	gap: 12px;
	margin-block-end: 10px;
}

.p-news-list__tag {
	background: #303030;
	border-radius: 20px;
	color: #FFFFFF;
	display: inline-block;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 12px;
	letter-spacing: 0.06em;
	padding: 2px 13px;
}

.p-news-list__date {
	color: #1D1D1D;
	font-family: "Outfit", sans-serif;
	font-size: 16px;
	font-weight: 200;
	letter-spacing: 0.04em;
}

.p-news-list__title {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
}

.p-news-list__pagination {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: center;
	margin-block-start: 50px;
}

.p-news-list__page {
	border-radius: 50%;
	color: rgba(29, 29, 29, 0.4);
	display: grid;
	font-family: "Outfit", sans-serif;
	font-size: 16px;
	height: 44px;
	place-items: center;
	text-decoration: none;
	transition: 0.3s;
	width: 44px;
}

.p-news-list__page.is-current {
	background: #1D1D1D;
	color: #FFFFFF;
}

.p-news-detail {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	padding-block: 60px;
}

.p-news-detail__inner {
	margin-inline: auto;
	max-width: 1440px;
	padding-inline: 20px;
}

.p-news-detail__row {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.p-news-detail__main {
	min-width: 0;
	order: 1;
}

.p-news-detail__head {
	display: flex;
	flex-direction: column;
}

.p-news-detail__meta {
	align-items: center;
	display: flex;
	gap: 12px;
}

.p-news-detail__tag {
	align-self: flex-start;
	background: #303030;
	border-radius: 20px;
	color: #FFFFFF;
	display: inline-block;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 12px;
	letter-spacing: 0.06em;
	padding: 2px 13px;
}

.p-news-detail__date {
	color: #1D1D1D;
	font-family: "Outfit", sans-serif;
	font-size: 14px;
	font-weight: 200;
	letter-spacing: 0.64px;
}

.p-news-detail__title {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	margin-block-start: 10px;
}

.p-news-detail__img-wrap {
	margin-block-start: 30px;
}

.p-news-detail__img {
	aspect-ratio: 810/500;
	display: block;
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	border-radius: 10px;
	object-fit: cover;
}

.p-news-detail__body {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	margin-block-start: 30px;
}

.p-news-detail__body p {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 1.28px;
	line-height: 2;
	margin: 0;
}

.p-news-detail__body p:not(:first-child) {
	margin-block-start: 1.5em;
}

.p-news-detail__body h2 {
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 1.4px;
	line-height: 1.6;
	padding-block-end: 16px;
	position: relative;
}

.p-news-detail__body h2:not(:first-child) {
	margin-block-start: 2.2em;
}

.p-news-detail__body h2::before {
	background: rgba(29, 29, 29, 0.15);
	bottom: 0;
	content: "";
	height: 1px;
	inset-inline: 0;
	position: absolute;
}

.p-news-detail__body h2::after {
	background: #3F4F8A;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	width: 90px;
}

.p-news-detail__body h3 {
	background: #EFEFEF;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 1.2px;
	line-height: 1.6;
	padding: 21px 24px 21px 48px;
	position: relative;
}

.p-news-detail__body h3:not(:first-child) {
	margin-block-start: 2.5em;
}

.p-news-detail__body h3::before {
	background: #3F4F8A;
	border-radius: 2px;
	content: "";
	height: 10px;
	left: 24px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
}

.p-news-detail__body h4 {
	border-bottom: 1px solid rgba(29, 29, 29, 0.15);
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 1.1px;
	line-height: 1.8;
	padding-block-end: 10px;
	position: relative;
}

.p-news-detail__body h4:not(:first-child) {
	margin-block-start: 2em;
}

.p-news-detail__body h5 {
	background: #EFEFEF;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1.6;
	padding: 21px 24px;
}

.p-news-detail__body h5:not(:first-child) {
	margin-block-start: 2.5em;
}

.p-news-detail__body h6 {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.9px;
	line-height: 1.8;
	padding-left: 30px;
	position: relative;
}

.p-news-detail__body h6:not(:first-child) {
	margin-block-start: 2em;
}

.p-news-detail__body h6::before {
	background: #3F4F8A;
	border-radius: 3px;
	content: "";
	height: 14px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
}

.p-news-detail__body ul,
.p-news-detail__body ol {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 1.28px;
	line-height: 2;
	list-style: none;
}

.p-news-detail__body ul:not(:first-child),
.p-news-detail__body ol:not(:first-child) {
	margin-block-start: 1.5em;
}

.p-news-detail__body ul li,
.p-news-detail__body ol li {
	padding-left: 25px;
	position: relative;
}

.p-news-detail__body ul li::before {
	background: #3F4F8A;
	border-radius: 50%;
	content: "";
	height: 15px;
	left: 0;
	position: absolute;
	top: 0.4em;
	width: 15px;
}

.p-news-detail__body ol {
	counter-reset: p-news-detail-ol;
}

.p-news-detail__body ol li {
	counter-increment: p-news-detail-ol;
}

.p-news-detail__body ol li::before {
	color: #3F4F8A;
	content: counter(p-news-detail-ol) ".";
	font-family: "Outfit", sans-serif;
	font-size: 20px;
	left: 0;
	position: absolute;
	top: 0;
}

.p-news-detail__body img {
	height: auto;
	margin-block-start: 1.5em;
	width: 100%;
}

.p-news-detail__body a:not(.c-btn-link) {
	color: #3F4F8A;
	text-decoration: underline;
}

.p-news-detail__body .p-news-detail__link {
	margin-block-start: 1.5em;
}

.p-news-detail__body .wp-block-buttons:not(:first-child) {
	margin-block-start: 1.5em;
}

.p-news-detail__img-group {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(2, 1fr);
	margin-block-start: 1.5em;
}

.p-news-detail__img-group img {
	aspect-ratio: 13/8;
	margin-block-start: 0;
}

.p-news-detail__img-group--3 {
	gap: 14px;
	grid-template-columns: repeat(3, 1fr);
}

.p-news-detail__back {
	display: flex;
	justify-content: center;
	order: 2;
}

.p-contact {
	background-color: #EFEFEF;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	border-radius: 10px;
	color: #1D1D1D;
	margin-inline: auto;
	max-width: 450px;
	overflow: hidden;
	width: calc(100% - 60px);
}

.p-contact__left {
	padding-bottom: 22px;
	padding-inline: 25px;
	padding-top: 32px;
	text-align: center;
}

.p-contact__label {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: center;
	margin-block-end: 12px;
}

.p-contact__label-marker {
	background: #3F4F8A;
	display: inline-block;
	flex-shrink: 0;
	height: 15px;
	width: 15px;
}

.p-contact__label-text {
	color: #1D1D1D;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	letter-spacing: 0.06em;
}

.p-contact__heading {
	color: #1D1D1D;
	font-family: "Outfit", sans-serif;
	font-size: clamp(48px, 12.8vw, 110px);
	font-weight: 200;
	letter-spacing: -0.05em;
	line-height: 1;
	margin-block-end: 24px;
}

.p-contact__text {
	color: rgba(29, 29, 29, 0.7);
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 14px;
	letter-spacing: 1.4px;
	line-height: 2;
	margin-block-end: 15px;
	margin-top: 18px;
	text-align: center;
}

.p-contact__btn {
	display: flex;
	margin-inline: auto;
}

.p-contact__right {
	display: flex;
	flex-direction: column;
	gap: 8px;
	height: 204px;
	overflow: hidden;
	padding-block: 8px;
}

.p-contact__img-col {
	flex: 1;
	overflow: hidden;
}

.p-contact__img-scroll {
	display: flex;
	gap: 8px;
	width: -moz-fit-content;
	width: fit-content;
	will-change: transform;
	--contact-gap: 8px;
}

.p-contact__img-col--down .p-contact__img-scroll.is-ready {
	animation: contactScrollRight 16s linear infinite;
}

.p-contact__img-col--up .p-contact__img-scroll.is-ready {
	animation: contactScrollLeft 16s linear infinite;
}

.p-contact__img-track {
	display: flex;
	flex-shrink: 0;
	gap: 8px;
}

.p-contact__img-track picture {
	border-radius: 5px;
	display: block;
	flex-shrink: 0;
	height: 90px;
	overflow: hidden;
	width: 150px;
}

.p-contact__img {
	display: block;
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-contact-form {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	padding-block: 60px;
}

.p-contact-form__inner {
	margin-inline: auto;
	max-width: calc(800px + 36px * 2);
	padding-inline: 20px;
}

.p-contact-form__lead {
	color: #1D1D1D;
	font-size: 16px;
	letter-spacing: 1.28px;
	line-height: 2.5;
	margin-block-end: 40px;
	text-align: left;
}

.p-contact-form__field {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-block-start: 22px;
}

.p-contact-form__field:first-child {
	margin-block-start: 0;
}

.p-contact-form__label {
	align-items: center;
	color: #1D1D1D;
	display: flex;
	font-size: 18px;
	font-weight: 500;
	gap: 5px;
	letter-spacing: 1.44px;
	line-height: 2;
}

.p-contact-form__required {
	color: #F03341;
	font-size: 12px;
	letter-spacing: 0.96px;
}

.p-contact-form__input,
.p-contact-form__textarea {
	background: #EFEFEF;
	border: 1px solid rgba(48, 48, 48, 0.1);
	color: #1D1D1D;
	font-size: 16px;
	letter-spacing: 1.28px;
	line-height: 2;
	padding: 7px 17px;
	width: 100%;
}

.p-contact-form__input::-moz-placeholder,
.p-contact-form__textarea::-moz-placeholder {
	color: #1D1D1D;
	opacity: 0.2;
}

.p-contact-form__input::placeholder,
.p-contact-form__textarea::placeholder {
	color: #1D1D1D;
	opacity: 0.2;
}

.p-contact-form__input {
	height: 46px;
}

.p-contact-form__textarea {
	height: 210px;
	resize: vertical;
}

.p-contact-form__zip {
	align-items: center;
	display: flex;
	gap: 9px;
}

.p-contact-form__input--zip1 {
	flex-shrink: 0;
	width: 66px;
}

.p-contact-form__input--zip2 {
	flex-shrink: 0;
	width: 76px;
}

.p-contact-form__zip-hyphen {
	background: currentColor;
	color: #1D1D1D;
	display: block;
	flex-shrink: 0;
	height: 1px;
	width: 10.5px;
}

.p-contact-form__agree {
	display: flex;
	justify-content: center;
	margin-block-start: 40px;
}

.p-contact-form__agree label {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 8px;
}

.p-contact-form__agree label .wpcf7-list-item-label {
	min-width: 0;
}

.p-contact-form__checkbox {
	position: relative;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #FFFFFF;
	border: 1px solid rgba(48, 48, 48, 0.3);
	border-radius: 3px;
	flex-shrink: 0;
	height: 18px;
	width: 18px;
}

.p-contact-form__checkbox:checked {
	background: #3F4F8A;
}

.p-contact-form__checkbox:checked::after {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='9' viewBox='0 0 12 9' fill='none'%3E%3Cpath d='M1 4.5L4.2 7.5L11 1' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
	content: "";
	height: 7.5px;
	inset: 0;
	margin: auto;
	position: absolute;
	width: 11.5px;
}

.p-contact-form__agree-label {
	color: #1D1D1D;
	font-size: 16px;
	letter-spacing: 1.28px;
}

.p-contact-form__agree-link {
	color: #3F4F8A;
	text-decoration: underline;
}

.p-contact-form__submit {
	background: #3F4F8A;
	border: none;
	color: #FFFFFF;
	cursor: pointer;
	display: block;
	font-size: 20px;
	height: 60px;
	letter-spacing: 1.6px;
	margin-block-start: 40px;
	margin-inline: auto;
	max-width: 300px;
	transition: background-color 0.3s;
	width: 100%;
}

.p-privacy {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	padding-block: 60px;
}

.p-privacy__inner {
	margin-inline: auto;
	max-width: calc(810px + 36px * 2);
	padding-inline: 20px;
}

.p-privacy__inner > p {
	color: #1D1D1D;
	font-size: 16px;
	letter-spacing: 1.28px;
	line-height: 2;
}

.p-privacy__inner > p:not(:first-child) {
	margin-block-start: 20px;
}

.p-privacy__inner > h2 {
	border-bottom: 1px solid rgba(29, 29, 29, 0.15);
	color: #1D1D1D;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 1.1px;
	line-height: 1.8;
	margin-block-start: 40px;
	padding-block-end: 12px;
}

.p-privacy__inner > h2:first-of-type {
	margin-block-start: 60px;
}

.p-privacy__inner > :is(ol,
ul) {
	color: #1D1D1D;
	counter-reset: p-privacy-decimal;
	font-size: 16px;
	letter-spacing: 1.28px;
	line-height: 2;
	margin-block-start: 20px;
	padding-inline-start: 1.5em;
}

.p-privacy__inner > :is(ol,
ul) > li {
	counter-increment: p-privacy-decimal;
	position: relative;
}

.p-privacy__inner > :is(ol,
ul) > li::before {
	content: counter(p-privacy-decimal) ".";
	left: -1.5em;
	position: absolute;
}

.p-privacy__inner > :is(ol,
ul) :is(ol,
ul) {
	counter-reset: p-privacy-alpha;
	margin-block-start: 0.5em;
	padding-inline-start: 1.5em;
}

.p-privacy__inner > :is(ol,
ul) :is(ol,
ul) > li {
	counter-increment: p-privacy-alpha;
}

.p-privacy__inner > :is(ol,
ul) :is(ol,
ul) > li::before {
	content: counter(p-privacy-alpha, lower-alpha) ".";
}

.p-privacy__inner > :is(ol,
ul) :is(ol,
ul) :is(ol,
ul) {
	counter-reset: p-privacy-roman;
}

.p-privacy__inner > :is(ol,
ul) :is(ol,
ul) :is(ol,
ul) > li {
	counter-increment: p-privacy-roman;
}

.p-privacy__inner > :is(ol,
ul) :is(ol,
ul) :is(ol,
ul) > li::before {
	content: counter(p-privacy-roman, lower-roman) ".";
}

.p-404 {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	padding-block: 80px;
}

.p-404__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-inline: auto;
	max-width: calc(600px + 36px * 2);
	padding-inline: 20px;
	text-align: center;
}

.p-404__text {
	color: #1D1D1D;
	font-size: 16px;
	letter-spacing: 1.28px;
	line-height: 2;
}

.p-404__link {
	margin-block-start: 40px;
}

.p-footer {
	background: #303030;
	padding-top: 39px;
}

.p-footer__inner {
	display: flex;
	flex-direction: column;
	margin-inline: auto;
	max-width: 1440px;
	padding-inline: 29px;
}

.p-footer__logo-wrap {
	display: contents;
}

.p-footer__logo {
	color: #FFFFFF;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 28px;
	font-weight: 400;
	margin-block-end: 25px;
	order: 1;
}

.p-footer__address {
	color: #FFFFFF;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 13px;
	font-style: normal;
	letter-spacing: 1.8px;
	line-height: 1.8;
	margin-block-start: 25px;
	order: 3;
}

.p-footer__nav {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 0;
	order: 2;
}

.p-footer__nav-group {
	display: contents;
}

.p-footer__nav-col {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	padding-bottom: 10px;
	padding-top: 13px;
}

.p-footer__nav-group:last-child .p-footer__nav-col:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.p-footer__nav-heading {
	margin-block-end: 6px;
}

.p-footer__nav-heading + .p-footer__nav-heading {
	margin-block-start: 24px;
}

.p-footer__nav-list + .p-footer__nav-heading {
	margin-block-start: 32px;
}

.p-footer__nav-link {
	color: #FFFFFF;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.06em;
	position: relative;
	text-decoration: none;
}

.p-footer__nav-link::after {
	background: currentColor;
	bottom: -4px;
	content: "";
	height: 1px;
	left: 0;
	opacity: 0;
	position: absolute;
	transition: opacity 0.3s;
	width: 100%;
}

.p-footer__nav-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 3px 24px;
	list-style: none;
}

.p-footer__nav-sub-link {
	color: rgba(255, 255, 255, 0.6);
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 15px;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.p-footer__nav-sub-link::before {
	content: "－";
	font-size: 10px;
	margin-inline-end: 4px;
}

.p-footer__copyright {
	color: rgba(255, 255, 255, 0.5);
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-size: 10px;
	letter-spacing: 0.06em;
	order: 4;
	padding-top: 34px;
	text-align: center;
}

.u-font {
	font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.u-text__center {
	text-align: center !important;
}

.u-text__left {
	text-align: left !important;
}

.u-text__right {
	text-align: right !important;
}

.u-text__nowrap {
	white-space: nowrap;
}

.u-pointer__none {
	pointer-events: none !important;
}

@media (hover: hover) {

a:hover {
	cursor: pointer;
}

.l-header__nav-link:hover::after {
	opacity: 1;
}

.l-header__btn-mail:hover,
.l-header__btn-drawer:hover {
	background: var(--c);
	border-color: transparent;
	color: var(--ci);
}

.l-header--top .l-header__btn-drawer:hover {
	background: transparent;
	border-color: #1D1D1D;
	color: #1D1D1D;
}

.l-header--top.is-inverted .l-header__btn-drawer:hover {
	background: transparent;
	border-color: #FFFFFF;
	color: #FFFFFF;
}

.p-drawer__close:hover {
	background: #fff;
	border-color: #fff;
}

.p-drawer__close:hover::before,
.p-drawer__close:hover::after {
	background: #000000;
}

.p-drawer__item:hover::after {
	transform: scaleX(1);
}

.p-drawer__link:hover {
	opacity: 1;
}

.p-drawer__sub-link:hover {
	color: #fff;
}

.c-btn:hover .c-btn__line::before {
	transform: translateX(101%);
}

.c-btn:hover .c-btn__line::after {
	transform: translateX(0);
}

.c-btn:hover .c-btn__text {
	transform: translateY(-150%);
}

.c-btn:hover .c-btn__text-wrap::after {
	transform: translateY(0);
}

.c-btn-more--outline:hover {
	opacity: 1;
}

.c-btn-more:hover .c-btn-more__line {
	opacity: 1;
}

.c-btn-contact:hover {
	opacity: 0.75;
}

.c-btn-link:hover .c-btn-link__icon {
	background-color: #3F4F8A;
	color: #FFFFFF;
}

.c-btn-link:hover:not(:has(.c-btn-link__icon))::before {
	background-color: #3F4F8A;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M0 4H7' stroke='%23FFFFFF'/%3E%3Cpath d='M4 1L7 4L4 7' stroke='%23FFFFFF'/%3E%3C/svg%3E");
}

.wp-block-button.c-btn-link .wp-block-button__link:hover {
	opacity: 1;
}

.wp-block-button.c-btn-link:hover::before {
	background-color: #3F4F8A;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M0 4H7' stroke='%23FFFFFF'/%3E%3Cpath d='M4 1L7 4L4 7' stroke='%23FFFFFF'/%3E%3C/svg%3E");
}

.c-card:hover .c-card__img {
	transform: scale(1.05);
}

.p-voice-list__card:hover .p-voice-list__img {
	transform: scale(1.05);
}

.p-voice-list__page:hover {
	color: #FFFFFF;
}

.p-voice-other__card:hover .p-voice-other__img {
	transform: scale(1.05);
}

.p-news__item-link:hover::after {
	transform: translateY(0);
}

.p-news__item-link:hover .p-news__item-img {
	transform: scale(1.05);
}

.p-news-list__aside-link:hover {
	text-decoration-color: currentColor;
}

.p-news-list__item-link:hover::after {
	transform: translateY(0);
}

.p-news-list__item-link:hover .p-news-list__img {
	transform: scale(1.05);
}

.p-news-list__page:hover {
	color: #1D1D1D;
}

.p-news-detail__body a:not(.c-btn-link):hover {
	opacity: 0.7;
}

.p-contact-form__submit:hover {
	background: #26346A;
}

.p-footer__nav-link:hover::after {
	opacity: 1;
}

.p-footer__nav-sub-link:hover {
	color: #FFFFFF;
}

}

@media (prefers-reduced-motion: reduce) {

.p-contact__img-scroll {
	animation-play-state: paused;
}

}

@media (min-width: 768px) {

a[href*="tel:"] {
	cursor: default;
	pointer-events: none;
	text-decoration: none;
}

.p-fv__scroll {
	margin-top: -7px;
	width: 120px;
}

.p-about-values {
	aspect-ratio: 1440/840;
	padding-block: 90px;
	scroll-margin-top: 93px;
}

.p-about-values__watermark {
	color: #FFFFFF;
	display: block;
	font-family: "Outfit", sans-serif;
	font-size: 220px;
	font-weight: 200;
	height: 100%;
	left: 0;
	letter-spacing: -0.05em;
	line-height: 105px;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	text-align: center;
	text-orientation: sideways;
	top: 0;
	width: 120px;
	writing-mode: vertical-rl;
	z-index: 1;
	-webkit-mask-image: linear-gradient(to bottom, transparent, #FFFFFF 15%, #FFFFFF 85%, transparent);
	mask-image: linear-gradient(to bottom, transparent, #FFFFFF 15%, #FFFFFF 85%, transparent);
}

.p-about-values__watermark-line {
	background: #FFFFFF;
	display: block;
	height: 100%;
	left: 120px;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 1px;
	z-index: 1;
}

.p-about-values__inner {
	height: 100%;
	justify-content: flex-end;
	max-width: calc(1140px + 36px * 2);
	padding-block-end: 40px;
	padding-inline: 36px;
}

.p-about-values__line {
	font-size: clamp(18px, 1.81vw, 26px);
	line-height: clamp(40px, 4.17vw, 60px);
	margin-inline: auto 0;
}

.p-about-access {
	padding-block: 0;
	scroll-margin-top: 93px;
}

.p-about-access::before {
	background: rgba(29, 29, 29, 0.12);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-about-access__body {
	align-items: center;
	display: grid;
	gap: clamp(40px, 4.17vw, 60px);
	grid-template-columns: 1fr clamp(400px, 60.42vw, 870px);
	margin-block-start: 0;
	max-width: none;
	padding-inline: 0;
}

.p-about-access__head {
	align-items: flex-start;
	min-width: 0;
	padding-inline-start: 36px;
	text-align: left;
}

.p-about-access__map {
	min-width: 0;
}

.p-feature {
	margin-block-start: -60px;
	padding-block-start: 200px;
	padding-bottom: 260px;
	padding-top: 135px;
}

.p-feature__deco-right {
	width: 120px;
}

.p-feature__deco-left {
	bottom: 150px;
	left: 90px;
	width: 90px;
}

.p-feature__inner {
	padding-inline: 36px;
}

.p-feature__head {
	margin-block-end: 60px;
}

.p-feature__body {
	display: grid;
	grid-template-columns: 37fr 55fr;
	grid-template-rows: auto auto auto auto;
	margin-inline: auto;
	margin-left: 24px;
	max-width: 1260px;
	row-gap: 0;
}

.p-feature__left {
	grid-column: 1;
	grid-row: 1/5;
}

.p-feature__right-top {
	align-items: flex-end;
	display: flex;
	grid-column: 2;
	grid-row: 1;
}

.p-feature__marquee {
	grid-column: 1/3;
	grid-row: 2;
	margin-inline: calc(50% - 50vw);
	margin-top: -26px;
	width: 100vw;
}

.p-feature__right-bottom {
	grid-column: 2;
	grid-row: 3;
	padding-block-start: 39px;
	position: relative;
	z-index: 1;
}

.p-feature__imgs {
	height: 520px;
	margin-top: -23px;
}

.p-feature__img-wrap {
	aspect-ratio: 360/483;
	width: 75%;
}

.p-feature__jp-heading {
	font-size: 40px;
	letter-spacing: 0.1px;
	line-height: 48px;
}

.p-feature__text {
	letter-spacing: 1.6px;
}

.p-feature__marquee-track {
	font-size: clamp(80px, 17.4vw, 250px);
	font-weight: 250;
	letter-spacing: -5px;
}

.p-feature__btn {
	grid-column: 2;
	grid-row: 4;
	position: relative;
	z-index: 1;
}

.p-feature-detail__item {
	align-items: center;
	flex-direction: row;
	justify-content: space-between;
	-moz-column-gap: clamp(24px, 21.15vw - 192.6px, 112px);
	column-gap: clamp(24px, 21.15vw - 192.6px, 112px);
}

.p-feature-detail__item--reverse {
	flex-direction: row-reverse;
}

.p-feature-detail__body {
	flex: 1 1 auto;
	order: 0;
	width: auto;
}

.p-feature-detail__img-wrap {
	flex: 0 0 clamp(400px, 51.82vw, 570px);
	margin-block-start: 0;
	margin-inline: 0;
	order: 0;
}

.p-voice-list__inner {
	max-width: 1440px;
	padding-inline: clamp(32px, 4.17vw, 60px);
}

.p-voice-list__grid {
	--gap: clamp(64px, 8.33vw, 120px);
	--stagger-1: clamp(16px, 2.08vw, 30px);
	--stagger-2: clamp(32px, 4.17vw, 60px);
	background-image: linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.15)), linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.15));
	background-position: calc((100% - var(--gap) * 2) / 3 + var(--gap) / 2) 0, calc((100% - var(--gap) * 2) / 3 * 2 + var(--gap) * 1.5) var(--stagger-1);
	background-repeat: no-repeat;
	background-size: 1px 100%, 1px 100%;
	gap: 0px var(--gap);
	grid-template-columns: repeat(3, 1fr);
}

.p-voice-list__item:nth-child(3n+1)::before {
	right: calc(var(--gap) / -2);
}

.p-voice-list__item:nth-child(3n+2) {
	margin-block-start: var(--stagger-1);
}

.p-voice-list__item:nth-child(3n+2)::before {
	left: calc(var(--gap) / -2);
	right: calc(var(--gap) / -2);
}

.p-voice-list__item:nth-child(3n+3) {
	margin-block-start: var(--stagger-2);
}

.p-voice-list__item:nth-child(3n+3)::before {
	left: calc(var(--gap) / -2);
}

.p-voice-other {
	padding-block-end: clamp(65px, 8.47vw, 122px);
	padding-block-start: clamp(56px, 7.36vw, 106px);
}

.p-voice-other__inner {
	padding-inline: clamp(32px, -68.57px + 13.1vw, 120px);
}

.p-voice-other .c-title__en {
	font-size: clamp(40px, 5.28vw, 76px);
	letter-spacing: -2.28px;
	line-height: clamp(39px, 5.07vw, 73px);
}

.p-voice-other__grid {
	--gap: clamp(40px, calc(-28.6px + 8.93vw), 100px);
	gap: var(--gap);
	grid-template-columns: repeat(3, 1fr);
	margin-block-start: clamp(42px, 5.49vw, 79px);
}

.p-voice-other__item::before {
	background: rgba(29, 29, 29, 0.25);
	content: "";
	height: 100%;
	left: calc(var(--gap) / -2);
	position: absolute;
	top: 0;
	width: 1px;
}

.p-voice-other__item:last-child::after {
	background: rgba(29, 29, 29, 0.25);
	content: "";
	height: 100%;
	position: absolute;
	right: calc(var(--gap) / -2);
	top: 0;
	width: 1px;
}

.p-voice-other__index {
	margin-block-end: 20px;
}

.p-voice-other__img {
	aspect-ratio: 300/330;
}

.p-voice-other__name {
	margin-block-start: 25px;
}

.p-voice-other__text {
	margin-block-start: 7px;
}

.p-news-list__body {
	align-items: flex-start;
	flex-direction: row;
}

.p-news-list__aside {
	flex: none;
	order: 0;
	width: 210px;
}

.p-news-list__main {
	flex: 1;
	order: 0;
}

.p-news-list__item-link {
	align-items: center;
	display: grid;
	grid-template-columns: 180px 1fr;
	padding-block: 30px;
}

.p-news-list__img-wrap {
	flex-shrink: 0;
	width: 180px;
}

.p-news-list__meta {
	margin-block-end: 12px;
}

.p-news-list__title {
	font-size: 18px;
	letter-spacing: 1.08px;
	line-height: 1.22;
}

.p-news-detail__row {
	align-items: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
}

.p-news-detail__main {
	flex: 1;
	order: 0;
}

.p-news-detail__back {
	flex-basis: 100%;
	width: 100%;
}

.p-contact {
	max-width: 1320px;
}

.p-contact__inner {
	align-items: stretch;
	display: grid;
	grid-template-columns: 56fr 51fr;
	max-height: 540px;
}

.p-contact__left {
	display: flex;
	flex-direction: column;
	padding-bottom: 100px;
	padding-left: 83px;
	padding-top: 106px;
	text-align: left;
}

.p-contact__label {
	justify-content: flex-start;
}

.p-contact__text {
	font-size: 16px;
	letter-spacing: 1.6px;
	margin-bottom: 34px;
	margin-left: 7px;
	margin-top: 38px;
	text-align: left;
}

.p-contact__btn {
	display: inline-flex;
	margin-inline: 0;
	margin-left: 8px;
}

.p-contact__right {
	flex-direction: row;
	gap: 30px;
	height: auto;
	min-height: 0;
	padding-block: 0;
	padding-right: 62px;
}

.p-contact__img-scroll {
	flex-direction: column;
	gap: 30px;
	width: 100%;
	--contact-gap: 30px;
}

.p-contact__img-col--down .p-contact__img-scroll.is-ready {
	animation: contactScrollDown 22s linear infinite;
}

.p-contact__img-col--up .p-contact__img-scroll.is-ready {
	animation: contactScrollUp 22s linear infinite;
}

.p-contact__img-track {
	flex-direction: column;
	gap: 30px;
}

.p-contact__img-track picture {
	aspect-ratio: 9/11;
	border-radius: 10px;
	height: auto;
	width: 100%;
}

}

@media (min-width: 768px) and (max-width: 1023.5px) {

.p-fv__deco {
	right: 0;
}

.p-service {
	padding-bottom: 60px;
}

.p-feature__deco-right {
	right: 46px;
	top: 200px;
}

.p-feature__body {
	-moz-column-gap: 0;
	column-gap: 0;
}

.p-voice__slider-wrap {
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	margin-inline: -26px;
}

.p-voice__card {
	width: 40%;
}

.p-news-list__body {
	gap: clamp(24px, 4vw, 48px);
}

.p-news-list__item-link {
	gap: clamp(20px, 4vw, 40px);
}

.p-news-detail__row {
	gap: clamp(24px, 4vw, 48px);
}

.u-tb {
	display: none !important;
}

}

@media (min-width: 820px) {

.p-service-list__item {
	flex-direction: row;
	padding-block-start: 0;
	padding-inline: 0;
}

.p-service-list__item--reverse {
	flex-direction: row-reverse;
}

.p-service-list__img-wrap {
	aspect-ratio: auto;
	border-inline-start: 1px solid rgba(48, 48, 48, 0.25);
	margin-inline: 0;
	max-width: none;
	order: 0;
	width: auto;
}

.p-service-list__item--reverse .p-service-list__img-wrap {
	border-inline-end: 1px solid rgba(48, 48, 48, 0.25);
	border-inline-start: none;
}

.p-service-list__body {
	margin-inline: 0;
	max-width: none;
	padding-inline-end: 0;
	padding-inline-start: clamp(40px, 8vw, 120px);
	width: auto;
}

.p-service-list__item--reverse .p-service-list__body {
	padding-inline-end: clamp(40px, 8vw, 120px);
	padding-inline-start: 0;
}

}

@media (min-width: 820px) and (max-width: 1023.5px) {

.p-service-list__item {
	-moz-column-gap: clamp(40px, 8vw, 110px);
	column-gap: clamp(40px, 8vw, 110px);
}

.p-service-list__img-wrap {
	flex: 0 0 46%;
}

}

@media (min-width: 1024px) {

.l-header {
	top: 15px;
}

.l-header__inner {
	height: 58px;
	margin-inline: auto;
	max-width: 1380px;
	padding-inline: clamp(16px, 2vw, 32px);
}

.l-header__logo-link {
	font-size: 23px;
	padding-left: 26px;
}

.l-header__right {
	gap: clamp(16px, 2.5vw, 36px);
}

.l-header__nav {
	align-items: center;
	display: flex;
}

.l-header__btns {
	gap: 10px;
}

.l-header__btn-mail,
.l-header__btn-drawer {
	height: 58px;
	width: 58px;
}

.l-header__bar:first-child {
	width: 20px;
}

.l-header__bar:last-child {
	width: 13px;
}

.p-drawer__close {
	height: 58px;
	right: clamp(16px, 2vw, 32px);
	top: 15px;
	width: 58px;
}

.p-drawer__body {
	grid-template-columns: 1fr 1fr;
}

.p-drawer__left {
	overflow: visible;
	padding-block: clamp(80px, 10vh, 139px) clamp(40px, 5vh, 60px);
	padding-inline-end: 40px;
	padding-inline-start: 120px;
}

.p-drawer__list {
	max-width: 480px;
}

.p-drawer__right {
	display: block;
	overflow: hidden;
	position: relative;
}

.p-drawer__marquee-track {
	font-size: clamp(100px, 18vh, 170px);
}

.l-footer {
	padding-block-start: 88px;
}

.l-inner {
	padding-inline: 36px;
}

.l-section {
	padding-block: 100px;
}

.c-title {
	background-image: linear-gradient(rgba(29, 29, 29, 0.12) 0, rgba(29, 29, 29, 0.12) 1px, transparent 1px), linear-gradient(rgba(29, 29, 29, 0.12) 0, rgba(29, 29, 29, 0.12) 1px, transparent 1px);
	background-position: 54px 58px, 264px 134px;
	background-repeat: no-repeat;
	background-size: 330px 1px, 330px 1px;
}

.c-title__label-text {
	font-size: 16px;
	line-height: 42px;
}

.c-title--white .c-title__en {
	font-size: 76px;
	letter-spacing: -2.5px;
	line-height: 73px;
}

.c-title__en {
	font-size: 110px;
	letter-spacing: -5.5px;
	line-height: 105px;
}

.c-card__head {
	margin-block-end: 27px;
}

.c-card__title {
	font-size: 28px;
	letter-spacing: 1.6px;
}

.c-card__en {
	font-size: 14px;
}

.c-card__markers {
	margin-block-start: 12px;
}

.c-hero {
	height: 436px;
}

.c-hero__inner {
	padding-inline-start: 120px;
}

.c-hero__label {
	margin-block-end: 40px;
}

.c-hero__label::before {
	width: 163px;
}

.p-fv__upper {
	align-items: flex-start;
	padding-left: 77px;
	padding-right: 91px;
	padding-top: 203px;
}

.p-fv__heading {
	font-size: 131px;
	font-weight: 300;
	letter-spacing: -6.55px;
	line-height: 70px;
	margin-block-end: 46px;
}

.p-fv__subtitle {
	display: flex;
	font-size: 18px;
	gap: 18px;
	letter-spacing: 1.26px;
	line-height: 32px;
	padding-left: 12px;
}

.p-fv__img {
	width: 93.8%;
}

.p-about {
	padding-bottom: 187px;
	padding-top: 94px;
}

.p-about__inner {
	max-width: 1290px;
}

.p-about__heading-wrap {
	background-image: linear-gradient(rgba(29, 29, 29, 0.12) 0, rgba(29, 29, 29, 0.12) 1px, transparent 1px), linear-gradient(rgba(29, 29, 29, 0.12) 0, rgba(29, 29, 29, 0.12) 1px, transparent 1px), linear-gradient(rgba(29, 29, 29, 0.12) 0, rgba(29, 29, 29, 0.12) 1px, transparent 1px), linear-gradient(rgba(29, 29, 29, 0.12) 0, rgba(29, 29, 29, 0.12) 1px, transparent 1px);
	background-position: 24px 18px, 218px 93px, 24px 125px, 344px 198px;
	background-repeat: no-repeat;
	background-size: 330px 1px, 466px 1px, 556px 1px, 460px 1px;
	margin-block-end: 65px;
}

.p-about__en-heading {
	font-size: 110px;
	letter-spacing: -5.5px;
	line-height: 105px;
}

.p-about__body {
	align-items: start;
	display: grid;
	grid-template-columns: 605fr 600fr;
	max-width: 1215px;
	padding-left: 10px;
}

.p-about__heading {
	font-size: 32px;
	margin-block-end: 41px;
}

.p-about__text {
	font-size: 15px;
	letter-spacing: 2.5px;
	line-height: 2.1;
	padding-left: 6px;
}

.p-about__text + .p-about__text {
	margin-block-start: 2.2em;
}

.p-about__btn {
	gap: 23px;
	margin-block-start: 91px;
}

.p-about__btn .c-btn__line {
	width: 163px;
}

.p-about__btn .c-btn__text,
.p-about__btn .c-btn__text-wrap::after {
	font-size: 16px;
}

.p-about__right {
	display: block;
	margin-top: 13px;
	position: relative;
}

.p-about-message {
	padding-block-end: 0;
	padding-block-start: 90px;
	position: relative;
	scroll-margin-top: 93px;
	z-index: 1;
}

.p-about-message__head-inner {
	margin-block-end: -13px;
	max-width: calc(1140px + 36px * 2);
	padding-inline: 36px;
}

.p-about-message__body {
	flex-direction: row;
	margin-block-start: 0;
	margin-inline: auto;
	max-width: 1440px;
	padding-inline: 0;
}

.p-about-message__body::after {
	background: #FCFAFA;
	background-image: repeating-linear-gradient(rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px), repeating-linear-gradient(90deg, rgba(29, 29, 29, 0.04) 0 1px, transparent 1px 30px);
	bottom: -30px;
	content: "";
	height: 30px;
	left: min(50%, 720px);
	pointer-events: none;
	position: absolute;
	right: 0;
	z-index: -1;
}

.p-about-message__photo-wrap {
	aspect-ratio: auto;
	border-block-start: 1px solid rgba(29, 29, 29, 0.25);
	border-inline-end: 1px solid rgba(29, 29, 29, 0.25);
	flex: 0 0 50%;
	margin-inline: 0;
	max-width: 720px;
}

.p-about-message__content-outer {
	border-block-start: 1px solid rgba(29, 29, 29, 0.25);
	border-inline-start: 1px solid rgba(29, 29, 29, 0.25);
	flex: 1 1 auto;
	margin-block-start: 30px;
	min-width: 0;
	padding-block-start: 107px;
	padding-inline-end: 36px;
	padding-inline-start: clamp(64px, 6.25vw, 90px);
}

.p-about-message__deco--1 {
	bottom: -30px;
	left: calc(min(50%, 720px) - 30px);
	width: 90px;
}

.p-about-message__deco--2 {
	right: -35px;
	top: -137px;
	width: 120px;
}

.p-about-message__content {
	margin-block-start: 0;
}

.p-about-message__heading {
	font-size: 32px;
	line-height: 52px;
	margin-block-end: 32px;
}

.p-about-company {
	clip-path: polygon(0 0, 50% 0, 50% 30px, 100% 30px, 100% 100%, 0 100%);
	margin-block-start: -30px;
	padding-block-end: 90px;
	padding-block-start: 120px;
	scroll-margin-top: 93px;
}

.p-about-company__inner {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
	max-width: calc(1140px + 36px * 2);
	padding-inline: 36px;
}

.p-about-company__inner > .c-title {
	min-width: 0;
}

.p-about-company__list {
	display: grid;
	grid-template-columns: max-content 1fr;
	margin-block-start: 0;
	max-width: 630px;
	min-width: 0;
	-moz-column-gap: 60px;
	column-gap: 60px;
}

.p-about-company__row {
	display: grid;
	grid-column: 1/-1;
	grid-template-columns: subgrid;
	padding-block: 29px;
}

.p-about-company .c-title,
.p-about-access .c-title {
	background-position: calc(17% - 40px) 58px, calc(83% + 40px) 134px;
	background-size: 51% 1px, 51% 1px;
}

.p-about-access__head {
	padding-inline-start: clamp(85px, 8.33vw, 120px);
}

.p-marquee {
	height: 150px;
}

.p-marquee__track {
	font-size: 250px;
	line-height: 150px;
}

.p-service {
	padding-bottom: 90px;
	padding-top: 167px;
}

.p-service__inner {
	max-width: 1380px;
	padding-inline: 0;
}

.p-service__head {
	align-items: center;
	flex-direction: row;
	justify-content: space-between;
	margin-block-end: 78px;
	margin-inline: auto;
	max-width: 1290px;
	padding-inline: 36px;
}

.p-service__more {
	margin-top: 61px;
	padding-right: 8px;
}

.p-service__slider {
	border-bottom: none;
	border-top: none;
	margin-inline: 0;
	overflow: visible;
}

.p-service__list {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, 1fr);
	position: relative;
	transform: none;
}

.p-service__slider .p-service__card {
	flex-shrink: unset;
	margin-right: 0;
	width: auto;
}

.p-service__card {
	border-top: 1px solid rgba(29, 29, 29, 0.15);
	padding: 60px;
}

.p-service__card--1 {
	padding-block-end: 60px;
}

.p-service__card--2 {
	margin-block-start: 30px;
}

.p-service__card--3 {
	margin-block-start: 60px;
}

.p-service__card--1::after,
.p-service__card--2::after {
	height: 100%;
}

.p-service-list {
	padding-block: 120px;
}

.p-service-list__item {
	scroll-margin-top: 93px;
}

.p-service-list__item {
	-moz-column-gap: clamp(78px, 7.64vw, 110px);
	column-gap: clamp(78px, 7.64vw, 110px);
}

.p-service-list__img-wrap {
	flex: 0 0 clamp(469px, 45.83vw, 660px);
}

.p-service-list__body {
	padding-block: 106px;
	padding-inline-start: clamp(85px, 8.33vw, 120px);
}

.p-service-list__item--reverse .p-service-list__body {
	padding-inline-end: clamp(85px, 8.33vw, 120px);
}

.p-service-list__head {
	gap: 16px;
	margin-block-end: 40px;
}

.p-service-list__index {
	font-size: clamp(57px, 5.62vw, 80.851px);
	letter-spacing: clamp(4.6px, 0.45vw, 6.4681px);
}

.p-service-list__title {
	font-size: clamp(23px, 2.22vw, 32px);
	line-height: clamp(30px, 2.92vw, 42px);
}

.p-service-list__row-text {
	font-size: 18px;
	letter-spacing: 1.8px;
	line-height: 32px;
}

.p-service-list__deco--1,
.p-service-list__deco--2 {
	height: 90px;
	width: 90px;
}

.p-service-list__deco--3,
.p-service-list__deco--4 {
	height: 90px;
	width: 120px;
}

.p-service-list__deco--1 {
	left: 0;
	top: -30px;
}

.p-service-list__deco--2 {
	right: 0;
	top: -30px;
}

.p-service-list__deco--3 {
	left: -15px;
}

.p-service-list__deco--4 {
	bottom: -30px;
	right: 0;
}

.p-service-list__text {
	line-height: 30px;
	margin-block-start: 30px;
}

.p-feature {
	clip-path: polygon(0 0, 33.333% 0, 33.333% 30px, 66.666% 30px, 66.666% 60px, 100% 60px, 100% 100%, 0 100%);
}

.p-feature__deco-right {
	right: 90px;
	top: 240px;
}

.p-feature__head {
	margin-block-end: 108px;
	margin-inline: auto;
	max-width: 1290px;
	padding-inline: 36px;
}

.p-feature__body {
	-moz-column-gap: 54px;
	column-gap: 54px;
}

.p-feature-detail {
	padding-block: 90px;
}

.p-feature-detail__inner {
	max-width: calc(1140px + 36px * 2);
	padding-inline: 36px;
}

.p-feature-detail__en {
	font-size: 18px;
}

.p-feature-detail__heading {
	font-size: 44px;
	line-height: 54px;
}

.p-feature-detail__text {
	font-size: 16px;
	letter-spacing: 1.6px;
	line-height: 32px;
}

.p-feature-detail__marquee {
	height: 150px;
	margin-block: 80px;
}

.p-feature-detail__marquee-track {
	font-size: 250px;
	line-height: 150px;
}

.p-voice {
	clip-path: polygon(0 0, 33.333% 0, 33.333% 30px, 66.666% 30px, 66.666% 60px, 100% 60px, 100% 100%, 0 100%);
	margin-block-start: -60px;
	padding-block-start: 180px;
	padding-bottom: 156px;
}

.p-voice__inner {
	padding-inline: 36px;
}

.p-voice__body {
	align-items: stretch;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	display: flex;
	margin-block-end: 99px;
	padding-block: 0;
}

.p-voice__head {
	display: flex;
	flex: 0 0 32.5%;
	flex-direction: column;
	padding-bottom: 59px;
	padding-left: min(4.1666666667vw, 60px);
	padding-top: 91px;
}

.p-voice__nav {
	align-items: center;
	display: flex;
	gap: 12px;
	margin-block-start: auto;
	padding-block-start: 40px;
}

.p-voice__slider-wrap {
	border-left: 1px solid rgba(255, 255, 255, 0.15);
	flex: 1;
}

.p-voice__card {
	border-top: none;
	padding: 60px;
	padding-left: 59px;
	padding-top: 51px;
	width: 420px;
}

.p-voice__card-img-wrap {
	margin-block-start: 13px;
}

.p-voice__card-name {
	margin-block-start: 22px;
}

.p-voice__card-text {
	margin-block-start: 6px;
}

.p-voice-list {
	padding-block: 120px;
}

.p-voice-list__index {
	font-weight: 300;
	letter-spacing: 0.28px;
	line-height: 0.714;
	margin-block-end: 20px;
}

.p-voice-list__img {
	aspect-ratio: 360/390;
}

.p-voice-list__name {
	letter-spacing: 1.4px;
	line-height: 1.43;
	margin-block-start: 30px;
}

.p-voice-list__text {
	font-size: 18px;
	letter-spacing: 1.08px;
	line-height: 1.78;
	margin-block-start: 7px;
}

.p-voice-list__btn {
	margin-block-start: 27px;
}

.p-voice-list__pagination {
	margin-block-start: 65px;
}

.p-voice-list__page {
	font-size: 18px;
	font-weight: 200;
	height: 50px;
	letter-spacing: -0.9px;
	width: 50px;
}

.p-voice-detail {
	padding-block-end: 128px;
	padding-block-start: 148px;
}

.p-voice-detail__date {
	font-size: 16px;
}

.p-voice-detail__name {
	font-size: 32px;
	margin-block-start: 15px;
}

.p-voice-detail__content {
	gap: 60px;
	margin-block-start: 19px;
}

.p-voice-detail__quote {
	bottom: 28px;
	font-size: 22px;
	inset-inline: 28px;
}

.p-voice-detail__qa {
	gap: 30px;
}

.p-voice-detail__q-wrap {
	gap: 18px;
}

.p-voice-detail__q {
	font-size: 20px;
}

.p-voice-detail__a p {
	font-size: 16px;
}

.p-voice-detail__signature {
	font-size: 16px;
}

.p-voice-detail__back {
	margin-block-start: 110px;
}

.p-news {
	padding-bottom: 97px;
	padding-top: 120px;
}

.p-news__inner {
	max-width: 1272px;
	padding-inline: 36px;
}

.p-news__body {
	align-items: flex-start;
	display: flex;
	gap: clamp(60px, 8.68vw, 125px);
}

.p-news__head {
	flex: none;
	flex-shrink: 0;
	margin-top: -13px;
	padding-block-end: 0;
	position: sticky;
	top: 120px;
	width: 175px;
}

.p-news .c-title__en {
	font-size: 76px;
	letter-spacing: -2.28px;
	line-height: 73px;
}

.p-news__right {
	flex: 1;
}

.p-news__item-meta {
	margin-block-end: 12px;
}

.p-news__more-wrap {
	margin-block-start: 65px;
}

.p-news-list {
	padding-block-end: 155px;
	padding-block-start: 126px;
}

.p-news-list__inner {
	max-width: calc(1200px + 36px * 2);
	padding-inline: 36px;
}

.p-news-list__body {
	gap: clamp(40px, 6.25vw, 90px);
}

.p-news-list__aside-block:nth-child(n+2) {
	margin-block-start: 50px;
}

.p-news-list__item-link {
	gap: 60px;
}

.p-news-list__pagination {
	margin-block-start: 65px;
}

.p-news-list__page {
	font-size: 18px;
	font-weight: 200;
	height: 50px;
	width: 50px;
}

.p-news-detail {
	padding-block-end: 155px;
	padding-block-start: 126px;
}

.p-news-detail__inner {
	max-width: calc(1200px + 36px * 2);
	padding-inline: 36px;
}

.p-news-detail__row {
	gap: clamp(40px, 6.25vw, 90px);
}

.p-news-detail__date {
	font-size: 16px;
}

.p-news-detail__title {
	font-size: 32px;
	line-height: 1.8;
	margin-block-start: 15px;
}

.p-news-detail__img-wrap {
	margin-block-start: 50px;
}

.p-news-detail__body {
	margin-block-start: 40px;
}

.p-news-detail__body h2 {
	font-size: 28px;
}

.p-news-detail__body h3 {
	font-size: 24px;
}

.p-news-detail__body h4 {
	font-size: 22px;
}

.p-news-detail__body h5 {
	font-size: 20px;
}

.p-news-detail__body h6 {
	font-size: 18px;
}

.p-news-detail__img-group {
	gap: 30px;
}

.p-news-detail__img-group--3 {
	gap: 21px;
}

.p-contact-form {
	padding-block-end: 155px;
	padding-block-start: 126px;
}

.p-contact-form__inner {
	padding-inline: 36px;
}

.p-privacy {
	padding-block-end: 155px;
	padding-block-start: 126px;
}

.p-privacy__inner {
	padding-inline: 36px;
}

.p-404 {
	padding-block: 160px;
}

.p-404__inner {
	padding-inline: 36px;
}

.p-404__link {
	margin-block-start: 60px;
}

.p-footer {
	padding-block: 108px 43px;
}

.p-footer__inner {
	align-items: flex-start;
	flex-direction: row;
	gap: 60px;
	justify-content: space-between;
	margin-inline: auto;
	max-width: 1272px;
	padding-block-end: 60px;
	padding-inline: 36px;
}

.p-footer__logo-wrap {
	display: block;
	flex-shrink: 0;
}

.p-footer__logo {
	font-size: 32px;
	margin-block-end: 48px;
	order: 0;
}

.p-footer__address {
	font-size: 15px;
	letter-spacing: 0.9px;
	line-height: 24px;
	margin-block-start: 0;
	margin-left: -2px;
	order: 0;
}

.p-footer__nav {
	align-items: flex-start;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 69px;
	margin-right: -19px;
	margin-top: 9px;
	order: 0;
}

.p-footer__nav-group {
	display: block;
}

.p-footer__nav-col + .p-footer__nav-col {
	margin-block-start: 24px;
}

.p-footer__nav-col {
	border-top: none;
	min-width: 120px;
	padding-block: 0;
}

.p-footer__nav-group:last-child .p-footer__nav-col:last-child {
	border-bottom: none;
}

.p-footer__nav-link {
	letter-spacing: 0.96px;
}

.p-footer__nav-list {
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 10px;
}

.p-footer__copyright {
	font-size: 12px;
	letter-spacing: 0.72px;
	order: 0;
	padding-top: 16px;
	text-align: left;
}

.u-pc {
	display: none !important;
}

.u-text__center--pc {
	text-align: center !important;
}

.u-text__left--pc {
	text-align: left !important;
}

.u-text__right--pc {
	text-align: right !important;
}

.u-text__nowrap--pc {
	white-space: nowrap;
}

.u-pointer__none--pc {
	pointer-events: none !important;
}

}

@media (min-width: 1024px) and (max-width: 1145px) {

.p-fv__heading {
	font-size: 114px;
}

}

@media (min-width: 1024px) and (max-width: 1199.98px) {

.p-contact .c-title__en {
	font-size: clamp(36px, 7.6vw, 110px);
	letter-spacing: -0.05em;
	line-height: 0.96;
}

}

@media (max-width: 819.5px) {

.p-service-list__item {
	margin-inline: auto;
	max-width: 500px;
}

}

@media screen and (max-width: 767.5px) {

.p-drawer__row {
	gap: 16px;
	grid-template-columns: 1fr;
}

.c-btn {
	display: flex;
	max-width: 315px;
	width: 100%;
}

.c-btn .c-btn__line {
	flex: 1;
}

.c-btn .c-btn__text {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.06em;
	vertical-align: top;
}

.c-btn .c-btn__text-wrap::after {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.06em;
}

.c-title__label-text {
	font-size: 16px;
	line-height: 42px;
}

.c-title__en {
	font-size: 64px;
	line-height: 0.92;
	margin-top: 8px;
	position: relative;
}

.c-title__en::before,
.c-title__en::after {
	background: rgba(29, 29, 29, 0.12);
	content: "";
	height: 1.5px;
	position: absolute;
}

.c-title__en::before {
	left: -11px;
	top: 8px;
	width: 180px;
}

.c-title__en::after {
	bottom: 4px;
	left: 109px;
	width: 195px;
}

.c-card__img-wrap {
	aspect-ratio: 270/300;
	margin-block-end: 23px;
}

.c-hero__heading {
	font-size: clamp(58px, -41.6px + 22.64vw, 135px);
	line-height: clamp(35px, 14px + 7.8vw, 75px);
}

.c-hero--voice .c-hero__heading {
	font-size: clamp(45px, -32.45px + 17.66vw, 105px);
	line-height: clamp(27px, 10.92px + 6.08vw, 58px);
}

.p-fv__img-wrap {
	margin-top: 42px;
}

.p-fv__img {
	height: 480px;
}

.p-fv__deco {
	right: 0;
	top: -30px;
}

.p-fv__deco-img {
	height: auto;
	width: 60px;
}

.p-about-values__cluster {
	transform: translate(26px, 66px);
}

.p-about-values__banner {
	margin-block-start: 0;
	transform: translateY(-6px);
}

.p-about-company .c-title__en,
.p-about-access .c-title__en {
	width: -moz-fit-content;
	width: fit-content;
}

.p-about-company .c-title__en::before,
.p-about-access .c-title__en::before {
	left: calc(-4% - 40px);
	width: 60%;
}

.p-about-company .c-title__en::after,
.p-about-access .c-title__en::after {
	left: calc(36% + 40px);
	width: 65%;
}

.p-feature__body {
	display: flex;
	flex-direction: column;
}

.p-feature__left {
	order: 1;
}

.p-feature__right-top {
	margin-block-start: 61px;
	order: 3;
}

.p-feature__marquee {
	align-items: center;
	display: flex;
	height: 300px;
	margin-block-start: -300px;
	margin-inline: -26px;
	order: 2;
}

.p-feature__right-bottom {
	margin-block-start: 19px;
	order: 4;
	padding-left: 4px;
}

.p-feature__imgs {
	height: 300px;
}

.p-feature__img-wrap {
	height: 335px;
	width: 250px;
}

.p-feature__btn {
	order: 5;
}

.p-voice__slider-wrap {
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	margin-inline: -26px;
}

.p-voice__card {
	flex-shrink: 0;
	padding-top: 25px;
}

.p-voice-list__item:nth-child(2n+1)::before {
	right: -10px;
}

.p-voice-list__item:nth-child(2n)::before {
	left: -10px;
}

.p-voice-other__grid {
	margin-inline: auto;
	max-width: 500px;
}

.p-news__list {
	margin-inline: auto;
	max-width: 600px;
}

.p-news__item {
	border-top-width: 1.5px;
}

.p-news__item:last-child {
	border-bottom-width: 1.5px;
}

.p-news__item-link {
	display: flex;
	flex-direction: column;
	gap: 23px;
	padding-block: 27px;
}

.p-news__item-img-wrap {
	width: 315px;
}

.p-news__item-content {
	align-self: flex-start;
	padding-left: 4px;
}

.p-news-list__body {
	margin-inline: auto;
	max-width: 600px;
}

.p-news-detail__row {
	margin-inline: auto;
	max-width: 600px;
}

.p-news-detail__row .p-news-list__aside {
	order: 3;
}

.p-news-detail__img-group {
	grid-template-columns: 1fr;
}

.p-contact {
	padding-block-end: 30px;
}

.p-contact .c-title {
	align-items: flex-start;
	display: inline-flex;
	flex-direction: column;
}

.p-contact .c-title__label {
	margin-block-end: 0;
}

.p-contact .c-title__en {
	font-size: 59px;
	margin-top: -3px;
	white-space: nowrap;
}

.u-sp {
	display: none !important;
}

.u-text__center--sp {
	text-align: center !important;
}

.u-text__left--sp {
	text-align: left !important;
}

.u-text__right--sp {
	text-align: right !important;
}

.u-text__nowrap--sp {
	white-space: nowrap;
}

.u-pointer__none--sp {
	pointer-events: none !important;
}

}

@media (max-width: 549.5px) {

.p-voice-list__grid {
	background-image: none;
	grid-template-columns: 1fr;
}

.p-voice-list__item:nth-child(2n+1)::before,
.p-voice-list__item:nth-child(2n)::before {
	left: 0;
	right: 0;
}

}

@keyframes p-marquee-scroll {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-50%);
}

}

@keyframes p-feature-marquee {

from {
	transform: translateX(-50%);
}

to {
	transform: translateX(0);
}

}

@keyframes p-feature-detail-marquee {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-50%);
}

}

@keyframes contactScrollLeft {

from {
	transform: translate3d(0, 0, 0);
}

to {
	transform: translate3d(calc(-1 * (var(--track-x) + var(--contact-gap))), 0, 0);
}

}

@keyframes contactScrollRight {

from {
	transform: translate3d(calc(-1 * (var(--track-x) + var(--contact-gap))), 0, 0);
}

to {
	transform: translate3d(0, 0, 0);
}

}

@keyframes contactScrollUp {

from {
	transform: translate3d(0, 0, 0);
}

to {
	transform: translate3d(0, calc(-1 * (var(--track-y) + var(--contact-gap))), 0);
}

}

@keyframes contactScrollDown {

from {
	transform: translate3d(0, calc(-1 * (var(--track-y) + var(--contact-gap))), 0);
}

to {
	transform: translate3d(0, 0, 0);
}

}

