@charset "UTF-8";
@font-face {
	font-family: "DENSOSansTP2017";
	src: url("../font/DENSOSansTP2017-Light.otf") format("opentype");
	font-weight: 300;
}

@font-face {
	font-family: "DENSOSansTP2017";
	src: url("../font/DENSOSansTP2017-Regular.otf") format("opentype");
	font-weight: 400;
}

@keyframes background_noise {
	0% {
		transform: translate(-5%, -5%);
	}
	25% {
		transform: translate(5%, 5%);
	}
	50% {
		transform: translate(0%, 0%);
	}
	75% {
		transform: translate(5%, -5%);
	}
	100% {
		transform: translate(-5%, 5%);
	}
}

@keyframes arrow_mask_down {
	0% {
		opacity: 0;
		height: 0;
	}
	10% {
		opacity: 0;
		height: 0;
	}
	30% {
		opacity: 1;
	}
	80% {
		opacity: 1;
	}
	90% {
		height: 110%;
	}
	100% {
		opacity: 0;
		height: 112.5%;
	}
}

@keyframes arrow_mask_up {
	0% {
		opacity: 0;
		height: 100%;
	}
	30% {
		opacity: 1;
	}
	40% {
		height: 100%;
	}
	80% {
		opacity: 1;
	}
	90% {
		height: 0%;
	}
	100% {
		opacity: 0;
		height: 0%;
	}
}

@keyframes line_hover {
	0% {
		width: 0%;
	}
	100% {
		width: 100%;
	}
}

html {
	font-size: 1vw;
}

@media screen and (min-width: 1920px) {
	html {
		font-size: 19.2px;
	}
}

@media screen and (max-width: 767px) {
	html {
		font-size: 3.623vw;
	}
}

body {
	--vw: calc(100vw - 17px);
	--vh: 100vh;
	--fv: 100vh;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	overflow-y: scroll;
	overflow-y: overlay;
	-webkit-overflow-scrolling: none;
	overscroll-behavior-y: none;
}

body[data-page="top"] {
	overflow: hidden;
}

