@font-face {
	font-family: "Local Noto Sans JP";
	src: local("Noto Sans JP");
}

:root {
	--white: #ffffff;
	--black: #000000;
	--text-base: #575757;
	--corporate-color: #0080c8;
	--blue: #73bee9;
	--sky-blue-light: #3eccde;
	--sky-blue: #40a6df;
	--gray: #787878;
	--header-contact-bg: #b8d9ed;
	--header-lang-bg: #5a5a5a;
	--drawer-border: #e5f1f9;
	--base-font-family: "Local Noto Sans JP", "Noto Sans JP", sans-serif;
	--base-font-family-en: var(--font-poppins);
	--font-outfit: "Outfit", sans-serif;
	--font-poppins: "Poppins", sans-serif;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semibold: 600;
	--fw-bold: 700;
	--fw-black: 900;
}

:root.is-smartphone {
	--fw-regular: 500;
	--fw-medium: 600;
	--fw-semibold: 700;
	--fw-bold: 800;
	--fw-black: 900;
}

html {
	box-sizing: border-box; /* Prevent adjustments of font size after orientation changes in iOS */
	word-break: normal;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

*,
::before,
::after {
	background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
	box-sizing: inherit;
	box-sizing: border-box;
}

::before,
::after {
	text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
	vertical-align: inherit;
}

* { /* Reset `padding` and `margin` of all elements */
	margin: 0;
	padding: 0;
}

/* # =================================================================
     # General elements
     # ================================================================= */

hr { /* Add the correct box sizing in Firefox */
	color: inherit; /* Show the overflow in Edge and IE */
	height: 0;
	overflow: visible; /* Correct border color in Firefox. */
}

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

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

/* 見出しは body の font-weight を継承（ブラウザデフォルトの bold を打ち消す） */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: inherit;
}

small {
	font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden] {
	display: none; /* Add the correct display in IE */
}

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

a {
	background-color: transparent; /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
	outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace; /* Specify the font family of code elements */
}

pre {
	font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

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

/* https://gist.github.com/unruthless/413930 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

table {
	border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */
	text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
	border-style: none;
}

/* # =================================================================
     # Forms
     # ================================================================= */

input {
	border-radius: 0;
}

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

[type=search] {
	-webkit-appearance: textfield;
	-moz-appearance: textfield;
	appearance: textfield;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none; /* Correct the odd appearance in Chrome and Safari */
	outline-offset: -2px; /* Correct the outline style in Safari */
}

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

textarea {
	overflow: auto;
	resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
	font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
	font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
	overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
	text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */

button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
	cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/* Replace focus style removed in the border reset above */

button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button; /* Correct the inability to style clickable types in iOS */
}

button,
input,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
	outline-width: 0;
}

/* Style select like a standard input */

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

select::-ms-expand {
	display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
	color: currentcolor; /* Internet Explorer 11+ */
}

legend {
	border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
	color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
	display: table; /* Correct the text wrapping in Edge and IE */ /* Correct the text wrapping in Edge and IE */
	max-width: 100%; /* Correct the text wrapping in Edge and IE */
	white-space: normal; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
	color: inherit;
	font: inherit; /* Correct the inability to style clickable types in iOS and Safari */
	-webkit-appearance: button;
	appearance: button; /* Change font properties to `inherit` in Chrome and Safari */
}

/* Replace pointer cursor in disabled elements */

[disabled] {
	cursor: default;
}

/* # =================================================================
     # Specify media element style
     # ================================================================= */

img {
	border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */

progress {
	vertical-align: baseline;
}

/* # =================================================================
     # Accessibility
     # ================================================================= */

/* Specify the progress cursor of updating elements */

[aria-busy=true] {
	cursor: progress;
}

/* Specify the pointer cursor of trigger elements */

[aria-controls] {
	cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */

[aria-disabled=true] {
	cursor: default;
}

/* Remove default margin */

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

/* Remove default padding */

ul,
ol {
	list-style: "";
	padding: 0;
}

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

body {
	color: var(--text-base);
	font-family: var(--base-font-family);
	font-weight: var(--fw-medium);
}

body.is-en {
	letter-spacing: 0;
}

body:has(main[id=comp]),
body:has(main[id=contact]),
body:has(main[id=contact-confirm]),
body:has(main[id="404"]) {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

body:has(main[id=comp]) main,
body:has(main[id=contact]) main,
body:has(main[id=contact-confirm]) main,
body:has(main[id="404"]) main {
	flex: 1;
}

body:has(main[id="404"]) main {
	background: linear-gradient(0deg, rgba(230, 238, 247, 0.3) 0%, rgba(245, 250, 255, 0.3) 20.67%, rgba(229, 233, 237, 0.3) 49.04%, rgba(214, 231, 243, 0.3) 100%);
}

body.is-drawer-open {
	overflow: hidden;
}

a[href^=tel] {
	text-decoration: none;
}

a {
	color: inherit;
	-webkit-tap-highlight-color: transparent; /* 強調をなくす */
}

a:hover {
	text-decoration: none;
}

img,
svg {
	vertical-align: middle;
}

img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

:where(:-moz-any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
	cursor: pointer;
}

:where(:any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
	cursor: pointer;
}

:where(button,
[type=button],
[type=reset],
[type=submit]) {
	touch-action: manipulation;
}

:focus:not(:focus-visible) {
	outline: none;
}

input[type=text] {
	font-size: 1rem; /* = 16px */
}

textarea {
	field-sizing: content;
}

.p-drawer {
	height: 100vh;
	height: 100dvh;
	overflow-y: scroll;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 90;
}

.l-header {
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
}

.l-header.is-header-hidden {
	transform: translateY(-100%);
}

.l-inner {
	margin-inline: auto;
	max-width: calc(1180px + 7.5rem);
	padding-inline: 3.75rem;
}

.l-works__list {
	display: grid;
	grid-template-columns: fit-content(18.125rem) 1fr max-content;
	-moz-column-gap: 3.3125rem;
	column-gap: 3.3125rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.l-works__list.-archive .l-works__item:first-child .l-works__link {
	border-block-start: none;
}

.l-works__list.-archive .l-works__link {
	padding-block: 2.625rem;
}

.l-works__item {
	display: grid;
	grid-column: span 3;
	grid-template-columns: subgrid;
}

.l-works__item:first-child .l-works__link {
	border-block-start: 1px solid #e7e7e7;
}

.l-works__link {
	border-block-end: 1px solid #e7e7e7;
	display: grid;
	grid-column: span 3;
	grid-template-columns: subgrid;
	padding-block: 1.875rem 2rem;
	padding-inline-start: 0.875rem;
}

.c-archive__category-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
	row-gap: 1.25rem;
}

.c-archive__category-item {
	display: grid;
	place-items: center;
	text-align: center;
}

.c-archive__category-link {
	border-radius: 100vmax;
	color: var(--white);
	display: grid;
	font-size: 1.25rem;
	height: 100%;
	isolation: isolate;
	letter-spacing: 0.1em;
	line-height: 1;
	padding-block: 1.5rem 1.6875rem;
	padding-inline: 0.9375rem;
	place-items: center;
	position: relative;
	width: 100%;
}

.c-archive__category-link:focus {
	outline: none;
}

.c-archive__category-link::before {
	background: rgba(21, 86, 136, 0.2);
	border-radius: 100vmax;
	box-shadow: inset 0 0 6px -5px #000000;
	content: "";
	inset: 0;
	position: absolute;
	transition: background 0.3s ease;
	z-index: 0;
}

.c-archive__category-link::after {
	backdrop-filter: blur(0px);
	border-radius: 100vmax;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
	-webkit-backdrop-filter: blur(0px);
	filter: url(#c-archive__category-link-glass-distortion);
	-webkit-filter: url(#c-archive__category-link-glass-distortion);
}

.c-archive__category-link.is-current::before {
	background: var(--corporate-color);
}

.c-archive__category-link span {
	position: relative;
	z-index: 1;
}

.c-back-button {
	align-items: center;
	display: flex;
	font-size: 1rem;
	letter-spacing: 0.1em;
	line-height: 2.4;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	transition: opacity 0.3s ease;
}

.c-back-button__arrow {
	aspect-ratio: 1/1;
	border: 1px solid #aaa;
	border-radius: 100vmax;
	display: grid;
	place-items: center;
	width: 2.5625rem;
}

.c-back-button__arrow::after {
	content: "";
	display: block;
	transition: translate 0.3s ease;
	-webkit-mask-image: url("../../assets/img/common/arrow-black.svg");
	mask-image: url("../../assets/img/common/arrow-black.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center center;
	mask-position: center center;
	-webkit-mask-size: contain;
	background-color: var(--text-base);
	height: 0.5rem;
	mask-size: contain;
	width: 0.625rem;
}

.c-button {
	border-radius: 100vmax;
	color: var(--white);
	display: inline grid;
	font-family: var(--font-poppins);
	font-size: 1rem;
	isolation: isolate;
	letter-spacing: 0.1em;
	line-height: 1;
	min-height: 3.375rem;
	min-width: 12.1875rem;
	padding-block: 0.625rem;
	padding-inline: 1.25rem;
	place-items: center;
	position: relative;
	text-align: center;
}

.c-button span {
	position: relative;
}

.c-button::before {
	background: rgba(21, 86, 136, 0.2);
	border-radius: 100vmax;
	box-shadow: inset 0 0 6px -5px #000000;
	content: "";
	inset: 0;
	position: absolute;
	transition: background 0.3s ease;
	z-index: 0;
}

.c-button::after {
	backdrop-filter: blur(0px);
	border-radius: 100vmax;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
	-webkit-backdrop-filter: blur(0px);
	filter: url(#c-button-glass-distortion);
	-webkit-filter: url(#c-button-glass-distortion);
}

.c-contact-button {
	align-items: center;
	backdrop-filter: blur(12px);
	background: rgba(255, 255, 255, 0.06);
	border-radius: 100vmax;
	cursor: pointer;
	display: flex;
	height: 4.0625rem;
	justify-content: center;
	position: relative;
	text-decoration: none;
	width: 13.8125rem;
	-webkit-backdrop-filter: blur(12px);
	transition: background 0.3s ease;
}

.c-contact-button::before {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.1) 40%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0.85) 100%) border-box;
	border: 1.5px solid transparent;
	border-radius: 100vmax;
	content: "";
	inset: 0;
	position: absolute;
	-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: destination-out;
	-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

.c-contact-button__text {
	color: var(--white);
	font-family: var(--font-poppins);
	font-size: 1.25rem;
	font-weight: var(--fw-semibold);
	letter-spacing: 0.1em;
	line-height: 1;
	position: relative;
	text-align: center;
}

.c-contact-link {
	background: url("../../assets/img/common/contact-bg.webp") no-repeat center center/cover;
	border-radius: 10px;
	display: inline-block;
	padding-block: 5.875rem 6.0625rem;
	padding-inline: 3.75rem;
	width: 100%;
}

.c-contact-link.--partner {
	padding-block: 3.1875rem 3.9375rem;
}

.c-contact-link.--partner .c-contact-link__text {
	margin-block-start: 0.5rem;
}

.c-contact-link.--partner .c-contact-link__button {
	margin-block-start: 3.3125rem;
}

.c-contact-link__title {
	color: var(--white);
	font-family: var(--font-poppins);
	font-size: 3.0625rem;
	line-height: 1;
}

.c-contact-link__title-sub {
	color: var(--white);
	font-size: 0.875rem;
	line-height: 1.6;
	margin-block-start: 0.4375rem;
}

.c-contact-link__message {
	color: var(--white);
	font-size: 1.625rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-block-start: 3.3125rem;
}

.c-contact-link__text {
	color: var(--white);
	font-size: 1rem;
	line-height: 1.6;
	margin-block-start: 1.4375rem;
}

.c-contact-link__button {
	backdrop-filter: blur(10px);
	background: rgba(0, 0, 0, 0);
	border-radius: 100vmax;
	display: grid;
	height: 2.5rem;
	margin-block-start: 2.3125rem;
	place-items: center;
	position: relative;
	width: 5.5625rem;
	-webkit-backdrop-filter: blur(10px);
	transition: background 0.3s ease;
}

.c-contact-link__button::before {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.1) 40%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0.85) 100%) border-box;
	border: 1.5px solid transparent;
	border-radius: 100vmax;
	content: "";
	inset: 0;
	position: absolute;
	-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: destination-out;
	-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

.c-contact-link__button-arrow {
	transition: background 0.3s ease;
	-webkit-mask: url("../../assets/img/common/arrow.svg") no-repeat center center/contain;
	background: var(--white);
	height: 0.5625rem;
	mask: url("../../assets/img/common/arrow.svg") no-repeat center center/contain;
	width: 0.9625625rem;
}

body.is-en .c-contact-link__message {
	letter-spacing: 0;
}

body.is-en .p-contact__lead {
	letter-spacing: 0;
}

body.is-en .p-contact__field-label {
	letter-spacing: 0;
}

body.is-en .p-contact__inquiry-types .wpcf7-list-item label {
	letter-spacing: 0;
}

body.is-en .p-contact__privacy-text {
	letter-spacing: 0;
}

body.is-en .p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox) .wpcf7-list-item-label {
	letter-spacing: 0;
}

body.is-en .p-contact__submit-text {
	letter-spacing: 0;
}

.c-language-button {
	align-items: center;
	border-radius: 100vmax;
	box-shadow: 0px 6px 24px rgba(0, 0, 0, 0.1);
	display: flex;
	height: 4.125rem;
	position: relative;
	width: 8.875rem;
	-moz-column-gap: 0.5rem;
	backdrop-filter: blur(12px);
	background: rgba(0, 0, 0, 0.2);
	column-gap: 0.5rem;
	cursor: pointer;
	justify-content: center;
	-webkit-backdrop-filter: blur(12px);
	transition: opacity 0.3s;
}

.c-language-button::focus {
	outline: none;
}

.c-language-button::before {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.1) 40%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0.85) 100%) border-box;
	border: 1.5px solid transparent;
	border-radius: 100vmax;
	content: "";
	inset: 0;
	position: absolute;
	-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: destination-out;
	-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

.c-language-button__icon {
	aspect-ratio: 1;
	background: #93b1c8;
	border-radius: 100vmax;
	display: block;
	position: relative;
	width: 2.5rem;
}

.c-language-button__icon::after {
	aspect-ratio: 1;
	background: url(../img/common/icon-earth.svg) no-repeat center center/contain;
	content: "";
	inset: 0;
	margin: auto;
	position: absolute;
	width: 1.3305625rem;
}

.c-language-button__text {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	line-height: 1.2;
	position: relative;
	row-gap: 0.125rem;
}

.c-language-button__text span {
	color: rgba(255, 255, 255, 0.33);
	font-family: var(--font-poppins);
	font-feature-settings: "liga" off, "clig" off;
	font-size: 0.875rem;
	letter-spacing: -0.0142857143em;
	line-height: 1.2;
}

.c-language-button__text .en {
	letter-spacing: -0.0057142857em;
}

.c-language-button__text .is-active {
	color: var(--white);
}

.c-lower-title__main {
	color: var(--corporate-color);
	font-family: var(--font-poppins);
	font-size: 4.3125rem;
	letter-spacing: 0.1em;
	line-height: 1;
}

.c-lower-title__sub {
	font-size: 1.125rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.9;
}

.c-pagination__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	-moz-column-gap: 3.625rem;
	column-gap: 3.625rem;
	row-gap: 1.25rem;
}

.c-pagination__item {
	display: grid;
	place-items: center;
}

.c-pagination__item.--dots {
	pointer-events: none;
}

.c-pagination__link {
	font-family: var(--font-poppins);
	font-size: 1.25rem;
	font-weight: var(--fw-regular);
	letter-spacing: 0.1em;
	line-height: 1.8;
	transition: background 0.2s ease, color 0.2s ease;
}

.c-pagination__link.is-current {
	color: var(--corporate-color);
	font-weight: var(--fw-medium);
}

.c-pagination__link-arrow {
	aspect-ratio: 1/1;
	border: 1px solid #aaa;
	border-radius: 100vmax;
	display: grid;
	place-items: center;
	transition: background-color 0.3s ease, border-color 0.3s ease;
	width: 2.5625rem;
}

.c-pagination__link-arrow.--prev {
	margin-inline-end: -1.25rem;
}

.c-pagination__link-arrow.--next {
	margin-inline-start: -1.25rem;
}

.c-pagination__link-arrow.is-disabled {
	cursor: not-allowed;
	opacity: 0.5;
}

.c-pagination__arrow {
	-webkit-mask-image: url("../../assets/img/common/arrow-black.svg");
	mask-image: url("../../assets/img/common/arrow-black.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center center;
	mask-position: center center;
	-webkit-mask-size: contain;
	background-color: var(--text-base);
	height: 0.5rem;
	mask-size: contain;
	transition: translate 0.3s ease, background-color 0.3s ease;
	width: 0.625rem;
}

.c-pagination__arrow.--next {
	rotate: 180deg;
}

.c-pagination__dots {
	font-family: var(--font-poppins);
	font-size: 1.25rem;
	font-weight: 250;
	letter-spacing: 0.1em;
	line-height: 1.8;
}

.c-title.--white .c-title__main {
	color: var(--white);
}

.c-title.--white .c-title__sub {
	color: var(--white);
}

.c-title__main {
	color: var(--corporate-color);
	font-family: var(--font-poppins);
	font-size: 3.0625rem;
	line-height: 1;
}

.c-title__sub {
	font-size: 1.125rem;
	font-weight: var(--fw-bold);
	line-height: 1.9;
	margin-block-start: 0.375rem;
}

.c-works__link-label {
	color: var(--gray);
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.c-works__link-title {
	display: -webkit-box;
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
	padding-inline-end: 8.4375rem;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: auto;
	transition: text-decoration-color 0.3s ease;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
}

.c-works__link-button {
	align-self: center;
	border-radius: 100vmax;
	display: inline grid;
	height: 2rem;
	isolation: isolate;
	justify-self: end;
	place-items: center;
	position: relative;
	width: 4.1875rem;
}

.c-works__link-button::before {
	background: #cfdce6;
	border-radius: 100vmax;
	box-shadow: inset 0 0 6px -5px #000000;
	content: "";
	inset: 0;
	position: absolute;
	transition: background 0.3s ease;
	z-index: 0;
}

.c-works__link-button::after {
	backdrop-filter: blur(0px);
	border-radius: 100vmax;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
	-webkit-backdrop-filter: blur(0px);
	filter: url(#c-works__link-button-glass-distortion);
	-webkit-filter: url(#c-works__link-button-glass-distortion);
}

.c-works__link-button-arrow {
	background: url("../../assets/img/common/arrow2.webp") no-repeat center center/contain;
	content: "";
	display: block;
	height: 0.5rem;
	position: relative;
	transition: translate 0.3s ease;
	width: 0.625rem;
}

.p-404 {
	overflow-x: clip;
	padding-block: 14.75rem 9.1875rem;
}

.p-404__content {
	margin-block-start: 2.375rem;
}

.p-404__content__text {
	font-size: 1rem;
	font-weight: var(--fw-regular);
	letter-spacing: 0.1em;
	line-height: 1.6;
}

.p-404__button {
	margin-block-start: 3.3125rem;
}

.p-archive {
	background: linear-gradient(0deg, rgba(230, 238, 247, 0.4) 0%, rgba(245, 250, 255, 0.4) 20.67%, rgba(229, 233, 237, 0.4) 49.04%, rgba(214, 231, 243, 0.4) 100%);
	overflow-x: clip;
	padding-block: 17.125rem 10.5rem;
}

.p-archive__buttons {
	margin-block-start: 11.5625rem;
}

.p-archive__list {
	margin-block-start: 1.625rem;
}

.p-archive__pagination {
	margin-block-start: 5.75rem;
}

.p-archive__contact {
	margin-block-start: 8.1875rem;
}

.p-comp {
	background: var(--white);
	overflow-x: clip;
	padding-block: 14.75rem 9.1875rem;
}

.p-comp__content {
	margin-block-start: 1.75rem;
}

.p-comp__content__title {
	font-size: 1.375rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
}

.p-comp__text {
	font-size: 1rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-block-start: 0.625rem;
}

.p-comp__button {
	margin-block-start: 4.0625rem;
}

body.is-en .p-comp__content__title {
	letter-spacing: 0;
}

body.is-en .p-comp__text {
	letter-spacing: 0;
}

.wpcf7-list-item {
	margin: 0;
}

.p-contact {
	background: var(--white);
	overflow-x: clip;
	padding-block: 13.8125rem 9.0625rem;
}

.p-contact__lead {
	font-size: 1rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
	margin-block-start: 1.3125rem;
}

.p-contact__form {
	margin-block-start: 8rem;
	max-width: 796px;
	padding-inline-start: 0.25rem;
}

.p-contact__form-top {
	display: grid;
	grid-template-columns: max-content 1fr;
	-moz-column-gap: 2.8125rem;
	column-gap: 2.8125rem;
	min-width: 0;
}

.p-contact__fieldset {
	border: none;
	display: contents;
	margin: 0;
	padding: 0;
}

.p-contact__radio-wrapper {
	align-items: flex-start;
	display: flex;
}

.p-contact__inquiry-types {
	display: grid;
	row-gap: 1.125rem;
}

.p-contact__inquiry-types .wpcf7-form-control-wrap,
.p-contact__inquiry-types .wpcf7-form-control {
	display: contents;
}

.p-contact__inquiry-types .wpcf7-list-item {
	display: block;
	list-style: none;
}

.p-contact__inquiry-types .wpcf7-list-item label {
	align-items: center;
	cursor: pointer;
	display: inline-flex;
	font-size: 1.125rem;
	gap: 0.3125rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
	position: relative;
}

.p-contact__inquiry-types .wpcf7-list-item label::before {
	aspect-ratio: 1/1;
	background-color: var(--white);
	border: 0.0625rem solid var(--corporate-color);
	content: "";
	display: inline-block;
	flex-shrink: 0;
	order: -1;
	width: 0.9375rem;
}

.p-contact__inquiry-types .wpcf7-list-item label:has(input:checked)::before {
	background-color: var(--corporate-color);
}

.p-contact__inquiry-types .wpcf7-list-item label:has(input:focus-visible)::before {
	outline: 2px solid var(--corporate-color);
	outline-offset: 2px;
}

.p-contact__inquiry-types .wpcf7-list-item input[type=radio] {
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	clip: rect(0, 0, 0, 0);
	border: 0;
	clip-path: inset(50%);
	white-space: nowrap;
}

.p-contact__radio {
	align-items: center;
	display: inline-flex;
	font-size: 1.125rem;
	gap: 0.3125rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
	position: relative;
}

.p-contact__radio-input {
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	clip: rect(0, 0, 0, 0);
	border: 0;
	clip-path: inset(50%);
	white-space: nowrap;
}

.p-contact__radio-icon {
	aspect-ratio: 1/1;
	background-color: var(--white);
	border: 0.0625rem solid var(--corporate-color);
	display: inline-block;
	position: relative;
	width: 0.9375rem;
}

.p-contact__radio-input:checked + .p-contact__radio-icon {
	background-color: var(--corporate-color);
}

.p-contact__radio-input:focus-visible + .p-contact__radio-icon {
	outline: 2px solid var(--corporate-color);
	outline-offset: 2px;
}

.p-contact__field-input {
	max-width: 100%;
}

.p-contact__field {
	align-items: center;
	border-block-end: 0.0625rem solid #e7e7e7;
	display: grid;
	grid-column: span 2;
	grid-template-columns: subgrid;
	padding-block: 1.9375rem;
}

.p-contact__field.--radio {
	align-items: start;
}

.p-contact__field.--textarea {
	align-items: start;
	border: none;
}

.p-contact__field.--textarea .p-contact__field-label {
	margin-block-start: 0.625rem;
}

.p-contact__field.--textarea .wpcf7-form-control-wrap {
	display: block;
	margin-block-start: -1.25rem;
}

.p-contact__field.--privacy {
	align-items: start;
	border: none;
	padding-block: 0.9375rem;
}

#contact .p-contact__field.--textarea {
	padding-block-end: 0;
}

#contact .p-contact__field.--privacy {
	margin-block-start: -1.75rem;
}

#contact-confirm .p-contact__field.--textarea {
	padding-block: 1.25rem;
}

#contact-confirm .p-contact__field.--textarea .p-contact__field-input {
	margin-block-start: -0.625rem;
}

#contact-confirm .p-contact__field.--privacy {
	border-block-start: 0.0625rem solid #e7e7e7;
	padding-block: 1.875rem;
}

#contact-confirm .p-contact__field .p-contact__privacy-agree {
	margin-block-start: 0.75rem;
}

#contact-confirm .p-contact__field .p-contact__privacy-text {
	display: none;
}

#contact-confirm .p-contact__field,
#contact-confirm .p-contact__field-input,
#contact-confirm .p-contact__input,
#contact-confirm .wpcf7-form-control-wrap {
	word-wrap: break-word;
	max-width: 100%;
	min-width: 0;
	overflow-wrap: break-word;
}

#contact-confirm .p-contact__field-input {
	overflow-wrap: anywhere;
}

.p-contact__field-label {
	align-items: center;
	display: flex;
	font-size: 1rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.8;
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
}

.p-contact__field-label.--privacy {
	align-items: start;
	flex-direction: column;
	margin-block-start: 0.625rem;
	row-gap: 0.875rem;
}

.p-contact__input,
.p-contact__textarea {
	background: #f6f7f8;
	border: 1px solid #e6e6e6;
	border-radius: 5px;
	font-size: 1rem;
	line-height: 1.6;
	min-height: 2.9375rem;
	padding-block: 0.3125rem;
	padding-inline: 1rem;
	resize: vertical;
	width: 100%;
}

.p-contact__input:focus,
.p-contact__textarea:focus {
	outline-color: var(--corporate-color);
}

.p-contact__textarea,
.p-contact textarea.wpcf7-form-control {
	height: 17.75rem;
	max-width: 100%;
	min-height: 17.75rem;
	min-width: 0;
	overflow-x: auto;
	overflow-y: auto;
	width: 100%;
	word-wrap: break-word;
	box-sizing: border-box;
	overflow-wrap: break-word;
}

.p-contact__field.--textarea,
.p-contact__field.--textarea .p-contact__field-input,
.p-contact__field.--textarea .wpcf7-form-control-wrap {
	min-width: 0;
	overflow: hidden;
	overflow: clip;
}

.p-contact__field.--textarea .p-contact__field-input,
.p-contact .wpcf7-form-control-wrap[data-name=your-message] .wpcf7-form-control,
.p-contact .wpcf7-form-control-wrap[data-name=message] .wpcf7-form-control,
.p-contact .wpcf7-form-control-wrap.your-message .wpcf7-form-control,
.p-contact .wpcf7-form-control-wrap.message .wpcf7-form-control {
	white-space: pre-wrap;
}

.p-contact__required {
	background-color: var(--corporate-color);
	border-radius: 100vmax;
	color: var(--white);
	display: grid;
	font-size: 0.75rem;
	font-weight: var(--fw-regular);
	height: -moz-fit-content;
	height: fit-content;
	letter-spacing: 0.1em;
	line-height: 1.8;
	min-width: 3.125rem;
	padding-block-end: 0.125rem;
	padding-inline: 0.5rem;
	place-items: center;
	width: -moz-fit-content;
	width: fit-content;
}

.p-contact__privacy {
	border-bottom: 0.0625rem solid var(--drawer-border);
	margin-block-start: 0rem;
	padding-block: 1.5rem 2rem;
}

.p-contact__privacy-text {
	font-size: 1rem;
	font-weight: var(--fw-regular);
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-block-start: 0.75rem;
}

.p-contact__privacy-link {
	text-decoration: underline;
	transition: opacity 0.3s ease;
}

.p-contact__checkbox {
	align-items: center;
	display: inline-flex;
	font-size: 1rem;
	font-weight: var(--fw-medium);
	gap: 0.125rem;
	letter-spacing: 0.1125em;
	line-height: 2.8;
	margin-block-start: 0.8125rem;
	position: relative;
}

.p-contact__checkbox-input {
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	clip: rect(0, 0, 0, 0);
	border: 0;
	clip-path: inset(50%);
	white-space: nowrap;
}

.p-contact__checkbox-icon {
	aspect-ratio: 1/1;
	background-color: var(--white);
	border: 0.0625rem solid var(--corporate-color);
	display: inline-block;
	position: relative;
	width: 0.9375rem;
}

.p-contact__checkbox-input:checked + .p-contact__checkbox-icon {
	background-color: var(--corporate-color);
}

.p-contact__checkbox-input:focus-visible + .p-contact__checkbox-icon {
	outline: 2px solid var(--corporate-color);
	outline-offset: 2px;
}

.p-contact__checkbox-label {
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	line-height: 2.8;
}

.p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox),
.p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox) .wpcf7-checkbox {
	display: contents;
}

.p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox) .wpcf7-list-item {
	display: block;
	list-style: none;
	margin-block-start: 0.5625rem;
}

.p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox) .wpcf7-list-item label {
	align-items: center;
	cursor: pointer;
	display: inline-flex;
	font-size: 1rem;
	font-weight: var(--fw-medium);
	gap: 0.1875rem;
	letter-spacing: 0.1125em;
	line-height: 2.8;
	position: relative;
}

.p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox) .wpcf7-list-item label::before {
	aspect-ratio: 1/1;
	background-color: var(--white);
	border: 0.0625rem solid var(--corporate-color);
	content: "";
	display: inline-block;
	flex-shrink: 0;
	order: -1;
	translate: 0 0.0625rem;
	width: 0.9375rem;
}

.p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox) .wpcf7-list-item label:has(input:checked)::before {
	background-color: var(--corporate-color);
}

.p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox) .wpcf7-list-item label:has(input:focus-visible)::before {
	outline: 2px solid var(--corporate-color);
	outline-offset: 2px;
}

.p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox) .wpcf7-list-item input[type=checkbox] {
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	clip: rect(0, 0, 0, 0);
	border: 0;
	clip-path: inset(50%);
	white-space: nowrap;
}

.p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox) .wpcf7-list-item-label {
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	line-height: 2.8;
}

.p-contact__submit {
	margin-block-start: 3.25rem;
}

.p-contact__submit-button,
.p-contact .wpcf7-previous {
	align-items: center;
	display: flex;
	isolation: isolate;
	justify-content: space-between;
	position: relative;
	-moz-column-gap: 1rem;
	border-radius: 100vmax;
	column-gap: 1rem;
	height: -moz-fit-content;
	height: fit-content;
	min-width: 21.1875rem;
	padding-block: 1.4375rem;
	padding-inline: 1.875rem 1.375rem;
}

.p-contact__submit-button::before,
.p-contact .wpcf7-previous::before {
	background: rgba(21, 86, 136, 0.2);
	border-radius: 100vmax;
	box-shadow: inset 0 0 0px -5px #000000;
	content: "";
	inset: 0;
	position: absolute;
	transition: background 0.3s ease;
	z-index: 0;
}