@media screen and (max-width: 767px) {
	body[data-page="top"] {
		height: var(--fv);
		-webkit-overflow-scrolling: touch;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

body.__lock {
	overflow: hidden;
}

/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
	box-sizing: border-box;
	border-style: solid;
	border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
	line-height: 1.15;
	/* 1 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
	-webkit-tap-highlight-color: transparent;
	/* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dd {
	margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	/* 1 */
	height: 0;
	/* 1 */
	overflow: visible;
	/* 2 */
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	/* 1 */
	font-size: inherit;
	/* 2 */
}

address {
	font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
	text-decoration: none;
	color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	-webkit-text-decoration: underline dotted;
	        text-decoration: underline dotted;
	/* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	/* 1 */
	font-size: inherit;
	/* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
	vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
	/* 1 */
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	border-radius: 0;
	text-align: inherit;
	text-transform: inherit;
	/* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type="checkbox"] {
	appearance: checkbox;
}

[type="radio"] {
	appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
	cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
	outline: auto;
}

select:disabled {
	opacity: inherit;
}

/**
 * Remove padding
 */
option {
	padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
	margin: 0;
	padding: 0;
	min-width: 0;
}

legend {
	padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type="search"] {
	outline-offset: -2px;
	/* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	/* 1 */
	font: inherit;
	/* 2 */
}

/**
 * Clickable labels
 */
label[for] {
	cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
	outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
	border-color: inherit;
	/* 1 */
}

caption {
	text-align: left;
}

td,
th {
	vertical-align: top;
	padding: 0;
}

th {
	text-align: left;
}

.common-button > .link {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.common-button > .link {
		border-radius: 50%;
	}
}

.common-button > .link > .color {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #464646;
}

@media screen and (min-width: 768px) {
	.common-button > .link > .color {
		border-radius: 50%;
	}
}

@media screen and (max-width: 767px) {
	.common-button > .link > .color {
		border-radius: 60.386vw;
	}
}

@media screen and (min-width: 768px) {
	.common-button > .link > .line {
		transform: rotate(-90deg);
		position: absolute;
		top: 0;
		width: 100%;
		height: 100%;
	}
	.common-button > .link > .line circle {
		width: 100%;
		height: 100%;
		stroke: #464646;
		stroke-width: 0.5px;
		fill: transparent;
		stroke-dasharray: 273px;
		stroke-dashoffset: 273px;
	}
}

@media screen and (max-width: 767px) {
	.common-button > .link > .line {
		display: none;
	}
}

.common-button > .link > .text {
	position: relative;
	color: #fff;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 768px) {
	.common-button > .link > .text {
		font-size: 0.688rem;
	}
}

@media screen and (max-width: 767px) {
	.common-button > .link > .text {
		font-size: 2.415vw;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.common-button > .link > .color {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: transform;
	}
	.common-button > .link:hover > .color {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		transform: scale(1.1);
	}
}

.common-button.__type_01 > .link > .color {
	background: #fff;
}

.common-button.__type_01 > .link > .text {
	color: #464646;
}

.common-cookie-button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #fff;
	color: #fff;
}

@media screen and (min-width: 768px) {
	.common-cookie-button {
		border-radius: 0.938rem;
	}
}

@media screen and (max-width: 767px) {
	.common-cookie-button {
		border-radius: 4.831vw;
	}
}

.common-cookie-button > .text {
	display: block;
	line-height: 1;
}

@media screen and (min-width: 768px) {
	.common-cookie-button > .text {
		font-size: 0.688rem;
	}
}

@media screen and (max-width: 767px) {
	.common-cookie-button > .text {
		font-size: 2.657vw;
	}
}

.common-cookie-button.__color_01 {
	background: #fff;
	color: #464646;
}

@media screen and (min-width: 768px) {
	.common-cookie-button {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: opacity;
	}
	.common-cookie-button:hover {
		transition-duration: 0.55s;
		transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
		opacity: 0.6;
	}
}

.common-cookie {
	position: fixed;
	color: #c8c8c8;
	z-index: 1;
	transform: translateY(125%);
}

@media screen and (min-width: 768px) {
	.common-cookie {
		bottom: 36px;
		right: 20px;
		padding: 1.875rem;
		padding-left: 2.5rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.common-cookie {
		padding: 2.813rem;
		padding-left: 3.75rem;
	}
}

@media screen and (max-width: 767px) {
	.common-cookie {
		margin: 0 3.623vw;
		bottom: 3.623vw;
		right: 0;
		padding: 6.039vw;
	}
}

.common-cookie > .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: hidden;
}

.common-cookie > .bg > .color {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #464646;
}

.common-cookie > .bg > .cover {
	position: absolute;
	top: -25%;
	left: -25%;
	width: 150%;
	height: 150%;
	animation: background_noise 1s steps(3) infinite;
	background: url(../img/common/common_bg_noise.webp) repeat;
	opacity: 0.12;
	will-change: transform;
}

@media screen and (min-width: 768px) {
	.common-cookie > .bg > .cover {
		background-size: 128px;
	}
}

@media screen and (max-width: 767px) {
	.common-cookie > .bg > .cover {
		background-size: 64px;
	}
}

.common-cookie > .area {
	position: relative;
}

.common-cookie > .area > .text {
	line-height: 2;
	letter-spacing: 0.1em;
}

@media screen and (min-width: 768px) {
	.common-cookie > .area > .text {
		font-size: 0.75rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.common-cookie > .area > .text {
		font-size: 1.125rem;
	}
}

@media screen and (max-width: 767px) {
	.common-cookie > .area > .text {
		font-size: 3.623vw;
	}
}

.common-cookie > .area > .block {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
	.common-cookie > .area > .block {
		justify-content: flex-start;
		margin-top: 0.938rem;
		gap: 1.5rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.common-cookie > .area > .block {
		margin-top: 1.406rem;
		gap: 1.875rem;
	}
}

@media screen and (max-width: 767px) {
	.common-cookie > .area > .block {
		justify-content: center;
		margin-top: 3.623vw;
		gap: 6.039vw;
	}
}

.common-cookie > .area > .block > .select {
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.common-cookie > .area > .block > .select {
		gap: 0.75rem;
	}
}

@media screen and (max-width: 767px) {
	.common-cookie > .area > .block > .select {
		gap: 2.657vw;
	}
}

.common-cookie > .area > .block > .select > .item {
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.common-cookie > .area > .block > .select > .item {
		width: 7.813rem;
		height: 1.875rem;
	}
}

@media screen and (max-width: 767px) {
	.common-cookie > .area > .block > .select > .item {
		width: 39.01vw;
		height: 9.662vw;
	}
}

.common-cookie > .area > .block > .links > .item > .link {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.common-cookie > .area > .block > .links > .item > .link {
		gap: 0.313rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.common-cookie > .area > .block > .links > .item > .link {
		gap: 0.469rem;
	}
}

@media screen and (max-width: 767px) {
	.common-cookie > .area > .block > .links > .item > .link {
		gap: 1.812vw;
	}
}

.common-cookie > .area > .block > .links > .item > .link > .text {
	font-weight: 300;
	letter-spacing: 0.1em;
}

@media screen and (min-width: 768px) {
	.common-cookie > .area > .block > .links > .item > .link > .text {
		font-size: 0.688rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.common-cookie > .area > .block > .links > .item > .link > .text {
		font-size: 1.031rem;
	}
}

@media screen and (max-width: 767px) {
	.common-cookie > .area > .block > .links > .item > .link > .text {
		font-size: 2.657vw;
	}
}

@media screen and (min-width: 768px) {
	.common-cookie > .area > .block > .links > .item > .link > .icon {
		width: 0.563rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.common-cookie > .area > .block > .links > .item > .link > .icon {
		width: 0.844rem;
	}
}

@media screen and (max-width: 767px) {
	.common-cookie > .area > .block > .links > .item > .link > .icon {
		width: 1.932vw;
	}
}

.common-cookie > .area > .block > .links > .item > .link > .line {
	position: absolute;
	top: calc(100% - 2px);
	left: 0;
	width: 100%;
	height: 1px;
	background: #c8c8c8;
}

@media screen and (min-width: 768px) {
	.common-cookie > .area > .block > .links > .item > .link:hover > .line {
		animation: line_hover 0.35s 0.1s cubic-bezier(0.61, 1, 0.88, 1);
	}
}

@media screen and (min-width: 768px) {
	[data-page="top"] .common-cookie {
		right: auto;
		left: 270px;
	}
}

.common-copyright > .official {
	text-align: right;
	line-height: 1;
}

.common-copyright > .official > .link {
	position: relative;
	display: inline-flex;
	justify-content: flex-end;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.common-copyright > .official > .link {
		gap: 0.313rem;
	}
}

@media screen and (max-width: 767px) {
	.common-copyright > .official > .link {
		gap: 1.208vw;
	}
}

@media screen and (min-width: 768px) {
	.common-copyright > .official > .link > .text {
		font-size: 0.813rem;
		letter-spacing: 0em;
	}
}

@media screen and (max-width: 767px) {
	.common-copyright > .official > .link > .text {
		font-size: 2.415vw;
		letter-spacing: 0.06em;
	}
}

.common-copyright > .official > .link > .icon {
	position: relative;
}

@media screen and (min-width: 768px) {
	.common-copyright > .official > .link > .icon {
		width: 0.75rem;
		height: 0.75rem;
		margin-top: 0.188rem;
	}
}

@media screen and (max-width: 767px) {
	.common-copyright > .official > .link > .icon {
		width: 2.415vw;
		height: 2.415vw;
		margin-top: 0.121vw;
	}
}

.common-copyright > .official > .link > .icon svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}

.common-copyright > .official > .link > .icon svg path {
	fill: var(--textColorBase);
}

.common-copyright > .official > .link > .line {
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: var(--textColorBase);
	pointer-events: none;
}

@media screen and (min-width: 768px) {
	.common-copyright > .official > .link > .line {
		top: calc(100% + 0.125rem);
		height: 0.99px;
	}
}

@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 21.5), screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-width: 768px) and (min-resolution: 1.5dppx) {
	.common-copyright > .official > .link > .line {
		height: 0.675px;
	}
}

@media screen and (max-width: 767px) {
	.common-copyright > .official > .link > .line {
		top: calc(100% + 0.483vw);
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.common-copyright > .official > .link:hover > .line {
		left: 0;
		width: 0;
		animation: line_hover 0.45s 0.1s cubic-bezier(0, 0.55, 0.45, 1) forwards;
	}
	@keyframes line_hover {
		0% {
			width: 0%;
		}
		100% {
			width: 100%;
		}
	}
}

.common-copyright > .text {
	letter-spacing: 0.02em;
	line-height: 1;
	opacity: 0.5;
}

@media screen and (min-width: 768px) {
	.common-copyright > .text {
		margin-top: 1.563rem;
		font-size: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.common-copyright > .text {
		margin-top: 3.865vw;
		font-size: 2.415vw;
	}
}

.common-line {
	position: absolute;
	width: 100%;
	height: 0.99px;
}

@media screen and (-webkit-min-device-pixel-ratio: 21.5), screen and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-resolution: 1.5dppx) {
	.common-line {
		height: 0.675px;
	}
}

@media screen and (min-width: 768px) {
	.common-line {
		top: 100%;
		right: 0;
		top: calc(100% + 0.25rem);
	}
}

@media screen and (max-width: 767px) {
	.common-line {
		top: 100%;
		left: 0;
		top: calc(100% - 0.121vw);
	}
}

.common-line > .l {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #dcdcdc;
}

.common-line > .i {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate3d(-50%, -50%, 0);
	width: 0.313rem;
	height: 0.313rem;
	border: 0.99px solid #dcdcdc;
	border-radius: 50%;
}

.common-line > .i.__01 {
	left: 0;
	transform: translate3d(-100%, -50%, 0);
}

.common-line > .i.__02 {
	left: auto;
	right: 0;
	transform: translate3d(100%, -50%, 0);
}

.common-line.__top > .l {
	background-color: #787878;
}

.common-line.__top > .i {
	border-color: #787878;
}

@media screen and (max-width: 767px) {
	.common-line.__page > .l {
		background-color: #787878;
	}
}

@media screen and (max-width: 767px) {
	.common-line.__page > .i {
		border-color: #787878;
	}
}

.common-scroll {
	position: fixed;
	z-index: 1;
}

@media screen and (min-width: 768px) {
	.common-scroll {
		left: calc(260px + 1.063rem);
		bottom: 38px;
	}
}

@media screen and (max-width: 767px) {
	.common-scroll {
		bottom: 5.797vw;
		left: 4.831vw;
	}
}

.common-scroll > .scroll {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.common-scroll > .scroll {
		gap: 0.75rem;
	}
}

@media screen and (max-width: 767px) {
	.common-scroll > .scroll {
		gap: 1.329vw;
	}
}

.common-scroll > .scroll > .icon {
	position: relative;
	display: block;
}

@media screen and (min-width: 768px) {
	.common-scroll > .scroll > .icon {
		width: 0.625rem;
		height: 0.813rem;
	}
}

@media screen and (max-width: 767px) {
	.common-scroll > .scroll > .icon {
		width: 3.623vw;
		height: 3.986vw;
	}
}

.common-scroll > .scroll > .icon > .mask {
	overflow: hidden;
	position: absolute;
	top: 0;
	display: block;
	height: 0;
	width: 100%;
	opacity: 0;
	animation: arrow_mask_down 1.45s cubic-bezier(0.33, 1, 0.68, 1) 0s infinite forwards;
	will-change: transform;
}

@media screen and (min-width: 768px) {
	.common-scroll > .scroll > .icon > .mask > .i {
		width: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.common-scroll > .scroll > .icon > .mask > .i {
		width: 3.623vw;
		height: 3.986vw;
	}
}

.common-scroll > .scroll > .icon path {
	fill: var(--textColorBase);
}

.common-scroll > .scroll > .text {
	letter-spacing: 0.05em;
	color: var(--textColorDark);
}

@media screen and (min-width: 768px) {
	.common-scroll > .scroll > .text {
		font-size: 0.688rem;
		line-height: 0.688rem;
	}
}

@media screen and (max-width: 767px) {
	.common-scroll > .scroll > .text {
		display: none;
		font-size: 2.415vw;
		line-height: 2.415vw;
	}
}

.navigation-item {
	position: relative;
	line-height: 1;
}

@media screen and (min-width: 768px) {
	.navigation-item {
		margin-top: 1.813rem;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item {
		width: -moz-fit-content;
		width: fit-content;
		margin-top: 2.295vw;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	[data-page="top"] .navigation-item {
		margin-top: calc(19 / 1400 * var(--vh));
	}
}

@media screen and (max-width: 767px) {
	.navigation-item:nth-child(4) {
		margin-top: 5.676vw;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	[data-page="top"] .navigation-item:nth-child(4) {
		margin-top: calc(47 / 1400 * var(--vh));
	}
}

.navigation-item > .link {
	position: relative;
	display: inline-block;
}

.navigation-item > .link > .text {
	font-weight: 300;
	display: inline-block;
}

@media screen and (min-width: 768px) {
	.navigation-item > .link > .text {
		font-size: 1.875rem;
		line-height: 1.875rem;
		letter-spacing: 0;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item > .link > .text {
		font-size: 7.246vw;
		line-height: 7.246vw;
		letter-spacing: -0.04em;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	[data-page="top"] .navigation-item > .link > .text {
		font-size: calc(60 / 1400 * var(--vh));
		line-height: calc(60 / 1400 * var(--vh));
	}
}

.navigation-item > .link > .text > .mask {
	position: relative;
	display: inline-block;
	overflow: hidden;
	line-height: 1.3;
}

@media screen and (min-width: 768px) {
	.navigation-item > .link > .text > .mask {
		padding-right: 0.05em;
	}
}

.navigation-item > .link > .text > .mask > .t {
	display: block;
}

.navigation-item > .link > .line {
	position: absolute;
	width: 0;
	background-color: var(--textColorBase);
	height: 0.99px;
}

@media screen and (-webkit-min-device-pixel-ratio: 21.5), screen and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-resolution: 1.5dppx) {
	.navigation-item > .link > .line {
		height: 0.675px;
	}
}

@media screen and (min-width: 768px) {
	.navigation-item > .link > .line {
		top: calc(100% - 0.125rem);
	}
}

@media screen and (max-width: 767px) {
	.navigation-item > .link > .line {
		display: none;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.navigation-item > .link > .line {
		left: auto;
		right: 0;
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: width;
		width: 0;
	}
	.navigation-item > .link:hover > .line {
		right: auto;
		left: 0;
		transition: 0.25s cubic-bezier(0, 0.55, 0.45, 1);
		width: 100%;
	}
}

.navigation-item > .line {
	position: absolute;
	background: #dc0032;
	display: none;
}

@media screen and (min-width: 768px) {
	.navigation-item > .line {
		top: 50%;
		left: -3.75rem;
		width: 1px;
		height: 2.25rem;
		margin-top: -0.938rem;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item > .line {
		top: 10.87vw;
		left: 0;
		width: 100%;
		height: 1px;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	[data-page="top"] .navigation-item > .line {
		top: calc(100% - calc(5 / 1400 * var(--vh)));
	}
}

@media screen and (min-width: 768px) {
	.navigation-item.__sub {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
}

.navigation-item.__sub > .sub {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
}

@media screen and (min-width: 768px) {
	.navigation-item.__sub > .sub {
		margin-top: 0.188rem;
		margin-left: 1.688rem;
		gap: 1.875rem;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__sub > .sub {
		margin-top: 2.174vw;
		margin-left: 0.242vw;
		gap: 3.382vw 0;
		flex-wrap: wrap;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	[data-page="top"] .navigation-item.__sub > .sub {
		margin-top: calc(18 / 1400 * var(--vh));
		margin-left: calc(2 / 1400 * var(--vh));
		gap: calc(28 / 1400 * var(--vh)) 0;
	}
}

.navigation-item.__sub > .sub > .item {
	position: relative;
}

@media screen and (max-width: 767px) {
	.navigation-item.__sub > .sub > .item {
		line-height: 1;
		width: 36.232vw;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	[data-page="top"] .navigation-item.__sub > .sub > .item {
		width: calc(300 / 1400 * var(--vh));
	}
}

.navigation-item.__sub > .sub > .item > .link {
	position: relative;
}

.navigation-item.__sub > .sub > .item > .link > .text {
	font-weight: 300;
}

@media screen and (min-width: 768px) {
	.navigation-item.__sub > .sub > .item > .link > .text {
		font-size: 0.813rem;
		line-height: 0.813rem;
		letter-spacing: 0.045em;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__sub > .sub > .item > .link > .text {
		font-size: 2.415vw;
		line-height: 2.415vw;
		letter-spacing: 0.06em;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	[data-page="top"] .navigation-item.__sub > .sub > .item > .link > .text {
		font-size: calc(20 / 1400 * var(--vh));
		line-height: calc(20 / 1400 * var(--vh));
	}
}

.navigation-item.__sub > .sub > .item > .link > .text > .mask {
	position: relative;
	display: inline-block;
	overflow: hidden;
	line-height: 1.3;
}

.navigation-item.__sub > .sub > .item > .link > .text > .mask > .t {
	display: block;
}

.navigation-item.__sub > .sub > .item > .link > .line {
	position: absolute;
	width: 0;
	height: 1px;
	background-color: var(--textColorBase);
}

@media screen and (min-width: 768px) {
	.navigation-item.__sub > .sub > .item > .link > .line {
		top: calc(100% + 0.125rem);
		height: 0.99px;
	}
}

@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 21.5), screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-width: 768px) and (min-resolution: 1.5dppx) {
	.navigation-item.__sub > .sub > .item > .link > .line {
		height: 0.675px;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__sub > .sub > .item > .link > .line {
		top: 100%;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.navigation-item.__sub > .sub > .item > .link > .line {
		left: auto;
		right: 0;
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: width;
		width: 0;
	}
	.navigation-item.__sub > .sub > .item > .link:hover > .line {
		right: auto;
		left: 0;
		transition: 0.25s cubic-bezier(0, 0.55, 0.45, 1);
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__kando > .link > .text {
		letter-spacing: -0.055em;
	}
}

.navigation-item.__aside {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
}

@media screen and (min-width: 768px) {
	.navigation-item.__aside {
		margin-top: 3rem;
		gap: 2.063rem;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__aside {
		margin-top: 9.179vw;
		gap: 6.039vw;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	[data-page="top"] .navigation-item.__aside {
		margin-top: calc(76 / 1400 * var(--vh));
		gap: calc(50 / 1400 * var(--vh));
	}
}

.navigation-item.__aside > .item > .link {
	position: relative;
	display: block;
	line-height: 1;
}

@media screen and (min-width: 768px) {
	.navigation-item.__aside > .item > .link > .text {
		font-size: 0.75rem;
		line-height: 0.813rem;
		letter-spacing: 0em;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__aside > .item > .link > .text {
		font-size: 2.415vw;
		line-height: 2.415vw;
		letter-spacing: 0.03em;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	[data-page="top"] .navigation-item.__aside > .item > .link > .text {
		font-size: calc(20 / 1400 * var(--vh));
		line-height: calc(20 / 1400 * var(--vh));
	}
}

.navigation-item.__aside > .item > .link > .text > .mask {
	position: relative;
	display: inline-block;
	overflow: hidden;
	line-height: 1.3;
}

.navigation-item.__aside > .item > .link > .text > .mask > .t {
	display: block;
}

.navigation-item.__aside > .item > .link > .line {
	position: absolute;
	width: 0;
	height: 1px;
	background-color: var(--textColorBase);
}

@media screen and (min-width: 768px) {
	.navigation-item.__aside > .item > .link > .line {
		top: 100%;
		height: 0.99px;
	}
}

@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 21.5), screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-width: 768px) and (min-resolution: 1.5dppx) {
	.navigation-item.__aside > .item > .link > .line {
		height: 0.675px;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__aside > .item > .link > .line {
		top: 100%;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.navigation-item.__aside > .item > .link > .line {
		left: auto;
		right: 0;
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: width;
		width: 0;
	}
	.navigation-item.__aside > .item > .link:hover > .line {
		right: auto;
		left: 0;
		transition: 0.25s cubic-bezier(0, 0.55, 0.45, 1);
		width: 100%;
	}
}

@media screen and (min-width: 768px) {
	.navigation-item.__menu {
		margin-top: 0.875rem;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__menu {
		margin-top: 1.932vw;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	.navigation-item.__menu {
		margin-top: 1.932vw;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__menu:nth-child(4) {
		margin-top: 3.865vw;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	.navigation-item.__menu:nth-child(4) {
		margin-top: calc(32 / 1400 * var(--vh));
	}
}

.navigation-item.__menu:first-child {
	margin-top: 0;
}

.navigation-item.__menu > .link > .text {
	will-change: transform;
}

@media screen and (min-width: 768px) {
	.navigation-item.__menu > .link > .text {
		font-size: 3.125rem;
		letter-spacing: -0.04em;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__menu > .link > .text {
		font-size: 8.454vw;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	.navigation-item.__menu > .link > .text {
		font-size: calc(70 / 1400 * var(--vh));
	}
}

.navigation-item.__menu > .link > .line {
	background: var(--textColorBase);
}

@media screen and (max-width: 767px) {
	.navigation-item.__menu.__sub {
		gap: 3.623vw 4.831vw;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	.navigation-item.__menu.__sub {
		gap: 3.623vw calc(40 / 1400 * var(--vh));
	}
}

@media screen and (min-width: 768px) {
	.navigation-item.__menu.__sub > .sub {
		margin-top: 0.5rem;
		margin-left: 1.313rem;
		gap: 1.813rem;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__menu.__sub > .sub {
		margin-top: 2.657vw;
		gap: 3.865vw 0;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	.navigation-item.__menu.__sub > .sub {
		margin-top: calc(22 / 1400 * var(--vh));
		gap: calc(32 / 1400 * var(--vh)) 0;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__menu.__sub > .sub > .item {
		width: 50%;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__menu.__sub > .sub > .item > .link > .text {
		letter-spacing: 0.1em;
		font-size: 2.657vw;
		line-height: 2.657vw;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	.navigation-item.__menu.__sub > .sub > .item > .link > .text {
		font-size: calc(22 / 1400 * var(--vh));
		line-height: calc(22 / 1400 * var(--vh));
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__menu.__sub > .sub > .item.__current > .link > .line {
		display: block;
		width: 100%;
		background: #dc0032;
	}
}

@media screen and (min-width: 768px) {
	.navigation-item.__menu.__sub > .sub > .item.__current > .line {
		display: block;
	}
}

@media screen and (min-width: 768px) {
	.navigation-item.__menu.__kando > .link > .text {
		letter-spacing: -0.04em;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__menu.__kando > .link > .text {
		letter-spacing: -0.065em;
	}
}

@media screen and (min-width: 768px) {
	.navigation-item.__menu.__aside {
		position: fixed;
		margin-top: 0;
		bottom: 47px;
		margin-left: 5px;
		gap: 2.375rem;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__menu.__aside {
		margin-top: 9.541vw;
		gap: 7.246vw;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	.navigation-item.__menu.__aside {
		margin-top: calc(79 / 1400 * var(--vh));
		gap: calc(60 / 1400 * var(--vh));
	}
}

@media screen and (min-width: 768px) {
	.navigation-item.__menu.__aside > .item > .link > .text {
		font-size: 0.813rem;
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__menu.__aside > .item > .link > .text {
		letter-spacing: 0.06em;
		font-size: 2.657vw;
		line-height: 2.657vw;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) and (max-height: 599px) {
	.navigation-item.__menu.__aside > .item > .link > .text {
		font-size: calc(22 / 1400 * var(--vh));
		line-height: calc(22 / 1400 * var(--vh));
	}
}

@media screen and (max-width: 767px) {
	.navigation-item.__menu.__current > .link > .line {
		display: block;
		width: 100%;
		background: #dc0032;
	}
}

@media screen and (min-width: 768px) {
	.navigation-item.__menu.__current > .line {
		display: block;
	}
}

.navigation-label {
	font-size: 0.688rem;
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: 0.06em;
	opacity: 0.5;
}

.navigation-label > .mask {
	position: relative;
	display: inline-block;
	overflow: hidden;
	line-height: 1.3;
}

.navigation-label > .mask > .t {
	display: block;
}

.navigation-totop {
	position: relative;
}

.navigation-totop > .link {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.navigation-totop > .link {
		gap: 0.938rem;
	}
}

@media screen and (max-width: 767px) {
	.navigation-totop > .link {
		gap: 3.382vw;
	}
}

.navigation-totop > .link > .icon {
	position: relative;
	display: block;
}

@media screen and (min-width: 768px) {
	.navigation-totop > .link > .icon {
		width: 0.625rem;
		height: 0.813rem;
	}
}

@media screen and (max-width: 767px) {
	.navigation-totop > .link > .icon {
		width: 2.415vw;
		height: 3.261vw;
	}
}

.navigation-totop > .link > .icon > .mask {
	overflow: hidden;
	position: absolute;
	top: 0;
	display: block;
	height: 0;
	width: 100%;
	animation: arrow_mask_up 1.8s cubic-bezier(0.61, 1, 0.88, 1) infinite forwards;
	will-change: transform;
}

@media screen and (min-width: 768px) {
	.navigation-totop > .link > .icon > .mask > .i {
		width: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.navigation-totop > .link > .icon > .mask > .i {
		width: 2.415vw;
	}
}

.navigation-totop > .link > .icon > .mask > .i path {
	fill: var(--textColorBase);
}

.navigation-totop > .link > .text {
	line-height: 1;
}

@media screen and (min-width: 768px) {
	.navigation-totop > .link > .text {
		font-size: 0.688rem;
		line-height: 0.688rem;
		letter-spacing: 0.05em;
	}
}

@media screen and (max-width: 767px) {
	.navigation-totop > .link > .text {
		font-size: 2.899vw;
		line-height: 2.899vw;
		letter-spacing: 0.02em;
	}
}

.side-anker-item {
	position: relative;
}

@media screen and (min-width: 768px) {
	.side-anker-item {
		margin: 8px 0;
		transition: 0.6s cubic-bezier(0.61, 1, 0.88, 1);
		transition-property: margin;
		width: -moz-fit-content;
		width: fit-content;
		color: #aaa;
		will-change: margin;
	}
}

@media screen and (max-width: 767px) {
	.side-anker-item {
		margin-top: 2.899vw;
		color: #464646;
	}
	.side-anker-item:first-child {
		margin-top: 0;
	}
}

.side-anker-item > .link {
	position: relative;
	display: block;
	overflow: hidden;
}

.side-anker-item > .link > .mask {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	overflow: hidden;
	padding-bottom: 2px;
}

@media screen and (min-width: 768px) {
	.side-anker-item > .link > .mask {
		gap: 8px;
		font-size: 13px;
		line-height: 16.9px;
		letter-spacing: 0.02em;
	}
}

@media screen and (max-width: 767px) {
	.side-anker-item > .link > .mask {
		gap: 0.966vw;
		font-size: 2.899vw;
		line-height: 3.768vw;
		letter-spacing: 0em;
	}
}

.side-anker-item > .link > .mask > .num {
	width: 2em;
}

@media screen and (min-width: 768px) {
	.side-anker-item > .link > .mask > .num {
		font-size: 10px;
		line-height: 16.9px;
	}
}

@media screen and (max-width: 767px) {
	.side-anker-item > .link > .mask > .num {
		font-size: 2.415vw;
		line-height: 3.768vw;
	}
}

.side-anker-item > .link > .mask > .text {
	position: relative;
}

.side-anker-item > .link > .mask > .text > .t {
	display: block;
}

@media screen and (min-width: 768px) {
	.side-anker-item > .link > .mask > .text > .line {
		position: absolute;
		top: calc(100% + 0px);
		width: 0;
		background-color: #aaa;
		height: 0.99px;
	}
}

@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 21.5), screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-width: 768px) and (min-resolution: 1.5dppx) {
	.side-anker-item > .link > .mask > .text > .line {
		height: 0.675px;
	}
}

@media screen and (max-width: 767px) {
	.side-anker-item > .link > .mask > .text > .line {
		display: none;
		background-color: #464646;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.side-anker-item > .link {
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: color;
	}
	.side-anker-item > .link > .mask > .text > .line {
		left: auto;
		right: 0;
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: width, background-color;
		width: 0;
	}
	.side-anker-item > .link:hover {
		transition-duration: 0.25s;
		transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
		color: #464646;
	}
	.side-anker-item > .link:hover > .mask > .text > .line {
		right: auto;
		left: 0;
		transition-duration: 0.25s;
		transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
		width: 100%;
		background-color: #464646;
	}
}

@media screen and (min-width: 768px) {
	.side-anker-item.__current {
		pointer-events: none;
		margin: 25px 0;
	}
}

@media screen and (min-width: 768px) {
	.side-anker-item.__current > .link {
		color: #464646;
	}
}

@media screen and (min-width: 768px) {
	.side-anker-item.__current > .link > .mask > .text > .line {
		background-color: #464646;
	}
}

@media screen and (min-width: 768px) {
	.side-anker-item.__page {
		margin: 8px 0;
	}
}

@media screen and (min-width: 768px) {
	.side-anker-item.__top {
		margin: 21px 0;
		color: #464646;
	}
}

.side-anker-item.__kando > .link > .mask {
	letter-spacing: 0em;
}

.side-head {
	position: relative;
}

@media screen and (min-width: 768px) {
	.side-head > .bg {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.side-head > .bg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		overflow: hidden;
	}
	.side-head > .bg > .color {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.side-head > .bg > .color > .c {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		visibility: hidden;
		z-index: 0;
	}
	.side-head > .bg > .color > .c.__base {
		background-color: #fafafa;
		background-image: radial-gradient(circle, white 0%, rgba(255, 255, 255, 0.738) 19%, rgba(255, 255, 255, 0.541) 34%, rgba(255, 255, 255, 0.382) 47%, rgba(255, 255, 255, 0.278) 56.5%, rgba(255, 255, 255, 0.194) 65%, rgba(255, 255, 255, 0.126) 73%, rgba(255, 255, 255, 0.075) 80.2%, rgba(255, 255, 255, 0.042) 86.1%, rgba(255, 255, 255, 0.021) 91%, rgba(255, 255, 255, 0.008) 95.2%, rgba(255, 255, 255, 0.002) 98.2%, rgba(255, 255, 255, 0) 100%);
		opacity: 1;
		visibility: visible;
	}
	.side-head > .bg > .color > .c.__footer {
		background-color: #605c5c;
		background-image: radial-gradient(circle, #6a6767 0%, rgba(106, 103, 103, 0.738) 19%, rgba(106, 103, 103, 0.541) 34%, rgba(106, 103, 103, 0.382) 47%, rgba(106, 103, 103, 0.278) 56.5%, rgba(106, 103, 103, 0.194) 65%, rgba(106, 103, 103, 0.126) 73%, rgba(106, 103, 103, 0.075) 80.2%, rgba(106, 103, 103, 0.042) 86.1%, rgba(106, 103, 103, 0.021) 91%, rgba(106, 103, 103, 0.008) 95.2%, rgba(106, 103, 103, 0.002) 98.2%, rgba(106, 103, 103, 0) 100%);
	}
	.side-head > .bg > .color > .c.__menu {
		background: #1b1b1b;
	}
	.side-head > .bg > .cover {
		position: absolute;
		top: -25%;
		left: -25%;
		width: 150%;
		height: 150%;
		animation: background_noise 1s steps(3) infinite;
		background: url(../img/common/common_bg_noise.webp) repeat;
		opacity: 0.04;
		will-change: transform;
		z-index: 3;
	}
}

@media screen and (max-width: 767px) and (min-width: 768px) {
	.side-head > .bg > .cover {
		background-size: 128px;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) {
	.side-head > .bg > .cover {
		background-size: 64px;
	}
}

.side-head > .link {
	position: relative;
	pointer-events: visible;
	z-index: 2;
}

@media screen and (min-width: 768px) {
	.side-head > .link {
		display: block;
		margin-left: -3px;
	}
}

@media screen and (max-width: 767px) {
	.side-head > .link {
		gap: 3.382vw;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	}
}

.side-head > .link > .logo {
	position: relative;
	display: block;
}

@media screen and (min-width: 768px) {
	.side-head > .link > .logo {
		width: 77px;
		height: 14px;
		flex-shrink: 0;
	}
}

@media screen and (max-width: 767px) {
	.side-head > .link > .logo {
		width: 17.995vw;
		height: 3.382vw;
		pointer-events: visible;
		margin-top: 0.121vw;
	}
}

.side-head > .link > .logo svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}

.side-head > .link > .logo svg path {
	fill: var(--textColorAccent);
}

.side-head > .link > .copy {
	line-height: 1.3;
	color: var(--textColorAccent);
	white-space: nowrap;
	transform: skewX(-18deg);
	display: block;
}

@media screen and (min-width: 768px) {
	.side-head > .link > .copy {
		margin-top: 11px;
		font-size: 10px;
		letter-spacing: -0.04em;
	}
}

@media screen and (max-width: 767px) {
	.side-head > .link > .copy {
		font-size: 2.295vw;
		letter-spacing: -0.04em;
		margin-top: 0.725vw;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.side-head > .link {
		transition: 0.3s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: opacity;
	}
	.side-head > .link:hover {
		opacity: 0.5;
		transition-duration: 0.5s;
		transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
	}
}

@media screen and (min-width: 768px) {
	.side-line {
		background-color: var(--lineColorBase);
	}
	.side-line > .color {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 0;
		background-color: #dc0032;
		will-change: height;
	}
}

.side-menu-language {
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
}

@media screen and (min-width: 768px) {
	.side-menu-language {
		width: 78px;
		justify-content: space-between;
		margin-left: auto;
	}
}

@media screen and (max-width: 767px) {
	.side-menu-language {
		position: fixed;
		top: 6.28vw;
		right: 16.908vw;
		gap: 7.246vw;
		z-index: 3;
		pointer-events: visible;
	}
}

.side-menu-language > .item {
	position: relative;
}

.side-menu-language > .item:before {
	content: "";
	position: absolute;
	top: 50%;
	height: 0.99px;
	transform: translate3d(-50%, 0, 0);
	background-color: var(--textColorBase);
}

@media screen and (min-width: 768px) {
	.side-menu-language > .item:before {
		left: 0;
		width: 29px;
		margin-left: -24px;
	}
	.__isMac .side-menu-language > .item:before {
		height: 1px;
	}
}

@media screen and (max-width: 767px) {
	.side-menu-language > .item:before {
		left: -3.623vw;
		width: 4.106vw;
		background-color: var(--headColorBase);
	}
}

.side-menu-language > .item:first-child:before {
	content: "";
	display: none;
}

.side-menu-language > .item > .link > .text {
	display: block;
	letter-spacing: 0.02em;
	transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
	transition-property: color;
}

@media screen and (min-width: 768px) {
	.side-menu-language > .item > .link > .text {
		font-size: 11px;
		line-height: 11px;
	}
}

@media screen and (max-width: 767px) {
	.side-menu-language > .item > .link > .text {
		font-size: 2.415vw;
		line-height: 2.415vw;
	}
}

.side-menu-language > .item.__current {
	pointer-events: none;
}

.side-menu-language > .item.__current > .link > .text {
	color: #dc0032;
	transition-duration: 0.25s;
	transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
}

.side-menu-link {
	position: fixed;
	top: 5.918vw;
	right: 4.831vw;
	width: 7.246vw;
	height: 2.657vw;
	pointer-events: visible;
	z-index: 1;
}

.side-menu-link > .line {
	position: absolute;
	top: calc(50% - 0.5px);
	left: 0;
	display: block;
	width: 100%;
	height: 0.99px;
	background-color: var(--textColorDark);
	transition: 0.6s cubic-bezier(0.61, 1, 0.88, 1);
	transition-property: transform, top, opacity;
	will-change: transform, top;
	backface-visibility: hidden;
}

.side-menu-link > .line.__01 {
	top: calc(50% - 1.268vw);
}

.side-menu-link > .line.__02 {
	top: 50%;
}

.side-menu-link > .line.__03 {
	top: calc(50% + 1.147vw);
}

.side-menu-link.__opened > .line {
	transition-duration: 0.6s;
	transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
}

.side-menu-link.__opened > .line.__01 {
	top: calc(50% - 0.5px);
	transform: rotate(10deg) translate3d(0, 0, 0);
}

.side-menu-link.__opened > .line.__02 {
	opacity: 0;
}

.side-menu-link.__opened > .line.__03 {
	top: calc(50% - 0.5px);
	transform: rotate(-10deg) translate3d(0, 0, 0);
}

.side-navigation-item {
	position: relative;
	transition: 0.6s cubic-bezier(0.61, 1, 0.88, 1);
	transition-property: margin;
	width: -moz-fit-content;
	width: fit-content;
	will-change: margin;
}

.side-navigation-item > .link {
	position: relative;
	display: block;
	width: -moz-fit-content;
	width: fit-content;
}

.side-navigation-item > .link > .text {
	position: relative;
	display: block;
	overflow: hidden;
}

.side-navigation-item > .link > .text > .mask {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	overflow: hidden;
	padding-bottom: 2px;
	font-size: 13px;
	line-height: 16.9px;
	letter-spacing: 0.02em;
}

.side-navigation-item > .link > .text > .mask > .t {
	display: block;
	color: #464646;
	color: var(--textColorDark);
}

.side-navigation-item > .link > .line {
	position: absolute;
	top: calc(100% + 0px);
	width: 0;
	background-color: #464646;
	background-color: var(--textColorDark);
	height: 0.99px;
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.side-navigation-item > .link {
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
	}
	.side-navigation-item > .link > .line {
		left: auto;
		right: 0;
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: width;
		width: 0;
	}
	.side-navigation-item > .link:hover > .line {
		right: auto;
		left: 0;
		transition-duration: 0.25s;
		transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
		width: 100%;
	}
}

.side-navigation-item > .sub {
	position: relative;
	margin-top: 15px;
	margin-bottom: 12px;
}

.side-navigation-item > .sub > .item {
	margin-top: 10px;
}

.side-navigation-item > .sub > .item:first-child {
	margin-top: 0;
}

.side-navigation-item > .sub > .item > .link {
	position: relative;
	display: block;
	width: -moz-fit-content;
	width: fit-content;
}

.side-navigation-item > .sub > .item > .link > .text {
	position: relative;
	display: block;
	overflow: hidden;
}

.side-navigation-item > .sub > .item > .link > .text > .mask {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	overflow: hidden;
	padding-bottom: 2px;
	font-size: 11px;
	line-height: 14.3px;
	letter-spacing: 0.02em;
}

.side-navigation-item > .sub > .item > .link > .text > .mask > .t {
	display: block;
	color: #464646;
	color: var(--textColorDark);
}

.side-navigation-item > .sub > .item > .link > .line {
	position: absolute;
	top: calc(100% + 0px);
	width: 0;
	background-color: #464646;
	background-color: var(--textColorDark);
	height: 0.99px;
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.side-navigation-item > .sub > .item > .link > .line {
		left: auto;
		right: 0;
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: width;
		width: 0;
	}
	.side-navigation-item > .sub > .item > .link:hover > .line {
		right: auto;
		left: 0;
		transition-duration: 0.25s;
		transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
		width: 100%;
	}
}

.side-navigation-item > .sub > .item.__current > .link {
	pointer-events: none;
}

.side-navigation-item > .sub > .item.__current > .link > .text > .mask > .t {
	color: #dc0032;
}

.side-navigation-item.__aside {
	position: relative;
}

.side-navigation-item.__aside > .item {
	margin-top: 12px;
}

.side-navigation-item.__aside > .item:first-child {
	margin-top: 0;
}

.side-navigation-item.__aside > .item > .link {
	position: relative;
	display: block;
	width: -moz-fit-content;
	width: fit-content;
}

.side-navigation-item.__aside > .item > .link > .text {
	position: relative;
	display: block;
	overflow: hidden;
}

.side-navigation-item.__aside > .item > .link > .text > .mask {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	overflow: hidden;
	padding-bottom: 2px;
	font-size: 11px;
	line-height: 14.3px;
	letter-spacing: 0.02em;
}

.side-navigation-item.__aside > .item > .link > .text > .mask > .t {
	display: block;
	color: #464646;
	color: var(--textColorDark);
}

.side-navigation-item.__aside > .item > .link > .line {
	position: absolute;
	top: calc(100% + 0px);
	width: 0;
	background-color: #464646;
	background-color: var(--textColorDark);
	height: 0.99px;
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.side-navigation-item.__aside > .item > .link > .line {
		left: auto;
		right: 0;
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: width;
		width: 0;
	}
	.side-navigation-item.__aside > .item > .link:hover > .line {
		right: auto;
		left: 0;
		transition-duration: 0.25s;
		transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
		width: 100%;
	}
}

.side-navigation-item.__aside > .item > .link > .text > .mask > .t {
	color: #464646;
	color: var(--textColorDark);
}

@media screen and (min-width: 768px) {
	.side-navigation-item.__aside > .item > .link > .text > .mask > .t {
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: color;
	}
}

.side-navigation-item.__aside > .item.__current > .link {
	pointer-events: none;
}

.side-navigation-item.__aside > .item.__current > .link > .text > .mask > .t {
	color: #dc0032;
}

@media screen and (min-width: 768px) {
	.side-navigation-item.__aside > .item.__current > .link > .text > .mask > .t {
		transition-duration: 0.25s;
		transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
	}
}

.side-navigation-item > .link > .text > .mask > .t {
	color: #464646;
	color: var(--textColorDark);
}

@media screen and (min-width: 768px) {
	.side-navigation-item > .link > .text > .mask > .t {
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: color;
	}
}

.side-navigation-item.__current > .link {
	pointer-events: none !important;
}

.side-navigation-item.__current > .link > .text > .mask > .t {
	color: #dc0032;
}

@media screen and (min-width: 768px) {
	.side-navigation-item.__current > .link > .text > .mask > .t {
		transition-duration: 0.25s;
		transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
	}
}

.contact-introduction {
	position: relative;
	margin: 0 auto;
}

@media screen and (min-width: 768px) {
	.contact-introduction {
		width: 71.875rem;
	}
}

.contact-introduction > .area {
	position: relative;
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area {
		margin-left: auto;
		width: 43.75rem;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area {
		width: 90.338vw;
		margin: 0 auto;
	}
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area > .text {
		font-size: 0.938rem;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .text {
		font-size: 3.623vw;
		line-height: 2;
	}
}

.contact-introduction > .area > .mail {
	position: relative;
	border: 1px solid #c8c8c8;
	border-right: none;
	border-left: none;
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area > .mail {
		margin-top: 2.625rem;
		padding: 1.563rem 0 1.75rem;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .mail {
		margin-top: 6.039vw;
		padding: 3.623vw 0;
	}
}

.contact-introduction > .area > .mail > .label {
	position: absolute;
	left: 0;
	line-height: 1;
	color: #aaa;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area > .mail > .label {
		top: 0.563rem;
		font-size: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .mail > .label {
		top: 1.812vw;
		font-size: 2.415vw;
	}
}

.contact-introduction > .area > .mail > .address {
	margin: 0 auto;
	display: flex;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area > .mail > .address {
		gap: 1.063rem;
		padding-left: 6.25rem;
		justify-content: flex-start;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .mail > .address {
		gap: 4.227vw;
		justify-content: center;
	}
}

.contact-introduction > .area > .mail > .address > .text {
	font-weight: 300;
	letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area > .mail > .address > .text {
		font-size: 1.5rem;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .mail > .address > .text {
		font-size: 4.831vw;
	}
}

.contact-introduction > .area > .mail > .address > .button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area > .mail > .address > .button {
		width: 4.375rem;
		height: 4.375rem;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .mail > .address > .button {
		width: 14.493vw;
		height: 14.493vw;
	}
}

.contact-introduction > .area > .mail > .address > .button > .color {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #464646;
}

.contact-introduction > .area > .mail > .address > .button > .text {
	position: relative;
	color: #fff;
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area > .mail > .address > .button > .text {
		font-size: 0.688rem;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .mail > .address > .button > .text {
		font-size: 2.415vw;
	}
}

.contact-introduction > .area > .mail > .address > .button > .popup {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	background: url(../img/contact/contact_comment_bg.svg) no-repeat center;
	background-size: contain;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area > .mail > .address > .button > .popup {
		top: -2.438rem;
		width: 5.938rem;
		height: 1.75rem;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .mail > .address > .button > .popup {
		top: -7.971vw;
		width: 21.498vw;
		height: 6.401vw;
	}
}

.contact-introduction > .area > .mail > .address > .button > .popup > .text {
	color: #464646;
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area > .mail > .address > .button > .popup > .text {
		font-size: 0.688rem;
		line-height: 1.563rem;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .mail > .address > .button > .popup > .text {
		font-size: 2.415vw;
		line-height: 5.556vw;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.contact-introduction > .area > .mail > .address > .button > .color {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: transform;
	}
	.contact-introduction > .area > .mail > .address > .button:hover > .color {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		transform: scale(1.1);
	}
}

.contact-introduction > .area > .address {
	position: relative;
	border-bottom: 1px solid #c8c8c8;
	display: flex;
	justify-content: flex-start;
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area > .address {
		padding: 1.75rem 0 1.75rem;
		padding-left: 6.25rem;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .address {
		padding: 10.87vw 0 7.246vw;
	}
}

.contact-introduction > .area > .address > .label {
	position: absolute;
	left: 0;
	line-height: 1;
	color: #aaa;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area > .address > .label {
		top: 0.563rem;
		font-size: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .address > .label {
		top: 1.812vw;
		font-size: 2.415vw;
	}
}

.contact-introduction > .area > .address > .list > .item {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .address > .list > .item {
		margin-top: 1.812vw;
	}
	.contact-introduction > .area > .address > .list > .item:first-child {
		margin-top: 0;
	}
}

.contact-introduction > .area > .address > .list > .item > .head {
	letter-spacing: 0.02em;
	flex-shrink: 0;
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area > .address > .list > .item > .head {
		font-size: 0.75rem;
		width: 5rem;
		line-height: 2rem;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .address > .list > .item > .head {
		font-size: 2.415vw;
		width: 14.976vw;
		line-height: 4.71vw;
	}
}

.contact-introduction > .area > .address > .list > .item > .body {
	letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
	.contact-introduction > .area > .address > .list > .item > .body {
		font-size: 0.813rem;
		line-height: 2.462;
	}
}

@media screen and (max-width: 767px) {
	.contact-introduction > .area > .address > .list > .item > .body {
		font-size: 2.778vw;
		line-height: 1.696;
	}
}

.page-back {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-back {
		padding: 0 3.75rem;
	}
}

@media screen and (max-width: 767px) {
	.page-back {
		width: 90.338vw;
		margin: 0 auto;
	}
}

.page-back > .area > .link {
	position: relative;
	width: 100%;
	border-top: 1px solid #dcdcdc;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.page-back > .area > .link {
		height: 6.875rem;
		gap: 1.125rem;
	}
}

@media screen and (max-width: 767px) {
	.page-back > .area > .link {
		height: 20.773vw;
		gap: 3.623vw;
	}
}

.page-back > .area > .link > .icon {
	font-weight: 300;
	margin-top: 0.1em;
}

@media screen and (min-width: 768px) {
	.page-back > .area > .link > .icon {
		width: 1.438rem;
		font-size: 1.875rem;
	}
}

@media screen and (max-width: 767px) {
	.page-back > .area > .link > .icon {
		width: 4.831vw;
		font-size: 6.039vw;
	}
}

.page-back > .area > .link > .text {
	font-weight: 300;
	line-height: 1;
}

@media screen and (min-width: 768px) {
	.page-back > .area > .link > .text {
		font-size: 2.5rem;
		letter-spacing: -0.05em;
		margin-right: 5.296rem;
	}
}

@media screen and (max-width: 767px) {
	.page-back > .area > .link > .text {
		font-size: 7.85vw;
		letter-spacing: -0.05em;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.page-back > .area > .link > .icon {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: transform;
	}
	.page-back > .area > .link:hover > .icon {
		transition-duration: 0.55s;
		transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
		transform: translateX(-1.25rem);
	}
}

.page-contents-lead {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-contents-lead > .lead {
		font-size: 0.938rem;
		line-height: 2.133;
	}
	.__ja .page-contents-lead > .lead {
		letter-spacing: 0.02em;
	}
	.__en .page-contents-lead > .lead {
		letter-spacing: 0em;
	}
}

@media screen and (max-width: 767px) {
	.page-contents-lead > .lead {
		width: 80.676vw;
		margin: 0 auto;
		font-size: 3.623vw;
		line-height: 2;
	}
	.__ja .page-contents-lead > .lead {
		letter-spacing: 0.05em;
	}
	.__en .page-contents-lead > .lead {
		letter-spacing: 0em;
	}
}

.page-contents-title {
	position: relative;
}

.page-contents-title > .title {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-contents-title > .title {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 1.625rem;
	}
}

.page-contents-title > .title > .num {
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.03em;
}

@media screen and (min-width: 768px) {
	.page-contents-title > .title > .num {
		font-size: 0.625rem;
		margin-left: auto;
		order: 3;
	}
}

@media screen and (max-width: 767px) {
	.page-contents-title > .title > .num {
		font-size: 2.415vw;
		line-height: 4.227vw;
		position: absolute;
		right: 0;
		bottom: 0.313rem;
	}
}

.page-contents-title > .title > .text {
	font-weight: 300;
	letter-spacing: -0.06em;
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-contents-title > .title > .text {
		line-height: 1.1;
		font-size: 3.125rem;
		left: -0.313rem;
	}
}

@media screen and (max-width: 767px) {
	.page-contents-title > .title > .text {
		font-size: 9.662vw;
		line-height: 1.212;
		letter-spacing: -0.07em;
	}
}

.page-contents-title > .title > .text > .mask {
	position: relative;
	display: inline-block;
	overflow: hidden;
	width: 100%;
	height: 100%;
	padding-right: 0.05em;
}

.page-contents-title > .title > .text > .mask > .t {
	position: relative;
	display: block;
	top: -0.125em;
}

.page-contents-title > .title > .label {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-contents-title > .title > .label {
		font-size: 0.875rem;
		line-height: 1.15;
		top: -0.375rem;
	}
}

@media screen and (max-width: 767px) {
	.page-contents-title > .title > .label {
		display: block;
		margin-top: -1.208vw;
		font-size: 2.657vw;
		line-height: 1.591;
	}
}

.page-contents-title > .title > .label > .mask {
	position: relative;
	display: inline-block;
	overflow: hidden;
	width: 100%;
	height: 100%;
}

.page-contents-title > .title > .label > .mask > .t {
	position: relative;
	display: block;
}

.page-contents-title > .line {
	position: absolute;
	left: 0;
}

@media screen and (min-width: 768px) {
	.page-contents-title > .line {
		top: calc(100% + 0rem);
	}
	.__isMac .page-contents-title > .line {
		top: calc(100% - 0.313rem);
	}
}

@media screen and (max-width: 767px) {
	.page-contents-title > .line {
		top: auto;
		bottom: -2.415vw;
	}
}

@media screen and (min-width: 768px) {
	.page-contents-title.__under > .title {
		gap: 1.125rem;
	}
}

@media screen and (max-width: 767px) {
	.page-contents-title.__under > .title {
		padding-right: 7.246vw;
	}
}

@media screen and (min-width: 768px) {
	.page-contents-title.__under > .title > .text {
		font-size: 2.5rem;
		line-height: 1.15;
		letter-spacing: -0.03em;
	}
}

.page-contents-title.__under > .title > .text > .mask > .t {
	top: -0.15em;
}

@media screen and (min-width: 768px) {
	.page-head-anker {
		display: none;
	}
}

.page-head-anker > .item {
	position: relative;
	margin-top: 3.623vw;
	color: #464646;
}

.page-head-anker > .item:first-child {
	margin-top: 0;
}

.page-head-anker > .item > .link {
	position: relative;
	display: block;
	overflow: hidden;
}

.page-head-anker > .item > .link > .mask {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	overflow: hidden;
	gap: 0.966vw;
	font-size: 2.899vw;
	line-height: 3.768vw;
	letter-spacing: 0em;
}

.page-head-anker > .item > .link > .mask > .num {
	width: 2em;
	font-size: 2.415vw;
	line-height: 3.768vw;
}

.page-head-anker > .item > .link > .mask > .text {
	position: relative;
}

.page-head-anker > .item > .link > .mask > .text > .t {
	display: block;
}

.page-head-anker > .item > .link > .mask > .text > .line {
	display: none;
	background-color: #464646;
}

.page-head-breadcrumb {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.page-head-breadcrumb {
		gap: 1.25rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-breadcrumb {
		gap: 4.831vw;
	}
}

.page-head-breadcrumb > .item {
	position: relative;
}

.page-head-breadcrumb > .item:before {
	content: "";
	position: absolute;
	top: 50%;
	height: 1px;
	transform: translate3d(-50%, 0, 0);
	background-color: #aaa;
}

@media screen and (min-width: 768px) {
	.page-head-breadcrumb > .item:before {
		left: -0.625rem;
		width: 0.313rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-breadcrumb > .item:before {
		left: -2.415vw;
		width: 1.208vw;
	}
}

.page-head-breadcrumb > .item:first-child:before {
	content: "";
	display: none;
}

.page-head-breadcrumb > .item > .text {
	display: block;
	line-height: 1;
	color: #aaa;
}

@media screen and (min-width: 768px) {
	.page-head-breadcrumb > .item > .text {
		font-size: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-breadcrumb > .item > .text {
		font-size: 2.657vw;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.page-head-breadcrumb > .item > .text {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: opacity;
	}
	.page-head-breadcrumb > .item > .text:hover {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		opacity: 0.5;
	}
}

.page-head-breadcrumb > .item.__current {
	pointer-events: none;
}

.page-head-breadcrumb > .item.__current > .text {
	color: #787878;
}

.page-head-graphic {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.page-head-graphic > .area {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
}

@media screen and (min-width: 768px) {
	.page-head-graphic > .area {
		width: 85.625rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-graphic > .area {
		width: 100%;
	}
}

.page-head-graphic > .area > .loop,
.page-head-graphic > .area > .line {
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 768px) {
	.page-head-graphic > .area > .loop,
	.page-head-graphic > .area > .line {
		top: 4.063rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-graphic > .area > .loop,
	.page-head-graphic > .area > .line {
		top: 0;
	}
}

.page-head-graphic > .area > .loop .i,
.page-head-graphic > .area > .line .i {
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(255, 255, 255, 0);
	-webkit-mask-image: linear-gradient(to bottom, white 0%, white 95%, rgba(255, 255, 255, 0.738) 95.95%, rgba(255, 255, 255, 0.541) 96.7%, rgba(255, 255, 255, 0.382) 97.35%, rgba(255, 255, 255, 0.278) 97.825%, rgba(255, 255, 255, 0.194) 98.25%, rgba(255, 255, 255, 0.126) 98.65%, rgba(255, 255, 255, 0.075) 99.01%, rgba(255, 255, 255, 0.042) 99.305%, rgba(255, 255, 255, 0.021) 99.55%, rgba(255, 255, 255, 0.008) 99.76%, rgba(255, 255, 255, 0.002) 99.91%, rgba(255, 255, 255, 0) 100%);
	mask-image: linear-gradient(to bottom, white 0%, white 95%, rgba(255, 255, 255, 0.738) 95.95%, rgba(255, 255, 255, 0.541) 96.7%, rgba(255, 255, 255, 0.382) 97.35%, rgba(255, 255, 255, 0.278) 97.825%, rgba(255, 255, 255, 0.194) 98.25%, rgba(255, 255, 255, 0.126) 98.65%, rgba(255, 255, 255, 0.075) 99.01%, rgba(255, 255, 255, 0.042) 99.305%, rgba(255, 255, 255, 0.021) 99.55%, rgba(255, 255, 255, 0.008) 99.76%, rgba(255, 255, 255, 0.002) 99.91%, rgba(255, 255, 255, 0) 100%);
}

@media screen and (min-width: 768px) {
	.page-head-graphic > .area > .loop .i,
	.page-head-graphic > .area > .line .i {
		object-fit: contain;
		object-position: left center;
	}
}

@media screen and (max-width: 767px) {
	.page-head-graphic > .area > .loop .i,
	.page-head-graphic > .area > .line .i {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

@media screen and (min-width: 768px) {
	.page-head-graphic > .area > .pointer {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		width: 85.625rem;
		height: 100%;
	}
}

.page-head-graphic > .area > .pointer > .icon {
	position: absolute;
	top: 50%;
	left: 50%;
	aspect-ratio: 1/1;
	z-index: 8;
}

@media screen and (min-width: 768px) {
	.page-head-graphic > .area > .pointer > .icon {
		width: 1rem;
		height: 1rem;
		margin-top: -0.5rem;
		margin-left: -0.5rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-graphic > .area > .pointer > .icon {
		width: 1.932vw;
		height: 1.932vw;
		margin-top: -0.966vw;
		margin-left: -0.966vw;
	}
}

.page-head-graphic > .area > .pointer > .icon svg circle {
	fill: #dc0032;
}

.page-head-graphic > .area > .pointer > .circle {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.page-head-graphic > .area > .pointer > .circle .i {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 768px) {
	.page-head-graphic > .area > .pointer > .circle .i {
		object-fit: contain;
		object-position: left center;
	}
}

@media screen and (max-width: 767px) {
	.page-head-graphic > .area > .pointer > .circle .i {
		object-fit: cover;
	}
}

.page-head-graphic.__kando-ux-research > .area > .loop,
.page-head-graphic.__kando-ux-research > .area > .line {
	top: 0;
}

.page-head-lead {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-lead > .text {
		font-size: 1rem;
	}
	.__ja .page-head-lead > .text {
		letter-spacing: 0.16em;
	}
	.__en .page-head-lead > .text {
		letter-spacing: 0em;
		line-height: 1.75;
	}
}

@media screen and (max-width: 767px) {
	.page-head-lead > .text {
		font-size: 3.865vw;
	}
	.__ja .page-head-lead > .text {
		letter-spacing: 0.1em;
	}
	.__en .page-head-lead > .text {
		letter-spacing: 0em;
		line-height: 1.75;
	}
}

.page-head-title {
	position: relative;
}

.page-head-title > .text {
	position: relative;
	display: inline-block;
	font-weight: 300;
	letter-spacing: -0.03em;
}

@media screen and (min-width: 768px) {
	.page-head-title > .text {
		font-size: 5.313rem;
		line-height: 1;
	}
	.__isMac .page-head-title > .text {
		top: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title > .text {
		font-size: 13.285vw;
		line-height: 1.15;
	}
}

.page-head-title > .text > .mask {
	position: relative;
	display: inline-block;
	overflow: hidden;
	width: 100%;
	height: 100%;
}

.page-head-title > .text > .mask > .t {
	position: relative;
	display: block;
}

.page-head-title > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title > .text > .mask > .t span:nth-child(1) {
		margin-left: -0.438rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title > .text > .mask > .t span:nth-child(1) {
		margin-left: -0.725vw;
	}
}

.page-head-title > .text > .mask > .t span:last-child {
	letter-spacing: 0 !important;
}

.page-head-title > .text > .line {
	position: absolute;
	left: 0;
	display: block;
	height: 1px;
	width: 100%;
	background: #787878;
}

@media screen and (min-width: 768px) {
	.page-head-title > .text > .line {
		top: calc(100% + 0rem);
		height: 0.99px;
	}
}

@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 21.5), screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-width: 768px) and (min-resolution: 1.5dppx) {
	.page-head-title > .text > .line {
		height: 0.675px;
	}
}

@media screen and (min-width: 768px) {
	.__isMac .page-head-title > .text > .line {
		top: calc(100% - 0.875rem);
	}
}

@media screen and (max-width: 767px) {
	.page-head-title > .text > .line {
		top: calc(100% - 2.174vw);
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__under {
		line-height: 1;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__under > .text {
		font-size: 5.313rem;
		letter-spacing: -0.05em;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__under > .text > .mask {
		top: 0.063rem;
	}
	.__isMac .page-head-title.__under > .text > .mask {
		top: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__under > .text > .mask {
		display: block;
		top: 1.208vw;
		height: 100%;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__under > .text > .mask > .t {
		top: -0.1685em;
	}
	.__isMac .page-head-title.__under > .text > .mask > .t {
		top: -0.125em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__under > .text > .mask > .t {
		top: -0.125em;
		height: 1.15em;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__under > .text > .line {
		top: calc(100% - 0.5rem);
	}
	.__isMac .page-head-title.__under > .text > .line {
		top: calc(100% - 0.25rem);
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__under > .text > .line {
		top: calc(100% - 1.449vw);
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__digital-experience > .text {
		font-size: 5.313rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__digital-experience > .text {
		font-size: 13.285vw;
	}
}

.page-head-title.__digital-experience > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__digital-experience > .text > .mask > .t span {
		letter-spacing: -0.04em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__digital-experience > .text > .mask > .t span {
		letter-spacing: -0.04em;
	}
}

.page-head-title.__digital-experience > .text > .mask > .t span:nth-child(8) {
	display: block;
}

.page-head-title.__digital-experience > .text > .mask > .t span:nth-child(9) {
	margin-left: -0.08em;
}

.page-head-title.__digital-experience > .text > .mask > .t span:nth-child(16) {
	margin-left: -0.05em;
}

.page-head-title.__digital-experience > .text > .mask > .t span:nth-child(17) {
	margin-left: -0.05em;
}

@media screen and (min-width: 768px) {
	.page-head-title.__master-plan > .text {
		font-size: 5.313rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__master-plan > .text {
		font-size: 13.285vw;
	}
}

.page-head-title.__master-plan > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__master-plan > .text > .mask > .t span {
		letter-spacing: -0.045em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__master-plan > .text > .mask > .t span {
		letter-spacing: -0.045em;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__principle > .text {
		font-size: 5.313rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__principle > .text {
		font-size: 13.285vw;
	}
}

.page-head-title.__principle > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__principle > .text > .mask > .t span {
		letter-spacing: -0.03em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__principle > .text > .mask > .t span {
		letter-spacing: -0.03em;
	}
}

.page-head-title.__principle > .text > .mask > .t span:nth-child(2) {
	margin-left: -0.02em;
}

.page-head-title.__principle > .text > .mask > .t span:nth-child(3) {
	margin-left: -0.02em;
}

.page-head-title.__principle > .text > .mask > .t span:nth-child(4) {
	margin-left: -0.05em;
}

.page-head-title.__principle > .text > .mask > .t span:nth-child(5) {
	margin-left: -0.05em;
}

.page-head-title.__principle > .text > .mask > .t span:nth-child(6) {
	margin-left: 0em;
}

.page-head-title.__principle > .text > .mask > .t span:nth-child(7) {
	margin-left: -0.04em;
}

.page-head-title.__principle > .text > .mask > .t span:nth-child(8) {
	margin-left: -0.03em;
}

.page-head-title.__principle > .text > .mask > .t span:nth-child(9) {
	margin-left: -0.06em;
}

@media screen and (min-width: 768px) {
	.page-head-title.__ux-initiatives > .text {
		font-size: 5.313rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__ux-initiatives > .text {
		font-size: 13.285vw;
	}
}

.page-head-title.__ux-initiatives > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__ux-initiatives > .text > .mask > .t span {
		letter-spacing: -0.03em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__ux-initiatives > .text > .mask > .t span {
		letter-spacing: -0.03em;
	}
}

.page-head-title.__ux-initiatives > .text > .mask > .t span:nth-child(2) {
	margin-left: -0.04em;
}

.page-head-title.__ux-initiatives > .text > .mask > .t span:nth-child(3) {
	margin-left: 0em;
}

.page-head-title.__ux-initiatives > .text > .mask > .t span:nth-child(4) {
	margin-left: 0em;
}

.page-head-title.__ux-initiatives > .text > .mask > .t span:nth-child(5) {
	margin-left: -0.03em;
}

.page-head-title.__ux-initiatives > .text > .mask > .t span:nth-child(6) {
	margin-left: -0.03em;
}

.page-head-title.__ux-initiatives > .text > .mask > .t span:nth-child(7) {
	margin-left: 0em;
}

.page-head-title.__ux-initiatives > .text > .mask > .t span:nth-child(8) {
	margin-left: -0.01em;
}

.page-head-title.__ux-initiatives > .text > .mask > .t span:nth-child(9) {
	margin-left: -0.03em;
}

.page-head-title.__ux-initiatives > .text > .mask > .t span:nth-child(10) {
	margin-left: -0.14em;
}

.page-head-title.__ux-initiatives > .text > .mask > .t span:nth-child(11) {
	margin-left: -0.02em;
}

.page-head-title.__ux-initiatives > .text > .mask > .t span:nth-child(12) {
	margin-left: -0.02em;
}

.page-head-title.__ux-initiatives > .text > .mask > .t span:nth-child(13) {
	margin-left: -0.04em;
}

.page-head-title.__ux-initiatives > .text > .mask > .t span:nth-child(14) {
	margin-left: -0.03em;
}

@media screen and (min-width: 768px) {
	.page-head-title.__kando-ux-research > .text {
		font-size: 5.313rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__kando-ux-research > .text {
		font-size: 13.285vw;
	}
}

.page-head-title.__kando-ux-research > .text > .mask > .t span {
	position: relative;
	letter-spacing: -0.03em;
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(2) {
	margin-left: -0.01em;
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(3) {
	margin-left: -0.05em;
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(4) {
	margin-left: -0.07em;
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(5) {
	margin-left: -0.03em;
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(6) {
	margin-left: -0.07em;
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(7) {
	margin-left: -0.04em;
}

@media screen and (min-width: 768px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(7) {
		margin-left: -0.438rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(7) {
		margin-left: -0.725vw;
	}
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(8) {
	margin-left: -0.06em;
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(9) {
	margin-left: -0.06em;
}

@media screen and (min-width: 768px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(9) {
		display: block;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(9) {
		display: block;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(9) {
		margin-left: -0.1em;
		top: -1.449vw;
	}
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(10) {
	margin-left: 0em;
}

@media screen and (min-width: 768px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(10) {
		margin-left: -0.438rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(10) {
		margin-left: -0.725vw;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(10) {
		top: -1.449vw;
	}
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(11) {
	margin-left: -0.04em;
}

@media screen and (max-width: 767px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(11) {
		top: -1.449vw;
	}
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(12) {
	margin-left: -0.04em;
}

@media screen and (max-width: 767px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(12) {
		top: -1.449vw;
	}
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(13) {
	margin-left: -0.06em;
}

@media screen and (max-width: 767px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(13) {
		top: -1.449vw;
	}
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(14) {
	margin-left: 0em;
}

@media screen and (max-width: 767px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(14) {
		top: -1.449vw;
	}
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(15) {
	margin-left: -0.02em;
}

@media screen and (max-width: 767px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(15) {
		top: -1.449vw;
	}
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(16) {
	margin-left: -0.075em;
}

@media screen and (max-width: 767px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(16) {
		top: -1.449vw;
	}
}

.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(17) {
	margin-left: -0.035em;
}

@media screen and (max-width: 767px) {
	.page-head-title.__kando-ux-research > .text > .mask > .t span:nth-child(17) {
		top: -1.449vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__guideline > .text {
		font-size: 5.313rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__guideline > .text {
		font-size: 13.285vw;
	}
}

.page-head-title.__guideline > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__guideline > .text > .mask > .t span {
		letter-spacing: -0.07em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__guideline > .text > .mask > .t span {
		letter-spacing: -0.07em;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__guideline > .text > .mask > .t span:nth-child(1) {
		margin-left: -0.25rem;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__guideline > .text > .mask > .t span:nth-child(1) {
		margin-left: -0.242vw;
	}
}

.page-head-title.__guideline > .text > .mask > .t span:nth-child(2) {
	margin-left: 0em;
}

.page-head-title.__guideline > .text > .mask > .t span:nth-child(3) {
	margin-left: -0.01em;
}

.page-head-title.__guideline > .text > .mask > .t span:nth-child(4) {
	margin-left: -0.03em;
}

.page-head-title.__guideline > .text > .mask > .t span:nth-child(5) {
	margin-left: -0.02em;
}

.page-head-title.__guideline > .text > .mask > .t span:nth-child(6) {
	margin-left: -0.01em;
}

.page-head-title.__guideline > .text > .mask > .t span:nth-child(7) {
	margin-left: -0.005em;
}

.page-head-title.__guideline > .text > .mask > .t span:nth-child(8) {
	margin-left: 0em;
}

.page-head-title.__guideline > .text > .mask > .t span:nth-child(9) {
	margin-left: -0.04em;
}

.page-head-title.__contact-us > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__contact-us > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__contact-us > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__contact-us > .text > .mask > .t span:nth-child(1) {
		margin-left: -0.25rem;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__contact-us > .text > .mask > .t span:nth-child(1) {
		margin-left: -0.242vw;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__contact-us > .text > .line {
		top: calc(100% - 3.14vw);
	}
}

.page-head-title.__driven-base > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__driven-base > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__driven-base > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__driven-base > .text > .line {
		top: calc(100% - 3.14vw);
	}
}

.page-head-title.__privacy > .text > .mask > .t {
	top: -0.15em;
}

.__isMac .page-head-title.__privacy > .text > .mask > .t {
	top: -0.12em;
}

.page-head-title.__privacy > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__privacy > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__privacy > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__privacy > .text > .line {
		top: calc(100% - 0.313rem);
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__privacy > .text > .line {
		top: calc(100% - 3.865vw);
	}
}

.page-head-title.__perceptibility > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__perceptibility > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__perceptibility > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

.page-head-title.__intuitive-information > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__intuitive-information > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__intuitive-information > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

.page-head-title.__contextual-experience > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__contextual-experience > .text > .mask > .t span {
		letter-spacing: -0.07em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__contextual-experience > .text > .mask > .t span {
		letter-spacing: -0.07em;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__contextual-experience > .text > .mask > .t span:nth-child(1) {
		margin-left: -0.25rem;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__contextual-experience > .text > .mask > .t span:nth-child(1) {
		margin-left: -0.242vw;
	}
}

.page-head-title.__personalization > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__personalization > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__personalization > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

.page-head-title.__peace-of-mind > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__peace-of-mind > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__peace-of-mind > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

.page-head-title.__expansion-of-experience > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__expansion-of-experience > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__expansion-of-experience > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

.page-head-title.__essence-of-life > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-head-title.__essence-of-life > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

@media screen and (max-width: 767px) {
	.page-head-title.__essence-of-life > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__essence-of-life > .text > .mask > .t span:nth-child(1) {
		margin-left: -0.25rem;
	}
}

@media screen and (min-width: 768px) {
	.page-head-title.__essence-of-life > .text > .mask > .t span:nth-child(1) {
		margin-left: -0.242vw;
	}
}

.page-head-visual {
	position: relative;
}

.page-head-visual > .color {
	background: #f5f5f5;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
}

.page-head-visual > .img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.page-head-visual > .img .i {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: relative;
}

.page-head-visual > .img > .cover {
	position: absolute;
	top: -25%;
	left: -25%;
	width: 150%;
	height: 150%;
	animation: background_noise 1s steps(3) infinite;
	background: url(../img/common/common_bg_noise.webp) repeat;
	opacity: 0.04;
	will-change: transform;
	pointer-events: none;
}

@media screen and (min-width: 768px) {
	.page-head-visual > .img > .cover {
		background-size: 128px;
	}
}

@media screen and (max-width: 767px) {
	.page-head-visual > .img > .cover {
		background-size: 64px;
	}
}

.page-introduction {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-introduction {
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	.page-introduction {
		padding: 0 4.831vw;
	}
}

@media screen and (min-width: 768px) {
	.page-introduction > .area {
		margin-left: 31.875rem;
		width: 50rem;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.page-introduction > .area {
		margin-left: auto;
		margin-right: 6.875rem;
	}
}

@media screen and (max-width: 767px) {
	.page-introduction > .area {
		margin-right: auto;
	}
}

.page-introduction > .area > .label {
	position: relative;
	letter-spacing: 0.05em;
	color: #aaa;
}

@media screen and (min-width: 768px) {
	.page-introduction > .area > .label {
		font-size: 0.625rem;
		line-height: 2.25rem;
	}
}

@media screen and (max-width: 767px) {
	.page-introduction > .area > .label {
		display: inline-block;
		font-size: 2.415vw;
		line-height: 4.831vw;
	}
}

.page-introduction > .area > .label > .line {
	position: absolute;
	top: 50%;
	display: block;
	height: 1px;
	background-color: #aaa;
}

@media screen and (min-width: 768px) {
	.page-introduction > .area > .label > .line {
		right: -3.125rem;
		width: 2.5rem;
	}
}

@media screen and (max-width: 767px) {
	.page-introduction > .area > .label > .line {
		right: -10.87vw;
		width: 8.454vw;
	}
}

@media screen and (min-width: 768px) {
	.page-introduction > .area > .text {
		margin-left: auto;
		width: 37.5rem;
		font-size: 1.063rem;
		line-height: 2.118;
	}
	.__ja .page-introduction > .area > .text {
		letter-spacing: -0.01em;
	}
	.__en .page-introduction > .area > .text {
		letter-spacing: 0em;
		width: 36.875rem;
	}
	.__isMac .__en .page-introduction > .area > .text {
		letter-spacing: 0em;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.__en .page-introduction > .area > .text {
		letter-spacing: 0em;
	}
}

@media screen and (min-width: 768px) {
	.__isMac .page-introduction > .area > .text {
		letter-spacing: -0.025em;
	}
	.__en .__isMac .page-introduction > .area > .text {
		letter-spacing: 0em;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.page-introduction > .area > .text {
		letter-spacing: -0.025em;
	}
	.__en .page-introduction > .area > .text {
		letter-spacing: 0em;
	}
}

@media screen and (max-width: 767px) {
	.page-introduction > .area > .text {
		margin-top: 3.019vw;
		font-size: 3.623vw;
		line-height: 2;
		letter-spacing: 0;
	}
}

.page-movie-item {
	position: relative;
}

.page-movie-item > .area {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-movie-item > .area {
		width: 100%;
		height: 100%;
		overflow: hidden;
	}
}

@media screen and (max-width: 767px) {
	.page-movie-item > .area {
		width: 100%;
		height: 100%;
		overflow: hidden;
	}
}

.page-movie-item > .area > .visual {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
}

.page-movie-item > .area > .visual > .image {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
}

.page-movie-item > .area > .visual > .image .i {
	display: block;
	width: 100%;
	height: auto;
	height: 100%;
	will-change: transform;
	filter: drop-shadow(0px 0px #000);
}

.page-movie-item > .area > .visual > .cover {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

.page-movie-item > .area > .icon {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.page-movie-item > .area > .icon {
		width: 6.25rem;
		height: 6.25rem;
		margin-top: -3.125rem;
		margin-left: -3.125rem;
	}
}

@media screen and (max-width: 767px) {
	.page-movie-item > .area > .icon {
		width: 31.401vw;
		height: 31.401vw;
		margin-top: -15.7vw;
		margin-left: -15.7vw;
	}
}

.page-movie-item > .area > .icon > .line {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 1px solid #fff;
}

.page-movie-item > .area > .icon > .text {
	line-height: 1;
	letter-spacing: 0.05em;
	color: #fff;
}

@media screen and (min-width: 768px) {
	.page-movie-item > .area > .icon > .text {
		font-size: 0.688rem;
	}
}

@media screen and (max-width: 767px) {
	.page-movie-item > .area > .icon > .text {
		font-size: 2.657vw;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.page-movie-item > .area > .icon > .line {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: transform, background-color;
	}
	.page-movie-item > .area > .icon > .text {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: color;
	}
	.page-movie-item > .area:hover > .icon > .line {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		transform: scale(1.2);
		background-color: #fff;
	}
	.page-movie-item > .area:hover > .icon > .text {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		transform: scale(1.1);
		color: #464646;
	}
}

.page-movie-thumb {
	position: relative;
}

.page-movie-thumb > .area {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-movie-thumb > .area {
		width: 100%;
		height: 33.125rem;
		overflow: hidden;
	}
}

@media screen and (max-width: 767px) {
	.page-movie-thumb > .area {
		width: 100%;
		height: 74.879vw;
	}
}

.page-movie-thumb > .area > .visual {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
}

.page-movie-thumb > .area > .visual > .image {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
}

.page-movie-thumb > .area > .visual > .image .i {
	display: block;
	width: 100%;
	height: auto;
	will-change: transform;
	filter: drop-shadow(0px 0px #000);
}

.page-movie-thumb > .area > .visual > .cover {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

.page-movie {
	position: relative;
}

.page-movie > .area {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-movie > .area {
		width: 100%;
		height: 33.125rem;
		overflow: hidden;
	}
}

@media screen and (max-width: 767px) {
	.page-movie > .area {
		width: 100%;
		height: 74.879vw;
	}
}

.page-movie > .area > .visual {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
}

.page-movie > .area > .visual > .image {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
}

.page-movie > .area > .visual > .image .i {
	display: block;
	width: 100%;
	height: auto;
	will-change: transform;
	filter: drop-shadow(0px 0px #000);
}

.page-movie > .area > .visual > .cover {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

.page-movie > .area > .icon {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.page-movie > .area > .icon {
		width: 11.25rem;
		height: 11.25rem;
		margin-top: -5.625rem;
		margin-left: -5.625rem;
	}
}

@media screen and (max-width: 767px) {
	.page-movie > .area > .icon {
		width: 31.401vw;
		height: 31.401vw;
		margin-top: -15.7vw;
		margin-left: -15.7vw;
	}
}

.page-movie > .area > .icon > .line {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 1px solid #fff;
}

.page-movie > .area > .icon > .text {
	line-height: 1;
	letter-spacing: 0.05em;
	color: #fff;
}

@media screen and (min-width: 768px) {
	.page-movie > .area > .icon > .text {
		font-size: 0.813rem;
	}
}

@media screen and (max-width: 767px) {
	.page-movie > .area > .icon > .text {
		font-size: 2.657vw;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.page-movie > .area > .icon > .line {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: transform, background-color;
	}
	.page-movie > .area > .icon > .text {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: color;
	}
	.page-movie > .area:hover > .icon > .line {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		transform: scale(1.2);
		background-color: #fff;
	}
	.page-movie > .area:hover > .icon > .text {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		transform: scale(1.1);
		color: #464646;
	}
}

.page-next {
	position: relative;
}

.page-next > .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: hidden;
	background: #6a6767;
}

.page-next > .bg > .visual {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.page-next > .bg > .visual > .loop,
.page-next > .bg > .visual > .line {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.page-next > .bg > .visual > .loop .i,
.page-next > .bg > .visual > .line .i {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	object-fit: contain;
}

@media screen and (min-width: 768px) {
	.page-next > .bg > .visual > .loop .i,
	.page-next > .bg > .visual > .line .i {
		width: auto;
		object-position: left center;
		object-fit: contain;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .bg > .visual > .loop .i,
	.page-next > .bg > .visual > .line .i {
		width: 100%;
		object-position: center;
		object-fit: cover;
	}
}

.page-next > .bg > .cover {
	position: absolute;
	top: -25%;
	left: -25%;
	width: 150%;
	height: 150%;
	animation: background_noise 1s steps(3) infinite;
	background: url(../img/common/common_bg_noise.webp) repeat;
	opacity: 0.12;
	will-change: transform;
}

@media screen and (min-width: 768px) {
	.page-next > .bg > .cover {
		background-size: 128px;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .bg > .cover {
		background-size: 64px;
	}
}

.page-next > .area {
	position: relative;
}

.page-next > .area > .next {
	position: relative;
	display: block;
}

@media screen and (min-width: 768px) {
	.page-next > .area > .next {
		padding: 14.063rem 6.875rem;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .area > .next {
		padding: 41.425vw 3.865vw 48.913vw;
	}
}

.page-next > .area > .next > .link {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.page-next > .area > .next > .link {
		justify-content: flex-start;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .area > .next > .link {
		justify-content: center;
		gap: 3.623vw;
	}
}

.page-next > .area > .next > .link > .label {
	position: absolute;
	left: 0;
	line-height: 1;
	color: #aaa;
	letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
	.page-next > .area > .next > .link > .label {
		top: -2.688rem;
		font-size: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .area > .next > .link > .label {
		top: -7.005vw;
		font-size: 2.415vw;
		text-align: center;
		width: 100%;
	}
}

.page-next > .area > .next > .link > .text {
	position: relative;
	font-weight: 300;
	line-height: 1;
	color: #fff;
}

@media screen and (min-width: 768px) {
	.page-next > .area > .next > .link > .text {
		font-size: 5rem;
		letter-spacing: 0em;
		top: -0.05em;
		left: -0.05em;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .area > .next > .link > .text {
		font-size: 10.87vw;
		letter-spacing: -0.05em;
		top: -0.015em;
		width: min-content;
		display: contents;
	}
}

.page-next > .area > .next > .link > .button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

@media screen and (min-width: 768px) {
	.page-next > .area > .next > .link > .button {
		margin-left: 1.875rem;
		width: 6.25rem;
		height: 6.25rem;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .area > .next > .link > .button {
		width: 9.662vw;
		height: 9.662vw;
	}
}

.page-next > .area > .next > .link > .button > .color {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	border-radius: 50%;
}

@media screen and (min-width: 768px) {
	.page-next > .area > .next > .link > .button > .text {
		position: relative;
		color: #787878;
		line-height: 1;
		letter-spacing: 0.02em;
		font-size: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .area > .next > .link > .button > .text {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.page-next > .area > .next > .link > .button > .icon {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .area > .next > .link > .button > .icon {
		position: relative;
		width: 2.657vw;
	}
	.page-next > .area > .next > .link > .button > .icon path {
		fill: #787878;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.page-next > .area > .next > .link > .button > .color {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: transform;
	}
	.page-next > .area > .next:hover > .link > .button > .color {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		transform: scale(1.1);
	}
}

.page-next > .area .aside {
	position: absolute;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.page-next > .area .aside {
		bottom: 1.875rem;
		right: 1.875rem;
		gap: 1.25rem;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .area .aside {
		bottom: 4.831vw;
		right: 4.831vw;
		gap: 4.227vw;
	}
}

.page-next > .area .aside .item {
	position: relative;
}

.page-next > .area .aside .item > .link {
	position: relative;
	display: inline-flex;
	justify-content: flex-end;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.page-next > .area .aside .item > .link {
		gap: 0.313rem;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .area .aside .item > .link {
		gap: 1.208vw;
	}
}

.page-next > .area .aside .item > .link > .text {
	color: #fff;
}

@media screen and (min-width: 768px) {
	.page-next > .area .aside .item > .link > .text {
		font-size: 0.813rem;
		letter-spacing: 0em;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .area .aside .item > .link > .text {
		font-size: 2.415vw;
		letter-spacing: 0.06em;
	}
}

.page-next > .area .aside .item > .link > .icon {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-next > .area .aside .item > .link > .icon {
		width: 0.563rem;
		height: 0.438rem;
		margin-top: 0.188rem;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .area .aside .item > .link > .icon {
		width: 2.174vw;
		height: 1.691vw;
		margin-top: 0.242vw;
	}
}

.page-next > .area .aside .item > .link > .icon svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}

.page-next > .area .aside .item > .link > .icon svg path {
	fill: #fff;
}

@media screen and (min-width: 768px) {
	.page-next > .area .aside .item > .link > .icon.__blank {
		width: 0.5rem;
		height: 0.5rem;
		margin-top: 0.188rem;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .area .aside .item > .link > .icon.__blank {
		width: 1.691vw;
		height: 1.691vw;
		margin-top: 0.362vw;
	}
}

.page-next > .area .aside .item > .link > .line {
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
	pointer-events: none;
}

@media screen and (min-width: 768px) {
	.page-next > .area .aside .item > .link > .line {
		top: calc(100% - 0.125rem);
		height: 0.99px;
	}
}

@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 21.5), screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-width: 768px) and (min-resolution: 1.5dppx) {
	.page-next > .area .aside .item > .link > .line {
		height: 0.675px;
	}
}

@media screen and (max-width: 767px) {
	.page-next > .area .aside .item > .link > .line {
		top: calc(100% - 0.242vw);
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.page-next > .area .aside .item > .link:hover > .line {
		left: 0;
		width: 0;
		animation: line_hover 0.45s 0.1s cubic-bezier(0, 0.55, 0.45, 1) forwards;
	}
	@keyframes line_hover {
		0% {
			width: 0%;
		}
		100% {
			width: 100%;
		}
	}
}

@media screen and (min-width: 768px) {
	.page-next.__digital-experience > .bg > .visual > .loop .i,
	.page-next.__digital-experience > .bg > .visual > .line .i {
		top: -2.188rem;
		left: 12.5rem;
		height: 39.531rem;
		object-fit: contain;
		object-position: left center;
	}
}

@media screen and (min-width: 768px) {
	.page-next.__master-plan > .bg > .visual > .loop .i,
	.page-next.__master-plan > .bg > .visual > .line .i {
		top: -2.188rem;
		left: 12.5rem;
		height: 39.531rem;
		object-fit: contain;
		object-position: left center;
	}
}

@media screen and (min-width: 768px) {
	.page-next.__principle > .bg > .visual > .loop .i,
	.page-next.__principle > .bg > .visual > .line .i {
		top: -7.813rem;
		left: -9.375rem;
		height: 60.156rem;
		object-fit: contain;
		object-position: left center;
	}
}

@media screen and (min-width: 768px) {
	.page-next.__ux-initiatives > .bg > .visual > .loop .i,
	.page-next.__ux-initiatives > .bg > .visual > .line .i {
		top: -1.563rem;
		left: 13.75rem;
		height: 39.531rem;
		object-fit: contain;
		object-position: left center;
	}
}

@media screen and (min-width: 768px) {
	.page-next.__kando-ux-research > .bg > .visual > .loop .i,
	.page-next.__kando-ux-research > .bg > .visual > .line .i {
		top: auto;
		bottom: 0;
		left: 15.625rem;
		height: 34.375rem;
		object-fit: contain;
		object-position: left center;
	}
}

@media screen and (min-width: 768px) {
	.page-next.__guideline > .bg > .visual > .loop .i,
	.page-next.__guideline > .bg > .visual > .line .i {
		top: -2.188rem;
		left: 3.125rem;
		height: 51.563rem;
		object-fit: contain;
		object-position: left center;
	}
}

.page-other-list {
	position: relative;
	overflow: hidden;
}

@media screen and (min-width: 768px) {
	.page-other-list {
		padding-bottom: 0.75rem;
	}
}

@media screen and (min-width: 768px) {
	.page-other-list {
		padding-bottom: 0.483vw;
	}
}

.page-other-list > .slider {
	display: flex;
	justify-content: flex-start;
}

.page-other-list > .slider > .item {
	flex-shrink: 0;
}

@media screen and (min-width: 768px) {
	.page-other-list > .slider > .item {
		width: 31.25rem !important;
	}
}

@media screen and (max-width: 767px) {
	.page-other-list > .slider > .item {
		width: 80.676vw;
	}
}

.page-other-pager {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-other-pager {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 0 4.063rem;
	}
}

@media screen and (min-width: 768px) {
	.page-other-pager > .pager {
		position: relative;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 0 4.688rem;
	}
}

@media screen and (max-width: 767px) {
	.page-other-pager > .pager {
		display: none;
	}
}

.page-other-pager > .pager > .item {
	position: relative;
	line-height: 1;
}

.page-other-pager > .pager > .item:before {
	content: "";
	position: absolute;
	top: 0%;
	height: 100%;
	background-color: #aaa;
}

@media screen and (min-width: 768px) {
	.page-other-pager > .pager > .item:before {
		left: -2.344rem;
		width: 1px;
	}
}

.page-other-pager > .pager > .item:first-child:before {
	content: "";
	display: none;
}

.page-other-pager > .pager > .item > .text {
	font-size: 0.813rem;
	letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
	.page-other-pager > .pager > .item > .line {
		position: absolute;
		top: calc(100% + 0.125rem);
		left: 0;
		width: 0%;
		height: 1px;
		background-color: #aaa;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.page-other-pager > .pager > .item > .line {
		left: auto;
		right: 0;
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: width;
		width: 0;
	}
	.page-other-pager > .pager > .item:hover > .line {
		right: auto;
		left: 0;
		transition: 0.25s cubic-bezier(0, 0.55, 0.45, 1);
		width: 100%;
	}
}

@media screen and (min-width: 768px) {
	.page-other-pager > .pager > .item {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: opacity;
	}
	.page-other-pager > .pager > .item.__enable {
		pointer-events: none;
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		opacity: 0.5;
	}
}

.page-other-pager > .back {
	position: relative;
	display: flex;
	align-items: center;
	line-height: 1;
}

@media screen and (min-width: 768px) {
	.page-other-pager > .back {
		justify-content: flex-start;
		gap: 0 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.page-other-pager > .back {
		height: 26.57vw;
		gap: 0 2.415vw;
		justify-content: center;
	}
}

@media screen and (min-width: 768px) {
	.page-other-pager > .back > .bg {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.page-other-pager > .back > .bg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		overflow: hidden;
		background: #f0f0f0;
	}
}

@media screen and (min-width: 768px) {
	.page-other-pager > .back > .bg > .cover {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.page-other-pager > .back > .bg > .cover {
		position: absolute;
		top: -25%;
		left: -25%;
		width: 150%;
		height: 150%;
		animation: background_noise 1s steps(3) infinite;
		background: url(../img/common/common_bg_noise.webp) repeat;
		opacity: 0.04;
		will-change: transform;
		background-size: 64px;
	}
}

@media screen and (min-width: 768px) {
	.page-other-pager > .back > .icon {
		width: 0.688rem;
	}
}

@media screen and (max-width: 767px) {
	.page-other-pager > .back > .icon {
		position: relative;
		width: 2.657vw;
	}
}

.page-other-pager > .back > .text {
	letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
	.page-other-pager > .back > .text {
		font-size: 0.813rem;
	}
}

@media screen and (max-width: 767px) {
	.page-other-pager > .back > .text {
		position: relative;
		font-size: 3.382vw;
	}
}

@media screen and (min-width: 768px) {
	.page-other-pager > .back > .line {
		position: absolute;
		top: calc(100% + 0.125rem);
		left: 0;
		width: 100%;
		height: 1px;
		background-color: #aaa;
	}
}

@media screen and (max-width: 767px) {
	.page-other-pager > .back > .line {
		display: none;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.page-other-pager > .back > .line {
		left: auto;
		right: 0;
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: width;
		width: 0;
	}
	.page-other-pager > .back:hover > .line {
		right: auto;
		left: 0;
		transition: 0.25s cubic-bezier(0, 0.55, 0.45, 1);
		width: 100%;
	}
}

.page-other-title {
	position: relative;
}

.page-other-title > .text {
	line-height: 1;
	font-weight: 300;
	letter-spacing: -0.05em;
}

@media screen and (min-width: 768px) {
	.page-other-title > .text {
		font-size: 2.5rem;
	}
}

@media screen and (max-width: 767px) {
	.page-other-title > .text {
		font-size: 9.662vw;
	}
}

.page-text {
	position: relative;
}

.__ja .page-text > .text {
	letter-spacing: 0.03em;
}

.__en .page-text > .text {
	letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
	.page-text > .text {
		font-size: 0.938rem;
		line-height: 2.133;
	}
}

@media screen and (max-width: 767px) {
	.page-text > .text {
		font-size: sp_vw(26);
		line-height: 2;
	}
}

.page-visual {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-visual {
		overflow: hidden;
	}
}

@media screen and (max-width: 767px) {
	.page-visual {
		width: 100vw;
	}
}

.page-visual > .area {
	position: relative;
}

@media screen and (max-width: 767px) {
	.page-visual > .area > .slide {
		position: relative;
		width: 100vw;
		height: 119.565vw;
		overflow-y: hidden;
		overflow-x: scroll;
		overflow-x: overlay;
		-webkit-scrollbar-width: none;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.page-visual > .area > .slide::-webkit-scrollbar, .page-visual > .area > .slide::-webkit-scrollbar {
		width: 0;
		height: 0;
	}
}

@media screen and (max-width: 767px) {
	.page-visual > .area > .slide > .image {
		position: relative;
		width: -moz-fit-content;
		width: fit-content;
		height: 100%;
		padding: 0 9.662vw;
	}
}

.page-visual > .area > .slide > .image > .i {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

@media screen and (min-width: 768px) {
	.page-visual > .area > .slide > .image > .i {
		padding: 6.25rem 10rem;
	}
}

@media screen and (max-width: 767px) {
	.page-visual > .area > .slide > .image > .i {
		height: 100%;
		padding: 10.507vw 9.058vw;
		width: auto;
	}
}

.page-visual > .area > .slide > .image > .i > .color {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #ebebeb;
}

.page-visual > .area > .slide > .image > .i svg {
	position: relative;
	overflow: visible;
}

@media screen and (max-width: 767px) {
	.page-visual > .area > .slide > .image > .i svg {
		height: 100%;
		width: auto;
	}
}

.__ja .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="01"] {
	stroke-dashoffset: 0;
	stroke-dasharray: 73;
}

.__ja .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="02"] {
	stroke-dashoffset: 0;
	stroke-dasharray: 170;
}

.__ja .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="03"] {
	stroke-dashoffset: 0;
	stroke-dasharray: 47;
}

.__ja .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="04"] {
	stroke-dashoffset: 0;
	stroke-dasharray: 75;
}

@media screen and (min-width: 768px) {
	.__ja .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="01"].__hover {
		stroke-dashoffset: 73;
		animation: visual_slide_hover_line_01 0.45s 0.1s cubic-bezier(0, 0.55, 0.45, 1) forwards;
	}
	@keyframes visual_slide_hover_line_01 {
		0% {
			stroke-dashoffset: 73;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}
	.__ja .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="02"].__hover {
		stroke-dashoffset: 170;
		animation: visual_slide_hover_line_02 0.45s 0.1s cubic-bezier(0, 0.55, 0.45, 1) forwards;
	}
	@keyframes visual_slide_hover_line_02 {
		0% {
			stroke-dashoffset: 170;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}
	.__ja .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="03"].__hover {
		stroke-dashoffset: 47;
		animation: visual_slide_hover_line_03 0.45s 0.1s cubic-bezier(0, 0.55, 0.45, 1) forwards;
	}
	@keyframes visual_slide_hover_line_03 {
		0% {
			stroke-dashoffset: 47;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}
	.__ja .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="04"].__hover {
		stroke-dashoffset: 75;
		animation: visual_slide_hover_line_04 0.45s 0.1s cubic-bezier(0, 0.55, 0.45, 1) forwards;
	}
	@keyframes visual_slide_hover_line_04 {
		0% {
			stroke-dashoffset: 75;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}
}

.__en .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="01"] {
	stroke-dashoffset: 0;
	stroke-dasharray: 166;
}

.__en .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="02"] {
	stroke-dashoffset: 0;
	stroke-dasharray: 167;
}

.__en .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="03"] {
	stroke-dashoffset: 0;
	stroke-dasharray: 75;
}

.__en .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="04"] {
	stroke-dashoffset: 0;
	stroke-dasharray: 156;
}

@media screen and (min-width: 768px) {
	.__en .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="01"].__hover {
		stroke-dashoffset: 166;
		animation: visual_slide_hover_line_01 0.45s 0.1s cubic-bezier(0, 0.55, 0.45, 1) forwards;
	}
	@keyframes visual_slide_hover_line_01 {
		0% {
			stroke-dashoffset: 166;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}
	.__en .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="02"].__hover {
		stroke-dashoffset: 167;
		animation: visual_slide_hover_line_02 0.45s 0.1s cubic-bezier(0, 0.55, 0.45, 1) forwards;
	}
	@keyframes visual_slide_hover_line_02 {
		0% {
			stroke-dashoffset: 167;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}
	.__en .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="03"].__hover {
		stroke-dashoffset: 75;
		animation: visual_slide_hover_line_03 0.45s 0.1s cubic-bezier(0, 0.55, 0.45, 1) forwards;
	}
	@keyframes visual_slide_hover_line_03 {
		0% {
			stroke-dashoffset: 75;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}
	.__en .page-visual > .area > .slide > .image > .i svg [data-visual-slide-hover-line="04"].__hover {
		stroke-dashoffset: 156;
		animation: visual_slide_hover_line_04 0.45s 0.1s cubic-bezier(0, 0.55, 0.45, 1) forwards;
	}
	@keyframes visual_slide_hover_line_04 {
		0% {
			stroke-dashoffset: 156;
		}
		100% {
			stroke-dashoffset: 0;
		}
	}
}

.page-visual > .area > .slide > .image > .i > .cover {
	position: absolute;
	top: -25%;
	left: -25%;
	width: 150%;
	height: 150%;
	animation: background_noise 1s steps(3) infinite;
	background: url(../img/common/common_bg_noise.webp) repeat;
	opacity: 0.04;
	will-change: transform;
	pointer-events: none;
}

@media screen and (min-width: 768px) {
	.page-visual > .area > .slide > .image > .i > .cover {
		background-size: 128px;
	}
}

@media screen and (max-width: 767px) {
	.page-visual > .area > .slide > .image > .i > .cover {
		background-size: 64px;
	}
}

.page-visual > .area > .slide > .image > .link > .item {
	position: absolute;
	z-index: 1;
}

@media screen and (min-width: 768px) {
	.__ja .page-visual > .area > .slide > .image > .link > .item {
		top: calc(6.25rem + calc((74 / 1050) * (100vw - 230px - 20rem)));
		height: calc((24 / 1050) * (100vw - 230px - 20rem));
	}
}

@media screen and (max-width: 767px) {
	.__ja .page-visual > .area > .slide > .image > .link > .item {
		top: 25.362vw;
		height: 5.314vw;
	}
}

@media screen and (min-width: 768px) {
	.__en .page-visual > .area > .slide > .image > .link > .item {
		top: calc(6.25rem + calc((74 / 1050) * (100vw - 230px - 20rem)));
		height: calc((24 / 1050) * (100vw - 230px - 20rem));
	}
}

@media screen and (max-width: 767px) {
	.__en .page-visual > .area > .slide > .image > .link > .item {
		top: 25.362vw;
		height: 5.314vw;
	}
}

@media screen and (min-width: 768px) {
	.page-visual > .area > .slide > .image > .link > .item.__01 {
		left: calc(10rem + calc((0 / 1050) * (100vw - 230px - 20rem)));
	}
}

@media screen and (max-width: 767px) {
	.page-visual > .area > .slide > .image > .link > .item.__01 {
		left: 18.72vw;
	}
}

@media screen and (min-width: 768px) {
	.__ja .page-visual > .area > .slide > .image > .link > .item.__01 {
		top: calc(6.25rem + calc((74 / 1050) * (100vw - 230px - 20rem)));
		width: calc((100 / 1050) * (100vw - 230px - 20rem));
		height: calc((24 / 1050) * (100vw - 230px - 20rem));
	}
}

@media screen and (max-width: 767px) {
	.__ja .page-visual > .area > .slide > .image > .link > .item.__01 {
		top: 25.362vw;
		width: 19.972vw;
		height: 5.314vw;
	}
}

@media screen and (min-width: 768px) {
	.__en .page-visual > .area > .slide > .image > .link > .item.__01 {
		top: calc(6.25rem + calc((74 / 1050) * (100vw - 230px - 20rem)));
		width: calc((188 / 1050) * (100vw - 230px - 20rem));
		height: calc((24 / 1050) * (100vw - 230px - 20rem));
	}
}

@media screen and (max-width: 767px) {
	.__en .page-visual > .area > .slide > .image > .link > .item.__01 {
		top: 25.362vw;
		width: 37.319vw;
		height: 5.314vw;
	}
}

@media screen and (min-width: 768px) {
	.__ja .page-visual > .area > .slide > .image > .link > .item.__02 {
		left: calc(10rem + calc((240 / 1050) * (100vw - 230px - 20rem)));
		width: calc((194 / 1050) * (100vw - 230px - 20rem));
	}
}

@media screen and (max-width: 767px) {
	.__ja .page-visual > .area > .slide > .image > .link > .item.__02 {
		left: 67.029vw;
		width: 39.251vw;
	}
}

@media screen and (min-width: 768px) {
	.__en .page-visual > .area > .slide > .image > .link > .item.__02 {
		left: calc(10rem + calc((240 / 1050) * (100vw - 230px - 20rem)));
		width: calc((190 / 1050) * (100vw - 230px - 20rem));
	}
}

@media screen and (max-width: 767px) {
	.__en .page-visual > .area > .slide > .image > .link > .item.__02 {
		left: 67.029vw;
		width: 41.063vw;
	}
}

@media screen and (min-width: 768px) {
	.__ja .page-visual > .area > .slide > .image > .link > .item.__03 {
		left: calc(10rem + calc((480 / 1050) * (100vw - 230px - 20rem)));
		width: calc((80 / 1050) * (100vw - 230px - 20rem));
	}
}

@media screen and (max-width: 767px) {
	.__ja .page-visual > .area > .slide > .image > .link > .item.__03 {
		left: 115.58vw;
		width: 17.198vw;
	}
}

@media screen and (min-width: 768px) {
	.__en .page-visual > .area > .slide > .image > .link > .item.__03 {
		left: calc(10rem + calc((480 / 1050) * (100vw - 230px - 20rem)));
		width: calc((108 / 1050) * (100vw - 230px - 20rem));
	}
}

@media screen and (max-width: 767px) {
	.__en .page-visual > .area > .slide > .image > .link > .item.__03 {
		left: 115.58vw;
		width: 22.343vw;
	}
}

@media screen and (min-width: 768px) {
	.__ja .page-visual > .area > .slide > .image > .link > .item.__04 {
		left: calc(10rem + calc((715 / 1050) * (100vw - 230px - 20rem)));
		width: calc((104 / 1050) * (100vw - 230px - 20rem));
	}
}

@media screen and (max-width: 767px) {
	.__ja .page-visual > .area > .slide > .image > .link > .item.__04 {
		left: 162.56vw;
		width: 21.135vw;
	}
}

@media screen and (min-width: 768px) {
	.__en .page-visual > .area > .slide > .image > .link > .item.__04 {
		left: calc(10rem + calc((715 / 1050) * (100vw - 230px - 20rem)));
		width: calc((190 / 1050) * (100vw - 230px - 20rem));
	}
}

@media screen and (max-width: 767px) {
	.__en .page-visual > .area > .slide > .image > .link > .item.__04 {
		left: 162.56vw;
		width: 38.647vw;
	}
}

@media screen and (min-width: 768px) {
	.page-visual > .area > .bar {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.page-visual > .area > .bar {
		position: relative;
		width: 68.599vw;
		margin: 0 auto;
		margin-top: 13.285vw;
	}
	.page-visual > .area > .bar > .line {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #ebebeb;
	}
	.page-visual > .area > .bar > .pointer {
		position: absolute;
		top: -6.039vw;
		left: 0;
		width: 12.077vw;
		height: 12.077vw;
		margin-left: -6.039vw;
		display: flex;
		justify-content: center;
		align-items: center;
		will-change: left;
	}
	.page-visual > .area > .bar > .pointer > .color {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		background-color: #464646;
	}
	.page-visual > .area > .bar > .pointer > .icon {
		position: relative;
		width: 5.072vw;
	}
	.page-visual > .area > .bar > .pointer > .icon path {
		fill: #fff;
	}
}

.principle-item {
	position: relative;
	display: block;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.principle-item > .image {
	position: relative;
	width: 100%;
	padding-bottom: 50%;
	overflow: hidden;
	position: relative;
	overflow: hidden;
}

.principle-item > .image > .color {
	background: #ebebeb;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	z-index: 1;
}

.principle-item > .image > .img .i {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.principle-item > .image > .img > .cover {
	position: absolute;
	top: -25%;
	left: -25%;
	width: 150%;
	height: 150%;
	animation: background_noise 1s steps(3) infinite;
	background: url(../img/common/common_bg_noise.webp) repeat;
	opacity: 0.04;
	will-change: transform;
	pointer-events: none;
}

@media screen and (min-width: 768px) {
	.principle-item > .image > .img > .cover {
		background-size: 128px;
	}
}

@media screen and (max-width: 767px) {
	.principle-item > .image > .img > .cover {
		background-size: 64px;
	}
}

.principle-item > .title {
	position: relative;
}

@media screen and (min-width: 768px) {
	.principle-item > .title {
		margin-top: 1.688rem;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 1.25rem;
	}
}

@media screen and (max-width: 767px) {
	.principle-item > .title {
		margin-top: 4.952vw;
	}
}

@media screen and (min-width: 768px) {
	.principle-item > .title > .name {
		font-size: 1.25rem;
		line-height: 1;
		letter-spacing: 0;
		flex-shrink: 0;
	}
}

@media screen and (max-width: 767px) {
	.principle-item > .title > .name {
		display: block;
		font-size: 4.831vw;
		letter-spacing: 0.05em;
		line-height: 1;
		flex-shrink: 0;
	}
}

.principle-item > .title > .label {
	color: #aaa;
	line-height: 1.615;
}

.__en .principle-item > .title > .label {
	letter-spacing: -0.04em;
}

@media screen and (min-width: 768px) {
	.principle-item > .title > .label {
		font-size: 0.813rem;
		height: 1.313rem;
	}
	.__en .principle-item > .title > .label {
		height: 2.712rem;
	}
}

@media screen and (max-width: 767px) {
	.principle-item > .title > .label {
		display: block;
		margin-top: 2.415vw;
		font-size: 3.623vw;
	}
	.__en .principle-item > .title > .label {
		height: 10.483vw;
	}
}

@media screen and (min-width: 768px) {
	.principle-item > .capter {
		margin-top: 1.688rem;
		margin-bottom: 0.938rem;
	}
}

@media screen and (max-width: 767px) {
	.principle-item > .capter {
		margin-top: 3.623vw;
		margin-bottom: 3.623vw;
	}
}

.principle-item > .capter > .item {
	position: relative;
	border-bottom: 1px solid #dcdcdc;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.principle-item > .capter > .item {
		padding: 0.25rem 0 0.188rem;
	}
}

@media screen and (max-width: 767px) {
	.principle-item > .capter > .item {
		padding: 2.174vw 0;
	}
}

.principle-item > .capter > .item:first-child {
	border-top: 1px solid #dcdcdc;
}

@media screen and (min-width: 768px) {
	.principle-item > .capter > .item > .num {
		width: 1.875rem;
		font-size: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.principle-item > .capter > .item > .num {
		width: 6.643vw;
		font-size: 2.415vw;
		flex-shrink: 0;
	}
}

@media screen and (min-width: 768px) {
	.principle-item > .capter > .item > .name {
		width: 13.75rem;
		font-size: 0.813rem;
	}
}

@media screen and (max-width: 767px) {
	.principle-item > .capter > .item > .name {
		width: 41.063vw;
		font-size: 3.14vw;
		line-height: 1.231;
		flex-shrink: 0;
	}
	.__en .principle-item > .capter > .item > .name {
		width: 100%;
	}
	.__en .principle-item > .capter > .item > .name br {
		display: none;
	}
}

.principle-item > .capter > .item > .label {
	color: #aaa;
}

@media screen and (min-width: 768px) {
	.principle-item > .capter > .item > .label {
		font-size: 0.75rem;
	}
}

@media screen and (max-width: 767px) {
	.principle-item > .capter > .item > .label {
		font-size: 2.899vw;
		line-height: 1.231;
	}
}

.principle-item > .link {
	position: relative;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.principle-item > .link {
		margin-top: auto;
		gap: 1.25rem;
	}
}

@media screen and (max-width: 767px) {
	.principle-item > .link {
		margin-top: auto;
		gap: 3.019vw;
	}
}

@media screen and (min-width: 768px) {
	.principle-item > .link > .text {
		font-size: 0.75rem;
	}
}

@media screen and (max-width: 767px) {
	.principle-item > .link > .text {
		font-size: 2.899vw;
	}
}

.principle-item > .link > .icon {
	flex-shrink: 0;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.principle-item > .link > .icon {
		width: 3.75rem;
		height: 3.75rem;
	}
}

@media screen and (max-width: 767px) {
	.principle-item > .link > .icon {
		width: 12.077vw;
		height: 12.077vw;
	}
}

.principle-item > .link > .icon > .color {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #787878;
}

.principle-item > .link > .icon > .arrow {
	position: relative;
	display: block;
	background: no-repeat right center;
	background-size: contain;
	background-image: url(../img/common/icon_arrow_right.svg);
}

@media screen and (min-width: 768px) {
	.principle-item > .link > .icon > .arrow {
		width: 0.813rem;
		height: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.principle-item > .link > .icon > .arrow {
		width: 3.14vw;
		height: 2.415vw;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.principle-item > .image .i {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: transform;
		will-change: transform;
		transform: scale(1.01);
	}
	.principle-item > .link > .icon > .color {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: transform;
	}
	.principle-item:hover > .image .i {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		transform: scale(1.1) rotate(0.001deg);
	}
	.principle-item:hover > .link > .icon > .color {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		transform: scale(1.2);
	}
}

.privacy-introduction {
	position: relative;
}

@media screen and (min-width: 768px) {
	.privacy-introduction {
		margin: 0 auto;
		width: 59.375rem;
	}
}

@media screen and (min-width: 768px) {
	.privacy-introduction > .area {
		margin-left: auto;
		width: 25rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-introduction > .area {
		width: 90.338vw;
		margin: 0 auto;
	}
}

@media screen and (min-width: 768px) {
	.privacy-introduction > .area > .name {
		font-size: 0.938rem;
		line-height: 2.133;
	}
	.__en .privacy-introduction > .area > .name {
		text-align: right;
	}
}

@media screen and (max-width: 767px) {
	.privacy-introduction > .area > .name {
		font-size: 3.623vw;
	}
}

@media screen and (min-width: 768px) {
	.privacy-introduction > .area > .list {
		margin-top: 0rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-introduction > .area > .list {
		margin-top: 1.208vw;
	}
}

.privacy-introduction > .area > .list > .item {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.privacy-introduction > .area > .list > .item {
		gap: 0.75rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-introduction > .area > .list > .item {
		gap: 2.415vw;
	}
}

.privacy-introduction > .area > .list > .item > .head {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.privacy-introduction > .area > .list > .item > .head {
		font-size: 0.813rem;
		gap: 0.75rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-introduction > .area > .list > .item > .head {
		font-size: 3.623vw;
		gap: 2.415vw;
	}
}

@media screen and (min-width: 768px) {
	.privacy-introduction > .area > .list > .item > .body {
		font-size: 0.938rem;
		line-height: 2.133;
	}
}

@media screen and (max-width: 767px) {
	.privacy-introduction > .area > .list > .item > .body {
		font-size: 3.623vw;
	}
}

.top-kv-lead {
	position: absolute;
	color: #787878;
}

@media screen and (min-width: 768px) {
	.top-kv-lead {
		top: 15.313rem;
		left: calc(250px + 1.563rem);
		font-size: 1.125rem;
		line-height: 1.125rem;
		letter-spacing: 0.08em;
	}
}

@media screen and (max-width: 767px) {
	.top-kv-lead {
		top: 50.725vw;
		left: 4.831vw;
		font-size: 2.899vw;
		line-height: 2.899vw;
		letter-spacing: 0.08em;
	}
}

.top-kv-lead > .text > .mask {
	position: relative;
	display: inline-block;
	overflow: hidden;
	line-height: 1.35;
}

.top-kv-lead > .text > .mask > .t {
	display: block;
}

.top-kv-title {
	position: absolute;
	color: #787878;
}

@media screen and (min-width: 768px) {
	.top-kv-title {
		text-align: left;
		top: 0.938rem;
		right: 2.188rem;
		width: calc(100% - 230px - 4.375rem);
	}
}

@media screen and (max-width: 767px) {
	.top-kv-title {
		top: 20.894vw;
		left: 3.019vw;
		width: 93.961vw;
	}
}

.top-kv-title > .block {
	position: relative;
	display: block;
	font-weight: 300;
	white-space: nowrap;
}

@media screen and (min-width: 768px) {
	.top-kv-title > .block {
		font-size: 5.625rem;
		line-height: 5.625rem;
		height: 5.625rem;
		padding: 0 0.313rem;
		letter-spacing: -0.06em;
	}
}

@media screen and (max-width: 767px) {
	.top-kv-title > .block {
		font-size: 11.836vw;
		line-height: 11.836vw;
		height: 11.836vw;
		padding: 0 1.087vw;
		letter-spacing: -0.05em;
	}
}

.top-kv-title > .block > .mask {
	position: relative;
	display: inline-block;
	overflow: hidden;
}

.top-kv-title > .block > .mask > .t {
	display: block;
}

.top-kv-title > .block > .line {
	position: absolute;
	top: 100%;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.top-kv-title > .block > .line {
		top: calc(100% + 0.375rem);
		right: 0;
		height: 0.99px;
	}
}

@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 21.5), screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-width: 768px) and (min-resolution: 1.5dppx) {
	.top-kv-title > .block > .line {
		height: 0.675px;
	}
}

@media screen and (max-width: 767px) {
	.top-kv-title > .block > .line {
		height: 1px;
		top: calc(100% + 0.725vw);
		left: 0;
	}
}

.top-kv-title > .block > .line > .l {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #787878;
}

.top-kv-title > .block > .line > .i {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate3d(-50%, -50%, 0);
	border: 0.99px solid #787878;
	border-radius: 50%;
}

@media screen and (min-width: 768px) {
	.top-kv-title > .block > .line > .i {
		width: 0.313rem;
		height: 0.313rem;
	}
}

@media screen and (max-width: 767px) {
	.top-kv-title > .block > .line > .i {
		width: 0.966vw;
		height: 0.966vw;
	}
}

.top-kv-title > .block > .line > .i.__01 {
	left: 0;
	transform: translate3d(-100%, -50%, 0);
}

.top-kv-title > .block > .line > .i.__02 {
	left: auto;
	right: 0;
	transform: translate3d(100%, -50%, 0);
}

@media screen and (min-width: 768px) {
	.top-kv-title > .block > .label {
		position: absolute;
		top: calc(50% - 0.813rem);
		right: 0.25rem;
		text-align: right;
	}
	.__isMac .top-kv-title > .block > .label {
		top: calc(50% - 1.125rem);
	}
	.top-kv-title > .block > .label > .text {
		display: block;
		font-size: 0.75rem;
		font-weight: 300;
		line-height: 1.333;
		letter-spacing: 0.01em;
	}
	.top-kv-title > .block > .label > .text > .mask {
		position: relative;
		display: inline-block;
		overflow: hidden;
	}
	.top-kv-title > .block > .label > .text > .mask > .t {
		display: block;
	}
}

@media screen and (max-width: 767px) {
	.top-kv-title > .block > .label {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.top-kv-title > .block.__01 > .mask > .t {
		margin-right: -0.025em;
	}
}

.top-kv-title > .block.__01 > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.top-kv-title > .block.__01 > .mask > .t span {
		letter-spacing: -0.03em;
		top: -0.063rem;
	}
	.__isMac .top-kv-title > .block.__01 > .mask > .t span {
		top: 0.25rem;
	}
}

@media screen and (max-width: 767px) {
	.top-kv-title > .block.__01 > .mask > .t span {
		letter-spacing: -0.03em;
		top: -0.242vw;
	}
}

.top-kv-title > .block.__01 > .mask > .t span:nth-child(2) {
	margin-left: -0.025em;
}

.top-kv-title > .block.__01 > .mask > .t span:nth-child(3) {
	margin-left: -0.069em;
}

.top-kv-title > .block.__01 > .mask > .t span:nth-child(4) {
	margin-left: 0.006em;
}

.top-kv-title > .block.__01 > .mask > .t span:nth-child(5) {
	margin-left: -0.025em;
}

.top-kv-title > .block.__01 > .mask > .t span:nth-child(6) {
	margin-left: -0.025em;
}

.top-kv-title > .block.__01 > .mask > .t span:nth-child(7) {
	margin-left: -0.037em;
}

.top-kv-title > .block.__01 > .mask > .t span:nth-child(8) {
	margin-left: 0em;
}

.top-kv-title > .block.__01 > .mask > .t span:nth-child(9) {
	margin-left: -0.025em;
}

.top-kv-title > .block.__01 > .mask > .t span:nth-child(10) {
	margin-left: -0.037em;
}

.top-kv-title > .block.__01 > .mask > .t span:nth-child(11) {
	margin-left: -0.05em;
}

.top-kv-title > .block.__01 > .mask > .t span:nth-child(12) {
	margin-left: -0.013em;
}

@media screen and (min-width: 768px) {
	.top-kv-title > .block.__02 {
		margin-top: 0.25rem;
	}
	.__isMac .top-kv-title > .block.__02 {
		top: 0.313rem;
	}
}

@media screen and (max-width: 767px) {
	.top-kv-title > .block.__02 {
		margin-top: 1.932vw;
	}
}

@media screen and (min-width: 768px) {
	.top-kv-title > .block.__02 > .mask > .t {
		margin-right: -0.085em;
	}
}

.top-kv-title > .block.__02 > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.top-kv-title > .block.__02 > .mask > .t span {
		letter-spacing: -0.01em;
	}
}

@media screen and (max-width: 767px) {
	.top-kv-title > .block.__02 > .mask > .t span {
		letter-spacing: -0.01em;
		top: -0.242vw;
	}
}

.top-kv-title > .block.__02 > .mask > .t span:nth-child(2) {
	margin-left: -0.061em;
}

.top-kv-title > .block.__02 > .mask > .t span:nth-child(3) {
	margin-left: -0.043em;
}

.top-kv-title > .block.__02 > .mask > .t span:nth-child(4) {
	margin-left: -0.036em;
}

.top-kv-title > .block.__02 > .mask > .t span:nth-child(5) {
	margin-left: -0.049em;
}

.top-kv-title > .block.__02 > .mask > .t span:nth-child(6) {
	margin-left: -0.055em;
}

.top-kv-title > .block.__02 > .mask > .t span:nth-child(7) {
	margin-left: -0.049em;
}

.top-kv-title > .block.__02 > .mask > .t span:nth-child(8) {
	margin-left: -0.085em;
}

.top-kv-title > .block.__02 > .mask > .t span:nth-child(9) {
	margin-left: -0.049em;
}

.top-kv-title > .block.__02 > .mask > .t span:nth-child(10) {
	margin-left: -0.073em;
}

.top-kv-title > .block.__02 > .mask > .t span:nth-child(11) {
	margin-left: -0.03em;
}

.top-kv-title > .block.__02 > .mask > .t span:nth-child(12) {
	margin-left: -0.024em;
}

.top-kv-title > .block.__02 > .mask > .t span:nth-child(13) {
	margin-left: -0.073em;
}

@media screen and (min-width: 768px) {
	.top-kv-title > .block.__02 > .line {
		top: calc(100% + 0.438rem);
	}
	.__isMac .top-kv-title > .block.__02 > .line {
		top: calc(100% + 0.125rem);
	}
}

@media screen and (max-width: 767px) {
	.top-kv-title > .block.__02 > .line {
		top: calc(100% + 0.242vw);
	}
}

.top-kv-title.__init > .block > .line {
	width: 100%;
}

.top-current {
	position: fixed;
}

@media screen and (min-width: 768px) {
	.top-current {
		top: 50%;
		right: 2rem;
		transform: translateY(-50%);
	}
}

@media screen and (max-width: 767px) {
	.top-current {
		bottom: 5.797vw;
		right: 4.71vw;
	}
}

.top-current .item {
	position: relative;
	display: block;
}

@media screen and (min-width: 768px) {
	.top-current .item {
		margin-top: 1.063rem;
		width: 3px;
		height: 3px;
	}
}

@media screen and (max-width: 767px) {
	.top-current .item {
		margin-top: 2.899vw;
		width: 4px;
		height: 4px;
	}
}

.top-current .item:first-child {
	margin-top: 0;
}

.top-current .item .line {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	border: 0.99px solid #aaa;
	border-color: var(--textColorDarkLight);
	transition: 0.65s cubic-bezier(0.33, 1, 0.68, 1);
	transition-property: opacity, transform;
	opacity: 0;
	transform: scale(0.5);
}

@media screen and (min-width: 768px) {
	.top-current .item .line {
		width: 0.938rem;
		height: 0.938rem;
		margin-top: -0.469rem;
		margin-left: -0.469rem;
		border-radius: 0.469rem;
		width: 15px;
		height: 15px;
		margin-top: -7.5px;
		margin-left: -7.5px;
		border-radius: 7.5px;
	}
}

@media screen and (max-width: 767px) {
	.top-current .item .line {
		width: 3.14vw;
		height: 3.14vw;
		margin-top: -1.57vw;
		margin-left: -1.57vw;
		border-radius: 1.57vw;
	}
}

.top-current .item .color {
	display: block;
	width: 100%;
	height: 100%;
	background-color: #464646;
	background-color: var(--textColorBase);
	transition: 0.65s cubic-bezier(0.33, 1, 0.68, 1);
	transition-property: transform;
}

@media screen and (min-width: 768px) {
	.top-current .item .color {
		border-radius: 1.5px;
	}
}

@media screen and (max-width: 767px) {
	.top-current .item .color {
		border-radius: 50%;
	}
}

@media screen and (max-width: 767px) {
	.top-current .item.__current {
		margin-top: 2.657vw;
	}
}

.top-current .item.__current .line {
	transition-duration: 1s;
	transition-timing-function: cubic-bezier(0.61, 1, 0.88, 1);
	opacity: 1;
	transform: scale(1);
}

@media screen and (max-width: 767px) {
	.top-current .item.__current .color {
		transition-duration: 1s;
		transition-timing-function: cubic-bezier(0.61, 1, 0.88, 1);
		transform: scale(1.5);
	}
}

.top-section-textarea {
	position: relative;
}

@media screen and (min-width: 768px) {
	.top-section-textarea {
		margin-right: 4.688rem;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		height: 100%;
		width: 16.25rem;
		white-space: nowrap;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.top-section-textarea {
		width: 24.375rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-textarea {
		width: 67.633vw;
		padding-top: calc(var(--vh) * 0.75);
		margin-left: auto;
		margin-right: auto;
	}
}

.top-section-textarea > .num {
	letter-spacing: 0.02em;
}

@media screen and (min-width: 768px) {
	.top-section-textarea > .num {
		position: absolute;
		top: 8.125rem;
		left: 0;
		font-size: 0.688rem;
		line-height: 0.688rem;
		height: 0.688rem;
		margin-bottom: 2.813rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.top-section-textarea > .num {
		font-size: 1.031rem;
		line-height: 1.031rem;
		height: 1.031rem;
		margin-bottom: 4.219rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-textarea > .num {
		position: relative;
		font-size: 2.415vw;
		line-height: 2.415vw;
		height: 2.415vw;
	}
}

.top-section-textarea > .num > .mask {
	position: relative;
	display: inline-block;
	overflow: hidden;
}

.top-section-textarea > .num > .mask > .t {
	display: block;
}

@media screen and (min-width: 768px) {
	.top-section-textarea > .line {
		position: absolute;
		left: -1.875rem;
		top: 8.125rem;
		width: 1px;
		height: calc(100% - 10rem);
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.top-section-textarea > .line {
		left: -2.813rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-textarea > .line {
		position: relative;
		width: 100%;
		height: 1px;
		margin-top: 2.415vw;
	}
}

.top-section-textarea > .line > .color {
	position: absolute;
	top: 0;
	left: 0;
	background: #dcdcdc;
}

@media screen and (min-width: 768px) {
	.top-section-textarea > .line > .color {
		width: 100%;
		height: 0;
	}
}

@media screen and (max-width: 767px) {
	.top-section-textarea > .line > .color {
		width: 0;
		height: 100%;
	}
}

@media screen and (max-width: 767px) {
	.top-section-textarea > .lead {
		margin-top: 2.415vw;
	}
}

.top-section-textarea > .lead > .num {
	position: relative;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 768px) {
	.top-section-textarea > .lead > .num {
		margin-bottom: 3.438rem;
		font-size: 0.688rem;
		line-height: 0.688rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.top-section-textarea > .lead > .num {
		margin-bottom: 5.156rem;
		font-size: 1.031rem;
		line-height: 1.031rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-textarea > .lead > .num {
		margin-bottom: 3.623vw;
		font-size: 2.415vw;
		line-height: 2.415vw;
	}
}

.top-section-textarea > .lead > .num > .mask {
	position: relative;
	display: block;
	overflow: hidden;
}

.top-section-textarea > .lead > .num > .mask > .t {
	display: block;
}

.top-section-textarea > .lead > .text {
	display: block;
	font-size: 0.875rem;
	line-height: 2.5;
}

@media screen and (min-width: 768px) {
	.top-section-textarea > .lead > .text {
		font-size: 0.875rem;
		line-height: 2.5;
	}
	.__ja .top-section-textarea > .lead > .text {
		letter-spacing: 0.03em;
	}
	.__en .top-section-textarea > .lead > .text {
		letter-spacing: 0em;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.top-section-textarea > .lead > .text {
		font-size: 1.313rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-textarea > .lead > .text {
		font-size: 3.623vw;
		line-height: 2;
		letter-spacing: 0.05em;
		white-space: nowrap;
	}
	.__ja .top-section-textarea > .lead > .text {
		letter-spacing: 0.05em;
	}
	.__en .top-section-textarea > .lead > .text {
		letter-spacing: 0em;
	}
}

.top-section-textarea > .lead > .text > .mask {
	position: relative;
	display: block;
	overflow: hidden;
}

@media screen and (max-width: 767px) {
	.top-section-textarea > .lead > .text > .mask {
		width: -moz-fit-content;
		width: fit-content;
	}
}

.top-section-textarea > .lead > .text > .mask > .t {
	display: block;
}

@media screen and (min-width: 768px) {
	.top-section-textarea > .button {
		position: fixed;
		bottom: 1.875rem;
		right: 1.875rem;
		width: 8.125rem;
		height: 8.125rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.top-section-textarea > .button {
		width: 12.188rem;
		height: 12.188rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-textarea > .button {
		margin-top: 6.039vw;
		position: relative;
		width: 100%;
		height: 5.556vw;
	}
}

@media screen and (min-width: 768px) {
	.top-section-textarea.__01 {
		margin-right: 4.688rem;
		width: 23.75rem;
		padding-bottom: 0.313rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.top-section-textarea.__01 {
		width: 35.625rem;
		padding-bottom: 2.344rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-textarea.__01 {
		padding-top: calc(var(--vh) * 0.69);
		padding-left: 7.246vw;
		margin-right: 0;
		width: auto;
	}
}

.top-section-textarea.__01 > .lead {
	margin-top: 0;
}

@media screen and (min-width: 768px) {
	.top-section-textarea.__01 > .lead > .text {
		font-size: 0.938rem;
		line-height: 2.133;
	}
	.__ja .top-section-textarea.__01 > .lead > .text {
		letter-spacing: 0.05em;
	}
	.__en .top-section-textarea.__01 > .lead > .text {
		letter-spacing: 0em;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.top-section-textarea.__01 > .lead > .text {
		font-size: 1.406rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-textarea.__01 > .lead > .text {
		font-size: 3.623vw;
		line-height: 2.077;
		white-space: nowrap;
	}
	.__ja .top-section-textarea.__01 > .lead > .text {
		letter-spacing: 0.04em;
	}
	.__en .top-section-textarea.__01 > .lead > .text {
		letter-spacing: 0em;
	}
}

.top-section-title > .text {
	position: relative;
	display: block;
}

@media screen and (min-width: 768px) {
	.top-section-title > .text {
		padding: 0 0.188rem;
		letter-spacing: 0em;
		height: 4.375rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title > .text {
		padding: 0 0.604vw;
		height: 11.473vw;
	}
}

.top-section-title > .text > .mask {
	position: relative;
	display: inline-block;
	overflow: hidden;
	width: 100%;
	height: 100%;
}

.top-section-title > .text > .mask > .t {
	position: relative;
	display: block;
	font-weight: 300;
}

@media screen and (min-width: 768px) {
	.top-section-title > .text > .mask > .t {
		font-size: 4.375rem;
		line-height: 5.031rem;
		top: -0.656rem;
		letter-spacing: -0.03em;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title > .text > .mask > .t {
		font-size: 11.473vw;
		line-height: 13.194vw;
		top: -1.721vw;
		letter-spacing: -0.03em;
	}
}

.top-section-title > .text > .line {
	position: absolute;
	height: 1px;
}

@media screen and (min-width: 768px) {
	.top-section-title > .text > .line {
		top: 100%;
		right: 0;
		top: calc(100% + 0.25rem);
		height: 0.99px;
	}
}

@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 21.5), screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-width: 768px) and (min-resolution: 1.5dppx) {
	.top-section-title > .text > .line {
		height: 0.675px;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title > .text > .line {
		top: 100%;
		left: 0;
		top: calc(100% - 0.121vw);
	}
}

.top-section-title > .text > .line > .l {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #787878;
}

.top-section-title > .text > .line > .i {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate3d(-50%, -50%, 0);
	width: 0.313rem;
	height: 0.313rem;
	border: 1px solid #787878;
	color: var(--textColorBase);
	border-radius: 50%;
}

.top-section-title > .text > .line > .i.__01 {
	left: 0;
	transform: translate3d(-100%, -50%, 0);
}

.top-section-title > .text > .line > .i.__02 {
	left: auto;
	right: 0;
	transform: translate3d(100%, -50%, 0);
}

@media screen and (min-width: 768px) {
	.top-section-title.__01 > .text > .mask > .t {
		right: -0.063rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__01 > .text > .mask > .t {
		left: 0.242vw;
	}
}

.top-section-title.__01 > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.top-section-title.__01 > .text > .mask > .t span {
		letter-spacing: -0.02em;
		top: -0.063rem;
	}
	.__isMac .top-section-title.__01 > .text > .mask > .t span {
		top: 0;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__01 > .text > .mask > .t span {
		letter-spacing: -0.02em;
		top: -0.242vw;
	}
}

.top-section-title.__01 > .text > .mask > .t span:nth-child(2) {
	margin-left: -0.04em;
}

.top-section-title.__01 > .text > .mask > .t span:nth-child(3) {
	margin-left: -0.02em;
}

.top-section-title.__01 > .text > .mask > .t span:nth-child(4) {
	margin-left: -0.02em;
}

.top-section-title.__01 > .text > .mask > .t span:nth-child(5) {
	margin-left: -0.07em;
}

.top-section-title.__01 > .text > .mask > .t span:nth-child(6) {
	margin-left: -0.06em;
}

.top-section-title.__01 > .text > .mask > .t span:nth-child(7) {
	margin-left: -0.06em;
}

.top-section-title.__01 > .text > .mask > .t span:nth-child(8) {
	margin-left: -0.043em;
}

.top-section-title.__01 > .text > .mask > .t span:nth-child(9) {
	margin-left: 0.01em;
}

.top-section-title.__01 > .text > .mask > .t span:nth-child(10) {
	margin-left: -0.03em;
}

.top-section-title.__01 > .text > .mask > .t span:nth-child(11) {
	margin-left: -0.05em;
}

.top-section-title.__01 > .text > .mask > .t span:nth-child(12) {
	margin-left: -0.06em;
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text {
		height: 23.711vw;
	}
}

@media screen and (min-width: 768px) {
	.top-section-title.__02 > .text > .mask > .t {
		right: 0.125rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text > .mask > .t {
		left: 0.483vw;
	}
}

.top-section-title.__02 > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.top-section-title.__02 > .text > .mask > .t span {
		letter-spacing: -0.05em;
	}
	.__isMac .top-section-title.__02 > .text > .mask > .t span {
		top: 0;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text > .mask > .t span {
		letter-spacing: -0.05em;
		top: -0.242vw;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text > .mask > .t span:nth-child(9) {
		top: -1.449vw;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text > .mask > .t span:nth-child(10) {
		top: -1.449vw;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text > .mask > .t span:nth-child(11) {
		top: -1.449vw;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text > .mask > .t span:nth-child(12) {
		top: -1.449vw;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text > .mask > .t span:nth-child(13) {
		top: -1.449vw;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text > .mask > .t span:nth-child(14) {
		top: -1.449vw;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text > .mask > .t span:nth-child(15) {
		top: -1.449vw;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text > .mask > .t span:nth-child(16) {
		top: -1.449vw;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text > .mask > .t span:nth-child(17) {
		top: -1.449vw;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text > .mask > .t span:nth-child(18) {
		top: -1.449vw;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__02 > .text > .line {
		top: 100%;
	}
}

@media screen and (min-width: 768px) {
	.top-section-title.__03 > .text > .mask > .t {
		right: 0.125rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__03 > .text > .mask > .t {
		left: 0.483vw;
	}
}

.top-section-title.__03 > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.top-section-title.__03 > .text > .mask > .t span {
		letter-spacing: -0.05em;
		top: -0.063rem;
	}
	.__isMac .top-section-title.__03 > .text > .mask > .t span {
		top: 0;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__03 > .text > .mask > .t span {
		letter-spacing: -0.05em;
		top: -0.242vw;
	}
}

@media screen and (min-width: 768px) {
	.top-section-title.__04 > .text > .mask > .t {
		right: 0.25rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__04 > .text > .mask > .t {
		left: 0.483vw;
	}
}

.top-section-title.__04 > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.top-section-title.__04 > .text > .mask > .t span {
		letter-spacing: -0.03em;
		top: -0.063rem;
	}
	.__isMac .top-section-title.__04 > .text > .mask > .t span {
		top: 0;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__04 > .text > .mask > .t span {
		letter-spacing: -0.03em;
		top: -0.242vw;
	}
}

.top-section-title.__04 > .text > .mask > .t span:nth-child(2) {
	margin-left: -0.02em;
}

.top-section-title.__04 > .text > .mask > .t span:nth-child(3) {
	margin-left: -0.02em;
}

.top-section-title.__04 > .text > .mask > .t span:nth-child(4) {
	margin-left: -0.05em;
}

.top-section-title.__04 > .text > .mask > .t span:nth-child(5) {
	margin-left: -0.05em;
}

.top-section-title.__04 > .text > .mask > .t span:nth-child(6) {
	margin-left: 0em;
}

.top-section-title.__04 > .text > .mask > .t span:nth-child(7) {
	margin-left: -0.04em;
}

.top-section-title.__04 > .text > .mask > .t span:nth-child(8) {
	margin-left: -0.03em;
}

.top-section-title.__04 > .text > .mask > .t span:nth-child(9) {
	margin-left: -0.06em;
}

@media screen and (min-width: 768px) {
	.top-section-title.__05 > .text > .mask > .t {
		right: 0.063rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__05 > .text > .mask > .t {
		left: 0.483vw;
	}
}

.top-section-title.__05 > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.top-section-title.__05 > .text > .mask > .t span {
		letter-spacing: -0.03em;
		top: -0.063rem;
	}
	.__isMac .top-section-title.__05 > .text > .mask > .t span {
		top: 0;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__05 > .text > .mask > .t span {
		letter-spacing: -0.03em;
		top: -0.242vw;
	}
}

.top-section-title.__05 > .text > .mask > .t span:nth-child(2) {
	margin-left: -0.04em;
}

.top-section-title.__05 > .text > .mask > .t span:nth-child(3) {
	margin-left: 0em;
}

.top-section-title.__05 > .text > .mask > .t span:nth-child(4) {
	margin-left: 0em;
}

.top-section-title.__05 > .text > .mask > .t span:nth-child(5) {
	margin-left: -0.03em;
}

.top-section-title.__05 > .text > .mask > .t span:nth-child(6) {
	margin-left: -0.03em;
}

.top-section-title.__05 > .text > .mask > .t span:nth-child(7) {
	margin-left: 0em;
}

.top-section-title.__05 > .text > .mask > .t span:nth-child(8) {
	margin-left: -0.01em;
}

.top-section-title.__05 > .text > .mask > .t span:nth-child(9) {
	margin-left: -0.03em;
}

.top-section-title.__05 > .text > .mask > .t span:nth-child(10) {
	margin-left: -0.14em;
}

.top-section-title.__05 > .text > .mask > .t span:nth-child(11) {
	margin-left: -0.02em;
}

.top-section-title.__05 > .text > .mask > .t span:nth-child(12) {
	margin-left: -0.02em;
}

.top-section-title.__05 > .text > .mask > .t span:nth-child(13) {
	margin-left: -0.04em;
}

.top-section-title.__05 > .text > .mask > .t span:nth-child(14) {
	margin-left: -0.03em;
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text {
		height: 23.711vw;
	}
}

@media screen and (min-width: 768px) {
	.top-section-title.__06 > .text > .mask > .t {
		right: -0.063rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .mask > .t {
		left: 0.483vw;
	}
}

.top-section-title.__06 > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.top-section-title.__06 > .text > .mask > .t span {
		letter-spacing: -0.03em;
		top: -0.063rem;
	}
	.__isMac .top-section-title.__06 > .text > .mask > .t span {
		top: 0;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .mask > .t span {
		letter-spacing: -0.03em;
		top: 0vw;
	}
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(2) {
	margin-left: -0.01em;
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(3) {
	margin-left: -0.05em;
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(4) {
	margin-left: -0.07em;
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(5) {
	margin-left: -0.03em;
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(6) {
	margin-left: -0.07em;
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(7) {
	margin-left: -0.04em;
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .mask > .t span:nth-child(7) {
		margin-left: 0;
	}
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(8) {
	margin-left: -0.06em;
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(9) {
	margin-left: -0.06em;
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .mask > .t span:nth-child(9) {
		margin-left: -0.1em;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .mask > .t span:nth-child(9) {
		display: block;
	}
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(10) {
	margin-left: 0em;
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .mask > .t span:nth-child(10) {
		top: -1.449vw;
	}
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(11) {
	margin-left: -0.04em;
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .mask > .t span:nth-child(11) {
		top: -1.449vw;
	}
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(12) {
	margin-left: -0.04em;
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .mask > .t span:nth-child(12) {
		top: -1.449vw;
	}
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(13) {
	margin-left: -0.06em;
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .mask > .t span:nth-child(13) {
		top: -1.449vw;
	}
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(14) {
	margin-left: 0em;
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .mask > .t span:nth-child(14) {
		top: -1.449vw;
	}
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(15) {
	margin-left: -0.02em;
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .mask > .t span:nth-child(15) {
		top: -1.449vw;
	}
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(16) {
	margin-left: -0.075em;
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .mask > .t span:nth-child(16) {
		top: -1.449vw;
	}
}

.top-section-title.__06 > .text > .mask > .t span:nth-child(17) {
	margin-left: -0.035em;
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .mask > .t span:nth-child(17) {
		top: -1.449vw;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__06 > .text > .line {
		top: 100%;
	}
}

@media screen and (min-width: 768px) {
	.top-section-title.__07 > .text > .mask > .t {
		right: 0.25rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__07 > .text > .mask > .t {
		left: 0.483vw;
	}
}

.top-section-title.__07 > .text > .mask > .t span {
	position: relative;
}

@media screen and (min-width: 768px) {
	.top-section-title.__07 > .text > .mask > .t span {
		letter-spacing: -0.07em;
		top: -0.063rem;
	}
	.__isMac .top-section-title.__07 > .text > .mask > .t span {
		top: 0;
	}
}

@media screen and (max-width: 767px) {
	.top-section-title.__07 > .text > .mask > .t span {
		letter-spacing: -0.07em;
		top: -0.242vw;
	}
}

.top-section-title.__07 > .text > .mask > .t span:nth-child(2) {
	margin-left: 0em;
}

.top-section-title.__07 > .text > .mask > .t span:nth-child(3) {
	margin-left: -0.01em;
}

.top-section-title.__07 > .text > .mask > .t span:nth-child(4) {
	margin-left: -0.03em;
}

.top-section-title.__07 > .text > .mask > .t span:nth-child(5) {
	margin-left: -0.02em;
}

.top-section-title.__07 > .text > .mask > .t span:nth-child(6) {
	margin-left: -0.01em;
}

.top-section-title.__07 > .text > .mask > .t span:nth-child(7) {
	margin-left: -0.005em;
}

.top-section-title.__07 > .text > .mask > .t span:nth-child(8) {
	margin-left: 0em;
}

.top-section-title.__07 > .text > .mask > .t span:nth-child(9) {
	margin-left: -0.04em;
}

.common-background {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
}

.common-background > .ripple {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	pointer-events: none;
	overflow: hidden;
	z-index: 4;
}

.common-background > .ripple > canvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	pointer-events: none;
	overflow: hidden;
	object-fit: cover;
}

.common-background > .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	pointer-events: none;
	overflow: hidden;
}

.common-background > .bg > .color {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.common-background > .bg > .color > .c {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	z-index: 0;
}

.common-background > .bg > .color > .c.__base {
	background-color: #fafafa;
	background-image: radial-gradient(circle, white 0%, rgba(255, 255, 255, 0.738) 19%, rgba(255, 255, 255, 0.541) 34%, rgba(255, 255, 255, 0.382) 47%, rgba(255, 255, 255, 0.278) 56.5%, rgba(255, 255, 255, 0.194) 65%, rgba(255, 255, 255, 0.126) 73%, rgba(255, 255, 255, 0.075) 80.2%, rgba(255, 255, 255, 0.042) 86.1%, rgba(255, 255, 255, 0.021) 91%, rgba(255, 255, 255, 0.008) 95.2%, rgba(255, 255, 255, 0.002) 98.2%, rgba(255, 255, 255, 0) 100%);
	opacity: 1;
	visibility: visible;
	z-index: 2;
}

.common-background > .bg > .color > .c.__footer {
	background-color: #605c5c;
	background-image: radial-gradient(circle, #6a6767 0%, rgba(106, 103, 103, 0.738) 19%, rgba(106, 103, 103, 0.541) 34%, rgba(106, 103, 103, 0.382) 47%, rgba(106, 103, 103, 0.278) 56.5%, rgba(106, 103, 103, 0.194) 65%, rgba(106, 103, 103, 0.126) 73%, rgba(106, 103, 103, 0.075) 80.2%, rgba(106, 103, 103, 0.042) 86.1%, rgba(106, 103, 103, 0.021) 91%, rgba(106, 103, 103, 0.008) 95.2%, rgba(106, 103, 103, 0.002) 98.2%, rgba(106, 103, 103, 0) 100%);
}

.common-background > .bg > .color > .c.__menu {
	background: #1b1b1b;
}

.common-background > .bg > .cover {
	position: absolute;
	top: -25%;
	left: -25%;
	width: 150%;
	height: 150%;
	animation: background_noise 1s steps(3) infinite;
	background: url(../img/common/common_bg_noise.webp) repeat;
	opacity: 0.04;
	will-change: transform;
	z-index: 3;
}

@media screen and (min-width: 768px) {
	.common-background > .bg > .cover {
		background-size: 160px;
	}
}

@media screen and (max-width: 767px) {
	.common-background > .bg > .cover {
		background-size: 80px;
	}
}

.common-background > .visual {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	pointer-events: none;
	overflow: hidden;
	z-index: 5;
}

.common-background > .visual > .block > .splash,
.common-background > .visual > .block > .loop,
.common-background > .visual > .block > .line {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
}

.common-background > .visual > .block > .splash .i,
.common-background > .visual > .block > .loop .i,
.common-background > .visual > .block > .line .i {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 767px) {
	.common-background > .visual > .block > .splash .i,
	.common-background > .visual > .block > .loop .i,
	.common-background > .visual > .block > .line .i {
		top: 50%;
		width: 100%;
		height: auto;
		transform: translateY(-50%);
		object-fit: contain;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.common-background > .visual > .block.__01 > .splash .i,
	.common-background > .visual > .block.__01 > .loop .i,
	.common-background > .visual > .block.__01 > .line .i {
		left: -25%;
		width: 150%;
		object-fit: contain;
	}
}

.common-background > .visual > .block > .splash {
	display: none;
}

[data-page="top"] .common-background > .visual > .block > .splash {
	display: block;
}

.common-background > .mask {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	pointer-events: none;
	overflow: hidden;
	z-index: 6;
	display: none;
}

.common-background > .mask > .color {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	-webkit-mask-composite: destination-out;
	mask-composite: exclude;
}

[data-page="top"] .common-background > .mask {
	display: block;
}

.common-background > .loader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	pointer-events: none;
	overflow: hidden;
	z-index: 7;
}

.common-background > .loader > .line {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 5;
	transform: rotate(-90deg);
}

@media screen and (min-width: 768px) {
	.common-background > .loader > .line {
		width: 29rem;
		height: 29rem;
		margin-top: -14.5rem;
		margin-left: -14.5rem;
	}
}

@media screen and (max-width: 767px) {
	.common-background > .loader > .line {
		width: 56.039vw;
		height: 56.039vw;
		margin-top: -28.019vw;
		margin-left: -28.019vw;
	}
}

.common-background > .loader > .line .circle {
	fill: none;
	stroke: #464646;
	fill: transparent;
	stroke-dasharray: 628;
	stroke-dashoffset: 628;
}

.common-background > .pointer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	pointer-events: none;
	overflow: hidden;
	display: none;
}

[data-page="top"] .common-background > .pointer {
	display: block;
}

.common-background > .pointer > .icon {
	position: absolute;
	top: 50%;
	left: 50%;
	aspect-ratio: 1/1;
	z-index: 8;
}

@media screen and (min-width: 768px) {
	.common-background > .pointer > .icon {
		width: 1rem;
		height: 1rem;
		margin-top: -0.5rem;
		margin-left: -0.5rem;
	}
}

@media screen and (max-width: 767px) {
	.common-background > .pointer > .icon {
		width: 1.932vw;
		height: 1.932vw;
		margin-top: -0.966vw;
		margin-left: -0.966vw;
	}
}

.common-background > .pointer > .icon svg circle {
	fill: #dc0032;
}

.common-background > .pointer > .circle {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	z-index: 4;
}

.common-background > .pointer > .circle .i {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 768px) {
	.common-background > .pointer > .circle .i {
		object-fit: cover;
	}
}

@media screen and (max-width: 767px) {
	.common-background > .pointer > .circle .i {
		object-fit: contain;
	}
}

@media screen and (min-width: 768px) {
	.common-background > .screen {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.common-background > .screen {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 10;
	}
}

@media screen and (max-width: 767px) {
	.common-background > .screen > .color {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: rgba(239, 239, 239, 0.75);
		opacity: 0;
	}
}

.common-body {
	--textColorBase: #787878;
	--textColorDark: #464646;
	--textColorAccent: #dc0032;
	--lineColorBase: #dcdcdc;
	--headColorBase: #787878;
	position: relative;
	font-feature-settings: "palt";
	color: var(--textColorBase);
	font-family: "DENSOSansTP2017", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Meiryo", "メイリオ", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", system-ui, -apple-system, sans-serif;
	font-weight: 400;
	line-height: 2.133;
}

.common-body.js-textColorReverse {
	--textColorBase: #c8c8c8;
	--textColorDark: #c8c8c8;
	--textColorAccent: #c8c8c8;
	--lineColorBase: #464646;
	--headColorBase: #464646;
}

.__ja .common-body {
	letter-spacing: 0.02em;
}

.__en .common-body {
	letter-spacing: 0em;
}

.common-body a {
	color: inherit;
}

.common-body img,
.common-body svg {
	display: block;
	width: 100%;
	height: auto;
}

@media screen and (min-width: 768px) {
	.common-body .only-SP {
		display: none !important;
	}
}

@media screen and (max-width: 767px) {
	.common-body .only-PC {
		display: none !important;
	}
}

.common-cover {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 100;
}

.common-cover > .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: hidden;
}

.common-cover > .bg > .color {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fafafa;
	background-image: radial-gradient(circle, white 0%, rgba(255, 255, 255, 0.738) 19%, rgba(255, 255, 255, 0.541) 34%, rgba(255, 255, 255, 0.382) 47%, rgba(255, 255, 255, 0.278) 56.5%, rgba(255, 255, 255, 0.194) 65%, rgba(255, 255, 255, 0.126) 73%, rgba(255, 255, 255, 0.075) 80.2%, rgba(255, 255, 255, 0.042) 86.1%, rgba(255, 255, 255, 0.021) 91%, rgba(255, 255, 255, 0.008) 95.2%, rgba(255, 255, 255, 0.002) 98.2%, rgba(255, 255, 255, 0) 100%);
}

.common-cover > .bg > .cover {
	position: absolute;
	top: -25%;
	left: -25%;
	width: 150%;
	height: 150%;
	animation: background_noise 1s steps(3) infinite;
	background: url(../img/common/common_bg_noise.webp) repeat;
	opacity: 0.04;
	will-change: transform;
}

@media screen and (min-width: 768px) {
	.common-cover > .bg > .cover {
		background-size: 128px;
	}
}

@media screen and (max-width: 767px) {
	.common-cover > .bg > .cover {
		background-size: 64px;
	}
}

.common-cover > .area {
	position: relative;
}

.common-cover > .area > .pointer {
	display: none;
	border-radius: 50%;
	overflow: hidden;
	background: #dc0032;
	animation: cover_loading 2s cubic-bezier(0.61, 1, 0.88, 1) infinite;
}

@media screen and (min-width: 768px) {
	.common-cover > .area > .pointer {
		width: 10px;
		height: 10px;
	}
}

@media screen and (max-width: 767px) {
	.common-cover > .area > .pointer {
		width: 1.208vw;
		height: 1.208vw;
	}
}

@keyframes cover_loading {
	0% {
		opacity: 0;
		transform: scale(0.75);
	}
	50% {
		opacity: 1;
	}
	70% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: scale(1.5);
	}
}

.common-menu {
	position: fixed;
	top: 0;
	left: 230px;
	width: calc(100% - 230px);
	height: 100%;
	overflow-y: scroll;
	overflow-y: overlay;
	opacity: 0;
	visibility: hidden;
}

@media screen and (max-width: 767px) {
	.common-menu {
		left: 0;
		width: 100%;
	}
}

.common-menu > .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.common-menu > .bg > .title {
	position: absolute;
	top: 0.813rem;
	right: 2.5rem;
	text-align: right;
	display: block;
}

@media screen and (max-width: 767px) {
	.common-menu > .bg > .title {
		display: none;
	}
}

.common-menu > .bg > .title > .text {
	display: block;
	position: relative;
	font-size: 5.625rem;
	line-height: 5.625rem;
	height: 5.625rem;
	font-weight: 300;
	letter-spacing: -0.06em;
	opacity: 0.03;
	width: 100%;
}

.common-menu > .bg > .title > .text > .mask {
	position: relative;
	display: inline-block;
	overflow: hidden;
}

.common-menu > .bg > .title > .text > .mask > .t {
	display: block;
}

.common-menu > .bg > .title > .text.__02 {
	top: 0.375rem;
}

.common-menu > .area {
	margin: auto;
	position: relative;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.common-menu > .area {
		padding-top: 13.438rem;
		padding-left: 3.75rem;
		padding-right: 3.75rem;
	}
}

@media screen and (min-width: 768px) and (max-height: 47.5vw) {
	.common-menu > .area {
		height: 100%;
		padding-top: 0;
		display: flex;
		align-items: center;
		padding-bottom: 3.75rem;
	}
}

@media screen and (max-width: 767px) {
	.common-menu > .area {
		padding-top: 23.671vw;
		padding-left: 4.831vw;
		padding-right: 0vw;
	}
}

.common-menu > .area > .copyright {
	position: fixed;
}

@media screen and (min-width: 768px) {
	.common-menu > .area > .copyright {
		bottom: 50px;
		right: 1.875rem;
	}
}

@media screen and (max-width: 767px) {
	.common-menu > .area > .copyright {
		right: auto;
		bottom: 8.092vw;
		left: 5.435vw;
	}
}

.common-menu.__top > .area > .copyright {
	position: fixed;
}

@media screen and (min-width: 768px) {
	.common-menu.__top > .area > .copyright {
		bottom: 50px;
		right: 1.875rem;
	}
}

@media screen and (max-width: 767px) {
	.common-menu.__top > .area > .copyright {
		right: auto;
		bottom: 8.092vw;
		left: 5.435vw;
	}
}

@media screen and (min-width: 768px) {
	.common-navigation > .label {
		margin-bottom: 3.125rem;
	}
}

@media screen and (max-width: 767px) {
	.common-navigation > .label {
		display: none;
	}
}

.common-navigation > .list > .item:first-child {
	margin-top: 0;
}

@media screen and (min-width: 768px) {
	.common-navigation > .totop {
		margin-top: 8.125rem;
	}
}

.common-navigation.__top > .totop {
	position: fixed;
	margin-top: 0;
}

@media screen and (min-width: 768px) {
	.common-navigation.__top > .totop {
		bottom: 47px;
		margin-left: 3px;
	}
}

@media screen and (max-width: 767px) {
	.common-navigation.__top > .totop {
		bottom: 7.246vw;
		left: 6.28vw;
	}
}

@media screen and (min-width: 768px) {
	.common-navigation.__page > .label {
		margin-bottom: 2.375rem;
	}
}

@media screen and (min-width: 768px) {
	.common-navigation.__page > .list > .item {
		margin-top: 0.875rem;
	}
}

@media screen and (max-width: 767px) {
	.common-navigation.__page > .list > .item {
		margin-top: 3.019vw;
	}
}

@media screen and (max-width: 767px) {
	.common-navigation.__page > .list > .item.__sub {
		margin-bottom: 6.643vw;
	}
}

@media screen and (min-width: 768px) {
	.common-navigation.__page > .list > .item.__aside {
		margin-top: 2.5rem;
	}
}

@media screen and (max-width: 767px) {
	.common-navigation.__page > .list > .item.__aside {
		margin-top: 9.058vw;
	}
}

@media screen and (min-width: 768px) {
	.common-navigation.__page > .totop {
		margin-top: 8.125rem;
	}
}

@media screen and (max-width: 767px) {
	.common-navigation.__page > .totop {
		margin-top: 15.7vw;
		margin-bottom: 7.246vw;
		left: -3.019vw;
	}
}

.common-side-navigation {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.common-side-navigation > .nav {
	position: relative;
	padding-left: 41px;
}

.common-side-navigation > .nav > .item {
	margin-top: 17px;
}

.common-side-navigation > .nav > .item:first-child {
	margin-top: 0;
}

.common-side-navigation > .nav > .item:nth-child(4) {
	margin-top: 17px;
}

.__isMac .common-side-navigation > .nav > .item:nth-child(4) {
	margin-top: 21px;
}

.common-side-navigation > .nav > .item.__aside {
	position: fixed;
	bottom: 88px;
	left: 41px;
}

@media screen and (min-width: 768px) and (max-height: 706px) {
	.common-side-navigation > .nav > .item.__aside {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.common-side {
		position: fixed;
		top: 0;
		left: 0;
		width: 230px;
		min-height: 100%;
		height: 100vh;
		height: 100%;
		height: var(--vh);
		height: -webkit-fill-available;
		z-index: 2;
	}
}

@media screen and (max-width: 767px) {
	.common-side {
		pointer-events: none;
	}
}

@media screen and (min-width: 768px) {
	.common-side > .area {
		padding-top: 45px;
	}
}

@media screen and (min-width: 768px) {
	.common-side > .area > .line {
		position: absolute;
		top: 0;
		right: 0;
		width: 1px;
		height: 100%;
	}
}

@media screen and (max-width: 767px) {
	.common-side > .area > .line {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.common-side > .area > .head {
		padding: 0 43px;
	}
}

@media screen and (max-width: 767px) {
	.common-side > .area > .head {
		position: fixed;
		top: 0;
		left: 0;
		padding: 0 4.952vw;
		height: 14.493vw;
		border-bottom: 1px solid var(--lineColorBase);
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		z-index: 1;
	}
}

@media screen and (min-width: 768px) {
	.common-side > .area > .navigation {
		height: calc(100vh - 68px * 2);
	}
}

@media screen and (max-width: 767px) {
	.common-side > .area > .navigation {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.common-side > .area > .menu {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.common-side > .area > .language {
		position: absolute;
		bottom: 39px;
		left: 41px;
	}
}

@media screen and (min-width: 768px) {
	.common-side.__page > .area > .anker {
		top: calc(10.313rem + 100px);
	}
	.__isMac .common-side.__page > .area > .anker {
		top: calc(11.25rem + 100px);
	}
}

.common-transiton-cover {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
}

.common-transiton-cover > .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: hidden;
}

.common-transiton-cover > .bg > .color {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fafafa;
	background-image: radial-gradient(circle, white 0%, rgba(255, 255, 255, 0.738) 19%, rgba(255, 255, 255, 0.541) 34%, rgba(255, 255, 255, 0.382) 47%, rgba(255, 255, 255, 0.278) 56.5%, rgba(255, 255, 255, 0.194) 65%, rgba(255, 255, 255, 0.126) 73%, rgba(255, 255, 255, 0.075) 80.2%, rgba(255, 255, 255, 0.042) 86.1%, rgba(255, 255, 255, 0.021) 91%, rgba(255, 255, 255, 0.008) 95.2%, rgba(255, 255, 255, 0.002) 98.2%, rgba(255, 255, 255, 0) 100%);
}

.common-transiton-cover > .bg > .cover {
	position: absolute;
	top: -25%;
	left: -25%;
	width: 150%;
	height: 150%;
	animation: background_noise 1s steps(3) infinite;
	background: url(../img/common/common_bg_noise.webp) repeat;
	opacity: 0.04;
	will-change: transform;
}

@media screen and (min-width: 768px) {
	.common-transiton-cover > .bg > .cover {
		background-size: 128px;
	}
}

@media screen and (max-width: 767px) {
	.common-transiton-cover > .bg > .cover {
		background-size: 64px;
	}
}

.digital-experience-list {
	position: relative;
}

.digital-experience-list > .item {
	position: relative;
	border-top: 1px solid #dcdcdc;
}

@media screen and (min-width: 768px) {
	.digital-experience-list > .item {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 1.188rem;
		margin-top: 5rem;
		padding-top: 5rem;
	}
}

@media screen and (max-width: 767px) {
	.digital-experience-list > .item {
		margin-top: 14.493vw;
		padding-top: 14.493vw;
		width: 90.338vw;
		margin-left: -4.831vw;
	}
}

.digital-experience-list > .item:first-child {
	margin-top: 0;
	border-top: none;
	padding-top: 0;
}

@media screen and (min-width: 768px) {
	.digital-experience-list > .item > .textarea {
		width: 32.625rem;
		padding-left: 0.875rem;
	}
}

.digital-experience-list > .item > .textarea > .label {
	color: #aaa;
	letter-spacing: -0.04em;
}

@media screen and (min-width: 768px) {
	.digital-experience-list > .item > .textarea > .label {
		font-size: 0.75rem;
		line-height: 1.5;
	}
}

@media screen and (max-width: 767px) {
	.digital-experience-list > .item > .textarea > .label {
		font-size: 2.899vw;
		line-height: 1.5;
	}
}

.__en .digital-experience-list > .item > .textarea > .label {
	letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
	.digital-experience-list > .item > .textarea > .title {
		font-size: 1.25rem;
		line-height: 1.5;
	}
}

@media screen and (max-width: 767px) {
	.digital-experience-list > .item > .textarea > .title {
		font-size: 4.831vw;
		line-height: 1.5;
	}
}

.__en .digital-experience-list > .item > .textarea > .text {
	letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
	.digital-experience-list > .item > .textarea > .text {
		margin-top: 1.563rem;
		font-size: 0.938rem;
		line-height: 2;
	}
}

@media screen and (max-width: 767px) {
	.digital-experience-list > .item > .textarea > .text {
		margin-top: 6.28vw;
		font-size: 3.623vw;
		line-height: 2;
		letter-spacing: -0.01em;
	}
}

.digital-experience-list > .item > .movie {
	position: relative;
}

@media screen and (min-width: 768px) {
	.digital-experience-list > .item > .movie {
		width: 32.625rem;
		height: 18.313rem;
	}
}

@media screen and (max-width: 767px) {
	.digital-experience-list > .item > .movie {
		margin-top: 7.971vw;
		width: 100%;
		aspect-ratio: 16 / 9;
	}
}

.driven-base-list {
	position: relative;
}

@media screen and (min-width: 768px) {
	.driven-base-list > .item {
		margin-top: 5rem;
		display: flex;
		justify-content: flex-start;
		gap: 0 1.875rem;
	}
}

@media screen and (max-width: 767px) {
	.driven-base-list > .item {
		margin-top: 12.077vw;
		display: block;
	}
}

.driven-base-list > .item:first-child {
	margin-top: 0;
}

@media screen and (min-width: 768px) {
	.driven-base-list > .item > .image {
		flex-shrink: 0;
		width: 23.125rem;
		height: 12.938rem;
		overflow: hidden;
	}
}

.driven-base-list > .item > .textarea {
	position: relative;
}

@media screen and (min-width: 768px) {
	.driven-base-list > .item > .textarea {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	.driven-base-list > .item > .textarea {
		padding: 4.227vw 0 6.039vw;
	}
}

.driven-base-list > .item > .textarea > .date {
	line-height: 1;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 768px) {
	.driven-base-list > .item > .textarea > .date {
		position: absolute;
		top: 0;
		left: 0;
		font-size: 0.688rem;
	}
}

@media screen and (max-width: 767px) {
	.driven-base-list > .item > .textarea > .date {
		font-size: 2.415vw;
	}
}

.__ja .driven-base-list > .item > .textarea > .text {
	letter-spacing: 0.02em;
}

.__en .driven-base-list > .item > .textarea > .text {
	letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
	.driven-base-list > .item > .textarea > .text {
		font-size: 1.25rem;
		line-height: 2;
	}
}

@media screen and (max-width: 767px) {
	.driven-base-list > .item > .textarea > .text {
		margin-top: 1.812vw;
		font-size: 3.623vw;
		line-height: 2;
	}
}

.driven-base-list > .item > .textarea > .icon {
	position: absolute;
}

@media screen and (min-width: 768px) {
	.driven-base-list > .item > .textarea > .icon {
		bottom: 0.625rem;
		right: 0.625rem;
		width: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.driven-base-list > .item > .textarea > .icon {
		bottom: 1.691vw;
		right: 1.691vw;
		width: 1.691vw;
	}
}

.driven-base-list > .item > .textarea > .icon path {
	fill: #464646;
}

.driven-base-list > .item > .textarea > .line {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #dcdcdc;
}

.driven-base-list > .item > .textarea:first-child {
	margin-top: 0;
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.driven-base-list a.item > .image .i {
		transition: 0.4s cubic-bezier(0.61, 1, 0.88, 1);
		transition-property: transform;
	}
	.driven-base-list a.item > .textarea > .icon {
		transition: 0.4s cubic-bezier(0.61, 1, 0.88, 1);
		transition-property: transform;
	}
	.driven-base-list a.item > .textarea > .line {
		left: 0;
		width: 100%;
	}
	.driven-base-list a.item:hover > .image .i {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		transform: scale(1.1);
	}
	.driven-base-list a.item:hover > .textarea > .icon {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		transform: scale(1.2);
	}
	.driven-base-list a.item:hover > .textarea > .line {
		left: 0;
		width: 0;
		animation: common_side_menu_line 0.45s 0.1s cubic-bezier(0.61, 1, 0.88, 1) forwards;
	}
	@keyframes common_side_menu_line {
		0% {
			width: 0%;
		}
		100% {
			width: 100%;
		}
	}
}

.guideline-list {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
	.guideline-list {
		gap: 2rem 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.guideline-list {
		gap: 8.696vw 4.771vw;
	}
}

.guideline-list > .item {
	flex-shrink: 0;
}

@media screen and (min-width: 768px) {
	.guideline-list > .item {
		width: 15.938rem;
	}
}

@media screen and (max-width: 767px) {
	.guideline-list > .item {
		width: 37.923vw;
	}
}

.guideline-list > .item > .image {
	position: relative;
	overflow: hidden;
}

.guideline-list > .item > .image .i {
	position: relative;
}

.guideline-list > .item > .image > .cover {
	position: absolute;
	top: -25%;
	left: -25%;
	width: 150%;
	height: 150%;
	animation: background_noise 1s steps(3) infinite;
	background: url(../img/common/common_bg_noise.webp) repeat;
	opacity: 0.04;
	will-change: transform;
	pointer-events: none;
}

@media screen and (min-width: 768px) {
	.guideline-list > .item > .image > .cover {
		background-size: 128px;
	}
}

@media screen and (max-width: 767px) {
	.guideline-list > .item > .image > .cover {
		background-size: 64px;
	}
}

@media screen and (min-width: 768px) {
	.guideline-list > .item > .textarea {
		margin-top: 1.063rem;
	}
}

@media screen and (max-width: 767px) {
	.guideline-list > .item > .textarea {
		margin-top: 3.865vw;
	}
}

.guideline-list > .item > .textarea > .name {
	line-height: 1;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 768px) {
	.guideline-list > .item > .textarea > .name {
		font-size: 1.125rem;
	}
}

@media screen and (max-width: 767px) {
	.guideline-list > .item > .textarea > .name {
		font-size: 4.831vw;
	}
}

.guideline-list > .item > .textarea > .capter {
	color: #aaa;
}

.__ja .guideline-list > .item > .textarea > .capter {
	letter-spacing: 0.02em;
}

.__en .guideline-list > .item > .textarea > .capter {
	letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
	.guideline-list > .item > .textarea > .capter {
		margin-top: 0.813rem;
		font-size: 0.813rem;
		line-height: 1.769;
	}
}

@media screen and (max-width: 767px) {
	.guideline-list > .item > .textarea > .capter {
		margin-top: 3.382vw;
		font-size: 2.899vw;
		line-height: 4.831vw;
	}
}

.kando-ux-research-list {
	position: relative;
}

.kando-ux-research-list > .item {
	position: relative;
}

@media screen and (min-width: 768px) {
	.kando-ux-research-list > .item {
		margin-top: 5.625rem;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
}

@media screen and (max-width: 767px) {
	.kando-ux-research-list > .item {
		margin-top: 16.304vw;
	}
}

.kando-ux-research-list > .item:first-child {
	margin-top: 0;
}

.kando-ux-research-list > .item > .image {
	position: relative;
	overflow: hidden;
}

@media screen and (min-width: 768px) {
	.kando-ux-research-list > .item > .image {
		width: 31.25rem;
		height: 31.25rem;
		flex-shrink: 0;
	}
}

@media screen and (max-width: 767px) {
	.kando-ux-research-list > .item > .image {
		width: 80.676vw;
		height: 80.676vw;
	}
}

.kando-ux-research-list > .item > .image > .color {
	background: #ebebeb;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	z-index: 1;
}

.kando-ux-research-list > .item > .image > .img .i {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.kando-ux-research-list > .item > .image > .img > .cover {
	position: absolute;
	top: -25%;
	left: -25%;
	width: 150%;
	height: 150%;
	animation: background_noise 1s steps(3) infinite;
	background: url(../img/common/common_bg_noise.webp) repeat;
	opacity: 0.04;
	will-change: transform;
	pointer-events: none;
}

@media screen and (min-width: 768px) {
	.kando-ux-research-list > .item > .image > .img > .cover {
		background-size: 128px;
	}
}

@media screen and (max-width: 767px) {
	.kando-ux-research-list > .item > .image > .img > .cover {
		background-size: 64px;
	}
}

@media screen and (min-width: 768px) {
	.kando-ux-research-list > .item > .textarea {
		margin-left: auto;
		flex-shrink: 0;
		width: 31.25rem;
	}
}

@media screen and (max-width: 767px) {
	.kando-ux-research-list > .item > .textarea {
		margin-top: 9.662vw;
	}
}

@media screen and (min-width: 768px) {
	.kando-ux-research-list > .item > .textarea > .lead {
		font-size: 1.25rem;
		line-height: 1.6;
		letter-spacing: 0.02em;
	}
}

@media screen and (max-width: 767px) {
	.kando-ux-research-list > .item > .textarea > .lead {
		font-size: 4.831vw;
		line-height: 1.5;
		letter-spacing: 0.01em;
	}
}

@media screen and (min-width: 768px) {
	.kando-ux-research-list > .item > .textarea > .text {
		margin-top: 0.938rem;
		font-size: 0.938rem;
		line-height: 2.133;
	}
	.__ja .kando-ux-research-list > .item > .textarea > .text {
		letter-spacing: 0.01em;
	}
	.__en .kando-ux-research-list > .item > .textarea > .text {
		letter-spacing: 0em;
	}
}

@media screen and (max-width: 767px) {
	.kando-ux-research-list > .item > .textarea > .text {
		margin-top: 3.623vw;
		font-size: 3.623vw;
		line-height: 2;
	}
	.__ja .kando-ux-research-list > .item > .textarea > .text {
		letter-spacing: 0.02em;
	}
	.__en .kando-ux-research-list > .item > .textarea > .text {
		letter-spacing: 0em;
	}
}

.master-plan-list {
	position: relative;
}

@media screen and (min-width: 768px) {
	.master-plan-list {
		padding: 0 3.125rem;
	}
}

.master-plan-list > .item {
	position: relative;
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item {
		width: 25rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item {
		margin-top: 26.57vw;
	}
	.master-plan-list > .item:first-child {
		margin-top: 0;
	}
}

.master-plan-list > .item > .label {
	line-height: 1;
	letter-spacing: 0.05em;
	color: #aaa;
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item > .label {
		position: absolute;
		top: 0;
		left: 0;
		font-size: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item > .label {
		position: relative;
		display: inline-block;
		font-size: 2.415vw;
	}
}

.master-plan-list > .item > .label > .line {
	position: absolute;
	top: 50%;
	display: block;
	height: 1px;
	background-color: #aaa;
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item > .label > .line {
		right: -3.438rem;
		width: 2.813rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item > .label > .line {
		right: -12.681vw;
		width: 9.058vw;
	}
}

.master-plan-list > .item > .image {
	position: relative;
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item > .image {
		height: 25.625rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item > .image {
		height: 72.464vw;
		width: 100vw;
		margin-left: -9.662vw;
	}
}

.master-plan-list > .item > .image .i {
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item > .textarea {
		margin-top: 6.039vw;
	}
}

.__ja .master-plan-list > .item > .textarea > .lead {
	letter-spacing: 0.05em;
}

.__en .master-plan-list > .item > .textarea > .lead {
	letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item > .textarea > .lead {
		font-size: 1.25rem;
		line-height: 1.6;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item > .textarea > .lead {
		font-size: 4.831vw;
		line-height: 1.5;
	}
}

.__ja .master-plan-list > .item > .textarea > .text {
	letter-spacing: 0.02em;
}

.__en .master-plan-list > .item > .textarea > .text {
	letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item > .textarea > .text {
		margin-top: 1.25rem;
		font-size: 0.938rem;
		line-height: 2.133;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item > .textarea > .text {
		margin-top: 4.831vw;
		font-size: 3.623vw;
		line-height: 2;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__01 > .image {
		height: 25.625rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item.__01 > .image {
		height: 66.425vw;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__01 > .image .i {
		width: 55.875rem;
		height: 23.125rem;
		top: 0.938rem;
		left: 2.813rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item.__01 > .image .i {
		width: 100vw;
		height: 58.454vw;
		top: 6.643vw;
		left: 0vw;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__02 {
		margin-left: auto;
		margin-top: -6rem;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__02 > .image {
		height: 25.938rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item.__02 > .image {
		height: 66.425vw;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__02 > .image .i {
		width: 37.313rem;
		height: 21.813rem;
		top: 3.125rem;
		left: -7.5rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item.__02 > .image .i {
		width: 90.097vw;
		height: 54.831vw;
		top: 8.454vw;
		left: 0vw;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__03 {
		margin-top: -10rem;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__03 > .image {
		height: 26.25rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item.__03 > .image {
		height: 66.425vw;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__03 > .image .i {
		width: 34.063rem;
		height: 23.438rem;
		top: 4.375rem;
		left: -3.75rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item.__03 > .image .i {
		width: 90.459vw;
		height: 62.319vw;
		top: 7.85vw;
		left: 3.623vw;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__04 {
		margin-left: auto;
		margin-top: -8rem;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__04 > .image {
		height: 26.875rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item.__04 > .image {
		height: 66.425vw;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__04 > .image .i {
		width: 31.75rem;
		height: 24.875rem;
		top: 3.125rem;
		left: -2.5rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item.__04 > .image .i {
		width: 80.314vw;
		height: 62.681vw;
		top: 9.058vw;
		left: 9.662vw;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__05 {
		margin-top: -10rem;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__05 > .image {
		height: 26.25rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item.__05 > .image {
		height: 66.425vw;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__05 > .image .i {
		width: 31.188rem;
		height: 18.875rem;
		top: 4.375rem;
		left: -3.125rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item.__05 > .image .i {
		width: 89.614vw;
		height: 54.106vw;
		top: 9.058vw;
		left: 4.831vw;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__06 {
		margin-left: auto;
		margin-top: -8rem;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__06 > .image {
		height: 26.563rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item.__06 > .image {
		height: 66.425vw;
	}
}

@media screen and (min-width: 768px) {
	.master-plan-list > .item.__06 > .image .i {
		width: 40.75rem;
		height: 22.5rem;
		top: 3.75rem;
		left: -13.438rem;
	}
}

@media screen and (max-width: 767px) {
	.master-plan-list > .item.__06 > .image .i {
		width: 100vw;
		height: 63.647vw;
		top: 6.643vw;
		left: 0vw;
	}
}

.page-body {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-body > .movie {
		margin-top: 8.75rem;
	}
}

@media screen and (max-width: 767px) {
	.page-body > .movie {
		margin-top: 16.908vw;
	}
}

@media screen and (min-width: 768px) {
	.page-body > .image {
		margin-top: 8.75rem;
	}
}

@media screen and (max-width: 767px) {
	.page-body > .image {
		margin-top: 16.908vw;
	}
}

@media screen and (min-width: 768px) {
	.page-body > .contents {
		margin-top: 15.625rem;
	}
}

@media screen and (max-width: 767px) {
	.page-body > .contents {
		margin-top: 39.855vw;
	}
}

@media screen and (min-width: 768px) {
	.page-body > .next {
		margin-top: 21.25rem;
	}
}

@media screen and (max-width: 767px) {
	.page-body > .next {
		margin-top: 48.309vw;
	}
}

@media screen and (min-width: 768px) {
	.page-body > .back {
		margin-top: 15.625rem;
	}
}

@media screen and (max-width: 767px) {
	.page-body > .back {
		margin-top: 39.855vw;
	}
}

@media screen and (min-width: 768px) {
	.page-body > .other {
		margin-top: 18.75rem;
	}
}

@media screen and (max-width: 767px) {
	.page-body > .other {
		margin-top: 36.232vw;
	}
}

@media screen and (min-width: 768px) {
	.page-body > .footer {
		margin-top: 11.563rem;
	}
}

@media screen and (max-width: 767px) {
	.page-body > .footer {
		margin-top: 16.908vw;
	}
}

.page-body *:first-child {
	margin-top: 0;
}

@media screen and (min-width: 768px) {
	.page-body > *.__short {
		margin-top: 6.25rem;
	}
}

@media screen and (max-width: 767px) {
	.page-body > *.__short {
		margin-top: 48.309vw;
	}
}

@media screen and (max-width: 767px) {
	.page-body.__under {
		overflow: hidden;
	}
}

.page-contents {
	position: relative;
	margin-right: auto;
	margin-left: auto;
}

@media screen and (min-width: 768px) {
	.page-contents {
		width: 65.625rem;
		margin-left: 10rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.page-contents {
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (max-width: 767px) {
	.page-contents {
		width: 90.338vw;
	}
}

.page-contents > .head {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-contents > .head > .area > .lead {
		margin-top: 2.25rem;
	}
}

@media screen and (max-width: 767px) {
	.page-contents > .head > .area > .lead {
		margin-top: 11.473vw;
	}
}

.page-contents > .body {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-contents > .body {
		margin-top: 8.125rem;
	}
}

@media screen and (max-width: 767px) {
	.page-contents > .body {
		margin-top: 22.947vw;
	}
}

@media screen and (max-width: 767px) {
	.page-contents > .body > .area {
		width: 80.676vw;
		margin: 0 auto;
	}
}

@media screen and (min-width: 768px) {
	.page-contents > .body > .area > .block {
		margin-top: 5.625rem;
	}
}

@media screen and (max-width: 767px) {
	.page-contents > .body > .area > .block {
		margin-top: 26.57vw;
	}
}

@media screen and (min-width: 768px) {
	.page-contents > .body > .area > .block.__full {
		margin-left: -10rem;
		width: calc(var(--vw) - 230px);
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.page-contents > .body > .area > .block.__full {
		margin-left: calc((var(--vw) - 230px - 65.625rem) * -0.5);
	}
}

@media screen and (max-width: 767px) {
	.page-contents > .body > .area > .block.__full {
		margin-left: -9.662vw;
	}
}

.page-contents > .body > .area > .block:first-child {
	margin-top: 0;
}

@media screen and (min-width: 768px) {
	.page-contents > .body > .area > .block.__short {
		margin-top: 5rem;
	}
}

@media screen and (max-width: 767px) {
	.page-contents > .body > .area > .block.__short {
		margin-top: 12.077vw;
	}
}

@media screen and (min-width: 768px) {
	.page-contents > .body > .area > .block.__aside {
		margin-top: 1.25rem;
	}
}

@media screen and (min-width: 768px) {
	.page-contents.__under {
		width: 59.375rem;
		margin-left: 13.125rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.page-contents.__under {
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (min-width: 768px) {
	.page-contents.__under > .body {
		margin-top: 5.938rem;
	}
}

@media screen and (max-width: 767px) {
	.page-contents.__under > .body {
		margin-top: 24.155vw;
	}
}

.page-contents > *:first-child {
	margin-top: 0;
}

.page-footer {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-footer {
		padding-bottom: 3.125rem;
	}
}

.page-footer > .area {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-footer > .area {
		padding-left: 3.75rem;
	}
}

@media screen and (max-width: 767px) {
	.page-footer > .area {
		padding-left: 9.662vw;
	}
}

.page-footer > .area > .copyright {
	position: absolute;
}

@media screen and (min-width: 768px) {
	.page-footer > .area > .copyright {
		right: 3.75rem;
		bottom: 0rem;
	}
}

@media screen and (max-width: 767px) {
	.page-footer > .area > .copyright {
		right: 4.831vw;
		bottom: 0vw;
	}
}

.page-head {
	position: relative;
	display: flex;
}

@media screen and (min-width: 768px) {
	.page-head {
		width: 100%;
		height: 47.125rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head {
		height: 124.638vw;
	}
}

.page-head > .graphic {
	opacity: 0;
}

@media screen and (min-width: 768px) {
	.page-head > .graphic {
		position: fixed;
		top: 0;
		left: 230px;
		width: calc(100% - 230px);
		height: 56.25rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head > .graphic {
		position: fixed;
		top: calc(var(--fv) * 0.15);
		left: 0;
		width: 100%;
		height: calc(var(--fv) * 0.7);
	}
}

.page-head > .area {
	margin-top: auto;
}

@media screen and (min-width: 768px) {
	.page-head > .area {
		position: relative;
		margin-bottom: 13.75rem;
		padding: 0 3.75rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head > .area {
		margin-bottom: 14.493vw;
		padding: 0 4.831vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head > .area > .textarea > .breadcrumb {
		margin-top: 1.688rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head > .area > .textarea > .breadcrumb {
		margin-top: 2.295vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head > .area > .textarea > .lead {
		margin-top: 1.875rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head > .area > .textarea > .lead {
		margin-top: 7.246vw;
	}
}

@media screen and (max-width: 767px) {
	.page-head > .scroll {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__contact-us {
		height: 24.063rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__contact-us {
		height: 45.29vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__contact-us > .area {
		margin-bottom: 5rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__contact-us > .area {
		margin-bottom: 12.077vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__contact-us > .area > .textarea > .breadcrumb {
		margin-top: 1.25rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__contact-us > .area > .textarea > .breadcrumb {
		margin-top: 3.623vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__privacy {
		height: 23.125rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__privacy {
		height: 82.729vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__privacy > .area {
		margin-bottom: 4.063rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__privacy > .area {
		margin-bottom: 22.343vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__privacy > .area > .textarea > .breadcrumb {
		margin-top: 1.25rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__privacy > .area > .textarea > .breadcrumb {
		margin-top: 3.623vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__driven-base {
		height: 28.75rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__driven-base {
		height: 48.913vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__driven-base > .area {
		margin-bottom: 10rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__driven-base > .area {
		margin-bottom: 14.493vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__driven-base > .area > .textarea > .breadcrumb {
		margin-top: 0.938rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__driven-base > .area > .textarea > .breadcrumb {
		margin-top: 3.623vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__under {
		height: 25rem;
		margin: 8.125rem 0 12.5rem;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		overflow: hidden;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__under {
		height: auto;
		display: block;
		margin-bottom: 24.155vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__under > .area {
		position: relative;
		z-index: 1;
		margin-top: auto;
		margin-bottom: 4.25rem;
		margin-left: 3.125rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__under > .area {
		height: 68.841vw;
		margin-bottom: 0;
		display: flex;
		align-items: center;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__under > .area > .textarea > .breadcrumb {
		margin-top: 1.125rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__under > .area > .textarea > .breadcrumb {
		margin-top: 3.623vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__under > .area > .textarea > .lead {
		margin-top: 1.875rem;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__under > .area > .textarea > .lead {
		margin-top: 7.246vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__under > .visual {
		position: absolute;
		flex-shrink: 0;
		left: 35rem;
		width: 46.875rem;
		height: 25rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.page-head.__under > .visual {
		right: 0;
		left: auto;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__under > .visual {
		position: relative;
		margin: 0 auto;
		width: 90.338vw;
		height: 45.169vw;
	}
}

@media screen and (min-width: 768px) {
	.page-head.__under > .anker {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.page-head.__under > .anker {
		position: relative;
		margin: 0 auto;
		margin-top: 7.246vw;
		width: 90.338vw;
	}
}

@media screen and (min-width: 768px) {
	.page-header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 103px;
		border-bottom: 1px solid #dcdcdc;
		z-index: 1;
	}
}

@media screen and (max-width: 767px) {
	.page-header {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.page-header > .bg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		overflow: hidden;
	}
	.page-header > .bg > .color {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.page-header > .bg > .color > .c {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		visibility: hidden;
		z-index: 0;
	}
	.page-header > .bg > .color > .c.__base {
		background-color: #fafafa;
		background-image: radial-gradient(circle, white 0%, rgba(255, 255, 255, 0.738) 19%, rgba(255, 255, 255, 0.541) 34%, rgba(255, 255, 255, 0.382) 47%, rgba(255, 255, 255, 0.278) 56.5%, rgba(255, 255, 255, 0.194) 65%, rgba(255, 255, 255, 0.126) 73%, rgba(255, 255, 255, 0.075) 80.2%, rgba(255, 255, 255, 0.042) 86.1%, rgba(255, 255, 255, 0.021) 91%, rgba(255, 255, 255, 0.008) 95.2%, rgba(255, 255, 255, 0.002) 98.2%, rgba(255, 255, 255, 0) 100%);
		opacity: 1;
		visibility: visible;
	}
	.page-header > .bg > .color > .c.__footer {
		background-color: #605c5c;
		background-image: radial-gradient(circle, #6a6767 0%, rgba(106, 103, 103, 0.738) 19%, rgba(106, 103, 103, 0.541) 34%, rgba(106, 103, 103, 0.382) 47%, rgba(106, 103, 103, 0.278) 56.5%, rgba(106, 103, 103, 0.194) 65%, rgba(106, 103, 103, 0.126) 73%, rgba(106, 103, 103, 0.075) 80.2%, rgba(106, 103, 103, 0.042) 86.1%, rgba(106, 103, 103, 0.021) 91%, rgba(106, 103, 103, 0.008) 95.2%, rgba(106, 103, 103, 0.002) 98.2%, rgba(106, 103, 103, 0) 100%);
	}
	.page-header > .bg > .color > .c.__menu {
		background: #1b1b1b;
	}
	.page-header > .bg > .cover {
		position: absolute;
		top: -25%;
		left: -25%;
		width: 150%;
		height: 150%;
		z-index: 1;
		animation: background_noise 1s steps(3) infinite;
		background: url(../img/common/common_bg_noise.webp) repeat;
		opacity: 0.04;
		will-change: transform;
	}
}

@media screen and (min-width: 768px) and (min-width: 768px) {
	.page-header > .bg > .cover {
		background-size: 128px;
	}
}

@media screen and (min-width: 768px) and (max-width: 767px) {
	.page-header > .bg > .cover {
		background-size: 64px;
	}
}

@media screen and (max-width: 767px) {
	.page-header > .bg {
		display: none;
	}
}

.page-header > .area {
	position: relative;
	padding-left: calc(230px + 3.75rem);
	height: 100%;
	z-index: 2;
}

.page-header > .area > .navigation {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 3rem;
	height: 100%;
}

.page-header > .area > .navigation > .item {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 100%;
}

.page-header > .area > .navigation > .item > .link {
	position: relative;
	top: -0.188rem;
}

.page-header > .area > .navigation > .item > .link > .text {
	font-size: 0.813rem;
	letter-spacing: 0.02em;
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.page-header > .area > .navigation > .item > .link + .line {
		left: auto;
		right: 0;
		width: 0;
		transition: 0.2s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: width;
	}
	.page-header > .area > .navigation > .item > .link:hover + .line {
		right: auto;
		left: 0;
		transition: 0.25s cubic-bezier(0, 0.55, 0.45, 1);
		width: 100%;
	}
}

.page-header > .area > .navigation > .item > .line {
	position: absolute;
	bottom: -1px;
	left: 0;
	height: 2px;
	width: 100%;
	background-color: var(--textColorBase);
	left: auto;
	right: 0;
	width: 0;
}

.page-header > .area > .navigation > .item.__current > .line {
	width: 100%;
}

.page-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	display: flex;
	justify-content: center;
	align-items: center;
	display: none;
	z-index: 20;
}

.page-modal > .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
}

.page-modal > .area {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-modal > .area {
		width: 66.625rem;
		min-width: calc(360px * (16 / 9));
		max-width: calc((100vh - 16.563rem) * (16 / 9));
		height: 37.5rem;
		min-height: 360px;
		max-height: calc(100vh - 16.563rem);
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area {
		width: 91.063vw;
		height: 50.966vw;
	}
}

.page-modal > .area > .close {
	position: absolute;
	right: 0;
	color: #fff;
	letter-spacing: 0.02em;
	line-height: 1;
}

@media screen and (min-width: 768px) {
	.page-modal > .area > .close {
		top: -3.75rem;
		font-size: 0.813rem;
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .close {
		top: -9.662vw;
		font-size: 2.657vw;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.page-modal > .area > .close {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: opacity;
	}
	.page-modal > .area > .close:hover {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		opacity: 0.5;
	}
}

.page-modal > .area > .player {
	position: relative;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.page-modal > .area > .player .i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	filter: drop-shadow(0px 0px #000);
}

.page-modal > .area > .player > .cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	z-index: 1;
}

.page-modal > .area > .tools {
	position: absolute;
	left: 0;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.page-modal > .area > .tools {
		bottom: -3.75rem;
		gap: 1.875rem;
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools {
		top: calc(100% + 4.831vw);
		gap: 7.85vw 3.019vw;
	}
}

.page-modal > .area > .tools > .control {
	position: relative;
	flex-shrink: 0;
}

.page-modal > .area > .tools > .control > .button {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	line-height: 1;
	pointer-events: none;
}

@media screen and (min-width: 768px) {
	.page-modal > .area > .tools > .control > .button {
		gap: 0.625rem;
		width: 3.875rem;
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .control > .button {
		gap: 1.812vw;
	}
}

.page-modal > .area > .tools > .control > .button > .icon {
	position: relative;
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .control > .button > .icon {
		width: 7.246vw;
		height: 7.246vw;
		display: flex;
		justify-content: center;
		align-items: center;
	}
}

.page-modal > .area > .tools > .control > .button > .icon > .i {
	display: block;
	background: no-repeat right center;
	background-size: contain;
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .control > .button > .icon > .line {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 7.246vw;
		height: 7.246vw;
		margin-top: -3.623vw;
		margin-left: -3.623vw;
		border-radius: 50%;
		border: 1px solid #fff;
	}
}

.page-modal > .area > .tools > .control > .button > .text {
	letter-spacing: 0.02em;
	color: #fff;
}

@media screen and (min-width: 768px) {
	.page-modal > .area > .tools > .control > .button > .text {
		font-size: 0.813rem;
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .control > .button > .text {
		font-size: 2.657vw;
	}
}

.page-modal > .area > .tools > .control > .button.__pause {
	position: relative;
}

.page-modal > .area > .tools > .control > .button.__pause > .icon > .i {
	background-image: url(../img/common/icon_stop.svg);
}

@media screen and (min-width: 768px) {
	.page-modal > .area > .tools > .control > .button.__pause > .icon > .i {
		width: 0.75rem;
		height: 0.813rem;
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .control > .button.__pause > .icon > .i {
		width: 1.449vw;
		height: 1.57vw;
	}
}

.page-modal > .area > .tools > .control > .button.__play {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.page-modal > .area > .tools > .control > .button.__play > .icon > .i {
	background-image: url(../img/common/icon_play.svg);
}

@media screen and (min-width: 768px) {
	.page-modal > .area > .tools > .control > .button.__play > .icon > .i {
		width: 0.75rem;
		height: 0.563rem;
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .control > .button.__play > .icon > .i {
		width: 1.691vw;
		height: 1.329vw;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.page-modal > .area > .tools > .control {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: opacity;
	}
	.page-modal > .area > .tools > .control:hover {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		opacity: 0.5;
	}
}

.page-modal > .area > .tools > .control[data-player-control] > .button {
	transition: 0.3s cubic-bezier(0.61, 1, 0.88, 1);
	transition-property: opacity, visibility;
	opacity: 0;
	visibility: hidden;
}

.page-modal > .area > .tools > .control[data-player-control="play"] > .button.__play {
	opacity: 1;
	visibility: visible;
}

.page-modal > .area > .tools > .control[data-player-control="pause"] > .button.__pause {
	opacity: 1;
	visibility: visible;
}

.page-modal > .area > .tools > .seek {
	position: relative;
	overflow: hidden;
	display: block;
	background: #fff;
}

@media screen and (min-width: 768px) {
	.page-modal > .area > .tools > .seek {
		width: 100%;
		height: 0.25rem;
		border-radius: 0.125rem;
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .seek {
		width: 100%;
		height: 0.483vw;
		height: 2px;
		border-radius: 0.242vw;
	}
}

.page-modal > .area > .tools > .seek > .color {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 0%;
	height: 120%;
	background: #dc0032;
	will-change: width;
}

.page-modal > .area > .tools > .time {
	flex-shrink: 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	letter-spacing: 0.02em;
	color: #fff;
}

@media screen and (min-width: 768px) {
	.page-modal > .area > .tools > .time {
		gap: 0.25rem;
		font-size: 0.813rem;
		width: 4.875rem;
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .time {
		gap: 0.362vw;
		font-size: 2.657vw;
		width: 14.493vw;
	}
}

.page-modal > .area > .tools > .time > .current {
	width: 3em;
}

.page-modal > .area > .tools > .time > .total {
	width: 3em;
}

.page-modal > .area > .tools > .sound {
	position: relative;
	flex-shrink: 0;
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .sound {
		margin-left: auto;
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .sound {
		position: absolute;
		right: 3.321vw;
		bottom: -7.85vw;
		margin-left: auto;
	}
}

.page-modal > .area > .tools > .sound > .button {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	line-height: 1;
}

@media screen and (min-width: 768px) {
	.page-modal > .area > .tools > .sound > .button {
		gap: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .sound > .button {
		gap: 1.812vw;
	}
}

.page-modal > .area > .tools > .sound > .button > .icon {
	position: relative;
	display: block;
	background: no-repeat left center;
	background-size: contain;
	flex-shrink: 0;
}

.page-modal > .area > .tools > .sound > .button > .icon > .i {
	display: block;
	background: no-repeat right center;
	background-size: contain;
}

@media screen and (min-width: 768px) {
	.page-modal > .area > .tools > .sound > .button > .icon > .i {
		width: 1.063rem;
		height: 0.813rem;
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .sound > .button > .icon > .i {
		width: 3.019vw;
		height: 2.174vw;
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .sound > .button > .icon > .line {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 9.662vw;
		height: 9.662vw;
		margin-top: -4.831vw;
		margin-left: -4.831vw;
		border-radius: 50%;
		border: 1px solid #fff;
	}
}

.page-modal > .area > .tools > .sound > .button > .text {
	letter-spacing: 0.02em;
	color: #fff;
	display: block;
	line-height: 1;
}

@media screen and (min-width: 768px) {
	.page-modal > .area > .tools > .sound > .button > .text {
		font-size: 0.813rem;
	}
}

@media screen and (max-width: 767px) {
	.page-modal > .area > .tools > .sound > .button > .text {
		font-size: 2.657vw;
	}
}

.page-modal > .area > .tools > .sound > .button.__on {
	position: relative;
}

.page-modal > .area > .tools > .sound > .button.__on > .icon > .i {
	background-image: url(../img/common/icon_sound_off.svg);
}

.page-modal > .area > .tools > .sound > .button.__off {
	position: absolute;
	top: 0;
	left: 0;
}

.page-modal > .area > .tools > .sound > .button.__off > .icon > .i {
	background-image: url(../img/common/icon_sound_on.svg);
}

.page-modal > .area > .tools > .sound[data-player-sound] > .button {
	transition: 0.3s cubic-bezier(0.61, 1, 0.88, 1);
	transition-property: opacity, visibility;
	opacity: 0;
	visibility: hidden;
}

.page-modal > .area > .tools > .sound[data-player-sound="on"] > .button.__on {
	opacity: 1;
	visibility: visible;
}

.page-modal > .area > .tools > .sound[data-player-sound="off"] > .button.__off {
	opacity: 1;
	visibility: visible;
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.page-modal > .area > .tools > .sound {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: opacity;
	}
	.page-modal > .area > .tools > .sound:hover {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		opacity: 0.5;
	}
}

.page-other {
	position: relative;
}

.page-other > .bg {
	position: absolute;
	top: 0;
	left: -230px;
	width: calc(100% + 230px);
	height: 100%;
	pointer-events: none;
	overflow: hidden;
	background: #f5f5f5;
}

.page-other > .bg > .cover {
	position: absolute;
	top: -25%;
	left: -25%;
	width: 150%;
	height: 150%;
	animation: background_noise 1s steps(3) infinite;
	background: url(../img/common/common_bg_noise.webp) repeat;
	opacity: 0.04;
	will-change: transform;
}

@media screen and (min-width: 768px) {
	.page-other > .bg > .cover {
		background-size: 128px;
	}
}

@media screen and (max-width: 767px) {
	.page-other > .bg > .cover {
		background-size: 64px;
	}
}

.page-other > .area {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-other > .area {
		width: 75rem;
		margin-left: 3.75rem;
		padding: 7.5rem 0 8.125rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.page-other > .area {
		width: calc(100% - 6.875rem);
	}
}

@media screen and (max-width: 767px) {
	.page-other > .area {
		padding: 21.739vw 0 0;
	}
}

@media screen and (max-width: 767px) {
	.page-other > .area > .title {
		padding: 0 4.831vw;
	}
}

@media screen and (min-width: 768px) {
	.page-other > .area > .list {
		margin-top: 4.375rem;
		margin-left: 9.375rem;
		width: calc(var(--vw) - 230px);
		margin-left: -3.75rem;
		padding-left: 13.125rem;
		padding-right: 6.875rem;
	}
}

@media screen and (max-width: 767px) {
	.page-other > .area > .list {
		margin-top: 13.527vw;
		padding-left: 4.831vw;
		padding-right: 14.493vw;
	}
}

@media screen and (min-width: 768px) {
	.page-other > .area > .pager {
		position: absolute;
		top: 8.438rem;
		right: 0;
	}
}

@media screen and (max-width: 767px) {
	.page-other > .area > .pager {
		margin-top: 10.87vw;
		position: relative;
		width: 100%;
	}
}

.page-wrapper {
	position: relative;
}

@media screen and (min-width: 768px) {
	.page-wrapper {
		padding-left: 230px;
	}
}

@media screen and (max-width: 767px) {
	.page-wrapper {
		padding-top: 14.493vw;
	}
	.page-wrapper > .bg {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 14.493vw;
		pointer-events: none;
		overflow: hidden;
		z-index: 1;
	}
	.page-wrapper > .bg > .color {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.page-wrapper > .bg > .color > .c {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		visibility: hidden;
		z-index: 0;
	}
	.page-wrapper > .bg > .color > .c.__base {
		background-color: #fafafa;
		background-image: radial-gradient(circle, white 0%, rgba(255, 255, 255, 0.738) 19%, rgba(255, 255, 255, 0.541) 34%, rgba(255, 255, 255, 0.382) 47%, rgba(255, 255, 255, 0.278) 56.5%, rgba(255, 255, 255, 0.194) 65%, rgba(255, 255, 255, 0.126) 73%, rgba(255, 255, 255, 0.075) 80.2%, rgba(255, 255, 255, 0.042) 86.1%, rgba(255, 255, 255, 0.021) 91%, rgba(255, 255, 255, 0.008) 95.2%, rgba(255, 255, 255, 0.002) 98.2%, rgba(255, 255, 255, 0) 100%);
		opacity: 1;
		visibility: visible;
	}
	.page-wrapper > .bg > .color > .c.__footer {
		background-color: #605c5c;
		background-image: radial-gradient(circle, #6a6767 0%, rgba(106, 103, 103, 0.738) 19%, rgba(106, 103, 103, 0.541) 34%, rgba(106, 103, 103, 0.382) 47%, rgba(106, 103, 103, 0.278) 56.5%, rgba(106, 103, 103, 0.194) 65%, rgba(106, 103, 103, 0.126) 73%, rgba(106, 103, 103, 0.075) 80.2%, rgba(106, 103, 103, 0.042) 86.1%, rgba(106, 103, 103, 0.021) 91%, rgba(106, 103, 103, 0.008) 95.2%, rgba(106, 103, 103, 0.002) 98.2%, rgba(106, 103, 103, 0) 100%);
	}
	.page-wrapper > .bg > .color > .c.__menu {
		background: #1b1b1b;
	}
	.page-wrapper > .bg > .cover {
		position: absolute;
		top: -25%;
		left: -25%;
		width: 150%;
		height: 150%;
		animation: background_noise 1s steps(3) infinite;
		background: url(../img/common/common_bg_noise.webp) repeat;
		opacity: 0.04;
		will-change: transform;
		z-index: 3;
	}
}

@media screen and (max-width: 767px) and (min-width: 768px) {
	.page-wrapper > .bg > .cover {
		background-size: 128px;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) {
	.page-wrapper > .bg > .cover {
		background-size: 64px;
	}
}

.principle-list {
	position: relative;
}

@media screen and (min-width: 768px) {
	.principle-list {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 6.25rem 3.094rem;
	}
}

@media screen and (min-width: 768px) {
	.principle-list > .item {
		flex-shrink: 0;
		width: 31.25rem;
	}
}

@media screen and (max-width: 767px) {
	.principle-list > .item {
		margin-top: 12.077vw;
	}
	.principle-list > .item:first-child {
		margin-top: 0;
	}
}

.privacy-list {
	position: relative;
}

@media screen and (min-width: 768px) {
	.privacy-list > .item {
		margin-top: 5.625rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-list > .item {
		margin-top: 21.739vw;
	}
}

.privacy-list > .item:first-child {
	margin-top: 0;
}

.privacy-list > .item > .title {
	position: relative;
}

@media screen and (max-width: 767px) {
	.privacy-list > .item > .title {
		width: 90.338vw;
		margin-left: -4.831vw;
	}
}

@media screen and (min-width: 768px) {
	.privacy-list > .item > .title > .text {
		font-size: 1.25rem;
		line-height: 1.75;
	}
}

@media screen and (max-width: 767px) {
	.privacy-list > .item > .title > .text {
		font-size: 4.831vw;
		line-height: 1.5;
	}
}

@media screen and (min-width: 768px) {
	.privacy-list > .item > .title > .line {
		top: calc(100% + 0.938rem);
	}
}

@media screen and (max-width: 767px) {
	.privacy-list > .item > .title > .line {
		top: calc(100% + 1.932vw);
	}
}

@media screen and (min-width: 768px) {
	.privacy-list > .item > .textarea > .block {
		margin-top: 2.188rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-list > .item > .textarea > .block {
		margin-top: 3.623vw;
	}
}

.__en .privacy-list > .item > .textarea > .block {
	margin-top: 0;
}

@media screen and (min-width: 768px) {
	.privacy-list > .item > .textarea > .block:first-child {
		margin-top: 4.375rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-list > .item > .textarea > .block:first-child {
		margin-top: 10.87vw;
	}
}

@media screen and (min-width: 768px) {
	.privacy-list > .item > .textarea > .text {
		font-size: 0.938rem;
		line-height: 2.133;
	}
}

@media screen and (max-width: 767px) {
	.privacy-list > .item > .textarea > .text {
		font-size: 3.623vw;
		line-height: 2;
	}
}

.privacy-list > .item > .textarea > .list > .item {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

@media screen and (min-width: 768px) {
	.privacy-list > .item > .textarea > .list > .item {
		font-size: 0.938rem;
		line-height: 2.133;
	}
}

@media screen and (max-width: 767px) {
	.privacy-list > .item > .textarea > .list > .item {
		font-size: 3.623vw;
		line-height: 2;
	}
}

.privacy-list > .item > .textarea > .list > .item > .head {
	display: block;
	flex-shrink: 0;
}

@media screen and (min-width: 768px) {
	.privacy-list > .item > .textarea > .list > .item > .head {
		width: 1.5em;
	}
}

@media screen and (max-width: 767px) {
	.privacy-list > .item > .textarea > .list > .item > .head {
		width: 1.5em;
	}
}

.privacy-list > .item > .textarea > .list > .item > .body {
	display: block;
	width: 100%;
}

.privacy-list > .item > .textarea .link {
	position: relative;
	display: inline-flex;
	justify-content: flex-start;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.privacy-list > .item > .textarea .link {
		gap: 0.188rem;
		margin: 0 0.125rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-list > .item > .textarea .link {
		gap: 0.362vw;
		margin: 0 0.483vw;
		word-break: break-word;
		display: inline;
		text-decoration: underline;
	}
}

.privacy-list > .item > .textarea .link > .icon {
	width: 0.563rem;
}

@media screen and (min-width: 768px) {
	.privacy-list > .item > .textarea .link > .icon {
		width: 0.563rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-list > .item > .textarea .link > .icon {
		position: relative;
		display: inline-block;
		width: 1.691vw;
		margin-left: 0.725vw;
		top: -0.121vw;
		vertical-align: baseline;
	}
}

.privacy-list > .item > .textarea .link > .icon path {
	fill: #787878;
}

.privacy-list > .item > .textarea .link > .line {
	position: absolute;
	top: calc(100% - 0.313rem);
	left: 0;
	width: 100%;
	height: 1px;
	background: #787878;
}

@media screen and (max-width: 767px) {
	.privacy-list > .item > .textarea .link > .line {
		display: none;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.privacy-list > .item > .textarea .link:hover > .line {
		display: none;
	}
}

.__en .privacy-list > .item > .textarea .link.__cookie {
	top: -0.13em;
}

.__en .__isMac .privacy-list > .item > .textarea .link.__cookie {
	top: -0.05em;
}

.privacy-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	display: flex;
	justify-content: center;
	align-items: center;
	display: none;
	z-index: 20;
}

.privacy-modal > .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
}

.privacy-modal > .area {
	position: relative;
	background: #fff;
}

@media screen and (min-width: 768px) {
	.privacy-modal > .area {
		padding: 3.75rem 6.25rem;
		width: 59.375rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-modal > .area {
		padding: 10.266vw 4.831vw 10.87vw;
		width: 90.338vw;
	}
}

.privacy-modal > .area > .close {
	position: absolute;
	right: 0;
	color: #fff;
	letter-spacing: 0.02em;
	line-height: 1;
}

@media screen and (min-width: 768px) {
	.privacy-modal > .area > .close {
		top: -3.75rem;
		font-size: 0.813rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-modal > .area > .close {
		top: -9.662vw;
		font-size: 2.657vw;
	}
}

@media screen and (min-width: 768px) and (pointer: fine) {
	.privacy-modal > .area > .close {
		transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: opacity;
	}
	.privacy-modal > .area > .close:hover {
		transition: 0.55s cubic-bezier(0, 0.55, 0.45, 1);
		opacity: 0.5;
	}
}

.privacy-modal > .area > .name {
	display: block;
	line-height: 1;
}

@media screen and (min-width: 768px) {
	.privacy-modal > .area > .name {
		font-size: 1.125rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-modal > .area > .name {
		font-size: 4.831vw;
	}
}

.privacy-modal > .area > .text {
	display: block;
}

@media screen and (min-width: 768px) {
	.privacy-modal > .area > .text {
		margin-top: 1.875rem;
		font-size: 0.938rem;
		line-height: 2.133;
	}
}

@media screen and (max-width: 767px) {
	.privacy-modal > .area > .text {
		margin-top: 4.831vw;
		font-size: 3.14vw;
		line-height: 2;
		letter-spacing: 0em;
	}
}

.privacy-modal > .area > .toggle {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #dcdcdc;
}

@media screen and (min-width: 768px) {
	.privacy-modal > .area > .toggle {
		margin-top: 1.875rem;
		width: 17.5rem;
		height: 2.25rem;
		border-radius: 1.125rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-modal > .area > .toggle {
		margin-top: 6.039vw;
		width: 100%;
		height: 10.386vw;
		border-radius: 5.193vw;
	}
}

.privacy-modal > .area > .toggle > .pointer {
	position: absolute;
	width: 50%;
	background: #464646;
	transition-duration: 0.35s;
	transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
	transition-property: left;
}

@media screen and (min-width: 768px) {
	.privacy-modal > .area > .toggle > .pointer {
		top: 0.125rem;
		left: 0.125rem;
		height: 1.875rem;
		border-radius: 0.938rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-modal > .area > .toggle > .pointer {
		top: calc(0.845vw - 1px);
		left: calc(0.845vw - 1px);
		height: 8.696vw;
		border-radius: 4.348vw;
	}
}

.privacy-modal > .area > .toggle > .button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%;
}

@media screen and (min-width: 768px) {
	.privacy-modal > .area > .toggle > .button {
		height: 1.875rem;
		border-radius: 1.125rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-modal > .area > .toggle > .button {
		height: 8.696vw;
		border-radius: 4.348vw;
	}
}

.privacy-modal > .area > .toggle > .button > .text {
	transition-duration: 0.35s;
	transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1);
	transition-property: color;
}

@media screen and (min-width: 768px) {
	.privacy-modal > .area > .toggle > .button > .text {
		font-size: 0.688rem;
	}
}

@media screen and (max-width: 767px) {
	.privacy-modal > .area > .toggle > .button > .text {
		font-size: 2.899vw;
	}
}

.privacy-modal > .area > .toggle > .button.__reject {
	pointer-events: none;
	color: #fff;
}

@media screen and (min-width: 768px) {
	.privacy-modal > .area > .toggle.__accept > .pointer {
		left: calc(50% - 0.125rem);
	}
}

@media screen and (max-width: 767px) {
	.privacy-modal > .area > .toggle.__accept > .pointer {
		left: calc(50% - 0.845vw);
	}
}

.privacy-modal > .area > .toggle.__accept > .button.__reject {
	pointer-events: visible;
	color: #464646;
}

.privacy-modal > .area > .toggle.__accept > .button.__accept {
	pointer-events: none;
	color: #fff;
}

.topic-list {
	position: relative;
}

.topic-list > .item {
	position: relative;
}

@media screen and (min-width: 768px) {
	.topic-list > .item {
		margin-top: 5.75rem;
	}
}

@media screen and (max-width: 767px) {
	.topic-list > .item {
		margin-top: 22.947vw;
	}
}

.topic-list > .item:first-child {
	margin-top: 0;
}

.topic-list > .item > .title {
	position: relative;
}

.topic-list > .item > .title > .text {
	position: relative;
	display: inline-block;
	letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
	.topic-list > .item > .title > .text {
		font-size: 1.25rem;
		line-height: 1.6;
		font-feature-settings: normal;
		white-space: nowrap;
	}
}

@media screen and (max-width: 767px) {
	.topic-list > .item > .title > .text {
		font-size: 4.831vw;
		line-height: 1.5;
	}
}

.topic-list > .item > .title > .text > .line > .l {
	display: block;
	position: absolute;
	background: #c8c8c8;
}

.topic-list > .item > .title > .text > .line > .l.__01 {
	left: 0;
	width: 100%;
	height: 1px;
	left: -25%;
	transform: scaleX(0);
}

@media screen and (min-width: 768px) {
	.topic-list > .item > .title > .text > .line > .l.__01 {
		top: 0.313rem;
	}
}

@media screen and (max-width: 767px) {
	.topic-list > .item > .title > .text > .line > .l.__01 {
		top: 0.966vw;
	}
}

.topic-list > .item > .title > .text > .line > .l.__02 {
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	top: -200%;
	transform: scaleY(0);
}

@media screen and (min-width: 768px) {
	.topic-list > .item > .title > .text > .line > .l.__02 {
		top: 0.313rem;
		height: calc(100% - 0.625rem);
	}
}

@media screen and (max-width: 767px) {
	.topic-list > .item > .title > .text > .line > .l.__02 {
		top: 0.966vw;
		height: calc(100% - 1.932vw);
	}
}

.topic-list > .item > .title > .text > .line > .l.__03 {
	bottom: 0;
	right: 0;
	width: 100%;
	height: 1px;
	right: -25%;
	transform: scaleX(0);
}

@media screen and (min-width: 768px) {
	.topic-list > .item > .title > .text > .line > .l.__03 {
		bottom: 0.313rem;
	}
}

@media screen and (max-width: 767px) {
	.topic-list > .item > .title > .text > .line > .l.__03 {
		bottom: 0.966vw;
	}
}

.topic-list > .item > .title > .text > .line > .l.__04 {
	right: 0;
	width: 1px;
	height: 100%;
	bottom: -200%;
	transform: scaleY(0);
}

@media screen and (min-width: 768px) {
	.topic-list > .item > .title > .text > .line > .l.__04 {
		bottom: 0.313rem;
		height: calc(100% - 0.625rem);
	}
}

@media screen and (max-width: 767px) {
	.topic-list > .item > .title > .text > .line > .l.__04 {
		bottom: 0.966vw;
		height: calc(100% - 1.932vw);
	}
}

.topic-list > .item > .title.__show > .text > .line > .l.__01 {
	transform-origin: right top;
	animation: topic_line_01 0.8s cubic-bezier(0.61, 1, 0.88, 1) forwards;
}

@keyframes topic_line_01 {
	0% {
		left: -25%;
		transform: scaleX(0);
	}
	50% {
		transform: scaleX(100%);
	}
	100% {
		left: 20%;
		transform: scaleX(0);
	}
}

.topic-list > .item > .title.__show > .text > .line > .l.__02 {
	transform-origin: left bottom;
	animation: topic_line_02 0.8s cubic-bezier(0.61, 1, 0.88, 1) forwards;
}

@keyframes topic_line_02 {
	0% {
		top: -200%;
		transform: scaleY(0);
	}
	50% {
		transform: scaleY(200%);
	}
	100% {
		top: 200%;
		transform: scaleY(0);
	}
}

.topic-list > .item > .title.__show > .text > .line > .l.__03 {
	transform-origin: left top;
	animation: topic_line_03 0.8s cubic-bezier(0.61, 1, 0.88, 1) forwards;
}

@keyframes topic_line_03 {
	0% {
		right: -25%;
		transform: scaleX(0);
	}
	50% {
		transform: scaleX(100%);
	}
	100% {
		right: 25%;
		transform: scaleX(0);
	}
}

.topic-list > .item > .title.__show > .text > .line > .l.__04 {
	transform-origin: left top;
	animation: topic_line_04 0.8s cubic-bezier(0.61, 1, 0.88, 1) forwards;
}

@keyframes topic_line_04 {
	0% {
		bottom: -200%;
		transform: scaleY(0);
	}
	50% {
		transform: scaleY(200%);
	}
	100% {
		bottom: 200%;
		transform: scaleY(0);
	}
}

.topic-list > .item > .text {
	position: relative;
}

.__ja .topic-list > .item > .text {
	letter-spacing: 0.05em;
}

.__en .topic-list > .item > .text {
	letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
	.topic-list > .item > .text {
		margin-top: 2.688rem;
		font-size: 0.938rem;
		line-height: 2.133;
	}
}

@media screen and (max-width: 767px) {
	.topic-list > .item > .text {
		margin-top: 6.643vw;
		font-size: 3.623vw;
		line-height: 2;
	}
}

.topic-list > .item > .image {
	position: relative;
}

@media screen and (min-width: 768px) {
	.topic-list > .item > .image {
		margin-top: 1.25rem;
		aspect-ratio: 1.782;
	}
}

@media screen and (max-width: 767px) {
	.topic-list > .item > .image {
		margin-top: 5.435vw;
	}
}

.topic-list > .item > .image .i {
	display: block;
	width: 100%;
	filter: drop-shadow(0px 0px #000);
}

.ux-initiatives-list {
	position: relative;
}

.ux-initiatives-list > .item {
	position: relative;
	border-bottom: 1px solid #dcdcdc;
}

@media screen and (min-width: 768px) {
	.ux-initiatives-list > .item {
		padding: 4.563rem 0 3.125rem;
	}
}

@media screen and (max-width: 767px) {
	.ux-initiatives-list > .item {
		padding: 16.908vw 0 11.111vw;
	}
	.ux-initiatives-list > .item:first-child {
		border-top: 1px solid #dcdcdc;
	}
}

.ux-initiatives-list > .item > .number {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
}

.ux-initiatives-list > .item > .number > .num {
	position: sticky;
	line-height: 1;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.ux-initiatives-list > .item > .number > .num {
		top: 35%;
		margin-left: 1.563rem;
		padding: 0.625rem 0 2.5rem;
		width: 3.125rem;
	}
}

@media screen and (max-width: 767px) {
	.ux-initiatives-list > .item > .number > .num {
		top: 35%;
		margin-left: 0;
		padding: 4.227vw 0 16.908vw;
	}
}

.ux-initiatives-list > .item > .number > .num > .line {
	position: relative;
	display: block;
	-webkit-text-stroke: 1px #787878;
	text-stroke: 1px #787878;
	font-weight: 300;
	color: transparent;
}

@media screen and (min-width: 768px) {
	.ux-initiatives-list > .item > .number > .num > .line {
		font-size: 5rem;
	}
}

@media screen and (max-width: 767px) {
	.ux-initiatives-list > .item > .number > .num > .line {
		font-size: 13.285vw;
	}
}

.ux-initiatives-list > .item > .number > .num > .line > .mask {
	display: block;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0%;
}

.ux-initiatives-list > .item > .number > .num > .line > .mask > .color {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1em;
	color: #787878;
}

.ux-initiatives-list > .item > .label {
	position: absolute;
	right: 0;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #aaa;
}

@media screen and (min-width: 768px) {
	.ux-initiatives-list > .item > .label {
		top: 1.875rem;
		font-size: 0.625rem;
	}
}

@media screen and (max-width: 767px) {
	.ux-initiatives-list > .item > .label {
		top: 4.831vw;
		font-size: 2.415vw;
	}
}

.ux-initiatives-list > .item > .textarea {
	position: relative;
}

@media screen and (min-width: 768px) {
	.ux-initiatives-list > .item > .textarea {
		padding-left: 18.75rem;
	}
}

@media screen and (max-width: 767px) {
	.ux-initiatives-list > .item > .textarea {
		padding-left: 17.512vw;
	}
}

@media screen and (min-width: 768px) {
	.ux-initiatives-list > .item > .textarea > .lead {
		font-size: 1.25rem;
		line-height: 1.6;
		letter-spacing: 0.05em;
	}
}

@media screen and (max-width: 767px) {
	.ux-initiatives-list > .item > .textarea > .lead {
		font-size: 4.831vw;
		line-height: 1.5;
		letter-spacing: 0em;
	}
}

.__ja .ux-initiatives-list > .item > .textarea > .text {
	letter-spacing: 0.02em;
}

.__en .ux-initiatives-list > .item > .textarea > .text {
	letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
	.ux-initiatives-list > .item > .textarea > .text {
		margin-top: 0.625rem;
		font-size: 0.938rem;
		line-height: 2.133;
	}
}

@media screen and (max-width: 767px) {
	.ux-initiatives-list > .item > .textarea > .text {
		margin-top: 3.623vw;
		font-size: 3.623vw;
		line-height: 2;
	}
}

.ux-initiatives-list > .item:first-child > .number > .num > .line > .mask {
	height: 100%;
}

.top-contents {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	height: var(--fv);
}

.top-contents > .section {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
	overscroll-behavior-y: none;
}

@media screen and (max-width: 767px) {
	.top-contents > .section {
		height: var(--fv);
	}
}

.top-contents > .section.__00 {
	opacity: 1;
	visibility: visible;
	pointer-events: visible;
}

.top-footer {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: flex-start;
}

@media screen and (min-width: 768px) {
	.top-footer {
		align-items: center;
	}
}

@media screen and (max-width: 767px) {
	.top-footer {
		align-items: flex-start;
	}
}

.top-footer > .area {
	position: relative;
	width: 100%;
}

@media screen and (min-width: 768px) {
	.top-footer > .area {
		margin: auto;
		padding-top: 3.125rem;
		padding-left: calc(230px + 3.75rem);
		padding-bottom: 3.125rem;
		padding-right: 3.75rem;
	}
}

@media screen and (max-width: 767px) {
	.top-footer > .area {
		margin: 0 auto;
		padding-top: 25.121vw;
		padding-left: 9.3vw;
		padding-bottom: 7.246vw;
		padding-right: 0vw;
	}
}

.top-footer > .area > .copyright {
	position: fixed;
}

@media screen and (min-width: 768px) {
	.top-footer > .area > .copyright {
		right: 3.75rem;
		bottom: 50px;
	}
}

@media screen and (max-width: 767px) {
	.top-footer > .area > .copyright {
		bottom: 8.092vw;
		right: 5.193vw;
	}
}

@media screen and (max-width: 767px) {
	.top-kv > .area {
		padding: 0 4.831vw;
	}
}

.top-message {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow-y: scroll;
	color: #fff;
}

@media screen and (min-width: 768px) {
	.top-message {
		height: 100vh;
	}
}

@media screen and (max-width: 767px) {
	.top-message {
		height: var(--fv);
		-webkit-mask-image: linear-gradient(transparent 14.493vw, black calc(14.493vw + 10%), black 90%, transparent 100%);
		mask-image: linear-gradient(transparent 14.493vw, black calc(14.493vw + 10%), black 90%, transparent 100%);
	}
}

.top-message > .figure {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	background-size: cover;
}

@media screen and (min-width: 768px) {
	.top-message > .figure svg {
		width: 100%;
		height: 100%;
		object-fit: cover;
		overflow: hidden;
	}
}

@media screen and (max-width: 767px) {
	.top-message > .figure {
		display: none;
	}
}

.top-message > .figure .i {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top-message > .title {
	position: fixed;
}

.top-message > .lead {
	position: fixed;
}

@media screen and (min-width: 768px) {
	.top-message > .inner > .contents {
		margin-left: auto;
		padding-top: 30.188rem;
		margin-right: 4.688rem;
		padding-bottom: 49.5rem;
		width: 37.5rem;
	}
}

@media screen and (max-width: 767px) {
	.top-message > .inner > .contents {
		padding: 24.799rem 1.033rem 9.816rem;
	}
}

.top-message > .inner > .contents > .title > .label {
	position: relative;
	display: block;
	font-weight: 300;
	white-space: nowrap;
	clip-path: inset(0 0 0 0);
	opacity: 0.7;
}

@media screen and (min-width: 768px) {
	.top-message > .inner > .contents > .title > .label {
		font-size: 0.625rem;
		line-height: 0.813rem;
		letter-spacing: 0.05em;
	}
}

@media screen and (max-width: 767px) {
	.top-message > .inner > .contents > .title > .label {
		font-size: 0.646rem;
		line-height: 0.84rem;
		letter-spacing: 0.05em;
	}
}

.top-message > .inner > .contents > .title > .label > .mask {
	display: block;
}

.top-message > .inner > .contents > .title > .text {
	position: relative;
	display: block;
	font-weight: 300;
	white-space: nowrap;
}

@media screen and (min-width: 768px) {
	.top-message > .inner > .contents > .title > .text {
		left: -0.188rem;
		font-size: 4.063rem;
		line-height: 4.688rem;
	}
}

@media screen and (max-width: 767px) {
	.top-message > .inner > .contents > .title > .text {
		left: -0.188rem;
		font-size: 2.583rem;
		line-height: 3.035rem;
	}
}

.top-message > .inner > .contents > .title > .text > .t {
	clip-path: inset(0 0 0 0);
	position: relative;
	display: block;
	width: -moz-fit-content;
	width: fit-content;
}

.top-message > .inner > .contents > .title > .text > .t > .mask {
	display: block;
}

.top-message > .inner > .contents > .title > .text > .t > .line {
	position: absolute;
	top: 100%;
	width: 100%;
	background: #fff;
	display: block;
}

@media screen and (min-width: 768px) {
	.top-message > .inner > .contents > .title > .text > .t > .line {
		top: calc(100% + 0.375rem);
		right: 0;
		height: 0.99px;
	}
}

@media screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 21.5), screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-width: 768px) and (min-resolution: 1.5dppx) {
	.top-message > .inner > .contents > .title > .text > .t > .line {
		height: 0.675px;
	}
}

@media screen and (max-width: 767px) {
	.top-message > .inner > .contents > .title > .text > .t > .line {
		height: 1px;
		top: calc(100% + 0.725vw);
		left: 0;
	}
}

.top-message > .inner > .contents > .title > .text > .t.__01 span {
	position: relative;
	letter-spacing: -0.06em;
}

.top-message > .inner > .contents > .title > .text > .t.__01 span:nth-child(2) {
	letter-spacing: -0.02em;
}

.top-message > .inner > .contents > .title > .text > .t.__01 span:nth-child(3) {
	letter-spacing: -0.05em;
}

.top-message > .inner > .contents > .title > .text > .t.__01 span:nth-child(4) {
	letter-spacing: -0.05em;
}

.top-message > .inner > .contents > .title > .text > .t.__01 span:nth-child(5) {
	letter-spacing: -0.05em;
}

.top-message > .inner > .contents > .title > .text > .t.__01 span:nth-child(6) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__01 span:nth-child(7) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__01 span:nth-child(8) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__01 span:nth-child(9) {
	letter-spacing: -0.05em;
}

.top-message > .inner > .contents > .title > .text > .t.__01 span:nth-child(10) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__01 span:nth-child(11) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__01 span:nth-child(15) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span {
	position: relative;
	letter-spacing: -0.06em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(1) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(2) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(3) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(4) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(5) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(6) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(8) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(9) {
	letter-spacing: -0.07em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(10) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(11) {
	letter-spacing: -0.05em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(12) {
	letter-spacing: -0.05em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(13) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(14) {
	letter-spacing: -0.04em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(15) {
	letter-spacing: -0.02em;
}

.top-message > .inner > .contents > .title > .text > .t.__02 span:nth-child(16) {
	letter-spacing: -0.02em;
}

@media screen and (min-width: 768px) {
	.top-message > .inner > .contents > .lead {
		margin-top: 3rem;
		font-size: 1.125rem;
		line-height: 1.1;
		letter-spacing: 0.055em;
		display: flex;
	}
}

@media screen and (max-width: 767px) {
	.top-message > .inner > .contents > .lead {
		margin-top: 1.421rem;
		letter-spacing: 0.055em;
		font-size: 3.623vw;
		line-height: 2.077;
		white-space: nowrap;
	}
	.__ja .top-message > .inner > .contents > .lead {
		letter-spacing: 0.04em;
	}
	.__en .top-message > .inner > .contents > .lead {
		letter-spacing: 0em;
	}
}

.top-message > .inner > .contents > .lead > .mask {
	position: relative;
	display: block;
	overflow: hidden;
	clip-path: inset(0 0 0 0);
	height: 1.1lh;
}

.top-message > .inner > .contents > .lead > .mask > .t {
	display: block;
}

@media screen and (min-width: 768px) {
	.top-message > .inner > .contents > .figure {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.top-message > .inner > .contents > .figure {
		margin-top: 6.2rem;
		margin-left: auto;
		margin-right: auto;
		width: 24.799rem;
		height: 24.799rem;
	}
}

.top-message > .inner > .contents > .text {
	display: block;
	font-size: 0.875rem;
	line-height: 2.5;
}

@media screen and (min-width: 768px) {
	.top-message > .inner > .contents > .text {
		margin-top: 4.063rem;
		font-size: 0.938rem;
		line-height: 2.133;
	}
	.__ja .top-message > .inner > .contents > .text {
		letter-spacing: 0.05em;
	}
	.__en .top-message > .inner > .contents > .text {
		letter-spacing: 0em;
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) and (max-aspect-ratio: 1024 / 665) {
	.top-message > .inner > .contents > .text {
		font-size: 1.406rem;
	}
}

@media screen and (max-width: 767px) {
	.top-message > .inner > .contents > .text {
		margin-top: 2.325rem;
		font-size: 3.623vw;
		line-height: 2.077;
		white-space: nowrap;
	}
	.__ja .top-message > .inner > .contents > .text {
		letter-spacing: 0.04em;
	}
	.__en .top-message > .inner > .contents > .text {
		letter-spacing: 0em;
	}
}

.top-message > .inner > .contents > .text > .mask {
	position: relative;
	display: block;
	overflow: hidden;
}

@media screen and (max-width: 767px) {
	.top-message > .inner > .contents > .text > .mask {
		width: -moz-fit-content;
		width: fit-content;
	}
}

.top-message > .inner > .contents > .text > .mask > .t {
	display: block;
}

@media screen and (min-width: 768px) {
	.top-message > .inner > .contents > .induction {
		margin-top: 21.166rem;
		margin-right: 4.063rem;
		width: -moz-fit-content;
		width: fit-content;
		margin-left: auto;
	}
}

@media screen and (max-width: 767px) {
	.top-message > .inner > .contents > .induction {
		margin-top: 4.004rem;
		margin-right: auto;
		width: -moz-fit-content;
		width: fit-content;
		margin-left: auto;
	}
}

.top-message > .inner > .contents > .induction > .text {
	display: block;
}

@media screen and (min-width: 768px) {
	.top-message > .inner > .contents > .induction > .text {
		font-size: 1.125rem;
		line-height: normal;
		letter-spacing: 0.075em;
	}
}

@media screen and (max-width: 767px) {
	.top-message > .inner > .contents > .induction > .text {
		font-size: 1.162rem;
		line-height: normal;
		letter-spacing: 0.075em;
		text-align: center;
	}
}

.top-message > .inner > .contents > .induction > .text > .mask {
	position: relative;
	display: block;
	overflow: hidden;
	clip-path: inset(0 0 0 0);
}

.top-message > .inner > .contents > .induction > .text > .mask > .t {
	display: block;
}

.top-message > .inner > .contents > .induction > .button {
	position: relative;
}

@media screen and (min-width: 768px) {
	.top-message > .inner > .contents > .induction > .button {
		margin-top: 2rem;
		width: 8.125rem;
		height: 8.125rem;
	}
}

@media screen and (max-width: 767px) {
	.top-message > .inner > .contents > .induction > .button {
		margin-top: 2.067rem;
		margin-left: auto;
		margin-right: auto;
		width: 8.396rem;
		height: 8.396rem;
	}
}

@media screen and (min-width: 768px) {
	.top-section > .title {
		position: absolute;
		top: 1.5rem;
		right: 2.188rem;
		text-align: right;
		width: calc(100% - 230px - 4.375rem);
	}
}

@media screen and (max-width: 767px) {
	.top-section > .title {
		position: fixed;
		top: 18.841vw;
		left: 3.019vw;
		width: 93.961vw;
	}
}

.top-section > .area {
	height: 100%;
}

@media screen and (min-width: 768px) {
	.top-section > .area {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		padding-right: 1.875rem;
	}
}

@media screen and (max-width: 767px) {
	.top-section > .area {
		padding: 0 4.831vw;
		overflow-y: scroll;
		-webkit-mask-image: linear-gradient(transparent 31.401vw, black calc(31.401vw + 10%), black 87.5%, transparent 97.5%);
		mask-image: linear-gradient(transparent 31.401vw, black calc(31.401vw + 10%), black 87.5%, transparent 97.5%);
	}
	.top-section > .area:after {
		content: "";
		display: block;
		width: 100%;
		height: calc(var(--vh) * 0.3);
	}
}

@media screen and (min-width: 768px) {
	.top-sp-navigation {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.top-sp-navigation {
		position: fixed;
		bottom: 7.246vw;
		left: 4.831vw;
		z-index: 5;
	}
	.top-sp-navigation > .menu {
		position: fixed;
		left: 4.831vw;
		bottom: 16.908vw;
		padding: 9.42vw 4.589vw;
		background: #464646;
		color: #fff;
		opacity: 0;
		visibility: hidden;
	}
	.top-sp-navigation > .menu > .area > .nav > .item {
		position: relative;
		display: block;
		margin-top: 4.831vw;
		line-height: 1;
		letter-spacing: 0em;
		width: -moz-fit-content;
		width: fit-content;
	}
	.top-sp-navigation > .menu > .area > .nav > .item:first-child {
		margin-top: 0;
	}
	.top-sp-navigation > .menu > .area > .nav > .item > .mask {
		display: block;
	}
	.top-sp-navigation > .menu > .area > .nav > .item > .mask > .t {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 2.415vw;
	}
	.top-sp-navigation > .menu > .area > .nav > .item > .mask > .t > .num {
		width: 2em;
		font-weight: 300;
		font-size: 2.415vw;
		line-height: 2.415vw;
	}
	.top-sp-navigation > .menu > .area > .nav > .item > .mask > .t > .text {
		position: relative;
		font-size: 2.899vw;
		line-height: 2.899vw;
		letter-spacing: 0em;
	}
	.top-sp-navigation > .menu > .area > .nav > .item > .mask > .t > .text > .line {
		position: absolute;
		top: calc(100% + 0.966vw);
		left: 0;
		width: 0%;
		height: 1px;
		background-color: #fff;
	}
	.top-sp-navigation > .menu > .area > .nav > .item.__current {
		pointer-events: none;
	}
	.top-sp-navigation > .menu > .area > .nav > .item.__current > .mask > .t > .text > .line {
		width: 100%;
	}
	.top-sp-navigation > .menu > .area > .close {
		margin-top: 8.454vw;
		text-align: center;
		line-height: 1;
	}
	.top-sp-navigation > .menu > .area > .close > .link {
		display: inline-flex;
		justify-content: flex-start;
		align-items: center;
		gap: 1.208vw;
	}
	.top-sp-navigation > .menu > .area > .close > .link > .text {
		font-size: 2.536vw;
		line-height: 2.536vw;
		letter-spacing: 0em;
	}
	.top-sp-navigation > .menu > .area > .close > .link > .icon {
		width: 2.053vw;
		height: 2.053vw;
	}
	.top-sp-navigation > .current {
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.top-sp-navigation > .current > .item {
		position: absolute;
		bottom: 0;
		left: 0;
		overflow: hidden;
		visibility: hidden;
		height: 2.899vw;
	}
	.top-sp-navigation > .current > .item > .mask {
		display: block;
		overflow: hidden;
	}
	.top-sp-navigation > .current > .item > .mask > .t {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 2.415vw;
		white-space: nowrap;
		letter-spacing: 0em;
		color: var(--textColorDark);
		transform: translate(0, 100%);
	}
	.top-sp-navigation > .current > .item > .mask > .t > .num {
		width: 2em;
		font-size: 2.415vw;
		line-height: 2.415vw;
		height: 2.415vw;
		font-weight: 300;
	}
	.top-sp-navigation > .current > .item > .mask > .t > .text {
		font-size: 2.899vw;
		line-height: 2.899vw;
		height: 2.899vw;
	}
}