.p-contact__submit-button::after,
.p-contact .wpcf7-previous::after {
	backdrop-filter: blur(0px);
	border-radius: 100vmax;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
	-webkit-backdrop-filter: blur(0px);
	filter: url(#c-button-glass-distortion);
	-webkit-filter: url(#c-button-glass-distortion);
}

.p-contact__submit-text {
	color: var(--white);
	font-size: 1.125rem;
	font-weight: var(--fw-medium);
	letter-spacing: 0.1em;
	line-height: 1;
	position: relative;
}

.p-contact__submit-icon {
	height: 0.625rem;
	position: relative;
	transition: translate 0.3s ease;
	width: 0.75rem;
	-webkit-mask-image: url("../../assets/img/common/arrow.svg");
	mask-image: url("../../assets/img/common/arrow.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center center;
	mask-position: center center;
	-webkit-mask-size: contain;
	background-color: var(--white);
	mask-size: contain;
}

.p-contact__submit-icon--prev {
	transform: rotate(180deg);
}

.p-contact__submit-button--prev,
.p-contact .wpcf7-previous {
	flex-direction: row;
}

.p-contact__confirm-buttons {
	align-items: center;
	display: flex;
	margin-block-start: 3.3125rem;
	-moz-column-gap: 2.5rem;
	column-gap: 2.5rem;
}

.p-contact__confirm-buttons .p-contact__submit {
	display: contents;
}

.p-contact__privacy-agree {
	display: inline-block;
	margin-block-start: 1.25rem;
}

.wpcf7-response-output {
	display: none;
}

.wpcf7-spinner {
	display: none;
}

.p-drawer {
	background: linear-gradient(0deg, #e6eef7 0%, #f5faff 20.67%, #e5e9ed 49.04%, #d6e7f3 100%), #c0d7e4;
	background-blend-mode: multiply, normal;
	transition: translate 0.5s ease;
	translate: 101%;
}

.p-drawer.js-show {
	translate: 0;
}

.p-drawer__top {
	padding-block-end: 6.125rem;
}

.p-drawer__inner {
	height: -moz-fit-content;
	height: fit-content;
	padding-block: 6.8125rem 1.4375rem;
	padding-inline: 1.25rem;
	width: 100%;
}

.p-drawer__list {
	display: grid;
	row-gap: 1.4375rem;
	text-align: center;
}

.p-drawer__item:has(.p-drawer__sub-list) {
	margin-block-end: 0.875rem;
}

.p-drawer__link {
	color: var(--white);
	font-family: var(--font-poppins);
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: 1;
	text-align: center;
}

.p-drawer__sub-list {
	display: grid;
	margin-block-start: 0.75rem;
	row-gap: 0.75rem;
}

.p-drawer__sub-link {
	color: var(--white);
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	line-height: 1.65;
	text-align: center;
}

.p-drawer__privacy-policy {
	margin-block-start: 2.3125rem;
	text-align: center;
}

.p-drawer__privacy-policy a {
	color: var(--white);
	font-family: var(--font-poppins);
	font-size: 1rem;
	font-weight: var(--fw-medium);
	letter-spacing: 0.1em;
	line-height: 1.7;
}

.p-drawer__contact {
	margin-block-start: 1.875rem;
}

.p-drawer__contact a {
	margin-inline: auto;
}

.p-drawer__bottom {
	align-items: flex-end;
	border-block-start: 1px solid var(--drawer-border);
	display: flex;
	justify-content: space-between;
	padding-block-start: 1.25rem;
	-moz-column-gap: 2.5rem;
	column-gap: 2.5rem;
}

.p-drawer__links {
	align-items: center;
	display: flex;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
}

.p-drawer__link img {
	width: 1.6875rem;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-drawer__link.--in img {
	width: 1.8125rem;
}

.p-fixed {
	inset: 0;
	position: fixed;
	z-index: -2;
}

.p-fixed__inner {
	margin-inline: auto;
	max-width: 1680px;
	padding-inline: 5.5rem;
}

.p-fixed__video {
	height: 100vh;
	text-align: right;
}

.p-fixed__video video {
	-webkit-mask-image: url("../../assets/img/top/fv-top.webp");
	mask-image: url("../../assets/img/top/fv-top.webp");
	-webkit-mask-size: cover;
	mask-size: cover;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 125/232;
	height: 100vh;
	mask-repeat: no-repeat;
	width: auto;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-fixed__video.--ready {
	clip-path: inset(0% 100% 0% 0%);
	transition: clip-path 1.2s cubic-bezier(0.23, 0, 0.22, 1);
}

.p-fixed__video.--animate {
	clip-path: inset(0% 0% 0% 0%);
}

.p-footer {
	background: linear-gradient(0deg, #e6eef7 0%, #f5faff 20.67%, #e5e9ed 49.04%, #d6e7f3 100%), #d2e2eb;
	background-blend-mode: multiply, normal;
	overflow-x: clip;
	padding-block: 8.625rem 2.5rem;
}

.p-footer__inner {
	margin-inline: auto;
	max-width: 1680px;
	padding-inline: 8.9375rem 6.25rem;
}

.p-footer__top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	position: relative;
	-moz-column-gap: 4.8125rem;
	column-gap: 4.8125rem;
}

.p-footer__top::after {
	background: var(--white);
	bottom: -5rem;
	content: "";
	height: 1px;
	left: 50%;
	position: absolute;
	translate: -51% 0;
	width: 100rem;
}

.p-footer__logo img {
	width: 31.125rem;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-footer__nav {
	margin-block-start: 1.75rem;
	margin-inline-start: auto;
}

.p-footer__nav-list {
	display: flex;
	-moz-column-gap: 5.25rem;
	column-gap: 5.25rem;
}

.p-footer__nav-link {
	color: var(--white);
	font-family: var(--font-poppins);
	font-size: 1.25rem;
	font-weight: var(--fw-semibold);
	letter-spacing: 0.1em;
	line-height: 1;
	position: relative;
}

.p-footer__nav-link::after {
	background-color: var(--white);
	bottom: 0;
	clip-path: inset(0% 100% 0% 0%);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: clip-path 0.3s;
	width: 100%;
}

.p-footer__links {
	align-items: center;
	display: flex;
	margin-block-start: 1.75rem;
	-moz-column-gap: 1.125rem;
	column-gap: 1.125rem;
}

.p-footer__link {
	transition: opacity 0.3s ease;
}

.p-footer__link img {
	aspect-ratio: 1;
	width: 1.6875rem;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-footer__link.--in img {
	width: 1.8125rem;
}

.p-footer__middle {
	display: flex;
	margin-block-start: 10rem;
	-moz-column-gap: 31.25rem;
	column-gap: 31.25rem;
}

.p-footer__info {
	color: var(--white);
	font-size: 1rem;
	font-style: normal;
	letter-spacing: 0.1em;
	line-height: 1.7;
}

.p-footer__info.--business {
	margin-block-start: -0.5rem;
}

.p-footer__bottom {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
	margin-block-start: 5.625rem;
}

.p-footer__privacy {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.5rem;
	color: var(--white);
	column-gap: 0.5rem;
	font-family: var(--font-poppins);
	font-size: 1rem;
	font-style: normal;
	letter-spacing: 0.1em;
	line-height: 1.7;
	transition: opacity 0.3s ease;
}

.p-footer__privacy::after {
	background: url("../../assets/img/common/arrow3.svg") no-repeat center center/contain;
	content: "";
	display: block;
	height: 0.6875rem;
	margin-block-start: 0.0625rem;
	transition: translate 0.3s ease;
	width: 0.375rem;
}

.p-footer__copy {
	margin-block-start: -1.75rem;
	text-align: center;
}

.p-footer__copy-text {
	color: var(--white);
	font-family: var(--font-poppins);
	font-size: 1rem;
	font-style: normal;
	letter-spacing: 0.1em;
	line-height: 1.7;
}

body.is-en .p-footer__info {
	letter-spacing: 0;
}

body.is-en .p-footer__info.--business {
	letter-spacing: 0;
}

.p-fv {
	overflow-x: clip;
	padding-block-end: 15.1875rem;
	position: relative;
}

.p-fv::before {
	background: linear-gradient(0deg, #e6eef7 0%, #f5faff 20.67%, #e5e9ed 49.04%, #d6e7f3 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: -4;
}

.p-fv .p-fv__inner {
	position: relative;
	z-index: 1;
}

.p-fv__top {
	margin-inline: auto;
	max-width: calc(1440px + 15rem);
	padding-block-start: 15.6875rem;
	padding-inline-start: 15rem;
}

.p-fv__scroll_wrapper {
	height: 100vh;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-fv__scroll {
	aspect-ratio: 1;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 100vmax;
	bottom: 5.625rem;
	display: grid;
	isolation: isolate;
	place-items: center;
	position: absolute;
	right: 6.9375rem;
	transition: opacity 0.4s ease, visibility 0.4s ease;
	width: 11.5rem;
	z-index: 80;
}

.p-fv__scroll.is-hidden {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.p-fv__scroll:focus {
	outline: none;
}

.p-fv__scroll::before {
	background-color: rgba(255, 255, 255, 0.1);
	border-radius: 100vmax;
	box-shadow: inset 0 0 10px -16px #000000;
	content: "";
	inset: 0;
	position: absolute;
	z-index: 0;
}

.p-fv__scroll::after {
	backdrop-filter: blur(3px);
	border-radius: 100vmax;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
	-webkit-backdrop-filter: blur(3px);
	filter: url(#p-fv__scroll-glass-distortion);
	-webkit-filter: url(#p-fv__scroll-glass-distortion);
}

.p-fv__scroll.--ready {
	opacity: 0;
}

.p-fv__scroll.--animate {
	animation: scroll-animation 0.8s cubic-bezier(0.23, 0, 0.22, 1) forwards;
}

.p-fv__scroll-text {
	color: var(--white);
	font-family: var(--font-poppins);
	font-size: 1.125rem;
	font-weight: var(--fw-semibold);
	letter-spacing: 0.1em;
	line-height: 1.2;
	position: relative;
	text-align: center;
}

.p-fv__scroll-arrow {
	animation: scroll-arrow-animation 3s infinite;
	background: url("../../assets/img/top/scroll-arrow.svg") no-repeat center center/contain;
	bottom: 1.25rem;
	height: 1.625rem;
	left: 50%;
	position: absolute;
	translate: -50% 0;
	width: 1.5625rem;
}

.p-fv__title {
	color: #fff;
	display: flex;
	flex-direction: column;
	font-family: var(--font-outfit);
	font-size: 8rem;
	line-height: 1.14;
	overflow: hidden;
	text-shadow: 0 4px 4px #e2e2e2;
}

.p-fv__title span {
	display: inline-block;
}

.p-fv__title.--ready span {
	opacity: 0;
	transform: translateY(100%);
}

.p-fv__title.--animate span {
	animation: fv-title-animation 0.8s cubic-bezier(0.23, 0, 0.22, 1) forwards;
}

.p-fv__title-sub {
	display: block;
	margin-block-start: 2.5rem;
	margin-inline-start: 0.6875rem;
}

.p-fv__title-sub img {
	width: 35.625rem;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-fv__title-sub.--ready img {
	opacity: 0;
	transform: translateY(100%);
}

.p-fv__title-sub.--animate img {
	animation: fv-title-animation 0.8s cubic-bezier(0.23, 0, 0.22, 1) forwards;
}

.p-fv__video {
	display: none;
}

.p-fv__video.--ready {
	clip-path: inset(0% 100% 0% 0%);
	transition: clip-path 1.2s cubic-bezier(0.23, 0, 0.22, 1);
}

.p-fv__video.--animate {
	clip-path: inset(0% 0% 0% 0%);
}

.p-fv__top__bottom {
	margin-block-start: 22.5rem;
}

.p-fv__top__bottom-message {
	font-size: 2rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.2em;
	line-height: 2;
	margin-inline: auto;
	max-width: calc(1430px + 15.625rem);
	padding-inline-start: 15.75rem;
}

.p-fv__top__bottom-message.--blue {
	color: var(--corporate-color);
	margin-block-start: 2.6875rem;
}

.p-fv__top__bottom-text {
	font-size: 1rem;
	letter-spacing: 0.2em;
	line-height: 1.9;
	margin-block-start: 1.25rem;
	margin-inline: auto;
	max-width: calc(1430px + 15.625rem);
	padding-inline-start: 15.8125rem;
}

.p-fv__top__boxes {
	margin-block-start: 4.8125rem;
	margin-inline: auto;
	max-width: calc(1531px + 9.3125rem);
	padding-inline-start: 9.3125rem;
}

.p-fv__top__boxes-scrollbar {
	display: none;
}

.p-fv__top__boxes-scrollbar-track {
	background: #c0c0c0;
	border-radius: 100vmax;
	height: 1px;
	width: 100%;
}

.p-fv__top__boxes-scrollbar-active {
	background: #3b99d4;
	border-radius: 100vmax;
	height: 0.3125rem;
	margin-top: -0.125rem;
	max-width: 100%;
	transition: width 0.12s ease-out;
	translate: 0 -0.125rem;
	width: calc(var(--fv-scroll-progress, 0.22) * 100%);
}

.p-fv__top__boxes__inner {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
}

.p-fv__top__box-large {
	aspect-ratio: 1;
	background: #f3f9fa;
	border-radius: 100vmax;
	display: grid;
	flex-shrink: 0;
	margin-block-start: -0.25rem;
	margin-inline-start: -5.625rem;
	min-width: 21rem;
	place-items: center;
	position: relative;
	z-index: 1;
}

.p-fv__top__box-large.--dot-circle {
	background: url("../../assets/img/top/dot-circle.webp") no-repeat center center/contain;
	margin-block-start: -0.25rem;
	margin-inline-start: -3.875rem;
}

.p-fv__top__box-large-title {
	font-size: 1.125rem;
	line-height: 1.7;
	text-align: center;
}

.p-fv__top__box {
	background: url("../../assets/img/top/bluevision-bg.webp") no-repeat center center/contain;
	flex-shrink: 0;
	margin-inline-start: -5rem;
	padding-block: 1.1875rem;
	padding-inline: 1.4375rem 6.125rem;
	position: relative;
	z-index: 2;
}

.p-fv__top__box .p-fv__top__box-content {
	background: radial-gradient(50% 50% at 50% 50%, #f2f5f9 0%, #fff 100%);
	border-radius: 100vmax;
	display: grid;
	filter: drop-shadow(6px 3px 8px rgba(0, 0, 0, 0.1));
	padding-block: 4.8125rem 5.1875rem;
	padding-inline: 1.625rem 1.25rem;
	position: relative;
	row-gap: 0.6875rem;
}

.p-fv__top__box .p-fv__top__box-content::after {
	background: url("../../assets/img/top/icon-bluevision.svg") no-repeat center center/contain;
	content: "";
	height: 12.125rem;
	inset: 0;
	margin: auto;
	position: absolute;
	width: 6.4375rem;
	z-index: -1;
}

.p-fv__top__box .p-fv__top__box-img {
	height: 1.445625rem;
	width: 12.354375rem;
}

.p-fv__top__box .p-fv__top__box-content-title {
	font-size: 1.125rem;
	font-style: normal;
	font-weight: var(--fw-medium);
	line-height: 1.4;
	text-align: center;
}

.p-fv__top__box-small {
	background: url("../../assets/img/top/client-bg.webp") no-repeat center center/contain;
	flex-shrink: 0;
	padding-block: 0.875rem;
	padding-inline: 0.875rem 4.25rem;
	position: relative;
	z-index: 2;
}

.p-fv__top__box-small .p-fv__top__box-content {
	align-items: center;
	background: radial-gradient(50% 50% at 50% 50%, #f2f5f9 0%, #fff 100%);
	border-radius: 100vmax;
	display: grid;
	filter: drop-shadow(6px 3px 8px rgba(0, 0, 0, 0.1));
	justify-items: center;
	padding-block: 2.625rem;
	padding-inline: 2.1875rem;
	row-gap: 0.25rem;
}

.p-fv__top__box-small .p-fv__top__box-img img {
	height: 2.625rem;
	width: 2.8125rem;
}

.p-fv__top__box-small .p-fv__top__box-content-title {
	color: var(--sky-blue);
	font-size: 1.125rem;
	line-height: 1.4;
	text-align: center;
	text-align: center;
}

.p-fv__top__box-small.--reverse {
	background: url("../../assets/img/top/it-bg.webp") no-repeat center center/contain;
	margin-inline-start: -3.75rem;
	padding-inline: 4.25rem 0.875rem;
}

.p-fv__top__box-small.--reverse .p-fv__top__box-content {
	padding-block: 2.25rem 2.8125rem;
	padding-inline: 1.0625rem 1.125rem;
}

.p-fv__top__box-small.--reverse .p-fv__top__box-img img {
	height: 2.5rem;
	width: 2.25rem;
}

body.is-en .p-fv__top__bottom {
	margin-block-start: 21.0625rem;
}

body.is-en .p-fv__top__bottom-message {
	font-size: 1.75rem;
	letter-spacing: 0;
}

body.is-en .p-fv__top__box-small .p-fv__top__box-content {
	padding-block: 2rem;
}

body.is-en .p-fv__top__box-small.--reverse .p-fv__top__box-content {
	padding-block: 2.4375rem;
	padding-inline: 1.625rem 1.3125rem;
}

body.is-en .p-fv__top__bottom-text {
	letter-spacing: 0;
}

.p-header {
	transition: transform 0.3s ease-out, background-color 0.3s ease-out;
}

.p-header.--ready {
	opacity: 0;
	pointer-events: none;
	transform: translateY(-100%);
}

.p-header.--animate {
	animation: header-animation 0.8s cubic-bezier(0.23, 0, 0.22, 1) forwards;
	pointer-events: auto;
}

.p-header.is-white {
	background-color: var(--white);
}

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

.p-header.is-white .p-header__contact {
	background: rgba(21, 86, 136, 0.2);
	box-shadow: none;
	color: var(--white);
}

.p-header.is-white .p-header__contact::before {
	display: none;
}

.p-header.is-white .p-header__contact::after {
	display: none;
}

.p-header.is-white .c-language-button {
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	background: #c0c0c0;
	border: none;
}

.p-header.is-white .c-language-button::before {
	display: none;
}

.p-header.is-white .c-language-button::after {
	display: none;
}

.p-header.is-white .p-header__icon {
	background: rgba(21, 86, 136, 0.2) !important;
	border: none;
	transition: background-color 0.3s ease-out, border-color 0.3s ease-out, box-shadow 0.3s ease-out;
}

.p-header.is-white .p-header__icon::before {
	display: none;
}

.p-header.is-white .p-header__icon::after {
	display: none;
}

.p-header.is-white:has(.p-header__icon.js-show) {
	background: transparent;
}

.p-header.is-white:has(.p-header__icon.js-show) .p-header__logo-img {
	background: url(../../assets/img/common/logo.webp) no-repeat center center/contain;
}

.p-header.is-white:has(.p-header__icon.js-show) .p-header__icon {
	background: transparent;
	box-shadow: 0px 6px 24px rgba(0, 0, 0, 0.05);
}

.p-header.is-white:has(.p-header__icon.js-show) .p-header__icon::before {
	display: block;
}

.p-header.is-white:has(.p-header__icon.js-show) .p-header__icon::after {
	display: block;
}

.p-header.is-another .p-header__contact::before {
	display: none;
}

.p-header.is-another .p-header__contact {
	background: rgba(21, 86, 136, 0.2);
}

.p-header.is-another .p-header__contact .p-header__button .c-language-button::before {
	background: #aaafb3;
}

.p-header.is-contact {
	background-color: var(--white);
}

.p-header.is-contact .p-header__nav-link {
	display: none;
}

.p-header.is-contact .p-header__contact {
	display: none;
}

.p-header.is-contact .p-header__button {
	display: none;
}

.p-header__inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	-moz-column-gap: 2.1875rem;
	column-gap: 2.1875rem;
	margin-inline: auto;
	max-width: 1680px;
	min-height: 6.875rem;
	padding-inline: 2.5625rem;
}

.p-header__logo {
	font-size: 0;
	height: -moz-fit-content;
	height: fit-content;
}

.p-header__logo a {
	display: inline-block;
	position: relative;
}

.p-header__logo-text {
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	clip: rect(0, 0, 0, 0);
	border: 0;
	clip-path: inset(50%);
	font-size: 1rem;
	white-space: nowrap;
}

.p-header__logo-img {
	aspect-ratio: 290/46.624;
	background: url(../../assets/img/common/logo.webp) no-repeat center center/contain;
	display: block;
	height: 100%;
	transition: opacity 0.3s ease;
	width: 100%;
	width: 18.125rem;
}

.p-header__nav {
	margin-inline-start: auto;
}

.p-header__nav-list {
	align-items: center;
	display: flex;
	margin-block-start: -0.3125rem;
	-moz-column-gap: 3.625rem;
	column-gap: 3.625rem;
}

.p-header__nav-link {
	color: var(--corporate-color);
	font-family: var(--font-poppins);
	font-size: 1.25rem;
	font-weight: var(--fw-semibold);
	letter-spacing: 0.1em;
	line-height: 1;
	position: relative;
}

.p-header__nav-link::after {
	background-color: var(--corporate-color);
	bottom: 0;
	clip-path: inset(0% 100% 0% 0%);
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transition: clip-path 0.3s;
	width: 100%;
}

.p-header__contact {
	margin-inline-start: -1.5625rem;
}

.p-header__button {
	margin-block-start: -0.3125rem;
}

.p-header__icon {
	display: none;
}

.p-header__icon--bar {
	height: 100%;
	position: relative;
	width: 100%;
	z-index: 0;
}

.p-header__icon--bar1,
.p-header__icon--bar2 {
	background: var(--white);
	height: 1px;
	position: absolute;
	transition: rotate 0.3s, top 0.3s, bottom 0.3s, translate 0.3s;
	width: 2.25rem;
}

.p-header__icon--bar1 {
	left: 50%;
	top: 0.875rem;
	translate: -50% 0;
}

.p-header__icon--bar2 {
	bottom: 0.875rem;
	left: 50%;
	translate: -50% 0;
}

.p-loading {
	background: var(--white);
	display: grid;
	height: 100%;
	left: 0;
	place-items: center;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
	-webkit-mask-image: linear-gradient(to right, transparent, black 50% 100%);
	mask-image: linear-gradient(to right, transparent, black 50% 100%);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: 100% 0;
	mask-position: 100% 0;
	-webkit-mask-size: 200% 100%;
	mask-size: 200% 100%;
}

.p-loading.--animate {
	animation: loading-mask 2s cubic-bezier(0.23, 0, 0.22, 1) forwards;
}

.p-loading.--end {
	display: none;
}

.p-loading__text {
	clip-path: inset(0% 100% 0% 0%);
	color: var(--corporate-color);
	font-family: var(--font-outfit);
	font-size: 2.625rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.2em;
	line-height: 1.7;
	text-align: center;
	white-space: nowrap;
}

.p-loading__text.--animate {
	animation: loading-text 1s cubic-bezier(0.23, 0, 0.22, 1) forwards, loading-text-out 1s cubic-bezier(0.23, 0, 0.22, 1) forwards 1s;
}

.p-loading__text.--end {
	display: none;
}

.p-loading__logo {
	overflow: hidden;
	text-align: center;
}

.p-loading__logo img {
	height: 4.4453125rem;
	opacity: 0;
	transform: translateY(100%);
	width: 27.65rem;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-loading__logo.--animate img {
	animation: loading-logo 1s cubic-bezier(0.23, 0, 0.22, 1) forwards;
}

.p-message {
	background: var(--white);
	overflow-x: clip;
	padding-block: 13.625rem 13.5rem;
}

.p-message__title {
	color: var(--corporate-color);
	display: grid;
	font-size: 2.375rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.8;
	white-space: nowrap;
}

.p-message__title span {
	display: inline-block;
}

.p-message__text {
	color: var(--text-base);
	font-size: 1.625rem;
	letter-spacing: 0.1em;
	line-height: 2;
	margin-block-start: 3.0625rem;
}

body.is-en .p-message__title {
	letter-spacing: 0;
}

body.is-en .p-message__text {
	letter-spacing: 0;
}

.p-partner-fv {
	background: url("../../assets/img/partner/fv-partner.webp") no-repeat center center/cover;
	overflow-x: clip;
	padding-block: 17.8125rem 7.1875rem;
}

.p-partner-fv__title-main {
	color: var(--white);
	font-family: var(--font-poppins);
	font-size: 5.8125rem;
	letter-spacing: 0.1em;
	line-height: 1;
}

.p-partner-fv__title-sub {
	color: var(--white);
	font-size: 1.25rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.9;
}

.p-partner-fv__message {
	color: var(--white);
	display: inline-block;
	font-size: 2.5rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.7;
	margin-block-start: 8.25rem;
}

.p-partner-fv__message .--small {
	font-size: 2.1875rem;
}

body.is-en .p-partner-fv__message {
	margin-block-start: 15.1875rem;
}

body.is-en .p-partner-fv__title-main {
	letter-spacing: 0;
}

body.is-en .p-partner-fv__title-sub {
	letter-spacing: 0;
}

body.is-en .p-partner-fv__message {
	letter-spacing: 0;
}

.p-partnership {
	background: linear-gradient(0deg, rgba(0, 90, 208, 0.2) 0%, rgba(0, 90, 208, 0.2) 100%), url("../../assets/img/partner/partnership-bg.webp") lightgray 50%/cover no-repeat;
	overflow-x: clip;
	padding-block: 14.375rem 14.375rem;
}

.p-partnership__title-main {
	color: var(--white);
	font-family: var(--font-poppins);
	font-size: 4.9375rem;
	line-height: 1;
	opacity: 0.5;
}

.p-partnership__title-sub {
	color: var(--white);
	font-size: 1.125rem;
	font-weight: var(--fw-bold);
	line-height: 1.9;
	margin-block-start: 0.5625rem;
}

.p-partnership__text {
	color: var(--white);
	font-size: 1rem;
	letter-spacing: 0.2em;
	line-height: 1.9;
	margin-block-start: 2.8125rem;
}

.p-partnership__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-block-start: 4.5rem;
	-moz-column-gap: 2.1875rem;
	column-gap: 2.1875rem;
}

.p-partnership__card {
	border-radius: 15px;
	display: grid;
	grid-row: span 4;
	grid-template-rows: subgrid;
	isolation: isolate;
	padding-block: 2.5rem 3.4375rem;
	padding-inline: 2.1875rem;
	position: relative;
}

.p-partnership__card::focus {
	outline: none;
}

.p-partnership__card::before {
	background-color: rgba(255, 255, 255, 0.1);
	border-radius: 15px;
	box-shadow: inset 0 0 5px -5px #000000;
	content: "";
	inset: 0;
	position: absolute;
	z-index: 0;
}

.p-partnership__card::after {
	backdrop-filter: blur(0px);
	border-radius: 15px;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
	-webkit-backdrop-filter: blur(0px);
	filter: url(#p-partnership__card-glass-distortion);
	-webkit-filter: url(#p-partnership__card-glass-distortion);
}

.p-partnership__card-icon {
	position: relative;
	text-align: center;
}

.p-partnership__card-icon img {
	-o-object-fit: contain;
	object-fit: contain;
}

.p-partnership__card-icon.-partner img {
	aspect-ratio: 45/40;
	width: 2.8125rem;
}

.p-partnership__card-icon.-team img {
	aspect-ratio: 44.138/35.406;
	width: 2.758625rem;
}

.p-partnership__card-icon.-independent img {
	aspect-ratio: 45/48;
	width: 2.8125rem;
}

.p-partnership__card-label {
	color: var(--white);
	font-family: var(--font-poppins);
	font-size: 1.5rem;
	line-height: 1.9;
	margin-block-start: 0.125rem;
	position: relative;
	text-align: center;
}

.p-partnership__card-title {
	color: var(--white);
	font-size: 1.6875rem;
	font-weight: var(--fw-bold);
	line-height: 1.5;
	margin-block-start: 2.75rem;
	position: relative;
	text-align: center;
}

.p-partnership__card-title.--ls {
	letter-spacing: 0.1em;
}

.p-partnership__card-text {
	color: var(--white);
	font-size: 1rem;
	font-weight: var(--fw-medium);
	letter-spacing: 0.18125em;
	line-height: 1.9;
	margin-block-start: 1.25rem;
	position: relative;
}

body.is-en .p-partnership__title-main {
	letter-spacing: 0;
}

body.is-en .p-partnership__title-sub {
	letter-spacing: 0;
}

body.is-en .p-partnership__text {
	letter-spacing: 0;
}

body.is-en .p-partnership__card-text {
	letter-spacing: 0;
}

body.is-en .p-partnership__card-title.--ls {
	letter-spacing: 0;
}

.p-privacy {
	background: linear-gradient(0deg, rgba(230, 238, 247, 0.3) 0%, rgba(245, 250, 255, 0.3) 20.67%, rgba(229, 233, 237, 0.3) 49.04%, rgba(214, 231, 243, 0.3) 100%);
	overflow-x: clip;
	padding-block: 14.75rem 13.3125rem;
}

.p-privacy__content {
	margin-block-start: 12rem;
}

.p-privacy__lead {
	font-size: 1.125rem;
	font-weight: var(--fw-regular);
	letter-spacing: 0.1em;
	line-height: 1.6;
}

.p-privacy__section {
	margin-block-start: 2.5rem;
}

.p-privacy__section-title {
	font-size: 1.375rem;
	font-weight: var(--fw-regular);
	letter-spacing: 0.1em;
	line-height: 1.6;
}

.p-privacy__section-content {
	margin-block-start: 0.6875rem;
	padding-inline-start: 2.0625rem;
}

.p-privacy__section-text {
	font-size: 1.125rem;
	font-weight: var(--fw-regular);
	letter-spacing: 0.1em;
	line-height: 1.6;
}

.p-privacy__section-text a {
	text-decoration: none;
}

.p-privacy__list {
	padding-inline-start: 0.6875rem;
}

.p-privacy__list-item {
	font-size: 1.125rem;
	font-weight: var(--fw-regular);
	letter-spacing: 0.1em;
	line-height: 1.6;
	padding-inline-start: 0.9375rem;
	position: relative;
}

.p-privacy__list-item::before {
	aspect-ratio: 1/1;
	background: var(--text-base);
	border-radius: 100%;
	content: "";
	height: auto;
	left: 0;
	position: absolute;
	top: 0.875rem;
	width: 0.3125rem;
}

.p-privacy__ordered-list {
	list-style-type: decimal;
	padding-inline-start: 1.75rem;
}

.p-privacy__ordered-item {
	font-size: 1.125rem;
	font-weight: var(--fw-regular);
	letter-spacing: 0.1em;
	line-height: 1.6;
}

.p-privacy__closing {
	margin-block-start: 5.1875rem;
}

.p-privacy__closing-text {
	font-size: 1.125rem;
	font-weight: var(--fw-regular);
	letter-spacing: 0.1em;
	line-height: 1.6;
}

body.is-en .p-privacy__lead {
	letter-spacing: 0;
}

body.is-en .p-privacy__section-title {
	letter-spacing: 0;
}

body.is-en .p-privacy__section-text {
	letter-spacing: 0;
}

body.is-en .p-privacy__list-item {
	letter-spacing: 0;
}

body.is-en .p-privacy__ordered-item {
	letter-spacing: 0;
}

.p-scroll-top {
	bottom: 4.375rem;
	display: grid;
	opacity: 0;
	place-items: center;
	pointer-events: none;
	position: fixed;
	right: 2.5rem;
	transition: opacity 0.3s ease-out;
	z-index: 50;
}

.p-scroll-top.is-visible {
	opacity: 1;
	pointer-events: auto;
}

.p-scroll-top__arrow {
	background-color: #d3dce4;
	clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	height: 1.125rem;
	transition: translate 0.3s ease-out;
	width: 1.0625rem;
}

.p-scroll-top__text {
	display: inline-block;
	font-family: var(--font-poppins);
	font-size: 1rem;
	letter-spacing: 0.1em;
	line-height: 1.7;
	translate: 0.0625rem 0;
}

.p-service {
	clip-path: inset(0);
	overflow-x: clip;
	padding-block-end: 12.5rem;
	padding-block-start: 12.0625rem;
	position: relative;
	z-index: 0;
}

.p-service::before {
	background-image: url("../../assets/img/top/service-bg.webp"), linear-gradient(0deg, #e6eef7 0%, #f5faff 21%, #e5e9ed 49%, #d6e7f3 100%);
	background-position: center center, center;
	background-repeat: no-repeat, no-repeat;
	background-size: cover, cover;
	content: "";
	height: 100lvh;
	left: 0;
	position: fixed;
	top: 0;
	transform: translateZ(0);
	width: 100%;
	z-index: -4;
}

.p-service__buttons {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-block-start: 2rem;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
}

.p-service__button {
	border-radius: 100vmax;
	color: var(--white);
	display: grid;
	font-size: 1.375rem;
	letter-spacing: 0.1em;
	line-height: 1;
	min-height: 5.625rem;
	padding-block: 0.75rem;
	padding-inline: 1.25rem;
	place-items: center;
	text-align: center;
	transition: background 0.3s ease;
}

.p-service__button {
	isolation: isolate;
	position: relative;
	z-index: 1;
}

.p-service__button:focus {
	outline: none;
}

.p-service__button::before {
	background: rgba(21, 86, 136, 0.2);
	border-radius: 100vmax;
	box-shadow: inset 0 0 6px -5px #000000;
	content: "";
	inset: 0;
	position: absolute;
	transition: background 0.3s ease;
	z-index: 0;
}

.p-service__button::after {
	backdrop-filter: blur(0px);
	border-radius: 100vmax;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
	-webkit-backdrop-filter: blur(0px);
	filter: url(#p-service__button-glass-distortion);
	-webkit-filter: url(#p-service__button-glass-distortion);
}

.p-service__button span {
	position: relative;
}

.p-service__boxes {
	display: grid;
	margin-block-start: 3.125rem;
	row-gap: 13.1875rem;
}

.p-service__box:nth-of-type(even) .p-service__box-top {
	grid-template-areas: "img content";
	grid-template-columns: 28.75rem minmax(0, 1fr);
}

.p-service__box-top {
	align-items: start;
	display: grid;
	grid-template-areas: "content img";
	grid-template-columns: minmax(0, 1fr) 28.75rem;
	-moz-column-gap: 6.25rem;
	column-gap: 6.25rem;
}

.p-service__box-content {
	grid-area: content;
	margin-block-start: 3.125rem;
}

.p-service__box-title-main {
	color: var(--corporate-color);
	font-family: var(--font-poppins);
	font-size: 4.125rem;
	font-weight: var(--fw-regular);
	letter-spacing: 0.1em;
	line-height: 1;
}

.p-service__box-title-main span {
	font-weight: 150;
}

.p-service__box-title-sub {
	color: var(--corporate-color);
	font-family: var(--font-noto-sans-jp);
	font-size: 1.875rem;
	font-weight: var(--fw-bold);
	line-height: 1.7;
	margin-block-start: 0.8125rem;
	margin-inline-start: 0.375rem;
}

.p-service__box-text {
	font-size: 1rem;
	line-height: 1.9;
	margin-block-start: 0.5rem;
}

.p-service__box-list {
	margin-block-start: 2.1875rem;
}

.p-service__box-item {
	color: var(--text-base);
	font-size: 1.125rem;
	font-weight: var(--fw-medium);
	letter-spacing: 0.2em;
	line-height: 2.4;
	padding-inline-start: 1.875rem;
	position: relative;
}

.p-service__box-item::before {
	color: var(--corporate-color);
	content: "●";
	left: 0;
	position: absolute;
	top: 0;
}

.p-service__box-img {
	border-radius: 10px;
	display: block;
	grid-area: img;
	opacity: 0.8;
	overflow: hidden;
}

.p-service__box-bottom {
	margin-block-start: 4.25rem;
}

.p-service__box-bottom-title {
	color: var(--corporate-color);
	font-size: 1.5rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.9;
	text-align: center;
}

.p-service__box-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-block-start: 2rem;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
}

.p-service__box-card {
	background: var(--white);
	border-radius: 15px;
	display: grid;
	grid-row: span 2;
	grid-template-rows: subgrid;
	padding-block: 2.9375rem 2.3125rem;
	padding-inline: 0.625rem;
	row-gap: 3.3125rem;
}

.p-service__box-card-title {
	color: var(--corporate-color);
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	position: relative;
	text-align: center;
}

.p-service__box-card-title::after {
	background: var(--corporate-color);
	bottom: -1.5rem;
	content: "";
	height: 1px;
	left: 50%;
	position: absolute;
	translate: -50% 0;
	width: 2.4375rem;
}

.p-service__box-card-text {
	font-size: 1rem;
	font-weight: var(--fw-regular);
	letter-spacing: 0.1em;
	line-height: 1.6;
	padding-inline: 0.6875rem;
}

body.is-en .p-service__box-list {
	display: grid;
	row-gap: 1rem;
}

body.is-en .p-service__box-item {
	letter-spacing: 0;
	line-height: 1.8;
}

body.is-en .p-service__box-card-text {
	letter-spacing: 0;
}

body.is-en .p-service__box-card-title {
	letter-spacing: 0;
}

body.is-en .p-service__box-bottom-title {
	letter-spacing: 0;
}

body.is-en .p-service__buttons {
	margin-block-start: 4.5rem;
}

.p-sidebar__buttons {
	display: grid;
	row-gap: 1.25rem;
}

.p-sidebar__button {
	border-radius: 100vmax;
	border-radius: 100vmax;
	color: var(--white);
	display: grid;
	font-size: 1.125rem;
	isolation: isolate;
	letter-spacing: 0.1em;
	line-height: 1;
	padding-block: 1.4375rem;
	padding-inline: 1.25rem;
	place-items: center;
	position: relative;
}

.p-sidebar__button span {
	position: relative;
}

.p-sidebar__button.is-current::before {
	background: var(--corporate-color);
}

.p-sidebar__button::before {
	background: rgba(21, 86, 136, 0.2);
	border-radius: 100vmax;
	box-shadow: inset 0 0 6px -5px #000000;
	content: "";
	inset: 0;
	position: absolute;
	transition: background 0.3s ease;
	z-index: 0;
}

.p-sidebar__button::after {
	backdrop-filter: blur(0px);
	border-radius: 100vmax;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
	-webkit-backdrop-filter: blur(0px);
	filter: url(#p-sidebar__button-glass-distortion);
	-webkit-filter: url(#p-sidebar__button-glass-distortion);
}

.p-sidebar__button:focus {
	outline: none;
}

.p-single {
	background: linear-gradient(0deg, rgba(230, 238, 247, 0.3) 0%, rgba(245, 250, 255, 0.3) 20.67%, rgba(229, 233, 237, 0.3) 49.04%, rgba(214, 231, 243, 0.3) 100%);
	overflow-x: clip;
	padding-block: 14.25rem 6.875rem;
}

.p-single__inner {
	margin-inline: auto;
	max-width: calc(1280px + 3.9375rem + 1.875rem);
	padding-inline: 3.9375rem 1.875rem;
}

.p-single__thumbnail {
	margin-block-start: 3.75rem;
}

.p-single__content-wrapper {
	padding-inline-end: 22.5rem;
	padding-inline-start: 1.875rem;
	position: relative;
}

.p-single__meta {
	align-items: center;
	display: flex;
	margin-inline-start: 0.3125rem;
	-moz-column-gap: 1.6875rem;
	column-gap: 1.6875rem;
	min-width: 0;
}

.p-single__meta-category {
	align-items: center;
	display: flex;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

.p-single__meta-category li {
	color: var(--corporate-color);
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
}

.p-single__meta-date {
	color: var(--gray);
	flex-shrink: 0;
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
}

.p-single__title {
	color: var(--corporate-color);
	font-size: 2rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-block-start: 0.5rem;
}

.p-single__content {
	margin-block-start: 8.125rem;
}

.p-single__content h2 {
	color: var(--corporate-color);
	font-size: 2.375rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.9;
}

.p-single__content h3 {
	font-size: 1.75rem;
	letter-spacing: 0.1em;
	line-height: 1.9;
	padding-block-end: 0.9375rem;
	padding-inline-start: 0.125rem;
	position: relative;
}

.p-single__content h3::after {
	background-color: #c7cfd3;
	border-radius: 100vmax;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}

.p-single__content ul {
	padding-inline-start: 0.125rem;
}

.p-single__content ul li {
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	line-height: 2;
	padding-inline-start: 1.25rem;
	position: relative;
}

.p-single__content ul li::before {
	content: "●";
	height: 1lh;
	inset: 0;
	position: absolute;
}

.p-single__content p {
	font-size: 1rem;
	letter-spacing: 0.1em;
	line-height: 1.7;
	margin-block-start: 1.8125rem;
}

.p-single__content figure {
	border-radius: 15px;
	margin-block-start: 3.25rem;
	overflow: hidden;
}

.p-single__content figure + p {
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	line-height: 2.4;
	margin-block-start: 0.875rem;
}

.p-single__content h2 + h3 {
	margin-block-start: 0.125rem;
}

.p-single__content h2 + h3 + p {
	margin-block-start: 1rem;
}

.p-single__content ul + h3 {
	margin-block-start: 2.9375rem;
}

.p-single__content h3 + ul {
	margin-block-start: 1.125rem;
}

.p-single__content p + ul {
	margin-block-start: 0.9375rem;
}

.p-single__content ul + h2 {
	margin-block-start: 6.25rem;
}

.p-single__content p + h2 {
	margin-block-start: 5rem;
}

.p-single__content h2 + p {
	margin-block-start: 0rem;
}

.p-single__content h2 + p + ul {
	margin-block-start: 0;
}

.p-single__contact {
	padding-inline-end: 3.75rem;
	padding-inline-start: 2.1875rem;
}

.p-single__bottom {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-block-start: 8.0625rem;
}

.p-single__share {
	display: flex;
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
}

.p-single__share-title {
	color: var(--gray);
	font-size: 1rem;
	font-weight: var(--fw-medium);
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-inline-end: 1rem;
}

.p-single__share-link {
	font-family: var(--font-poppins);
	font-size: 1rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	text-decoration-line: underline;
	transition: opacity 0.3s ease;
}

.p-single__sidebar {
	position: absolute;
	right: 0rem;
	top: 0.875rem;
	width: 13.25rem;
}

.p-single__contact {
	margin-block-start: 5.625rem;
	padding-inline-end: 4.25rem;
}

.p-single__breadcrumb {
	margin-block-start: 6.75rem;
	padding-inline-start: 2.1875rem;
}

.p-single__breadcrumb-list {
	align-items: baseline;
	display: flex;
	-moz-column-gap: 1.5625rem;
	column-gap: 1.5625rem;
	min-width: 0;
}

.p-single__breadcrumb-item {
	min-width: 0;
	position: relative;
}

.p-single__breadcrumb-item::after {
	background-color: var(--gray);
	content: "";
	height: 1.25rem;
	position: absolute;
	right: -0.75rem;
	top: 50%;
	translate: 0 -50%;
	width: 2px;
}

.p-single__breadcrumb-item:last-child {
	flex: 1;
	min-width: 0;
}

.p-single__breadcrumb-item:last-child::after {
	display: none;
}

.p-single__breadcrumb-item a {
	transition: opacity 0.3s ease;
}

.p-single__breadcrumb-link {
	color: var(--gray);
	font-size: 1rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	white-space: nowrap;
}

.p-single__breadcrumb-link.--title {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

.fb-share-button {
	display: contents;
}

.p-strengths {
	background: url("../../assets/img/top/strengths-bg.webp") no-repeat center center/cover;
	display: grid;
	min-height: 100vh;
	overflow: clip;
	place-items: center;
}

.p-strengths__inner {
	padding-inline-start: 15.875rem;
}

.p-strengths__title-sub {
	color: var(--white);
	font-size: 2.125rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.9;
}

.p-strengths__title-main {
	color: var(--white);
	font-size: 3rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.9;
	margin-block-start: -0.625rem;
}

.p-strengths__title-main .deco {
	position: relative;
}

.p-strengths__title-main .deco::after {
	aspect-ratio: 1;
	background: var(--white);
	border-radius: 100vmax;
	content: "";
	left: 50%;
	position: absolute;
	top: -0.1875rem;
	translate: -50% 0;
	width: 0.375rem;
}

.p-strengths__cards {
	display: grid;
	grid-template-columns: repeat(3, max-content);
	margin-block-start: 2.125rem;
	-moz-column-gap: 2.5rem;
	column-gap: 2.5rem;
	margin-inline-start: -15.875rem;
	min-width: calc(100% + 15.875rem);
	transform: translateX(15.875rem);
	width: -moz-fit-content;
	width: fit-content;
}

.p-strengths__card {
	border-radius: 10px;
	box-shadow: 0px 6px 24px rgba(0, 0, 0, 0.1);
	display: grid;
	flex-shrink: 0;
	grid-row: span 3;
	grid-template-rows: subgrid;
	isolation: isolate;
	padding-block: min(2.75rem, 4vh) min(5.625rem, 8vh);
	padding-inline: 3.125rem 0.625rem;
	position: relative;
	width: 46.25rem;
}

.p-strengths__card:focus {
	outline: none;
}

.p-strengths__card::before {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.1) 20%, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.85) 100%) border-box;
	border: 1.5px solid transparent;
	border-radius: 10px;
	content: "";
	inset: 0;
	position: absolute;
	z-index: 0;
	-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: destination-out;
	-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

.p-strengths__card::after {
	backdrop-filter: blur(10px);
	border-radius: 10px;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
	-webkit-backdrop-filter: blur(10px);
	filter: url(#strengths-glass-distortion);
	-webkit-filter: url(#strengths-glass-distortion);
}

.p-strengths__card-label {
	color: rgba(255, 255, 255, 0.6);
	font-family: var(--font-outfit);
	font-size: 1.75rem;
	letter-spacing: 0.1em;
	line-height: 1.9;
	position: relative;
}

.p-strengths__card-title {
	color: var(--white);
	font-size: 1.6875rem;
	font-weight: var(--fw-bold);
	line-height: 1.7;
	margin-block-start: 2.125rem;
	position: relative;
}

.p-strengths__card-title.--ls {
	letter-spacing: 0.1037037037em;
}

.p-strengths__card-text {
	color: var(--white);
	font-size: 1.125rem;
	font-weight: var(--fw-medium);
	letter-spacing: 0.2em;
	line-height: 1.9;
	margin-block-start: 0.625rem;
	padding-inline-end: 1.25rem;
	position: relative;
}

.p-strengths__bar-wrapper {
	background: var(--white);
	height: 1px;
	margin-block-start: min(6.375rem, 8vh);
	position: relative;
	width: 73.625rem;
}

.p-strengths__bar {
	background: var(--white);
	border-radius: 100vmax;
	height: 0.3125rem;
	left: 0;
	position: absolute;
	top: 50%;
	transition: width 0.1s ease-out;
	translate: 0 -50%;
	width: 33%;
}

body.is-en .p-strengths__title-main {
	letter-spacing: 0;
}

body.is-en .p-strengths__title-sub {
	letter-spacing: 0;
}

body.is-en .p-strengths__card-label {
	letter-spacing: 0;
}

body.is-en .p-strengths__card-title {
	letter-spacing: 0;
}

body.is-en .p-strengths__card-text {
	letter-spacing: 0;
}

.p-top-message {
	background: linear-gradient(0deg, #e6eef7 0%, #f5faff 56.25%, #eff6fc 100%);
	padding-block: 13.75rem 14.5rem;
}

.p-top-message__title-main {
	color: var(--corporate-color);
	font-family: var(--font-poppins);
	font-size: 4.9375rem;
	line-height: 1;
}

.p-top-message__title-sub {
	font-size: 1.125rem;
	font-weight: var(--fw-bold);
	line-height: 1.9;
	margin-block-start: 1.1875rem;
}

.p-top-message__sub-title {
	color: var(--corporate-color);
	font-size: 2.125rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.8;
	margin-block-start: 5rem;
}

.p-top-message__sub-title .no-wrap {
	white-space: nowrap;
}

.p-top-message__box {
	display: grid;
	grid-template-columns: 26.1875rem minmax(0, 1fr);
	margin-block-end: 14.125rem;
	margin-block-start: 2.6875rem;
	-moz-column-gap: 6.25rem;
	column-gap: 6.25rem;
}

.p-top-message__img {
	border-radius: 10px;
	display: block;
	overflow: hidden;
}

.p-top-message__img img {
	aspect-ratio: 419/564;
	height: auto;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-top-message__text {
	font-size: 1.125rem;
	letter-spacing: 0.2em;
	line-height: 1.9;
}

.p-top-message__meta {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	margin-block-start: 1.4375rem;
	-moz-column-gap: 4rem;
	column-gap: 4rem;
}

.p-top-message__meta-text {
	font-size: 1.125rem;
	letter-spacing: 0.2em;
	line-height: 1.9;
}

.p-top-message__meta-text .small {
	font-size: 1rem;
}

body.is-en .p-top-message__title-main {
	letter-spacing: 0;
}

body.is-en .p-top-message__title-sub {
	letter-spacing: 0;
}

body.is-en .p-top-message__sub-title {
	letter-spacing: 0;
}

body.is-en .p-top-message__text {
	letter-spacing: 0;
}

body.is-en .p-top-message__meta-text {
	letter-spacing: 0;
}

.p-top-partner {
	background: var(--white);
	overflow-x: clip;
	padding-block: 10.9375rem 8.5rem;
}

.p-top-partner__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 32.125rem;
	margin-block-end: 10rem;
	-moz-column-gap: 7.5rem;
	align-items: start;
	column-gap: 7.5rem;
}

.p-top-partner__content-lead {
	margin-block-start: 1.5625rem;
}

.p-top-partner__content-title {
	color: var(--corporate-color);
	font-size: 3rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.9;
	margin-block-start: 3.4375rem;
	text-decoration: underline;
	text-decoration-color: var(--corporate-color);
	text-decoration-thickness: 0.0625rem;
	text-underline-offset: 1.5625rem;
}

.p-top-partner__content-title .small {
	font-size: 2.625rem;
}

.p-top-partner__content-title-sub {
	font-size: 1.5rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-block-start: 1.875rem;
}

.p-top-partner__content-text {
	font-size: 1rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-block-start: 0.6875rem;
}

.p-top-partner__button {
	margin-block-start: 3.75rem;
}

.p-top-partner__img {
	aspect-ratio: 514/702;
	border-radius: 10px;
	display: block;
	opacity: 0.9;
	overflow: hidden;
}

body.is-en .p-top-partner__content-title {
	letter-spacing: 0;
	margin-block-start: 2.8125rem;
}

body.is-en .p-top-partner__content-title-sub {
	letter-spacing: 0;
	margin-block-start: 2.8125rem;
}

body.is-en .p-top-partner__content-text {
	letter-spacing: 0;
}

.p-vision {
	min-height: 100lvh;
	overflow-x: clip;
}

.p-vision__content {
	background: url("../../assets/img/top/vision-bg.webp") no-repeat center center/cover;
	display: grid;
	height: 100lvh;
	place-items: center;
	position: sticky;
	top: 0;
}

.p-vision__content.--second .p-vision__content__inner,
.p-vision__content.--third .p-vision__content__inner {
	grid-template-columns: max-content minmax(0, 1fr);
	-moz-column-gap: 3.125rem;
	column-gap: 3.125rem;
}

.p-vision__content.--second .p-vision__text-wrapper,
.p-vision__content.--third .p-vision__text-wrapper {
	justify-self: end;
	max-width: 40.5rem;
}

.p-vision__content__inner {
	align-content: center;
	display: grid;
	grid-column: 1;
	grid-row: 1;
	height: 100%;
	isolation: isolate;
	margin-inline: auto;
	max-width: 1338px;
	opacity: 0;
	padding-inline: 3.75rem 5.75rem;
	position: relative;
	width: 100%;
}

.p-vision__content__inner::before {
	background: url("../../assets/img/top/vision-bg.webp") no-repeat center center/cover;
	bottom: 0;
	content: "";
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100vw;
	z-index: -1;
}

.p-vision__content__inner.--first {
	display: grid;
}

.p-vision__content__inner.--second,
.p-vision__content__inner.--third {
	display: grid;
}

.p-vision__content__inner.--second .p-vision__container,
.p-vision__content__inner.--third .p-vision__container {
	align-items: center;
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	margin-block-start: -1.5625rem;
	-moz-column-gap: 3.125rem;
	column-gap: 3.125rem;
}

.p-vision__content__inner.--second .p-vision__text-wrapper,
.p-vision__content__inner.--third .p-vision__text-wrapper {
	justify-self: end;
	max-width: 40.5rem;
}

.p-vision__content__inner.--second .p-vision__content-text,
.p-vision__content__inner.--third .p-vision__content-text {
	margin-block-start: 0;
}

.p-vision__content__inner.--third .p-vision__container {
	margin-block-start: -0.625rem;
}

.p-vision__content__inner.--third .p-vision__content-title {
	margin-block-start: -2.5rem;
}

.p-vision__container {
	margin-block-start: -3.125rem;
	position: relative;
}

.p-vision__title {
	left: 3.75rem;
	position: absolute;
	top: min(7.1875rem, 10vh);
	z-index: 2;
}

.p-vision__content-title {
	color: var(--white);
	font-size: 3rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.2em;
	line-height: 1.8;
	opacity: 0;
	position: relative;
	transform: translateY(1.875rem);
}

.p-vision__content-title.--large {
	font-size: 3.625rem;
	letter-spacing: 0.2em;
}

.p-vision__content-title-sub {
	color: var(--white);
	font-family: Poppins;
	font-size: 1.5625rem;
	letter-spacing: 0.05em;
	line-height: 1.4;
	mix-blend-mode: soft-light;
	opacity: 0;
	position: relative;
}

.p-vision__text-wrapper {
	max-width: 47.5625rem;
	min-width: 0;
	position: relative;
}

.p-vision__content-text {
	color: var(--white);
	font-size: 1rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-block-start: 1.8125rem;
	opacity: 0;
	transform: translateY(1.875rem);
}

.p-vision__content-text-char {
	display: inline;
	opacity: 0.4;
	transition: none;
}

.p-vision__content-link {
	align-items: center;
	display: flex;
	opacity: 0;
	position: relative;
	transform: translateY(1.875rem);
	width: -moz-fit-content;
	width: fit-content;
	-moz-column-gap: 0.625rem;
	color: var(--white);
	column-gap: 0.625rem;
	font-size: 1rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-block-start: 2.1875rem;
	transition: opacity 0.3s ease;
}

.p-vision__content-link::after {
	aspect-ratio: 1;
	background: url("../../assets/img/common/icon-blank.svg") no-repeat center center/contain;
	content: "";
	display: block;
	width: 0.8125rem;
}

.p-vision__content-link::before {
	background-color: var(--white);
	bottom: 0;
	clip-path: inset(0% 100% 0% 0%);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transition: clip-path 0.3s;
	width: 100%;
}

.p-vision__content-scroll {
	bottom: 0;
	opacity: 0;
	position: absolute;
	right: 5.75rem;
	z-index: 2;
}

.p-vision__content-scroll-text {
	color: var(--white);
	display: inline-block;
	font-family: var(--font-poppins);
	font-size: 1rem;
	line-height: 1;
	rotate: 90deg;
	translate: -1.375rem -1.875rem;
}

.p-vision__content-scroll-ber {
	background: var(--white);
	height: 11.6875rem;
	position: relative;
	width: 1px;
	--scroll-bar-top: 0px;
}

.p-vision__content-scroll-ber::after {
	background: var(--white);
	content: "";
	height: 3.8125rem;
	left: 50%;
	position: absolute;
	top: var(--scroll-bar-top, 0);
	translate: -50% 0;
	width: 0.3125rem;
}

body.is-en .p-vision__content-title {
	letter-spacing: 0;
}

body.is-en .p-vision__content-title.--large {
	letter-spacing: 0;
}

body.is-en .p-vision__content-text-char {
	letter-spacing: 0;
}

body.is-en .p-vision__content-text {
	letter-spacing: 0;
}

body.is-en .p-vision__content-link {
	letter-spacing: 0;
}

.p-why {
	background: var(--white);
	overflow-x: clip;
	padding-block: 11.0625rem 14.375rem;
}

.p-why__title {
	color: var(--corporate-color);
	font-family: var(--font-poppins);
	font-size: 7.875rem;
	font-weight: var(--fw-medium);
	line-height: 1.6;
}

.p-why__title-sub {
	color: var(--corporate-color);
	font-family: var(--font-noto-sans-jp);
	font-size: 2.6875rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.6;
}

.p-why__text {
	font-size: 1.125rem;
	letter-spacing: 0.2em;
	line-height: 1.9;
	margin-block-start: 0.875rem;
	padding-inline-start: 0.1875rem;
}

.p-why__boxes {
	display: grid;
	margin-block-start: 7.5rem;
	row-gap: 7.5rem;
}

.p-why__box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 31.125rem;
	-moz-column-gap: 5.625rem;
	align-items: start;
	column-gap: 5.625rem;
	grid-template-areas: "content img";
}

.p-why__box:nth-of-type(even) {
	grid-template-columns: 31.125rem minmax(0, 1fr);
	-moz-column-gap: 5.625rem;
	column-gap: 5.625rem;
	grid-template-areas: "img content";
}

.p-why__box-content {
	grid-area: content;
	margin-block-start: 3.75rem;
}

.p-why__box-num {
	align-items: center;
	display: flex;
	flex-direction: column;
	width: -moz-fit-content;
	width: fit-content;
}

.p-why__box-num-text {
	color: var(--corporate-color);
	font-family: var(--font-poppins);
	font-size: 0.875rem;
	line-height: 1.6;
	margin-block-start: 0.9375rem;
	text-align: center;
}

.p-why__box-num-num {
	color: var(--corporate-color);
	display: inline-block;
	font-family: var(--font-poppins);
	font-size: 3.625rem;
	font-weight: var(--fw-medium);
	letter-spacing: 0.1em;
	line-height: 1.8;
	margin-block-start: -1.25rem;
	margin-inline-start: 0.25rem;
}

.p-why__box-title {
	color: var(--corporate-color);
	font-size: 2.375rem;
	font-weight: var(--fw-bold);
	letter-spacing: 0.1em;
	line-height: 1.7;
	margin-block-start: 0.125rem;
}

.p-why__box-text {
	font-size: 1.125rem;
	letter-spacing: 0.2em;
	line-height: 1.9;
	margin-block-start: 0.9375rem;
	padding-inline-start: 0.1875rem;
}

.p-why__box-img {
	border-radius: 10px;
	grid-area: img;
	overflow: hidden;
}

.p-why__box-img img {
	aspect-ratio: 498/609;
}

body.is-en .p-why__title {
	letter-spacing: 0;
}

body.is-en .p-why__title-sub {
	letter-spacing: 0;
}

body.is-en .p-why__text {
	letter-spacing: 0;
}

body.is-en .p-why__box-title {
	letter-spacing: 0;
}

body.is-en .p-why__box-text {
	letter-spacing: 0;
}

.p-works {
	background: var(--white);
	overflow-x: clip;
	padding-block: 9.6875rem 10rem;
}

.p-works__top {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
}

.p-works__top-button {
	margin-block-end: 0.4375rem;
}

.p-works__message {
	font-size: 1rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-block-start: 3.4375rem;
}

.p-works__list {
	margin-block-start: 3.4375rem;
}

.p-works__empty {
	padding-block: 5rem;
	text-align: center;
}

.p-works__empty-message {
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
}

.u-visually-hidden {
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	clip: rect(0, 0, 0, 0);
	border: 0;
	white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {

.c-archive__category-link:hover::before {
	background: var(--corporate-color);
}

.c-back-button:hover {
	opacity: 0.8;
}

.c-back-button:hover .c-back-button__arrow::after {
	translate: -0.1875rem 0;
}

.c-button:hover::before {
	background: var(--corporate-color);
}

.c-contact-button:hover {
	background: rgba(150, 185, 205, 0.5);
}

.c-contact-link:hover .c-contact-link__button {
	background: rgb(255, 255, 255);
}

.c-contact-link:hover .c-contact-link__button-arrow {
	background: rgb(150, 185, 205);
}

.c-language-button:hover {
	opacity: 0.9;
}

.c-pagination__link:hover:not(.c-pagination__link--current):not(.c-pagination__link--disabled) {
	color: var(--corporate-color);
}

.c-pagination__link-arrow:hover:not(.is-disabled) {
	background-color: var(--corporate-color);
	border-color: var(--corporate-color);
}

.c-pagination__link-arrow:hover:not(.is-disabled).--prev .c-pagination__arrow {
	background-color: var(--white);
	translate: -0.1875rem 0;
}

.c-pagination__link-arrow:hover:not(.is-disabled).--next .c-pagination__arrow {
	background-color: var(--white);
	translate: 0.1875rem 0;
}

.c-works-link:hover .c-works__link-title {
	text-decoration-color: currentColor;
}

.c-works-link:hover .c-works__link-button::before {
	background: var(--corporate-color);
}

.c-works-link:hover .c-works__link-button .c-works__link-button-arrow {
	translate: 0.1875rem 0;
}

.p-contact__privacy-link:hover {
	cursor: pointer;
	opacity: 0.8;
	text-decoration: underline;
}

.p-contact__checkbox:hover {
	cursor: pointer;
}

.p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox) .wpcf7-list-item label:hover {
	cursor: pointer;
}

.p-contact__submit-button:hover::before,
.p-contact .wpcf7-previous:hover::before {
	background: var(--corporate-color);
}

.p-contact__submit-button:hover .p-contact__submit-icon {
	translate: 0.1875rem 0;
}

.p-contact .wpcf7-previous:hover .p-contact__submit-icon {
	translate: -0.1875rem 0;
}

.p-footer__nav-link:hover::after {
	clip-path: inset(0% 0% 0% 0%);
}

.p-footer__link:hover {
	opacity: 0.8;
}

.p-footer__privacy:hover {
	opacity: 0.8;
}

.p-footer__privacy:hover::after {
	translate: 0.1875rem 0;
}

.p-header.is-white .p-header__contact:hover {
	background: var(--corporate-color) !important;
}

.p-header.is-another .p-header__contact:hover {
	background: var(--corporate-color);
}

.p-header__logo-img:hover {
	opacity: 0.8;
}

.p-header__nav-link:hover::after {
	clip-path: inset(0% 0% 0% 0%);
}

.p-scroll-top:hover {
	opacity: 0.8;
}

.p-scroll-top:hover .p-scroll-top__arrow {
	translate: 0 -3px;
}

.p-service__button:hover::before {
	background: var(--corporate-color);
}

.p-sidebar__button:hover::before {
	background: var(--corporate-color);
}

.p-single__share-link:hover {
	opacity: 0.8;
	text-decoration-line: underline;
}

.p-single__breadcrumb-item a:hover {
	opacity: 0.8;
}

.p-vision__content-link:hover::before {
	clip-path: inset(0% 0% 0% 0%);
}

}

@media (prefers-reduced-motion: reduce) {

.p-vision__content-text-char {
	opacity: 1;
}

}

@media screen and (min-width: 768px) and (max-width: 1280px) {

html {
	font-size: 0.9523809524vw;
}

}

@media (min-width: 768px) {

a[href*="tel:"] {
	cursor: default;
	pointer-events: none;
	text-decoration: none;
}

}

@media screen and (min-width: 768px) {

.c-title.--pc-center {
	text-align: center;
}

.u-only__sp {
	display: none;
}

}

@media screen and (min-width: 1281px) {

.p-fixed__video img {
	width: min(31.0119047619vw, 32.5625rem);
}

.p-footer__inner {
	padding-inline: min(8.5119047619vw, 8.9375rem) min(5.9523809524vw, 6.25rem);
}

.p-footer__top {
	-moz-column-gap: min(4.5833333333vw, 4.8125rem);
	column-gap: min(4.5833333333vw, 4.8125rem);
}

.p-footer__top::after {
	width: min(95.2380952381vw, 100rem);
}

.p-footer__logo img {
	width: min(29.6428571429vw, 31.125rem);
}

.p-footer__nav {
	margin-block-start: min(1.6666666667vw, 1.75rem);
}

.p-footer__nav-list {
	-moz-column-gap: min(5vw, 5.25rem);
	column-gap: min(5vw, 5.25rem);
}

.p-footer__middle {
	-moz-column-gap: min(29.7619047619vw, 31.25rem);
	column-gap: min(29.7619047619vw, 31.25rem);
}

.p-fv__top {
	padding-block-start: min(14.9404761905vw, 15.6875rem);
	padding-inline-start: min(14.2857142857vw, 15rem);
}

.p-fv__scroll {
	height: min(10.9523809524vw, 11.5rem);
	width: min(10.9523809524vw, 11.5rem);
}

.p-fv__title {
	font-size: min(7.619047619vw, 8rem);
}

.p-fv__title-sub {
	margin-inline-start: min(0.6547619048vw, 0.6875rem);
}

.p-fv__title-sub img {
	width: min(33.9285714286vw, 35.625rem);
}

.p-fv__top__bottom-message {
	padding-inline-start: min(15vw, 15.75rem);
}

.p-fv__top__bottom-message {
	font-size: min(1.9047619048vw, 2rem);
}

.p-fv__top__bottom-text {
	padding-inline-start: min(15.0595238095vw, 15.8125rem);
}

.p-fv__top__boxes {
	padding-inline-start: min(8.869047619vw, 9.3125rem);
}

.p-fv__top__box-large {
	min-width: min(20vw, 21rem);
}

.p-fv__top__box-large-title {
	font-size: min(1.0714285714vw, 1.125rem);
}

.p-fv__top__box {
	padding-block: min(1.130952381vw, 1.1875rem);
	padding-inline: min(1.369047619vw, 1.4375rem) min(5.8333333333vw, 6.125rem);
}

.p-fv__top__box .p-fv__top__box-content {
	padding-block: min(4.5833333333vw, 4.8125rem) min(4.9404761905vw, 5.1875rem);
	padding-inline: min(1.5476190476vw, 1.625rem) min(1.1904761905vw, 1.25rem);
	position: relative;
}

.p-fv__top__box .p-fv__top__box-img {
	height: min(1.3767857143vw, 1.445625rem);
	width: min(11.7660714286vw, 12.354375rem);
}

.p-fv__top__box .p-fv__top__box-content-title {
	font-size: min(1.0714285714vw, 1.125rem);
}

.p-fv__top__box-small {
	padding-block: min(0.8333333333vw, 0.875rem);
	padding-inline: min(0.8333333333vw, 0.875rem) min(4.0476190476vw, 4.25rem);
}

.p-fv__top__box-small .p-fv__top__box-content {
	padding-block: min(2.5vw, 2.625rem);
	padding-inline: min(2.0833333333vw, 2.1875rem);
}

.p-fv__top__box-small .p-fv__top__box-img img {
	height: min(2.5vw, 2.625rem);
	width: min(2.6785714286vw, 2.8125rem);
}

.p-fv__top__box-small .p-fv__top__box-content-title {
	font-size: min(1.0714285714vw, 1.125rem);
}

.p-fv__top__box-small.--reverse {
	margin-inline-start: min(-5.0595238095vw, -5.3125rem);
	padding-inline: min(4.0476190476vw, 4.25rem) min(0.8333333333vw, 0.875rem);
}

.p-fv__top__box-small.--reverse .p-fv__top__box-content {
	padding-block: min(2.1428571429vw, 2.25rem) min(2.6785714286vw, 2.8125rem);
	padding-inline: min(1.0119047619vw, 1.0625rem) min(1.0714285714vw, 1.125rem);
}

.p-fv__top__box-small.--reverse .p-fv__top__box-img img {
	height: min(2.380952381vw, 2.5rem);
	width: min(2.1428571429vw, 2.25rem);
}

.p-fv__top__box-small.--reverse .p-fv__top__box-content-title {
	font-size: min(1.0714285714vw, 1.125rem);
}

body.is-en .p-fv__top__bottom-message {
	font-size: min(1.6666666667vw, 1.75rem);
}

body.is-en .p-fv__top__box-small .p-fv__top__box-content {
	padding-block: min(1.9047619048vw, 2rem);
}

body.is-en .p-fv__top__box-small.--reverse .p-fv__top__box-content {
	padding-block: min(2.3214285714vw, 2.4375rem);
	padding-inline: min(1.5476190476vw, 1.625rem) min(1.25vw, 1.3125rem);
}

.p-header__logo-img {
	width: min(17.2619047619vw, 18.125rem);
}

.p-header__nav-list {
	-moz-column-gap: min(3.4523809524vw, 3.625rem);
	column-gap: min(3.4523809524vw, 3.625rem);
}

.p-strengths__inner {
	padding-inline-start: min(15.119047619vw, 15.875rem);
}

.p-strengths__cards {
	margin-inline-start: min(-15.119047619vw, -15.875rem);
}

.p-strengths__bar-wrapper {
	width: min(73.625rem, 70.119047619vw);
}

.p-vision__content__inner {
	padding-inline: min(5.3571428571vw, 5.625rem) 0;
}

.p-vision__title {
	left: min(5.3571428571vw, 5.625rem);
	top: min(min(6.8452380952vw, 7.1875rem), 10vh);
}

.p-vision__content-title {
	font-size: min(2.8571428571vw, 3rem);
}

.p-vision__content-title.--large {
	font-size: min(3.4523809524vw, 3.625rem);
}

.p-vision__content-title-sub {
	font-size: min(1.4880952381vw, 1.5625rem);
}

.p-vision__content-text {
	font-size: min(0.9523809524vw, 1rem);
}

.p-vision__content-link {
	font-size: min(0.9523809524vw, 1rem);
}

}

@media screen and (min-width: 1681px) {

.p-strengths__bar-wrapper {
	width: 70.119047619vw;
}

}

@media screen and (max-width: 767px) {

html {
	font-size: 4.0712468193vw;
}

.l-inner {
	padding-inline: 1.25rem;
}

.l-works__list.-archive .l-works__link {
	padding-block: 1.375rem;
}

.l-works__link {
	grid-template-columns: 1fr;
	padding-block: 1.375rem 1.125rem;
	padding-inline: 0;
}

.l-works__link .c-works__link-button {
	display: none;
}

.c-archive__category-list {
	grid-template-columns: repeat(2, 1fr);
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	row-gap: 0.625rem;
}

.c-archive__category-link {
	font-size: 1rem;
	padding-block: 1.125rem 1.3125rem;
	padding-inline: 0.625rem;
}

.c-back-button {
	font-size: 0.875rem;
}

.c-back-button__arrow {
	width: 1.875rem;
}

.c-back-button__arrow::after {
	height: 0.375rem;
	width: 0.4375rem;
}

.c-contact-link {
	background-image: url("../../assets/img/common/contact-bg-sp.webp");
	padding-block: 3.125rem;
	padding-inline: 1.875rem 1.75rem;
}

.c-contact-link.--partner {
	padding-block: 3.1875rem;
}

.c-contact-link.--partner .c-contact-link__text {
	margin-block-start: 0.875rem;
}

.c-contact-link.--partner .c-contact-link__button {
	margin-block-start: 1.6875rem;
}

.c-contact-link__title {
	font-size: 2.5625rem;
}

.c-contact-link__message {
	font-size: 1.125rem;
}

.c-contact-link__text {
	font-size: 0.875rem;
	margin-block-start: 0.8125rem;
}

.c-contact-link__button {
	margin-block-start: 1.6875rem;
}

.c-language-button.--small {
	height: 3.4375rem;
	width: 7.375rem;
}

.c-language-button.--small .c-language-button__icon {
	width: 2.0625rem;
}

.c-language-button.--small .c-language-button__icon::after {
	width: 1.125rem;
}

.c-language-button.--small .c-language-button__text span {
	font-size: 0.727125rem;
	letter-spacing: -0.0142685233em;
	line-height: 1;
}

.c-lower-title__main {
	font-size: 3rem;
}

.c-lower-title__sub {
	font-size: 0.875rem;
}

.c-pagination__list {
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
}

.c-pagination__link {
	font-size: 1.125rem;
}

.c-pagination__link-arrow.--prev {
	margin-inline-end: 0;
}

.c-pagination__link-arrow.--next {
	margin-inline-start: 0;
}

.c-pagination__link-arrow {
	width: 1.875rem;
}

.c-pagination__arrow {
	height: 0.375rem;
	width: 0.4375rem;
}

.c-pagination__dots {
	font-size: 0;
}

.c-pagination__dots::before {
	content: "•••";
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
}

.c-title.--sp-center {
	text-align: center;
}

.c-title__main {
	font-size: 2.4375rem;
}

.c-title__sub {
	font-size: 1rem;
	margin-block-start: 0;
}

.c-works__link-label {
	font-size: 0.875rem;
}

.c-works__link-title {
	color: var(--corporate-color);
	font-size: 0.875rem;
	padding-inline-end: 0;
	text-decoration-color: currentColor;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

.p-404 {
	padding-block: 10rem 6.25rem;
}

.p-404__content__text {
	font-size: 0.875rem;
}

.p-404__button {
	margin-block-start: 2.5rem;
}

.p-archive {
	padding-block: 10rem 6.25rem;
}

.p-archive__buttons {
	margin-block-start: 6.25rem;
}

.p-archive__contact {
	margin-block-start: 6.25rem;
}

.p-comp {
	padding-block: 10rem 6.25rem;
}

.p-comp__content__title {
	font-size: 1.125rem;
}

.p-comp__text {
	font-size: 0.875rem;
}

.p-comp__button {
	margin-block-start: 2.5rem;
}

.p-contact {
	padding-block: 10rem 6.25rem;
}

.p-contact__lead {
	font-size: 0.875rem;
}

.p-contact__form {
	margin-block-start: 3.75rem;
	max-width: 100%;
	padding-inline-start: 0;
}

.p-contact__form-top {
	grid-template-columns: 1fr;
}

.p-contact__field {
	grid-template-columns: 1fr;
	row-gap: 1rem;
}

#contact .p-contact__field.--textarea {
	padding-block-end: 1.9375rem;
}

#contact .p-contact__field.--textarea {
	padding-block-end: 1.9375rem;
}

#contact .p-contact__field.--privacy {
	margin-block-start: 0;
}

.p-contact__field-label.--privacy {
	align-items: center;
	flex-direction: row;
}

.p-contact__required {
	font-size: 0.625rem;
}

.p-contact__privacy-text {
	font-size: 0.875rem;
}

.p-contact__checkbox {
	font-size: 0.875rem;
}

.p-contact__checkbox-icon {
	width: 0.75rem;
}

.p-contact__checkbox-label {
	font-size: 0.875rem;
}

.p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox) .wpcf7-list-item label {
	font-size: 0.875rem;
}

.p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox) .wpcf7-list-item label::before {
	translate: 0 0;
	width: 0.75rem;
}

.p-contact .wpcf7-form-control-wrap:has(.wpcf7-checkbox) .wpcf7-list-item-label {
	font-size: 0.875rem;
}

.p-contact__submit-text {
	font-size: 0.875rem;
}

.p-contact__confirm-buttons {
	flex-direction: column;
	row-gap: 1.25rem;
}

.p-fixed {
	display: none;
}

.p-footer {
	padding-block: 5rem 1.5625rem;
}

.p-footer__inner {
	padding-inline: 1.25rem;
}

.p-footer__top {
	flex-direction: column;
	row-gap: 1.375rem;
}

.p-footer__top::after {
	bottom: -3rem;
	translate: -50% 0;
	width: 100%;
}

.p-footer__logo img {
	width: 20.125rem;
}

.p-footer__nav {
	margin-block-start: 0;
}

.p-footer__nav-list {
	-moz-column-gap: 2rem;
	column-gap: 2rem;
}

.p-footer__nav-link {
	font-size: 1rem;
	font-weight: var(--fw-medium);
}

.p-footer__links {
	margin-block-start: 2.1875rem;
}

.p-footer__middle {
	flex-direction: column;
	margin-block-start: 5.875rem;
	row-gap: 1.375rem;
}

.p-footer__info {
	font-size: 0.875rem;
}

.p-footer__info.--business {
	font-size: 0.9375rem;
}

.p-footer__info .small {
	display: inline-block;
	font-size: 0.8125rem;
}

.p-footer__bottom {
	align-items: flex-start;
	flex-direction: column;
	margin-block-start: 0.875rem;
}

.p-footer__privacy::after {
	display: none;
}

.p-footer__language {
	margin-block-start: -0.1875rem;
	margin-inline-start: auto;
}

.p-footer__copy {
	margin-block-start: -1.3125rem;
	padding-inline: 1.25rem;
	text-align: left;
}

.p-footer__copy-text {
	font-size: 0.75rem;
}

.p-fv {
	padding-block-end: 6.5rem;
}

.p-fv__top {
	padding-block-start: 6.1875rem;
	padding-inline: 1.25rem;
}

.p-fv__scroll {
	display: none;
	height: 6.8125rem;
	right: 1.5625rem;
	width: 6.8125rem;
}

.p-fv__scroll::after {
	filter: url(#p-fv__scroll-glass-distortion-sp);
	-webkit-filter: url(#p-fv__scroll-glass-distortion-sp);
}

.p-fv__scroll-text {
	font-size: 0.6875rem;
}

.p-fv__scroll-arrow {
	height: 0.9375rem;
	width: 0.875rem;
}

.p-fv__title {
	font-size: 3.5rem;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: center;
}

.p-fv__title-sub {
	margin-block-start: 1.25rem;
	margin-inline-start: -0.625rem;
	overflow: hidden;
	text-align: center;
}

.p-fv__title-sub img {
	width: 16.875rem;
}

.p-fv__video {
	display: block;
	margin-block-start: 2.8125rem;
	text-align: center;
}

.p-fv__video video {
	-webkit-mask-image: url("../../assets/img/top/fv-top.webp");
	mask-image: url("../../assets/img/top/fv-top.webp");
	-webkit-mask-size: cover;
	mask-size: cover;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	aspect-ratio: 64/119;
	height: auto;
	mask-repeat: no-repeat;
	width: 16.4375rem;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-fv__top__bottom {
	margin-block-start: 1.875rem;
}

.p-fv__top__bottom-message {
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	line-height: 2;
	padding-inline: 1.1875rem;
	text-align: center;
}

.p-fv__top__bottom-message.--blue {
	font-size: 1.625rem;
	line-height: 1.7;
	margin-block-start: 3.75rem;
	text-align: left;
}

.p-fv__top__bottom-text {
	font-size: 0.875rem;
	margin-block-start: 1.125rem;
	padding-inline: 1.25rem;
}

.p-fv__top__boxes {
	margin-block-start: 1.5rem;
	margin-inline: calc(50% - 50vw);
	padding-inline-start: 0;
	width: 100vw;
}

.p-fv__top__boxes__wrapper {
	overflow-x: auto;
	padding-inline-start: 1.25rem;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.p-fv__top__boxes__wrapper::-webkit-scrollbar {
	display: none;
}

.p-fv__top__boxes-scrollbar {
	display: block;
	margin-block-start: 0.75rem;
	padding-inline: 1.25rem;
}

.p-fv__top__boxes__inner {
	padding-block-end: 1.875rem;
	padding-inline-end: 1.25rem;
	width: -moz-max-content;
	width: max-content;
}

.p-fv__top__box-large {
	margin-block-start: 0;
	margin-inline-start: -3.75rem;
	min-width: 14.875rem;
}

.p-fv__top__box-large.--dot-circle {
	margin-block-start: 0;
	margin-inline-start: -2.8125rem;
}

.p-fv__top__box-large-title {
	font-size: 0.8125rem;
}

.p-fv__top__box {
	margin-inline-start: -3.125rem;
	padding-block: 1.25rem;
	padding-inline: 0.875rem 4.125rem;
}

.p-fv__top__box .p-fv__top__box-content {
	padding-block: 3.4375rem 4.0625rem;
	padding-inline: 1.1875rem 0.8125rem;
	row-gap: 0.125rem;
}

.p-fv__top__box .p-fv__top__box-content::after {
	height: 8.5625rem;
	width: 4.5625rem;
}

.p-fv__top__box .p-fv__top__box-img {
	height: 1rem;
	width: 8.75rem;
}

.p-fv__top__box .p-fv__top__box-content-title {
	font-size: 0.8125rem;
}

.p-fv__top__box-small {
	background: url("../../assets/img/top/client-bg.webp") no-repeat center center/contain;
	flex-shrink: 0;
	padding-block: 0.625rem;
	padding-inline: 0.625rem 3rem;
	position: relative;
	z-index: 2;
}

.p-fv__top__box-small .p-fv__top__box-content {
	padding-block: 1.75rem;
	padding-inline: 1.5625rem;
}

.p-fv__top__box-small .p-fv__top__box-img img {
	height: 1.875rem;
	width: 1.9375rem;
}

.p-fv__top__box-small .p-fv__top__box-content-title {
	font-size: 0.8125rem;
}

.p-fv__top__box-small.--reverse {
	background: url("../../assets/img/top/it-bg.webp") no-repeat center center/contain;
	margin-inline-start: -5.3125rem;
	padding-inline: 3.125rem 0.625rem;
}

.p-fv__top__box-small.--reverse .p-fv__top__box-content {
	padding-block: 1.75rem 2rem;
	padding-inline: 0.6875rem 0.75rem;
}

.p-fv__top__box-small.--reverse .p-fv__top__box-img img {
	height: 1.625rem;
	width: 1.5rem;
}

.p-fv__top__box-small.--reverse .p-fv__top__box-img .p-fv__top__box-content-title {
	color: var(--sky-blue-light);
}

body.is-en .p-fv__top__bottom {
	margin-block-start: 1.875rem;
}

body.is-en .p-fv__top__bottom-message {
	font-size: 1.125rem;
}

body.is-en .p-fv__top__box-small .p-fv__top__box-content {
	padding-block: 1.5625rem;
	padding-inline: 1.8125rem;
}

body.is-en .p-fv__top__box-small.--reverse .p-fv__top__box-content {
	padding-block: 1.875rem;
	padding-inline: 1.25rem;
}

.p-header.is-white .p-header__logo-img {
	background: url(../../assets/img/common/logo.webp) no-repeat center center/contain;
}

.p-header.is-another .p-header__logo-img {
	background: url(../../assets/img/common/logo.webp) no-repeat center center/contain;
}

.p-header.is-another .p-header__icon {
	background: rgba(21, 86, 136, 0.2);
}

.p-header.is-another:has(.p-header__icon.js-show) {
	background: transparent;
}

.p-header.is-another:has(.p-header__icon.js-show) .p-header__logo-img {
	background: url(../../assets/img/common/logo.webp) no-repeat center center/contain;
}

.p-header.is-another:has(.p-header__icon.js-show) .p-header__icon {
	background: transparent;
	box-shadow: 0px 6px 24px rgba(0, 0, 0, 0.05);
}

.p-header.is-another:has(.p-header__icon.js-show) .p-header__icon::before {
	background-color: rgba(255, 255, 255, 0.1);
	display: block;
}

.p-header.is-another:has(.p-header__icon.js-show) .p-header__icon::after {
	display: block;
}

.p-header.is-contact .p-header__logo-img {
	background: url(../../assets/img/common/logo.webp) no-repeat center center/contain;
}

.p-header.is-contact .p-header__icon {
	display: none;
}

.p-header__inner {
	min-height: 4.375rem;
}

.p-header__logo-img {
	aspect-ratio: 194/32;
	background: url(../../assets/img/common/logo.webp) no-repeat center center/contain;
	width: 12.125rem;
}

.p-header__nav {
	display: none;
}

.p-header__button {
	display: none;
}

.p-header__nav,
.p-header__actions {
	display: none;
}

.p-header__icon {
	backdrop-filter: blur(5px);
	background: rgba(21, 86, 136, 0.2);
	border-radius: 100vmax;
	display: block;
	height: 2.625rem;
	position: relative;
	width: 4.9375rem;
	-webkit-backdrop-filter: blur(5px);
	box-shadow: 0px 6px 24px rgba(0, 0, 0, 0.05);
}

.p-header__icon::focus {
	outline: none;
}

.p-header__icon::before {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.1) 40%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0.85) 100%) border-box;
	border: 1.5px solid transparent;
	border-radius: 100vmax;
	content: "";
	inset: 0;
	position: absolute;
	-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: destination-out;
	-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}

.p-header__icon > * {
	display: inline-block;
}

.p-header__icon.js-show .p-header__icon--bar1 {
	rotate: -30deg;
	top: 1.25rem;
}

.p-header__icon.js-show .p-header__icon--bar2 {
	bottom: 1.25rem;
	rotate: 30deg;
}

.p-loading__text {
	font-size: 0.9375rem;
}

.p-loading__logo img {
	height: 2.8125rem;
	width: 17.5rem;
}

.p-message {
	padding-block: 6.25rem;
}

.p-message__title {
	font-size: 1.5rem;
	white-space: wrap;
}

.p-message__text {
	font-size: 1.125rem;
	line-height: 1.7;
	margin-block-start: 1.875rem;
}

.p-partner-fv {
	background-position: 80% center;
	padding-block: 10.625rem 5rem;
}

.p-partner-fv__title-main {
	font-size: 3.375rem;
}

.p-partner-fv__title-sub {
	font-size: 1rem;
}

.p-partner-fv__message {
	font-size: 1.75rem;
	margin-block-start: 6.25rem;
}

.p-partner-fv__message .--small {
	font-size: 1.5rem;
}

body.is-en .p-partner-fv__message {
	margin-block-start: 8.125rem;
}

body.is-en .p-partner-fv__title-main {
	font-size: 2.875rem;
}

.p-partnership {
	padding-block: 6.25rem;
}

.p-partnership__title-main {
	font-size: 3rem;
}

.p-partnership__title-sub {
	font-size: 0.875rem;
	margin-block-start: 0.375rem;
}

.p-partnership__text {
	font-size: 0.875rem;
}

.p-partnership__cards {
	grid-template-columns: 1fr;
	margin-block-start: 3.125rem;
	row-gap: 2.5rem;
}

.p-partnership__card {
	padding-block: 2.5rem;
	padding-inline: 1.25rem;
	row-gap: 0.625rem;
}

.p-partnership__card-icon.-partner img {
	width: 2.375rem;
}

.p-partnership__card-icon.-team img {
	width: 2.25rem;
}

.p-partnership__card-icon.-independent img {
	width: 2.3125rem;
}

.p-partnership__card-label {
	font-size: 1.125rem;
	margin-block-start: 0;
}

.p-partnership__card-title {
	font-size: 1.25rem;
	margin-block-start: 1.75rem;
}

.p-partnership__card-text {
	font-size: 0.875rem;
}

.p-privacy {
	padding-block: 10rem 6.25rem;
}

.p-privacy__content {
	margin-block-start: 6.25rem;
}

.p-privacy__lead {
	font-size: 0.875rem;
}

.p-privacy__section-title {
	font-size: 1.125rem;
}

.p-privacy__section-content {
	padding-inline-start: 1.75rem;
}

.p-privacy__section-text {
	font-size: 0.875rem;
}

.p-privacy__list {
	padding-inline-start: 0.5rem;
}

.p-privacy__list-item {
	font-size: 0.875rem;
	padding-inline-start: 0.75rem;
}

.p-privacy__list-item::before {
	top: 0.625rem;
	width: 0.25rem;
}

.p-privacy__ordered-list {
	padding-inline-start: 1.375rem;
}

.p-privacy__ordered-item {
	font-size: 0.875rem;
}

.p-privacy__closing-text {
	font-size: 0.875rem;
}

.p-scroll-top {
	right: 1.25rem;
}

.p-service::before {
	background-position: right center, center;
}

.p-service {
	padding-block: 6.25rem;
}

.p-service__buttons {
	display: none;
}

.p-service__boxes {
	margin-block-start: 5rem;
	row-gap: 6.25rem;
}

.p-service__box:nth-of-type(even) .p-service__box-top {
	grid-template-areas: "title" "img" "text" "list";
	grid-template-columns: 1fr;
}

.p-service__box-top {
	grid-template-columns: 1fr;
	-moz-column-gap: 2.5rem;
	column-gap: 2.5rem;
	grid-template-areas: "title" "img" "text" "list";
}

.p-service__box-content {
	display: contents;
}

.p-service__box-title {
	grid-area: title;
	text-align: center;
}

.p-service__box-title-main {
	font-size: 3.5rem;
	margin-inline-start: 0.9375rem;
}

.p-service__box-title-sub {
	font-size: 1.375rem;
	letter-spacing: 0.1em;
	line-height: 1.65;
	margin-block-start: 0.625rem;
}

.p-service__box-text {
	font-size: 0.875rem;
	grid-area: text;
	letter-spacing: 0.1em;
	margin-block-start: 1.875rem;
}

.p-service__box-list {
	grid-area: list;
	margin-block-start: 1.375rem;
}

.p-service__box-item {
	font-size: 0.875rem;
	letter-spacing: normal;
	padding-inline-start: 1rem;
}

.p-service__box-img {
	aspect-ratio: 353/259;
	margin-block-start: 1.125rem;
}

.p-service__box-bottom {
	margin-block-start: 3rem;
}

.p-service__box-bottom-title {
	font-size: 1.125rem;
}

.p-service__box-cards {
	grid-template-columns: 1fr;
	margin-block-start: 1rem;
	row-gap: 1.875rem;
}

.p-service__box-card {
	padding-block: 2.75rem;
	padding-inline: 1.5625rem;
	row-gap: 2.75rem;
}

.p-service__box-card-title {
	font-size: 1.25rem;
}

.p-service__box-card-title::after {
	bottom: -1.375rem;
}

.p-service__box-card-text {
	font-size: 0.875rem;
	padding-inline: 0;
}

.p-sidebar__buttons {
	gap: 0.625rem;
	grid-template-columns: repeat(2, 1fr);
}

.p-sidebar__button {
	font-size: 1rem;
	padding-block: 1.125rem;
	padding-inline: 0.625rem;
}

.p-single {
	padding-block: 10rem 5rem;
}

.p-single__inner {
	padding-inline: 1.25rem;
}

.p-single__content-wrapper {
	padding-inline: 0;
}

.p-single__meta {
	margin-inline-start: 0;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
	flex-wrap: wrap;
}

.p-single__meta-category li {
	font-size: 0.875rem;
}

.p-single__meta-date {
	font-size: 0.875rem;
}

.p-single__title {
	font-size: 1.375rem;
}

.p-single__content {
	margin-block-start: 5.625rem;
}

.p-single__content h2 {
	font-size: 1.375rem;
}

.p-single__content h3 {
	font-size: 1.125rem;
}

.p-single__content ul li {
	font-size: 0.875rem;
	padding-inline-start: 1rem;
}

.p-single__content p {
	font-size: 0.875rem;
	margin-block-start: 1rem;
}

.p-single__content h2 + h3 + p {
	font-size: 0.875rem;
}

.p-single__content ul + h2 {
	margin-block-start: 5rem;
}

.p-single__content p + h2 {
	margin-block-start: 3.75rem;
}

.p-single__content figure + p {
	font-size: 0.75rem;
}

.p-single__contact {
	padding-inline: 0;
}

.p-single__bottom {
	flex-direction: column;
	margin-block-start: 5rem;
	row-gap: 2.5rem;
}

.p-single__share {
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
}

.p-single__share-title {
	font-size: 0.875rem;
}

.p-single__share-link {
	font-size: 0.875rem;
}

.p-single__sidebar {
	margin-block-start: 2.5rem;
	position: relative;
	width: 100%;
}

.p-single__breadcrumb {
	margin-block-start: 5rem;
	padding-inline-start: 0;
}

.p-strengths {
	background-position: 80% center;
}

.p-strengths__inner {
	padding-inline-start: 1.25rem;
}

.p-strengths__title-sub {
	font-size: 1.5625rem;
}

.p-strengths__title-main {
	font-size: 2rem;
	letter-spacing: normal;
	line-height: 1.7;
	margin-block-start: 0;
}

.p-strengths__cards {
	margin-block-start: 2.5rem;
	margin-inline-start: -1.25rem;
	min-width: calc(100% + 1.25rem);
	transform: translateX(1.25rem);
}

.p-strengths__card {
	max-height: 500px;
	padding-block: clamp(3.25rem, 4vh, 3.25rem) clamp(2.1875rem, 3vh, 2.1875rem);
	padding-inline: 1.5625rem 1.375rem;
	width: 22rem;
}

.p-strengths__card-title {
	font-size: 1.25rem;
	letter-spacing: 0.1em;
	margin-block-start: 1.625rem;
}

.p-strengths__card-text {
	font-size: 0.875rem;
	padding-inline-end: 0;
}

.p-strengths__bar-wrapper {
	margin-block-start: 3.5625rem;
	width: 22.0625rem;
}

body.is-en .p-strengths__card-title {
	margin-block-start: 1.125rem;
}

body.is-en .p-strengths__card {
	padding-block: clamp(2.5rem, 4vh, 3.25rem) clamp(1.375rem, 3vh, 2.1875rem);
}

body.is-en .p-strengths__title-sub {
	font-size: 1.4375rem;
	line-height: 1.5;
}

body.is-en .p-strengths__title-main {
	font-size: 1.875rem;
	line-height: 1.5;
}

.p-top-message {
	padding-block: 6.25rem;
}

.p-top-message__title {
	text-align: center;
}

.p-top-message__title-main {
	font-size: 3rem;
}

.p-top-message__title-sub {
	font-size: 0.875rem;
}

.p-top-message__sub-title {
	font-size: 1.25rem;
	margin-block-start: 3.75rem;
}

.p-top-message__sub-title .no-wrap {
	white-space: wrap;
}

.p-top-message__box {
	grid-template-columns: 1fr;
	margin-block-end: 6.25rem;
	row-gap: 2.5rem;
}

.p-top-message__text {
	font-size: 0.875rem;
}

.p-top-message__meta {
	align-items: flex-end;
	flex-direction: column;
	margin-block-start: 2rem;
	row-gap: 0.625rem;
}

.p-top-message__meta-text {
	font-size: 0.875rem;
}

.p-top-message__meta-text .small {
	font-size: 0.75rem;
}

.p-top-partner {
	padding-block: 5.375rem 7.875rem;
}

.p-top-partner__inner {
	padding-inline-end: 1.125rem;
}

.p-top-partner__title {
	grid-area: title;
}

.p-top-partner__content {
	grid-template-areas: "title" "img" "content-title" "content-title-sub" "content-text" "content-button";
	grid-template-columns: 1fr;
	margin-block-end: 5.625rem;
}

.p-top-partner__content-lead {
	display: contents;
}

.p-top-partner__content-title {
	font-size: 2.0625rem;
	grid-row: content-title;
	margin-block-start: 1.875rem;
	text-underline-offset: 1.125rem;
}

.p-top-partner__content-title .small {
	font-size: 1.8125rem;
}

.p-top-partner__content-title .sp-small {
	font-size: 1.8125rem;
}

.p-top-partner__content-title-sub {
	font-size: 1.25rem;
	grid-row: content-title-sub;
	margin-block-start: 1.875rem;
}

.p-top-partner__content-text {
	font-size: 0.875rem;
	grid-row: content-text;
	margin-block-start: 1rem;
}

.p-top-partner__button {
	grid-row: content-button;
	margin-block-start: 2.375rem;
}

.p-top-partner__img {
	aspect-ratio: 353/310;
	grid-area: img;
	margin-block-start: 2.8125rem;
}

body.is-en .p-top-partner__content-title {
	margin-block-start: 1.875rem;
}

body.is-en .p-top-partner__content-title-sub {
	margin-block-start: 1.875rem;
}

.p-vision__content .p-vision__text-wrapper {
	justify-self: start;
}

.p-vision__content__inner {
	align-content: start;
	padding-block-start: clamp(7.5rem, 20vh, 10.3125rem);
	padding-inline: 1.125rem 0;
}

.p-vision__content__inner.--first .p-vision__content-text {
	padding-inline: 0.125rem 1.25rem;
}

.p-vision__content__inner.--second,
.p-vision__content__inner.--third {
	display: grid;
	padding-block-start: 5rem;
	padding-inline: 1.25rem;
}

.p-vision__content__inner.--second .p-vision__container,
.p-vision__content__inner.--third .p-vision__container {
	align-items: center;
	display: grid;
	grid-template-columns: 1fr;
	margin-block-start: 0;
	row-gap: 1.375rem;
}

.p-vision__content__inner.--second .p-vision__content-title,
.p-vision__content__inner.--third .p-vision__content-title {
	margin-block-start: 0;
}

.p-vision__container {
	margin-block-start: 0;
}

.p-vision__title {
	left: 1.25rem;
	top: 3.125rem;
}

.p-vision__content-title {
	font-size: 2.4375rem;
	letter-spacing: 0.2em;
	line-height: 1.6;
}

.p-vision__content-title.--large {
	font-size: 2.4375rem;
	letter-spacing: 0.2em;
	line-height: 1.6;
}

.p-vision__content-title-sub {
	font-size: 1.125rem;
	line-height: 1.53;
	margin-block-start: 0.625rem;
}

.p-vision__content-text {
	font-size: 0.875rem;
	line-height: 1.8;
	margin-block-start: 1.3125rem;
}

.p-vision__content-link {
	font-size: 0.875rem;
}

.p-vision__content-scroll {
	display: none;
}

body.is-en .p-vision__content-title {
	font-size: 1.875rem;
}

.p-why {
	padding-block: 6.25rem;
}

.p-why__title {
	font-size: 3.5rem;
}

.p-why__title-sub {
	font-size: 1.75rem;
}

.p-why__text {
	font-size: 0.875rem;
	margin-block-start: 1.5rem;
}

.p-why__boxes {
	margin-block-start: 6.25rem;
	row-gap: 5rem;
}

.p-why__box {
	grid-template-areas: "num" "title" "img" "text";
	grid-template-columns: 1fr;
}

.p-why__box:nth-of-type(even) {
	grid-template-areas: "num" "title" "img" "text";
	grid-template-columns: 1fr;
}

.p-why__box-content {
	display: contents;
}

.p-why__box-num {
	grid-area: num;
	margin-inline: auto;
}

.p-why__box-num-num {
	font-size: 2.5rem;
}

.p-why__box-title {
	font-size: 1.375rem;
	grid-area: title;
	text-align: center;
}

.p-why__box-text {
	font-size: 0.875rem;
	grid-area: text;
	margin-block-start: 1.5rem;
}

.p-why__box-img {
	margin-block-start: 1.25rem;
}

.p-why__box-img img {
	aspect-ratio: 353/259;
}

.p-works {
	padding-block: 6.25rem 6.5625rem;
}

.p-works__inner {
	display: grid;
	grid-template-areas: "title" "message" "list" "button";
}

.p-works__top {
	display: contents;
}

.p-works__top-button {
	grid-area: button;
	margin-block-end: 0;
	margin-block-start: 3.125rem;
	text-align: center;
}

.p-works__title {
	grid-area: title;
}

.p-works__message {
	font-size: 0.875rem;
	grid-area: message;
	margin-block-start: 2.0625rem;
}

.p-works__list {
	grid-area: list;
	margin-block-start: 2.8125rem;
}

.u-only__pc {
	display: none;
}

}

@keyframes scroll-animation {

to {
	opacity: 1;
}

}

@keyframes scroll-arrow-animation {

0% {
	transform: translateY(0);
}

10% {
	transform: translateY(0);
}

60% {
	opacity: 1;
	transform: translateY(0.9375rem);
}

100% {
	opacity: 0;
	transform: translateY(0.9375rem);
}

}

@keyframes fv-title-animation {

to {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes header-animation {

to {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes loading-text {

0% {
	clip-path: inset(0% 100% 0% 0%);
}

100% {
	clip-path: inset(0% 0% 0% 0%);
}

}

@keyframes loading-text-out {

to {
	opacity: 0;
}

}

@keyframes loading-logo {

0% {
	opacity: 0;
	transform: translateY(100%);
}

100% {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes loading-mask {

to {
	-webkit-mask-position: -100% 0;
	mask-position: -100% 0;
}

}

.grecaptcha-badge {
	display: none !important;
}
