@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Rufina:wght@400;700&family=Zalando+Sans:ital,wght@0,200..900;1,200..900&display=swap");
/* Reset
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, button,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

main, article, aside, dialog, figure, footer, header,
hgroup, nav, section {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
	content: "";
	content: none;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

:root {
	--break-point: 1024px;
	--vw: 1vw;
	--ja-font: 'Noto Sans JP', sans-serif;
	--en-font: 'Zalando Sans', sans-serif;
	--num-font: 'Zalando Sans', sans-serif;
	--color--prim: #0072BC;
	--color--sec: #070F26;
	--color--bl-gr: #029CA3;
	--color--lt-br: #EAF3FD;
	--color--sec-4: #FDEAEB;
	--color--lt-gr: #E2FAFF;
	--color--gr: #00BB95;
	--color--rd: #F36970;
	--color--yl: #FFAF45;
	--color--bl: #69D7F3;
	--color--gy: #9F9F9F;
	--color--lt-gy: #C9C9C9;
	--base-font-color: #000;
	--link-color: var(--base-font-color);
	--link-hover-color: var(--base-font-color);
}

@media screen and (min-width: 1024px) {
	:root {
		--header-height: 80px;
	}
}
@media screen and (max-width: 1023.98px) {
	:root {
		--header-height: 50px;
	}
}
@media screen and (min-width: 1024px) {
	:root {
		--content-width: min(calc(var(--vw) * 70 ),1000px);
		--content-width--l: min(calc(var(--vw) * 80 ),1200px);
		--content-width--xl: min(calc(var(--vw) * 86 ),1280px);
		--content-width--xxl: calc(var(--vw) * 90 );
		--neg-margin--l: calc((var(--content-width--l) - var(--content-width)) / -2);
		--neg-margin--xl: calc((var(--content-width--xl) - var(--content-width)) / -2);
		--neg-margin--xxl: calc((var(--content-width--xxl) - var(--content-width)) / -2);
		--content-padding: calc((var(--vw) * 100 - var(--content-width--xxl)) / 2);
		--content-padding--l: calc((var(--vw) * 100 - var(--content-width--xl)) / 2);
		--content-padding--xl: calc((var(--vw) * 100 - var(--content-width--l)) / 2);
		--content-padding--xxl: calc((var(--vw) * 100 - var(--content-width)) / 2);
	}
}
@media screen and (max-width: 1023.98px) {
	:root {
		--content-width: calc(var(--vw) * 80 );
		--content-width--l: calc(var(--vw) * 80 );
		--content-width--xl: calc(var(--vw) * 86 );
		--content-width--xxl: calc(var(--vw) * 90 );
		--neg-margin--xxl: calc((var(--content-width--xxl) - var(--content-width--xl)) / -2);
		--content-padding: calc((var(--vw) * 100 - var(--content-width--xxl)) / 2);
		--content-padding--l: calc((var(--vw) * 100 - var(--content-width--xl)) / 2);
		--content-padding--xl: calc((var(--vw) * 100 - var(--content-width--l)) / 2);
	}
}
.article-body .image.breaking-out--bg, .profile {
	margin-inline: calc(50% - var(--vw) * 50);
	padding-inline: calc(var(--vw) * 50 - 50%);
}

/* Fonts
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
:lang(ja) {
	font-family: var(--ja-font);
}

:lang(en) {
	font-family: var(--en-font);
	letter-spacing: 0;
	/*font-variant-ligatures: none;*/
}

html {
	font-size: 62.5%;
}

body {
	line-height: 2.3;
	font-size: 1.6rem;
	font-weight: 400;
	color: var(--base-font-color);
	letter-spacing: 0.1em;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	body {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}
@media screen and (max-width: 1023.98px) {
	body {
		font-size: 1.4rem;
		line-height: 2;
	}
}
/* common
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
html {
	height: 100%;
}

body {
	background: #FFF;
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

p, ul, ol, dl {
	margin: 0 0 30px;
}

h1, h2, h3, h4, h5 {
	line-height: 1.5;
	margin: 0 0 30px;
	font-weight: 600;
	font-size: 3rem;
}

li {
	margin: 0 0 0 2.2em;
}

ul {
	list-style: disc;
}
ul ul {
	list-style: circle;
}
ul.no-style {
	list-style: none;
}
ul.no-style > li {
	margin-left: 0;
}

ol {
	list-style: decimal;
}
ol ol {
	counter-reset: number-child-list;
}
ol ol li {
	counter-increment: number-child-list;
	list-style: none;
	margin-left: 2.5em;
}
ol ol li::before {
	content: "(" counter(number-child-list) ")";
	width: 2.5em;
	display: inline-block;
	margin-left: -2.5em;
}
ol.parentheses {
	counter-reset: parentheses-list;
}
ol.parentheses li {
	counter-increment: parentheses-list;
	margin-left: 2.5em;
	list-style: none;
}
ol.parentheses li::before {
	content: "(" counter(parentheses-list) ")";
	width: 2.5em;
	display: inline-block;
	margin-left: -2.5em;
}

.hidden {
	display: none;
}

table {
	width: 100%;
	margin: 60px 0;
	padding: 20px 0;
	border-collapse: collapse;
}
table th, table td {
	padding: 30px;
	text-align: left;
}
table th p, table th ul, table th ol, table th dl, table td p, table td ul, table td ol, table td dl {
	margin: 0 0 20px;
}
table th :not(input):not(select):not(textarea):not(span):last-child, table td :not(input):not(select):not(textarea):not(span):last-child {
	margin-bottom: 0 !important;
}
table th {
	width: 30%;
	font-weight: 700;
	letter-spacing: 0.15em;
}
table tbody tr.combine > td {
	border-top: none;
	border-bottom-style: dashed;
}
table tbody tr:last-child > th, table tbody tr:last-child > td {
	border-bottom: none;
}
table tbody th[rowspan] ~ td {
	border-bottom-style: dashed;
}
table thead th {
	width: auto;
	text-align: center;
	border-top: none;
}
table tfoot th,
table tfoot td {
	border-bottom: none;
}
table caption {
	font-weight: 600;
	text-align: left;
}

hr {
	display: none;
}

img {
	max-width: 100%;
	height: auto;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
	border: none;
	vertical-align: bottom;
	pointer-events: none;
}

i {
	font-style: normal;
}

em {
	font-style: normal;
	color: var(--color--prim);
	font-weight: 700;
}

strong {
	font-weight: 600;
}

sup {
	vertical-align: top;
	line-height: 1.8;
	font-size: x-small;
}

ins {
	color: #C00;
}

a {
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
	color: var(--link-color);
	text-decoration: none;
}
@media (hover: hover) {
	a:where(:-moz-any-link, :enabled, summary):hover {
		color: var(--link-hover-color);
	}
	a:where(:any-link, :enabled, summary):hover {
		color: var(--link-hover-color);
	}
}
a:hover span {
	cursor: pointer;
}
a.inactive, .inactive a {
	cursor: default;
	pointer-events: none;
}
a:not([class]) {
	text-decoration: underline;
	color: var(--color--prim);
}
@media (hover: hover) {
	a:not([class]):where(:-moz-any-link, :enabled, summary):hover {
		color: var(--color--prim);
	}
	a:not([class]):where(:any-link, :enabled, summary):hover {
		color: var(--color--prim);
	}
}
@media screen and (min-width: 1024px) {
	a[href^="tel:"] {
		color: var(--base-font-color);
		text-decoration: none;
		pointer-events: none;
	}
}

input,
select,
textarea,
button {
	font-family: var(--ja-font);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-radius: 0;
	background: transparent;
	-webkit-transition: background-color 0.2s ease;
	transition: background-color 0.2s ease;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.8;
	overflow: visible;
}

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

figcaption {
	text-align: left;
}

.italic {
	font-style: italic;
}

.note {
	line-height: 1.8;
}

.flow-root {
	display: flow-root;
}

.float-clear {
	clear: both;
}

.align-right {
	text-align: right;
}

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

:focus-visible {
	outline: 3px solid var(--color--sec);
	outline-offset: 0;
}

@media screen and (max-width: 1023.98px) {
	p, ul, ol, dl {
		margin: 0 0 20px;
	}
	h1, h2, h3, h4, h5 {
		margin: 0 0 20px;
		font-size: 1.8rem;
	}
	table {
		margin: 40px 0;
		padding: 0;
	}
	table th, table td {
		padding: 15px 5px;
		font-size: 1.3rem;
		width: auto;
	}
	.btn-area {
		margin: 40px 0;
	}
	input,
	select,
	textarea,
	button {
		font-size: 1.4rem;
	}
	.note {
		font-size: 1.1rem;
	}
}
@media screen and (min-width: 1024px) {
	.mob-only {
		display: none;
	}
}
@media screen and (max-width: 1023.98px) {
	.pc-only {
		display: none;
	}
	.mob-only {
		display: block;
	}
	br.mob-only {
		display: inline;
	}
}
.wrapper {
	overflow: clip;
}

.contents {
	display: flow-root;
	position: relative;
	background: url(../images/bg_main.png);
	background-size: 100% auto;
	padding-top: 150px;
}
@media screen and (max-width: 1023.98px) {
	.contents {
		padding-top: 75px;
	}
}
.contents::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: color-mix(in srgb, var(--color--sec) 0%, transparent);
	-webkit-transition: 1s ease;
	transition: 1s ease;
}

.page-header {
	width: var(--content-width--xl);
	margin: 100px auto;
}
.page-title {
	font-size: 4.6rem;
	color: var(--color--prim);
}
@media screen and (max-width: 1023.98px) {
	.page-header {
		margin: 60px auto;
	}
	.page-title {
		font-size: 2.6rem;
	}
}

.section {
	width: var(--content-width);
	margin: 0 auto 150px;
}
.section-heading {
	font-size: 3.2rem;
	color: var(--color--prim);
	margin: 0 0 50px;
}
.section-child-heading {
	font-size: 2.4rem;
	margin: 50px 0 40px;
}
.section-child-2-heading {
	font-size: 2.2rem;
}
.section ul, .section ol {
	margin-left: max(5%, 20px);
}
.section .without-bullets li {
	list-style: none;
	margin: 15px 0;
}
.section .without-bullets .arrow-s-icon {
	margin-left: 10px;
	vertical-align: middle;
}
.section .without-bullets .arrow-s-icon::before {
	-webkit-mask-size: 15px auto;
	        mask-size: 15px auto;
}
.section .e-mail {
	font-weight: 600;
}
@media screen and (max-width: 1023.98px) {
	.section {
		width: var(--content-width--xl);
		margin: 0 auto 80px;
	}
	.section-heading {
		font-size: 2.2rem;
		margin: 0 0 30px;
	}
	.section-child-heading {
		font-size: 1.8rem;
		margin: 30px 0 20px;
	}
	.section-child-2-heading {
		font-size: 1.6rem;
	}
}

.related-articles, .home-section, .recruit-info, .article-container {
	margin: 0 auto 150px;
}
.profile-heading, .related-articles-heading, .home-section-heading, .recruit-info-heading {
	position: relative;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: auto 1fr;
	grid-template-columns: auto 1fr;
	-ms-grid-rows: auto auto auto;
	grid-template-rows: auto auto auto;
	grid-auto-flow: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: var(--content-width--xl);
	margin: 0 auto 60px;
}
.profile-heading > *:nth-child(1), .related-articles-heading > *:nth-child(1), .home-section-heading > *:nth-child(1), .recruit-info-heading > *:nth-child(1) {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
}
.profile-heading > *:nth-child(2), .related-articles-heading > *:nth-child(2), .home-section-heading > *:nth-child(2), .recruit-info-heading > *:nth-child(2) {
	-ms-grid-row: 2;
	-ms-grid-column: 1;
}
.profile-heading > *:nth-child(3), .related-articles-heading > *:nth-child(3), .home-section-heading > *:nth-child(3), .recruit-info-heading > *:nth-child(3) {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
}
.profile-heading > *:nth-child(4), .related-articles-heading > *:nth-child(4), .home-section-heading > *:nth-child(4), .recruit-info-heading > *:nth-child(4) {
	-ms-grid-row: 1;
	-ms-grid-column: 2;
}
.profile-heading > *:nth-child(5), .related-articles-heading > *:nth-child(5), .home-section-heading > *:nth-child(5), .recruit-info-heading > *:nth-child(5) {
	-ms-grid-row: 2;
	-ms-grid-column: 2;
}
.profile-heading > *:nth-child(6), .related-articles-heading > *:nth-child(6), .home-section-heading > *:nth-child(6), .recruit-info-heading > *:nth-child(6) {
	-ms-grid-row: 3;
	-ms-grid-column: 2;
}
.profile-heading-ja, .related-articles-heading-ja, .home-section-heading-ja, .recruit-info-heading-ja {
	font-size: 4.6rem;
	font-weight: 400;
	line-height: 1.4;
	color: var(--color--sec);
	margin: 0;
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .profile-heading-ja, .is-in .related-articles-heading-ja, .is-in .home-section-heading-ja, .is-in .recruit-info-heading-ja {
	color: #FFF;
}

.profile-heading-en, .related-articles-heading-en, .home-section-heading-en, .recruit-info-heading-en {
	font-size: 2rem;
	line-height: 1.4;
	color: var(--color--sec);
	margin: 0;
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .profile-heading-en, .is-in .related-articles-heading-en, .is-in .home-section-heading-en, .is-in .recruit-info-heading-en {
	color: #FFF;
}

.profile-heading::after, .related-articles-heading::after, .home-section-heading::after, .recruit-info-heading::after {
	-ms-grid-column-span: 2;
	grid-column: span 2;
	content: "";
	display: block;
	height: 1px;
	border-left: 70px solid var(--color--prim);
	background: var(--color--lt-gy);
	margin: 30px 0 0;
}
@media screen and (max-width: 1023.98px) {
	.related-articles, .home-section, .recruit-info, .article-container {
		margin-bottom: 60px;
	}
	.profile-heading, .related-articles-heading, .home-section-heading, .recruit-info-heading {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		grid-auto-flow: row;
		margin: 0 auto 30px;
	}
	.profile-heading-ja, .related-articles-heading-ja, .home-section-heading-ja, .recruit-info-heading-ja {
		font-size: 3rem;
	}
	.profile-heading-en, .related-articles-heading-en, .home-section-heading-en, .recruit-info-heading-en {
		font-size: 1.3rem;
	}
	.profile-heading::after, .related-articles-heading::after, .home-section-heading::after, .recruit-info-heading::after {
		-ms-grid-column-span: 1;
		grid-column: span 1;
		border-left-width: 30px;
		margin-top: 12px;
	}
}

.article-container {
	width: var(--content-width--l);
}
.article-list {
	width: var(--content-width--l);
	margin-inline: auto;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 30px 1fr 30px 1fr;
	grid-template-columns: repeat(3, 1fr);
	gap: 55px 30px;
}
.article-list.swiper {
	overflow: visible !important;
	display: block;
}
.article-card.is-disabled, .article-card.is-hidden {
	display: none;
}
.article-card.swiper-slide {
	width: calc((var(--content-width--l) - 60px) / 3);
}
.article-card .thumbnail {
	aspect-ratio: 480/295;
	max-width: none;
	width: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-webkit-transition: -webkit-transform 0.4s ease;
	transition: -webkit-transform 0.4s ease;
	transition: transform 0.4s ease;
	transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.article-card .thumbnail-wrap {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	margin: 0 0 20px;
}
.article-card-title {
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
	margin: 0 0 5px;
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .article-card-title {
	color: #FFF;
}

.article-card-link {
	display: block;
}
@media (hover: hover) {
	.article-card-link:where(:-moz-any-link, :enabled, summary):hover .thumbnail {
		transform: scale(1.1);
	}
	.article-card-link:where(:any-link, :enabled, summary):hover .thumbnail {
		-webkit-transform: scale(1.1);
		        transform: scale(1.1);
	}
}
.article-card-link[href^="https://www.youtube.com/"] .thumbnail-wrap::before {
	content: "";
	display: block;
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../images/icn_video.svg) center center no-repeat;
	background-size: 33px auto;
}
.article-card-date {
	font-family: var(--num-font);
	font-size: 1.2rem;
	font-weight: 400;
	margin: 0 0 15px;
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .article-card-date {
	color: #FFF;
}

@media screen and (max-width: 1023.98px) {
	.article-list {
		-ms-grid-columns: 1fr;
		grid-template-columns: repeat(1, 1fr);
		gap: 40px 0;
	}
	.article-card-title {
		font-size: 1.4rem;
		margin: 0 0 10px;
	}
}

.pagination {
	width: auto;
	margin: 100px 0;
}
.pagination-number {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 10px;
}
.pagination-number a, .pagination-number span {
	width: 50px;
	height: 50px;
	text-align: center;
	display: -ms-grid;
	display: grid;
	place-items: center;
	border-radius: 25px;
	text-decoration: none;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid transparent;
	font-weight: 500;
}
.pagination-number a.is-current, .pagination-number span.is-current {
	background: var(--color--sec);
	color: #FFF;
}
.pagination-number a {
	color: var(--color--sec) !important;
}
@media (hover: hover) {
	.pagination-number a:where(:-moz-any-link, :enabled, summary):hover {
		border: 1px solid var(--color--sec);
	}
	.pagination-number a:where(:any-link, :enabled, summary):hover {
		border: 1px solid var(--color--sec);
	}
}
@media screen and (max-width: 1023.98px) {
	.pagination {
		margin: 50px 0;
	}
	.pagination-number a, .pagination-number span {
		width: 40px;
		height: 40px;
		border-radius: 20px;
	}
}

.modal-mode body {
	overflow: hidden !important;
}
.modal {
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	opacity: 0;
	-webkit-transition: visibility 0.4s, opacity 0.4s;
	transition: visibility 0.4s, opacity 0.4s;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	pointer-events: none;
}
.modal.is-opened {
	visibility: visible;
	opacity: 1;
	pointer-events: initial;
}
.modal .overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.7);
}
.modal-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	position: absolute;
	top: 30px;
	left: 30px;
	right: 30px;
	bottom: 30px;
	padding: 50px 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	overflow: auto;
	z-index: 2;
	border-radius: 10px;
	background: #FFF;
	scale: 0.9;
	opacity: 0;
	-webkit-transition: scale 0.4s 0.3s ease, opacity 0.4s 0.3s ease;
	transition: scale 0.4s 0.3s ease, opacity 0.4s 0.3s ease;
}
.modal.is-opened .modal-inner {
	scale: 1;
	opacity: 1;
}
.modal .close-button {
	scale: 0;
	-webkit-transition: opacity 0.4s 0.4s ease, scale 0.4s 0.4s ease;
	transition: opacity 0.4s 0.4s ease, scale 0.4s 0.4s ease;
}
.modal.is-opened .close-button {
	scale: 1;
}
.modal-section {
	width: var(--content-width--xl);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.modal-section > *:last-child {
	margin-bottom: 0;
}
.modal.video-modal .modal-inner {
	background: transparent;
	padding: 0;
	top: auto;
	left: auto;
	right: auto;
	bottom: auto;
	inset: 0;
	margin: auto;
	aspect-ratio: 16/9;
	width: min(80%, 800px);
	height: auto;
}
.modal.video-modal .modal-section {
	width: 100%;
	margin: auto;
}
.modal.video-modal .modal-section .video {
	display: block;
	aspect-ratio: 16/9;
	width: 100%;
	height: auto;
}
.modal-heading {
	font-size: 1.8rem;
	margin: 0 0 30px;
}
.modal-heading:not(:first-child) {
	margin-top: 40px;
}
@media screen and (max-width: 1023.98px) {
	.modal-inner {
		top: 73px;
		left: 24px;
		right: 24px;
		bottom: 24px;
	}
	.modal-heading {
		font-size: 1.4rem;
		margin: 0 0 20px;
	}
	.modal-heading:not(:first-child) {
		margin-top: 30px;
	}
	.modal.video-modal .modal-inner {
		width: auto;
		max-height: min(80%, 100% - 100px);
		inset: 0 5%;
	}
	.modal-section {
		width: calc(var(--content-width--xl) - 48px);
	}
}

.close-button {
	position: fixed;
	z-index: 3;
	top: 45px;
	right: 60px;
	cursor: pointer;
	width: 60px;
	height: 60px;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
.close-button-label {
	position: absolute;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.close-button .close-icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	display: block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 100%;
	overflow: hidden;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
.close-button .close-icon::before, .close-button .close-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	border-top: 2px solid #000;
	width: 45px;
	-webkit-transform: translate(-50%, -50%) rotate(-20deg);
	        transform: translate(-50%, -50%) rotate(-20deg);
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
.video-modal .close-button .close-icon::before, .video-modal .close-button .close-icon::after {
	border-top-color: #FFF;
}

.close-button .close-icon::after {
	-webkit-transform: translate(-50%, -50%) rotate(20deg);
	        transform: translate(-50%, -50%) rotate(20deg);
}
@media screen and (max-width: 1023.98px) {
	.close-button {
		top: 20px;
		right: var(--content-padding);
		width: 40px;
		height: 40px;
	}
	.close-button .close-icon::before, .close-button .close-icon::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		border-top-width: 1px;
		width: 32px;
		-webkit-transform: translate(-50%, -50%) rotate(-20deg);
		        transform: translate(-50%, -50%) rotate(-20deg);
		-webkit-transition: 0.2s ease;
		transition: 0.2s ease;
		border-top-color: #FFF;
	}
	.close-button .close-icon::after {
		-webkit-transform: translate(-50%, -50%) rotate(20deg);
		        transform: translate(-50%, -50%) rotate(20deg);
	}
}

.arrow-icon, .swiper-controller .next-icon,
.swiper-controller .prev-icon, .arrow-s-icon {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
.arrow-icon::before, .swiper-controller .next-icon::before,
.swiper-controller .prev-icon::before, .arrow-s-icon::before {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	background-color: #FFF;
	-webkit-mask-image: url(../images/icn_arrow.svg);
	        mask-image: url(../images/icn_arrow.svg);
	-webkit-mask-size: 11px auto;
	        mask-size: 11px auto;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
a[target=_blank] .arrow-icon::before, a[target=_blank] .swiper-controller .next-icon::before, .swiper-controller a[target=_blank] .next-icon::before,
a[target=_blank] .swiper-controller .prev-icon::before,
.swiper-controller a[target=_blank] .prev-icon::before, a[target=_blank] .arrow-s-icon::before {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

.arrow-s-icon {
	width: 15px;
	height: 15px;
	background: transparent;
	border-radius: 0;
	border: none;
}
.arrow-s-icon::before {
	background-color: var(--color--prim);
	-webkit-mask-image: url(../images/icn_arrow_s.svg);
	        mask-image: url(../images/icn_arrow_s.svg);
}
a[target=_blank] .arrow-s-icon::before {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

.swiper-controller .swiper-button-prev,
.swiper-controller .swiper-button-next {
	position: absolute;
	z-index: 3;
	right: 0;
	top: 50%;
	-webkit-transform: translate(50%, -50%);
	        transform: translate(50%, -50%);
}
@media (hover: hover) {
	.swiper-controller .swiper-button-prev:where(:-moz-any-link, :enabled, summary):hover .next-icon, .swiper-controller .swiper-button-prev:where(:-moz-any-link, :enabled, summary):hover .prev-icon, .swiper-controller .swiper-button-next:where(:-moz-any-link, :enabled, summary):hover .next-icon, .swiper-controller .swiper-button-next:where(:-moz-any-link, :enabled, summary):hover .prev-icon {
		background: #FFF;
		border-color: var(--color--prim);
	}
	.swiper-controller .swiper-button-prev:where(:any-link, :enabled, summary):hover .next-icon,
	.swiper-controller .swiper-button-prev:where(:any-link, :enabled, summary):hover .prev-icon,
	.swiper-controller .swiper-button-next:where(:any-link, :enabled, summary):hover .next-icon,
	.swiper-controller .swiper-button-next:where(:any-link, :enabled, summary):hover .prev-icon {
		background: #FFF;
		border-color: var(--color--prim);
	}
	.swiper-controller .swiper-button-prev:where(:-moz-any-link, :enabled, summary):hover .next-icon::before, .swiper-controller .swiper-button-prev:where(:-moz-any-link, :enabled, summary):hover .prev-icon::before, .swiper-controller .swiper-button-next:where(:-moz-any-link, :enabled, summary):hover .next-icon::before, .swiper-controller .swiper-button-next:where(:-moz-any-link, :enabled, summary):hover .prev-icon::before {
		background-color: var(--color--prim);
	}
	.swiper-controller .swiper-button-prev:where(:any-link, :enabled, summary):hover .next-icon::before,
	.swiper-controller .swiper-button-prev:where(:any-link, :enabled, summary):hover .prev-icon::before,
	.swiper-controller .swiper-button-next:where(:any-link, :enabled, summary):hover .next-icon::before,
	.swiper-controller .swiper-button-next:where(:any-link, :enabled, summary):hover .prev-icon::before {
		background-color: var(--color--prim);
	}
}
.swiper-controller .swiper-button-prev {
	right: auto;
	left: 0;
	-webkit-transform: translate(-50%, -50%) scale(-1, 1);
	        transform: translate(-50%, -50%) scale(-1, 1);
}
.swiper-controller .swiper-button-label {
	position: absolute;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.swiper-controller .next-icon,
.swiper-controller .prev-icon {
	width: 37px;
	height: 37px;
	background: var(--color--prim);
	border: 1px solid var(--color--prim);
}
@media screen and (max-width: 1023.98px) {
	.swiper-controller .next-icon,
	.swiper-controller .prev-icon {
		width: 30px;
		height: 30px;
	}
}

.tag {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	margin-inline: 0 !important;
}
.tag-item {
	margin: 0;
	list-style: none;
}
.tag-link {
	display: block;
	font-size: 1.2rem;
	line-height: 1.5;
	color: var(--color--sec);
	background: #FFF;
	border-radius: 30px;
	padding: 0.4em 1.8em;
	-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
	        box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
@media (hover: hover) {
	.tag-link:where(:-moz-any-link, :enabled, summary):hover {
		background: var(--color--gy);
		color: #FFF;
	}
	.tag-link:where(:any-link, :enabled, summary):hover {
		background: var(--color--gy);
		color: #FFF;
	}
}

.cookie-consent {
	position: fixed;
	z-index: 100;
	left: 0;
	right: 0;
	bottom: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #FFF;
	background: color-mix(in srgb, var(--color--sec) 85%, transparent);
	backdrop-filter: blur(10px);
	visibility: hidden;
	-webkit-transform: translate(0, 100%);
	        transform: translate(0, 100%);
	-webkit-transition: 0.4s 0.2s ease;
	transition: 0.4s 0.2s ease;
}
.cookie-consent.is-visible {
	visibility: visible;
	-webkit-transform: translate(0, 0);
	        transform: translate(0, 0);
}
.cookie-consent-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 30px;
	width: var(--content-width--l);
	margin: 0 auto;
	padding: 20px 0;
}
.cookie-consent-description {
	font-size: 1.2rem;
	line-height: 1.8em;
	-webkit-box-flex: 2;
	    -ms-flex: 2 2 auto;
	        flex: 2 2 auto;
	margin: 0;
}
.cookie-consent-description a {
	color: #D4E7FE;
}
.cookie-consent-accept-button {
	width: 190px;
	height: 50px;
	margin: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	text-align: center;
	background: #FFF;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.6;
	color: var(--color--prim);
}
@media (hover: hover) {
	.cookie-consent-accept-button:where(:-moz-any-link, :enabled, summary):hover {
		color: #FFF;
		background: var(--color--prim);
	}
	.cookie-consent-accept-button:where(:any-link, :enabled, summary):hover {
		color: #FFF;
		background: var(--color--prim);
	}
}
.cookie-consent-close-button {
	text-indent: -100vw;
	overflow: hidden;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 10px;
	right: 15px;
	cursor: pointer;
	margin: 0;
	padding: 0;
	border: none;
}
.cookie-consent-close-button::before, .cookie-consent-close-button::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 30px;
	border-top: 1px solid;
	color: #FFF;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	        transform: translate(-50%, -50%) rotate(45deg);
}
.cookie-consent-close-button::after {
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	        transform: translate(-50%, -50%) rotate(-45deg);
}
.cookie-consent-close-button:hover::before, .cookie-consent-close-button:hover::after {
	width: 40px;
}
@media screen and (max-width: 1023.98px) {
	.cookie-consent-inner {
		gap: 20px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
	.cookie-consent-description {
		font-size: 1.2rem;
		letter-spacing: 0;
		line-height: 1.6;
	}
	.cookie-consent-accept-button {
		width: 170px;
		height: 40px;
		font-size: 1.5rem;
	}
	.cookie-consent-close-button {
		width: 20px;
		height: 20px;
		top: 7px;
		right: 10px;
	}
	.cookie-consent-close-button::before, .cookie-consent-close-button::after {
		width: 20px !important;
	}
}

.more-button-wrap, .load-button-wrap {
	position: relative;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin: 80px auto;
}
.more-button-wrap:last-child, .load-button-wrap:last-child {
	margin-bottom: 0;
}
.more-button, .load-button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 15px;
	padding: 0 30px;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.5em;
	width: 340px;
	min-height: 65px;
	border-radius: 40px;
	color: #FFF;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: var(--color--prim);
	border: 1px solid var(--color--prim);
}
.more-button:disabled, .load-button:disabled {
	display: none;
}
@media (hover: hover) {
	.more-button:where(:-moz-any-link, :enabled, summary):hover, .load-button:where(:-moz-any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--prim);
	}
	.more-button:where(:any-link, :enabled, summary):hover, .load-button:where(:any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--prim);
	}
	.more-button:where(:-moz-any-link, :enabled, summary):hover .arrow-icon::before, .load-button:where(:-moz-any-link, :enabled, summary):hover .arrow-icon::before, .more-button:where(:-moz-any-link, :enabled, summary):hover .arrow-s-icon::before, .load-button:where(:-moz-any-link, :enabled, summary):hover .arrow-s-icon::before, .more-button:where(:-moz-any-link, :enabled, summary):hover .swiper-controller .next-icon::before, .load-button:where(:-moz-any-link, :enabled, summary):hover .swiper-controller .next-icon::before, .swiper-controller .more-button:where(:-moz-any-link, :enabled, summary):hover .next-icon::before, .swiper-controller .load-button:where(:-moz-any-link, :enabled, summary):hover .next-icon::before, .more-button:where(:-moz-any-link, :enabled, summary):hover .swiper-controller .prev-icon::before, .load-button:where(:-moz-any-link, :enabled, summary):hover .swiper-controller .prev-icon::before, .swiper-controller .more-button:where(:-moz-any-link, :enabled, summary):hover .prev-icon::before, .swiper-controller .load-button:where(:-moz-any-link, :enabled, summary):hover .prev-icon::before {
		background-color: var(--color--prim);
	}
	.more-button:where(:any-link, :enabled, summary):hover .arrow-icon::before, .load-button:where(:any-link, :enabled, summary):hover .arrow-icon::before, .more-button:where(:any-link, :enabled, summary):hover .arrow-s-icon::before, .load-button:where(:any-link, :enabled, summary):hover .arrow-s-icon::before, .more-button:where(:any-link, :enabled, summary):hover .swiper-controller .next-icon::before, .load-button:where(:any-link, :enabled, summary):hover .swiper-controller .next-icon::before, .swiper-controller .more-button:where(:any-link, :enabled, summary):hover .next-icon::before, .swiper-controller .load-button:where(:any-link, :enabled, summary):hover .next-icon::before,
	.more-button:where(:any-link, :enabled, summary):hover .swiper-controller .prev-icon::before,
	.load-button:where(:any-link, :enabled, summary):hover .swiper-controller .prev-icon::before,
	.swiper-controller .more-button:where(:any-link, :enabled, summary):hover .prev-icon::before,
	.swiper-controller .load-button:where(:any-link, :enabled, summary):hover .prev-icon::before {
		background-color: var(--color--prim);
	}
}
.more-button-label, .load-button-label {
	-webkit-box-flex: 2;
	    -ms-flex: 2 2 auto;
	        flex: 2 2 auto;
	text-align: center;
	letter-spacing: 0;
}
.more-button-label:has(wbr), .load-button-label:has(wbr) {
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.more-button .arrow-icon, .load-button .arrow-icon, .more-button .arrow-s-icon, .load-button .arrow-s-icon, .more-button .swiper-controller .next-icon, .load-button .swiper-controller .next-icon, .swiper-controller .more-button .next-icon, .swiper-controller .load-button .next-icon,
.more-button .swiper-controller .prev-icon,
.load-button .swiper-controller .prev-icon,
.swiper-controller .more-button .prev-icon,
.swiper-controller .load-button .prev-icon {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	margin: 0 0 0 auto;
}
@media screen and (max-width: 1023.98px) {
	.more-button-wrap, .load-button-wrap {
		margin: 40px auto 0;
	}
	.more-button, .load-button {
		width: var(--content-width);
	}
}

.recruit-info-list {
	width: var(--content-width--xl);
	gap: 15px;
	margin: 0 auto;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 15px 1fr 15px 1fr;
	grid-template-columns: repeat(3, 1fr);
}
.recruit-info-link {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 10px;
}
.recruit-info-link .thumbnail {
	-webkit-transition: 0.4s ease;
	transition: 0.4s ease;
}
.recruit-info-link .thumbnail-wrap::before {
	content: "";
	display: block;
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(123, 123, 123, 0.89);
	mix-blend-mode: multiply;
}
@media (hover: hover) {
	.recruit-info-link:where(:-moz-any-link, :enabled, summary):hover .thumbnail {
		transform: scale(1.1);
	}
	.recruit-info-link:where(:any-link, :enabled, summary):hover .thumbnail {
		-webkit-transform: scale(1.1);
		        transform: scale(1.1);
	}
}
.recruit-info-company-name {
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: -ms-grid;
	display: grid;
	place-items: center;
	font-size: 2.4rem;
	line-height: 1.5;
	text-align: center;
	color: #FFF;
	margin: 0;
}
@media screen and (max-width: 1023.98px) {
	.recruit-info-list {
		-ms-grid-columns: (1fr)[2];
		grid-template-columns: repeat(2, 1fr);
	}
	.recruit-info-link {
		border-radius: 5px;
	}
	.recruit-info-company-name {
		font-size: 1.4rem;
	}
}

.tag-container .tag-group {
	display: -ms-grid;
	display: grid;
	gap: 40px;
}
.tag-container .tag-group-item {
	display: -ms-grid;
	display: grid;
	-ms-grid-column-span: 2;
	grid-column: span 2;
	-ms-grid-columns: subgrid;
	grid-template-columns: subgrid;
	gap: 0 30px;
}
.tag-container .tag-group-title {
	font-size: 2rem;
	line-height: 1.6;
	width: 10em;
}
.tag-container .tag-group-content {
	border-left: 1px solid var(--color--lt-gy);
	padding: 3px 0 3px 30px;
	-ms-flex-item-align: baseline;
	    align-self: baseline;
}
.tag-container .tag-group .tag {
	margin: 0;
}
@media screen and (max-width: 1023.98px) {
	.tag-container .tag-group {
		gap: 30px;
	}
	.tag-container .tag-group-item {
		-ms-grid-column-span: 1;
		grid-column: span 1;
		gap: 20px;
	}
	.tag-container .tag-group-title {
		font-size: 1.6rem;
		width: auto;
	}
	.tag-container .tag-group-content {
		border-left: none;
		padding: 0;
	}
}

.search-by-tag {
	position: relative;
	z-index: 2;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: auto 40px 1fr;
	grid-template-columns: auto 1fr;
	gap: 40px;
	padding: 120px var(--content-padding--xl);
	margin: 0 0 150px;
	background: var(--color--lt-br);
	-webkit-transition: background-color 1s ease;
	transition: background-color 1s ease;
}
.is-in .search-by-tag {
	background: transparent;
}

.search-by-tag-heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	width: 330px;
	-ms-flex-item-align: start;
	    -ms-grid-row-align: start;
	    align-self: start;
	gap: 0 15px;
	margin: 0 auto 60px;
}
.search-by-tag-heading-ja {
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.4;
	color: var(--color--sec);
	margin: 0;
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .search-by-tag-heading-ja {
	color: #FFF;
}

.search-by-tag-heading-en {
	font-size: 1.5rem;
	color: var(--color--prim);
	margin: 0;
}
.search-by-tag .tag-group {
	display: -ms-grid;
	display: grid;
	gap: 30px 0;
	border-left: 1px solid var(--color--lt-gy);
	padding-left: 40px;
	margin-bottom: 0;
}
.search-by-tag .tag-group-item {
	display: -ms-grid;
	display: grid;
	gap: 20px 0;
}
.search-by-tag .tag-group-title {
	font-size: 2rem;
	line-height: 1.6;
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .search-by-tag .tag-group-title {
	color: #FFF;
}

@media screen and (max-width: 1023.98px) {
	.search-by-tag {
		display: block;
		padding: 60px var(--content-padding--l);
		margin: 0 0 60px;
	}
	.search-by-tag-heading {
		width: var(--content-width--xl);
		margin-bottom: 30px;
	}
	.search-by-tag-heading-ja {
		font-size: 2rem;
	}
	.search-by-tag-heading-en {
		font-size: 1.2rem;
	}
	.search-by-tag .tag-group {
		border-left: none;
		padding-left: 0;
	}
	.search-by-tag .tag-group-item {
		gap: 20px 0;
	}
	.search-by-tag .tag-group-title {
		font-size: 1.6rem;
	}
}

.box {
	background: var(--color--lt-br);
	padding: 60px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-radius: 20px;
	margin: 50px 0;
}
.box-container {
	margin: 80px 0;
}
.box-container .box {
	margin: 20px 0;
}
.box :first-child {
	margin-top: 0;
}
.box :last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 1023.98px) {
	.box {
		padding: 30px 20px;
		margin: 30px 0;
	}
	.box-container {
		margin: 40px 0;
	}
	.box-container .box {
		margin: 20px 0;
	}
}

.index-button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 20px;
	height: 110px;
	background: #FFF;
	border: 1px solid #D9D9D9;
	font-size: 1.6rem;
	font-weight: 600;
}
@media (hover: hover) {
	.index-button:where(:-moz-any-link, :enabled, summary):hover {
		background-color: var(--color--sec);
		color: #FFF;
	}
	.index-button:where(:any-link, :enabled, summary):hover {
		background-color: var(--color--sec);
		color: #FFF;
	}
}
.index-button-wrap {
	margin: 50px auto;
	width: -webkit-fill-available;
	width: -moz-available;
	width: stretch;
}
.index-button .index-icon {
	display: block;
	width: 14px;
	height: 14px;
	background-color: #E4ECF8;
	-webkit-mask-image: url(../images/icn_index.svg);
	        mask-image: url(../images/icn_index.svg);
	-webkit-mask-size: 14px auto;
	        mask-size: 14px auto;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
}
@media screen and (max-width: 1023.98px) {
	.index-button {
		height: 75px;
		font-size: 1.6rem;
	}
	.index-button-wrap {
		margin: 30px auto;
	}
}

.search-form--large {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 10px;
	width: 290px;
	border-radius: 10px;
	padding: 0 10px 0 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: min(100%, var(--content-width));
	height: 64px;
	margin: 0 auto;
	border: 1px solid transparent;
	background: #FFF;
}
.article-container .search-form--large {
	margin-bottom: 100px;
}
.search-form--large .search-form-text {
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
	-webkit-box-flex: 2;
	    -ms-flex: 2 2 auto;
	        flex: 2 2 auto;
	width: 100%;
	font-size: 1.6rem;
	font-weight: 500;
}
.search-form--large .search-form-text:focus-visible {
	outline: none;
}
.search-form--large:has(.search-form-text:focus-visible) {
	border: 1px solid var(--color--prim);
}
.search-form--large .search-form-submit {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}
.search-form--large .search-form-submit-label {
	position: absolute;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.search-form--large .search-form-submit .search-icon {
	display: block;
	width: 30px;
	height: 30px;
	background: #ACACAC;
	-webkit-mask-image: url(../images/icn_search.svg);
	        mask-image: url(../images/icn_search.svg);
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
	-webkit-mask-size: 25px auto;
	        mask-size: 25px auto;
	text-indent: 100%;
	-webkit-transition: background-color 0.2s ease;
	transition: background-color 0.2s ease;
}
@media (hover: hover) {
	.search-form--large .search-form-submit:where(:-moz-any-link, :enabled, summary):hover .search-icon {
		background: var(--color--prim);
	}
	.search-form--large .search-form-submit:where(:any-link, :enabled, summary):hover .search-icon {
		background: var(--color--prim);
	}
}
@media screen and (max-width: 1023.98px) {
	.search-form {
		width: auto;
	}
	.search-form--large {
		height: 43px;
		padding: 0 5px 0 10px;
		gap: 0 5px;
	}
	.article-container .search-form--large {
		margin-bottom: 60px;
	}
}

@media print {
	.scroll-motion, .article-body .image {
		translate: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	.cookie-consent {
		display: none;
	}
}
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 150px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 0 var(--content-padding);
	background: #FFF;
	-webkit-transition: height 0.2s ease;
	transition: height 0.2s ease;
}
@media screen and (max-width: 1023.98px) {
	.header {
		height: 76px;
	}
}
.on-scroll .header {
	height: var(--header-height);
}

.header .site-title {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	height: 100%;
	margin: 0;
}
.header .site-title-link {
	display: -ms-grid;
	display: grid;
	gap: 10px 20px;
}
.header .site-title-logo {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	margin: 0;
}
.header .site-title-logo-image {
	width: 200px;
	height: auto;
	vertical-align: top;
}
.header .site-title-nttdata {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	padding-left: 20px;
	border-left: 1px solid color-mix(in srgb, var(--color--prim) 50%, transparent);
}
.header .site-title-nttdata-image {
	width: 140px;
	height: auto;
	vertical-align: top;
}
.header .site-title-tagline {
	-ms-grid-column-span: 2;
	grid-column: span 2;
	font-size: 1.1rem;
	line-height: 1.4;
	font-weight: 400;
	letter-spacing: min(1vw, 0.1em);
	vertical-align: top;
	display: inline-block;
}
@media screen and (min-width: 1024px) {
	.on-scroll .header .site-title-link {
		gap: 6px 15px;
	}
	.on-scroll .header .site-title-logo-image {
		width: 170px;
	}
	.on-scroll .header .site-title-nttdata {
		padding-left: 15px;
	}
	.on-scroll .header .site-title-nttdata-image {
		width: 110px;
	}
	.on-scroll .header .site-title-tagline {
		font-size: 1rem;
	}
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.header .site-title-link {
		gap: 6px 15px;
	}
	.header .site-title-logo-image {
		width: 170px;
	}
	.header .site-title-nttdata {
		padding-left: 15px;
	}
	.header .site-title-nttdata-image {
		width: 110px;
	}
	.header .site-title-tagline {
		font-size: 1rem;
	}
}
@media screen and (max-width: 1023.98px) {
	.header .site-title-link {
		gap: 5px 10px;
	}
	.header .site-title-logo-image {
		width: 110px;
	}
	.header .site-title-nttdata {
		padding-left: 10px;
	}
	.header .site-title-nttdata-image {
		width: 60px;
	}
	.header .site-title-tagline {
		font-size: 0.7rem;
		letter-spacing: 0.05em;
	}
}
.header .search-form {
	position: absolute;
	inset: 0 100% 0 0;
	margin: auto 0 auto auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}
.header .search-form-wrap {
	position: relative;
	margin: 0 0 0 auto;
}
.header .search-form-toggle {
	position: absolute;
	inset: 0 0 0 auto;
	margin: auto 0;
	width: 40px;
	height: 40px;
	padding: 0;
	background: transparent;
	border: none;
	cursor: pointer;
	display: -ms-grid;
	display: grid;
	place-items: center;
}
.header .search-form-toggle-label {
	display: none;
}
.header .search-form-toggle .search-icon {
	display: block;
	width: 24px;
	height: 24px;
	background-color: #1F2733;
	-webkit-mask-image: url(../images/icn_search.svg);
	        mask-image: url(../images/icn_search.svg);
	-webkit-mask-size: contain;
	        mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
}
.header .search-form-input-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 0;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	border: 1px solid #ddd;
	border-radius: 25px;
	background: #fff;
}
.header .search-form-text {
	width: 100%;
	border: none;
	background: transparent;
	padding: 8px 0 8px 15px;
	outline: none;
	font-size: 1.4rem;
	white-space: nowrap;
}
.header .search-form-submit {
	width: 40px;
	height: 40px;
	padding: 0;
	background: transparent;
	border: none;
	cursor: pointer;
	display: -ms-grid;
	display: grid;
	place-items: center;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 40px;
	        flex: 0 0 40px;
}
.header .search-form-submit-label {
	display: none;
}
.header .search-form-submit .search-icon {
	display: block;
	width: 18px;
	height: 18px;
	background-color: var(--color--prim);
	-webkit-mask-image: url(../images/icn_search.svg);
	        mask-image: url(../images/icn_search.svg);
	-webkit-mask-size: contain;
	        mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
}
.header .search-form.is-opened .search-form-toggle {
	display: none;
}
.header .search-form.is-opened .search-form-input-wrap {
	width: 310px;
	opacity: 1;
	visibility: visible;
}
@media screen and (max-width: 1023.98px) {
	.header .search-form-wrap {
		margin: 0 5px 0 auto;
	}
	.header .search-form-toggle {
		width: 30px;
		height: 30px;
	}
	.header .search-form-toggle .search-icon {
		width: 20px;
		height: 20px;
	}
	.header .search-form.is-opened .search-form-input-wrap {
		width: calc(var(--vw) * 100 - var(--content-padding) * 3 + var(--content-padding--xl) - 40px - 2px - 5px);
	}
}
.header .recruit-info-button-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 10px;
	margin: 0 20px;
}
.header .recruit-info-button {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 0%;
	        flex: 1 1 0%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.5em;
	letter-spacing: 0;
	width: 9.5em;
	height: 53px;
	border-radius: 30px;
	color: #FFF;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: var(--color--prim);
	border: 1px solid var(--color--prim);
}
@media (hover: hover) {
	.header .recruit-info-button:where(:-moz-any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--prim);
	}
	.header .recruit-info-button:where(:any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--prim);
	}
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.header .recruit-info-button-wrap {
		gap: 0 10px;
	}
	.header .recruit-info-button {
		font-size: 1.3rem;
		width: 9.5em;
	}
}
@media screen and (max-width: 1023.98px) {
	.header .recruit-info-button-wrap {
		display: none;
	}
	.header .recruit-info-button {
		font-size: 1.1rem;
		height: 33px;
	}
}
.header .recruit-info-modal-section {
	position: relative;
	padding-left: 80px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: auto 0;
}
.header .recruit-info-heading {
	position: absolute;
	top: 0;
	left: 0;
	width: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	margin: 0;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	font-size: 4rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: var(--color--sec);
}
.header .recruit-info-heading::after {
	display: none;
}
.header .recruit-info-lead {
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.5;
}
.header .recruit-info-list {
	width: auto;
	grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
}
.header .recruit-info-item .thumbnail {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}
.header .recruit-info-item .thumbnail--right {
	-o-object-position: right;
	   object-position: right;
}
.header .recruit-info-item .thumbnail-wrap {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	width: 85px;
	height: 85px;
	border-radius: 5px;
	overflow: hidden;
	margin-right: 20px;
}
.header .recruit-info-item .thumbnail-wrap::before {
	display: none;
}
.header .recruit-info-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 10px;
	border-radius: 5px;
	padding: 13px;
	padding-right: 30px;
	background: #F6F6F6;
}
@media (hover: hover) {
	.header .recruit-info-link:where(:-moz-any-link, :enabled, summary):hover {
		background: #EAEAEA;
	}
	.header .recruit-info-link:where(:any-link, :enabled, summary):hover {
		background: #EAEAEA;
	}
}
.header .recruit-info-link .arrow-s-icon {
	margin: 0;
}
.header .recruit-info-link .arrow-s-icon::before {
	background-color: var(--color--sec);
}
.header .recruit-info-company-name {
	position: relative;
	color: var(--color--sec);
	font-size: 1.4rem;
	font-weight: 600;
	place-items: normal;
	text-align: left;
}
.header .recruit-info-item:not(:has(.recruit-info-link)) {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: auto 5px 1fr;
	grid-template-columns: auto 1fr;
	-ms-grid-rows: auto 10px auto;
	grid-template-rows: auto auto;
	gap: 10px 5px;
	background: #F6F6F6;
	border-radius: 5px;
	padding: 13px;
}
.header .recruit-info-item:not(:has(.recruit-info-link)) > *:nth-child(1) {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
}
.header .recruit-info-item:not(:has(.recruit-info-link)) > *:nth-child(2) {
	-ms-grid-row: 1;
	-ms-grid-column: 3;
}
.header .recruit-info-item:not(:has(.recruit-info-link)) > *:nth-child(3) {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
}
.header .recruit-info-item:not(:has(.recruit-info-link)) > *:nth-child(4) {
	-ms-grid-row: 3;
	-ms-grid-column: 3;
}
.header .recruit-info-item:not(:has(.recruit-info-link)) .thumbnail-wrap {
	-ms-grid-row-span: 2;
	grid-row: span 2;
}
.header .recruit-info-item:not(:has(.recruit-info-link)) .recruit-info-company-name {
	margin-block: auto 0;
}
.header .recruit-info-s-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 5px;
	padding: 8px 10px;
	color: var(--color--prim);
}
.header .recruit-info-s-link-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	background: #FFF;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 1.2rem;
	line-height: 1.5;
	letter-spacing: 0;
	border-radius: 5px;
	margin-bottom: auto;
}
.header .recruit-info-career-regist {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: auto 30px 1fr;
	grid-template-columns: auto 1fr;
	-ms-grid-rows: auto 0 auto;
	grid-template-rows: auto auto;
	gap: 0 30px;
	margin-block: 30px 0;
}
.header .recruit-info-career-regist > *:nth-child(1) {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
}
.header .recruit-info-career-regist > *:nth-child(2) {
	-ms-grid-row: 1;
	-ms-grid-column: 3;
}
.header .recruit-info-career-regist > *:nth-child(3) {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
}
.header .recruit-info-career-regist > *:nth-child(4) {
	-ms-grid-row: 3;
	-ms-grid-column: 3;
}
.header .recruit-info-career-regist .recruit-info-lead {
	-ms-grid-column-span: 2;
	grid-column: span 2;
}
.header .recruit-info-career-regist-button {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 0%;
	        flex: 1 1 0%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.5em;
	letter-spacing: 0;
	width: 300px;
	height: 65px;
	padding: 0 30px;
	border-radius: 40px;
	background: var(--color--sec);
	color: #FFF;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid var(--color--sec);
}
.header .recruit-info-career-regist-button-label {
	-webkit-box-flex: 2;
	    -ms-flex: 2 2 auto;
	        flex: 2 2 auto;
	text-align: center;
}
.header .recruit-info-career-regist-button .arrow-s-icon {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
}
.header .recruit-info-career-regist-button .arrow-s-icon::before {
	background-color: #FFF;
}
@media (hover: hover) {
	.header .recruit-info-career-regist-button:where(:-moz-any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--sec);
	}
	.header .recruit-info-career-regist-button:where(:any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--sec);
	}
	.header .recruit-info-career-regist-button:where(:-moz-any-link, :enabled, summary):hover .arrow-s-icon::before {
		background-color: var(--color--sec);
	}
	.header .recruit-info-career-regist-button:where(:any-link, :enabled, summary):hover .arrow-s-icon::before {
		background-color: var(--color--sec);
	}
}
.header .recruit-info-career-regist-note {
	font-size: 1.3rem;
	line-height: 1.8;
	margin: 0;
}
@media screen and (max-width: 1023.98px) {
	.header .recruit-info-modal-section {
		padding-left: 0;
	}
	.header .recruit-info-heading {
		position: relative;
		top: auto;
		left: auto;
		-webkit-writing-mode: horizontal-tb;
		    -ms-writing-mode: lr-tb;
		        writing-mode: horizontal-tb;
		margin: 0 0 20px;
		font-size: 2.4rem;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}
	.header .recruit-info-heading::after {
		display: none;
	}
	.header .recruit-info-lead {
		font-size: 1.2rem;
	}
	.header .recruit-info-list {
		grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
		gap: 10px;
	}
	.header .recruit-info-item .thumbnail-wrap {
		width: 42px;
		height: 42px;
		margin-right: 10px;
	}
	.header .recruit-info-link {
		padding: 9px;
	}
	.header .recruit-info-link .arrow-s-icon {
		margin: 0 10px 0 auto;
	}
	.header .recruit-info-company-name {
		font-size: 1.2rem;
	}
	.header .recruit-info-item:not(:has(.recruit-info-link)) {
		gap: 5px;
		padding: 9px;
	}
	.header .recruit-info-s-link {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		gap: 0 5px;
		padding: 8px 10px;
		color: var(--color--prim);
	}
	.header .recruit-info-s-link-wrap {
		font-size: 1.1rem;
	}
	.header .recruit-info-career-regist {
		display: block;
		margin-block: 30px 0;
	}
	.header .recruit-info-career-regist .recruit-info-lead {
		-ms-grid-column-span: 1;
		grid-column: span 1;
	}
	.header .recruit-info-career-regist-button {
		font-size: 1.4rem;
		width: -webkit-fill-available;
		width: -moz-available;
		width: stretch;
		height: 50px;
		padding: 0 30px;
	}
	.header .recruit-info-career-regist-note {
		font-size: 1.1rem;
		margin: 10px 0 0;
	}
}

.nav {
	-webkit-box-ordinal-group: 4;
	    -ms-flex-order: 3;
	        order: 3;
}
.nav-mode body {
	overflow: hidden !important;
}
.nav-button {
	position: relative;
	cursor: pointer;
	width: 60px;
	height: 60px;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	vertical-align: top;
}
.nav-button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	border-top: 2px solid #000;
	width: 45px;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
.nav-button-inner {
	display: block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 100%;
	overflow: hidden;
	border-radius: 100px;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
.nav-button-inner::before, .nav-button-inner::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	border-top: 2px solid #000;
	width: 45px;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
	margin: -8px 0 0;
}
.nav-button-inner::after {
	margin: 8px 0 0;
}
.nav-inner {
	visibility: hidden;
	position: fixed;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	z-index: 4;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 100px 0 50px;
	background-color: var(--color--prim);
	opacity: 0;
	-webkit-transition: visibility 0.4s ease, opacity 0.4s ease;
	transition: visibility 0.4s ease, opacity 0.4s ease;
	overflow: auto;
	pointer-events: none;
}
.nav.is-opened .nav-inner {
	visibility: visible;
	opacity: 1;
	pointer-events: initial;
}
.nav-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: var(--content-width);
	gap: 0 12%;
}
.nav-list {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	list-style: none;
	width: 45%;
	gap: 5vh 0;
	margin: 0;
}
.nav-item {
	margin: 0;
	color: #FFF;
}
.nav-link, .nav-child-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	text-decoration: none;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 10px;
	color: #FFF;
}
@media (hover: hover) {
	.nav-link:where(:-moz-any-link, :enabled, summary):hover, .nav-child-link:where(:-moz-any-link, :enabled, summary):hover {
		color: #FFF;
	}
	.nav-link:where(:any-link, :enabled, summary):hover, .nav-child-link:where(:any-link, :enabled, summary):hover {
		color: #FFF;
	}
}
.nav-link .arrow-icon, .nav-child-link .arrow-icon {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	margin: 0 0 0 auto;
	width: 37px;
	height: 37px;
	border-radius: 50%;
	border: 1px solid #FFF;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
.nav-link .arrow-icon::before, .nav-child-link .arrow-icon::before {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	background-color: #FFF;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
@media screen and (max-width: 1023.98px) {
	.nav-link .arrow-icon, .nav-child-link .arrow-icon {
		width: 28px;
		height: 28px;
	}
}
@media (hover: hover) {
	.nav-link:where(:-moz-any-link, :enabled, summary):hover .nav-label::after, .nav-link:where(:-moz-any-link, :enabled, summary):hover .nav-child-label::after, .nav-child-link:where(:-moz-any-link, :enabled, summary):hover .nav-label::after, .nav-child-link:where(:-moz-any-link, :enabled, summary):hover .nav-child-label::after {
		right: 0;
		opacity: 1;
	}
	.nav-link:where(:any-link, :enabled, summary):hover .nav-label::after,
	.nav-link:where(:any-link, :enabled, summary):hover .nav-child-label::after, .nav-child-link:where(:any-link, :enabled, summary):hover .nav-label::after,
	.nav-child-link:where(:any-link, :enabled, summary):hover .nav-child-label::after {
		right: 0;
		opacity: 1;
	}
	.nav-link:where(:-moz-any-link, :enabled, summary):hover .arrow-icon, .nav-child-link:where(:-moz-any-link, :enabled, summary):hover .arrow-icon {
		transform: translate(15px, 0);
	}
	.nav-link:where(:any-link, :enabled, summary):hover .arrow-icon, .nav-child-link:where(:any-link, :enabled, summary):hover .arrow-icon {
		-webkit-transform: translate(15px, 0);
		        transform: translate(15px, 0);
	}
}
.nav-label, .nav-child-label {
	position: relative;
	display: block;
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 600;
}
.nav-label::after, .nav-child-label::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	right: 100%;
	border-bottom: 1px solid #FFF;
	opacity: 0;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
.nav-child-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 1.6vh 0;
	margin: 1.6vh 0;
	list-style: none;
	padding: 0;
}
.nav-child-item {
	margin: 0;
}
.nav-child-label {
	font-size: 2rem;
	font-weight: 400;
}
.nav-side-bar {
	-webkit-box-flex: 2;
	    -ms-flex: 2 2 auto;
	        flex: 2 2 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	border-right: 1px solid #FFF;
	color: #FFF;
	padding: 6vh 0;
	gap: 8vh 0;
}
.nav-side-bar .site-title {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 25px 0;
}
.nav-side-bar .site-title-logo {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
}
.nav-side-bar .site-title-logo-image {
	width: 280px;
	height: auto;
}
.nav-side-bar .site-title-text {
	font-size: 1.8rem;
	line-height: 1.6;
	color: #FFF;
}
.nav-side-bar .site-title-tagline {
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.nav-side-bar .utility-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	list-style: none;
	margin: 0;
	gap: 20px 0;
}
.nav-side-bar .utility-nav-item {
	margin: 0;
}
.nav-side-bar .utility-nav-link {
	color: #FFF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 8px;
	font-size: 1.2rem;
}
.nav-side-bar .utility-nav-link .arrow-s-icon::before {
	background-color: #FFF;
}
.nav-side-bar .utility-nav-link[target=_blank] .arrow-s-icon::before {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}
@media (hover: hover) {
	.nav-side-bar .utility-nav-link:where(:-moz-any-link, :enabled, summary):hover {
		text-decoration: underline;
	}
	.nav-side-bar .utility-nav-link:where(:any-link, :enabled, summary):hover {
		text-decoration: underline;
	}
}
.nav-side-bar .copyright {
	font-size: 1.4rem;
	font-weight: normal;
	margin: 0;
}
.nav .close-button {
	top: 20px;
	right: 40px;
}
.nav .close-button .close-icon::before, .nav .close-button .close-icon::after {
	border-top-color: #FFF;
}
.nav-sub-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	position: absolute;
	inset: 0 100px auto auto;
	height: 100px;
}
.nav-sub-content .recruit-info-button {
	background: #FFF;
	color: var(--color--prim);
	border-color: #FFF;
}
@media (hover: hover) {
	.nav-sub-content .recruit-info-button:where(:-moz-any-link, :enabled, summary):hover {
		background: var(--color--prim);
		color: #FFF;
	}
	.nav-sub-content .recruit-info-button:where(:any-link, :enabled, summary):hover {
		background: var(--color--prim);
		color: #FFF;
	}
}
.nav-sub-content .search-form-input-wrap {
	border-color: transparent;
}
.nav-sub-content .search-form-toggle .search-icon {
	background-color: #FFF;
}
@media screen and (max-width: 1023.98px) {
	.nav-button {
		width: 40px;
		height: 40px;
		margin: 0 -4px 0 0;
	}
	.nav-button::before {
		border-top-width: 1px;
		width: 32px;
	}
	.nav-button-inner::before, .nav-button-inner::after {
		border-top-width: 1px;
		width: 32px;
		margin: -6px 0 0;
	}
	.nav-button-inner::after {
		margin: 6px 0 0;
	}
	.nav-inner {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		padding-top: 80px;
	}
	.nav-content {
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: stretch;
		    -ms-flex-align: stretch;
		        align-items: stretch;
		width: var(--content-width--l);
		gap: 8vh;
	}
	.nav-list {
		width: auto;
		gap: 3vh 0;
	}
	.nav-link .arrow-icon, .nav-child-link .arrow-icon {
		width: 33px;
		height: 33px;
	}
	.nav-label {
		font-size: 1.8rem;
	}
	.nav-child-label {
		font-size: 1.5rem;
	}
	.nav-side-bar {
		border-right: none;
		border-top: 1px solid #FFF;
		color: #FFF;
		padding: 50px 0;
		gap: 20px 0;
	}
	.nav-side-bar .site-title {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		gap: 30px 0;
		margin-bottom: 20px;
	}
	.nav-side-bar .site-title-logo {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
	}
	.nav-side-bar .site-title-logo-image {
		width: 230px;
		height: auto;
	}
	.nav-side-bar .site-title-text {
		font-size: 1.6rem;
	}
	.nav-side-bar .site-title-tagline {
		font-size: 1.2rem;
		width: auto;
	}
	.nav-side-bar .utility-nav {
		gap: 8px 0;
	}
	.nav .close-button {
		top: 10px;
		right: var(--content-padding--l);
	}
	.nav .close-button .close-icon::before, .nav .close-button .close-icon::after {
		border-top-color: #FFF;
	}
	.nav-sub-content {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: end;
		    -ms-flex-align: end;
		        align-items: flex-end;
		position: relative;
		inset: 0;
		width: var(--content-width--l);
		height: auto;
		margin-bottom: 5vh;
		overflow: clip;
	}
	.nav-sub-content .search-form {
		position: relative;
		inset: auto;
	}
	.nav-sub-content .search-form-wrap {
		margin: 0 0 15px;
		width: -webkit-fill-available;
		width: -moz-available;
		width: stretch;
	}
	.nav-sub-content .search-form-input-wrap {
		border: none;
	}
	.nav-sub-content .search-form.is-opened .search-form-input-wrap {
		width: var(--content-width--l);
	}
	.nav-sub-content .recruit-info-button {
		-webkit-box-flex: 1;
		    -ms-flex: 1 1 0%;
		        flex: 1 1 0%;
		font-size: 1.4rem;
		height: 45px;
	}
	.nav-sub-content .recruit-info-button-wrap {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: -webkit-fill-available;
		width: -moz-available;
		width: stretch;
		margin: 0;
	}
}

.footer {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	height: 440px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding-bottom: 60px;
	background: var(--color--sec);
	color: #FFF;
}
.footer .footer-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	width: var(--content-width--xxl);
}
.footer .site-title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 73px;
	width: 100%;
	padding: 0 0 50px;
	border-bottom: 1px solid #616A83;
}
.footer .site-title-logo {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
}
.footer .site-title-logo-image {
	width: 361px;
	height: auto;
}
.footer .site-title-text {
	font-size: 1.8rem;
	line-height: 1.6;
	color: #FFF;
}
.footer .site-title-text [lang=en] {
	letter-spacing: 0.05em;
}
.footer .site-title-tagline {
	font-size: 1.4rem;
	vertical-align: top;
	display: inline-block;
}
.footer .utility-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	list-style: none;
	margin: 0;
	gap: 0 30px;
}
.footer .utility-nav-item {
	margin: 0;
}
.footer .utility-nav-link {
	color: #FFF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 8px;
	font-size: 1.2rem;
}
.footer .utility-nav-link .arrow-s-icon::before {
	background-color: #FFF;
}
.footer .utility-nav-link[target=_blank] .arrow-s-icon::before {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}
@media (hover: hover) {
	.footer .utility-nav-link:where(:-moz-any-link, :enabled, summary):hover {
		text-decoration: underline;
	}
	.footer .utility-nav-link:where(:any-link, :enabled, summary):hover {
		text-decoration: underline;
	}
}
.footer .copyright {
	font-size: 1.4rem;
	font-weight: normal;
	margin: 0 0 0 auto;
}
.footer .pagetop-button {
	position: absolute;
	bottom: 100%;
	right: 0;
}
.footer .pagetop-button-label {
	position: absolute;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.footer .pagetop-button-icon {
	display: -ms-grid;
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	background: var(--color--sec);
}
.footer .pagetop-button-icon::before {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	background-color: #FFF;
	-webkit-mask-image: url(../images/icn_arrow.svg);
	        mask-image: url(../images/icn_arrow.svg);
	-webkit-mask-size: 10.57px auto;
	        mask-size: 10.57px auto;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
	-webkit-transform: rotate(-90deg);
	        transform: rotate(-90deg);
}
@media screen and (max-width: 1023.98px) {
	.footer {
		height: auto;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		padding: 60px 0;
	}
	.footer .footer-inner {
		width: var(--content-width--l);
		gap: 30px 0;
	}
	.footer .site-title {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		gap: 30px;
		width: 100%;
		padding: 0 0 40px;
		margin: 0;
		border-bottom: 1px solid #616A83;
	}
	.footer .site-title-logo {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
	}
	.footer .site-title-logo-image {
		width: 280px;
		height: auto;
	}
	.footer .site-title-text {
		font-size: 1.6rem;
	}
	.footer .site-title-tagline {
		font-size: 1.2rem;
	}
	.footer .utility-nav {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		gap: 8px 0;
		margin-bottom: 20px;
	}
	.footer .copyright {
		margin: 0;
	}
	.footer .pagetop-button-icon {
		width: 52px;
		height: 52px;
	}
}

@media print {
	.header {
		position: absolute;
	}
}
.top {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin: 0 0 200px;
	padding: 100px 0 0;
	background: #FFF;
}
.top-title-wrap {
	position: relative;
	z-index: 3;
	width: var(--content-width--xl);
}
.top-islands {
	position: absolute;
	top: -30px;
	right: calc((100% - var(--content-width--l)) / 2);
}
.top-islands-image {
	position: relative;
	z-index: 2;
	opacity: 0.7;
}
.top-about-button-wrap {
	position: absolute;
	z-index: 3;
	top: 50%;
	right: -10px;
}
.top-about-button {
	display: -ms-grid;
	display: grid;
	place-items: center;
	background: var(--color--bl-gr);
	width: 134px;
	height: 134px;
	border-radius: 50%;
	font-size: 1.5rem;
	line-height: 1.4;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #FFF;
	font-weight: 600;
	-webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	border: 1px solid var(--color--bl-gr);
	color: #FFF;
}
@media (hover: hover) {
	.top-about-button:where(:-moz-any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--bl-gr);
	}
	.top-about-button:where(:any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--bl-gr);
	}
}
.top-slogan {
	font-weight: 600;
	font-size: 5rem;
	letter-spacing: 0.2em;
	line-height: 1.3;
	margin: 0 0 60px;
}
.top-slogan span {
	display: inline-block;
	opacity: 0;
	-webkit-animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) forwards;
	        animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) forwards;
}
@-webkit-keyframes text {
	0% {
		opacity: 0;
		-webkit-transform: translateX(20px);
		        transform: translateX(20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		        transform: none;
	}
}
@keyframes text {
	0% {
		opacity: 0;
		-webkit-transform: translateX(20px);
		        transform: translateX(20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		        transform: none;
	}
}
.top-slogan {
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .top-slogan {
	color: #FFF;
}

.top-site-title {
	font-size: 3.2rem;
	font-weight: 500;
	color: var(--color--prim);
	margin: 0 0 50px;
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .top-site-title {
	color: #FFF;
}

.top-tagline {
	display: inline-block;
	font-size: 1.6rem;
	font-weight: 600;
	margin-left: 0.5em;
}
.top-hero {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	overflow: hidden;
	width: 100%;
}
.top .loop-slider {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-animation: loop-slider 80s infinite linear 1s both;
	        animation: loop-slider 80s infinite linear 1s both;
}
.top .loop-slider-item {
	width: 307px;
}
@-webkit-keyframes loop-slider {
	from {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	to {
		-webkit-transform: translateX(-100%);
		        transform: translateX(-100%);
	}
}
@keyframes loop-slider {
	from {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	to {
		-webkit-transform: translateX(-100%);
		        transform: translateX(-100%);
	}
}
.top-company {
	position: absolute;
	z-index: 3;
	left: var(--content-padding);
	right: var(--content-padding);
	bottom: -80px;
}
.top-company-list {
	padding: 10px 0 !important;
	-webkit-mask: linear-gradient(to right, transparent 0%, black min(5%, 80px), black max(95%, 100% - 80px), transparent 100%);
	        mask: linear-gradient(to right, transparent 0%, black min(5%, 80px), black max(95%, 100% - 80px), transparent 100%);
}
.top-company .swiper-wrapper {
	margin-bottom: 0;
}
.top-company-item {
	width: 217px !important;
	height: 111px !important;
	list-style: none;
	margin: 0;
	font-size: 1.4rem;
	line-height: 1.5;
}
.top-company {
	/* &-item.swiper-slide-active {
		width: 237px !important;
	} */
}
.top-company-link {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 217px !important;
	height: 111px !important;
	margin: 0 auto;
	background: #FFF;
	-webkit-transition: 0.5s cubic-bezier(0.65, 0, 0.35, 1);
	transition: 0.5s cubic-bezier(0.65, 0, 0.35, 1);
	-webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	border-radius: 10px;
	overflow: hidden;
}
.top-company-link-hover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 5px;
	background: var(--color--prim);
	color: #FFF;
	font-weight: 600;
	opacity: 0;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
}
.top-company-link-hover .arrow-s-icon::before {
	background-color: #FFF;
}
@media (hover: hover) {
	.top-company-link:where(:-moz-any-link, :enabled, summary):hover .top-company-link-hover {
		opacity: 1;
	}
	.top-company-link:where(:any-link, :enabled, summary):hover .top-company-link-hover {
		opacity: 1;
	}
}
.top-company-item.swiper-slide-active .top-company-link {
	-webkit-transform: scale(1.09);
	        transform: scale(1.09);
}
.top-company-logo {
	width: 140px;
	height: auto;
	-webkit-transition: 0.5s cubic-bezier(0.65, 0, 0.35, 1);
	transition: 0.5s cubic-bezier(0.65, 0, 0.35, 1);
	margin: 0 0 6px;
}
.top .scroll-text {
	position: absolute;
	z-index: 3;
	top: 250px;
	right: var(--content-padding);
	font-size: 1.4rem;
	font-weight: 500;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}
.top .scroll-text .scroll-line {
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translate3d(-50%, 0, 0);
	        transform: translate3d(-50%, 0, 0);
	margin: 10px 0 0;
	display: block;
	background: rgba(0, 0, 0, 0.3);
	width: 4px;
	height: 66px;
	overflow: hidden;
}
.top .scroll-text .scroll-line::before {
	display: block;
	content: "";
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	height: 50px;
	width: 6px;
	background: var(--color--sec);
	-webkit-animation: scrollLine 1.6s linear 0s normal infinite both;
	        animation: scrollLine 1.6s linear 0s normal infinite both;
}
@-webkit-keyframes scrollLine {
	0% {
		top: -50px;
	}
	60% {
		top: 100%;
	}
	100% {
		top: 100%;
	}
}
@keyframes scrollLine {
	0% {
		top: -50px;
	}
	60% {
		top: 100%;
	}
	100% {
		top: 100%;
	}
}
@media screen and (max-width: 1023.98px) {
	.top {
		margin: 0 0 80px;
		padding: 50px 0 0;
		background: #FFF;
	}
	.top-title-wrap {
		position: relative;
		z-index: 3;
		width: var(--content-width--xxl);
	}
	.top-islands {
		position: absolute;
		top: 0;
		right: -25px;
		padding-left: 15vw;
	}
	.top-islands-image {
		position: relative;
		z-index: 2;
	}
	.top-about-button-wrap {
		position: absolute;
		z-index: 3;
		top: auto;
		bottom: 25vw;
		right: auto;
		left: var(--content-padding);
	}
	.top-about-button {
		width: 85px;
		height: 85px;
		font-size: 1.1rem;
	}
	.top-slogan {
		font-size: min(8vw, 3rem);
		letter-spacing: 0.2em;
		line-height: 1.3;
		margin: 0 0 20vw;
	}
	.top-site-title {
		font-size: 2rem;
		margin: 0 0 20vw;
	}
	.top-tagline {
		display: block;
		font-size: 1.1rem;
		margin-left: 0;
	}
	.top-hero-slide-image {
		-o-object-fit: cover;
		   object-fit: cover;
		width: 100%;
		height: 100%;
	}
	.top .loop-slider-item {
		width: 117px;
		height: 271px;
	}
	.top-company {
		bottom: -20px;
	}
	.top-company-list {
		padding: 10px 0 !important;
		-webkit-mask: linear-gradient(to right, transparent 0%, black 5px, black calc(100% - 5px), transparent 100%);
		        mask: linear-gradient(to right, transparent 0%, black 5px, black calc(100% - 5px), transparent 100%);
	}
	.top-company .swiper-wrapper {
		margin-bottom: 0;
	}
	.top-company-item {
		width: 124px !important;
		height: 52px !important;
		list-style: none;
		margin: 0;
		-webkit-transition: 0.5s cubic-bezier(0.65, 0, 0.35, 1);
		transition: 0.5s cubic-bezier(0.65, 0, 0.35, 1);
		font-size: 1.4rem;
		line-height: 1.5;
	}
	.top-company {
		/* &-item.swiper-slide-active {
			width: 237px !important;
		} */
	}
	.top-company-link {
		width: 124px !important;
		height: 52px !important;
		border-radius: 5px;
	}
	.top-company-link-hover {
		gap: 5px;
	}
	.top-company-item.swiper-slide-active .top-company-link {
		-webkit-transform: scale(1.09);
		        transform: scale(1.09);
	}
	.top-company-logo {
		width: 80px;
		margin: -2px 0 3px;
	}
	.top-company-label {
		font-size: 1rem;
		-webkit-transform: scale(0.8);
		        transform: scale(0.8);
		white-space: nowrap;
		margin-bottom: -0.5em;
	}
	.top .scroll-text {
		top: auto;
		bottom: 300px;
		font-size: 1rem;
	}
	.top .scroll-text .scroll-line {
		margin: 8px 0 0;
		width: 2px;
		height: 45px;
	}
	.top .scroll-text .scroll-line::before {
		height: 35px;
		width: 4px;
	}
}

.home-section-lead {
	-webkit-box-ordinal-group: 5;
	    -ms-flex-order: 4;
	        order: 4;
	-ms-grid-row-span: 2;
	grid-row: span 2;
	width: 41.5%;
	margin: 0 0 0 auto;
	font-size: 1.6rem;
	line-height: 1.6;
	color: var(--color--sec);
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .home-section-lead {
	color: #FFF;
}

@media screen and (max-width: 1023.98px) {
	.home-section-lead {
		width: auto;
		margin: 30px 0 0;
		font-size: 1.4rem;
		line-height: 2;
	}
}
.home-child-section {
	scroll-margin-top: calc(var(--header-height) + 24px);
	margin: 0 0 150px;
}
.home-child-section-heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	gap: 0 15px;
	width: var(--content-width--l);
	margin: 0 auto 60px;
}
.home-child-section-heading-ja {
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.4;
	color: var(--color--sec);
	margin: 0;
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .home-child-section-heading-ja {
	color: #FFF;
}

.home-child-section-heading-en {
	font-size: 1.5rem;
	color: var(--color--prim);
	margin: 0;
}
.home-child-section:has(.article-slider) {
	position: relative;
}
@media screen and (max-width: 1023.98px) {
	.home-child-section {
		margin: 0 0 60px;
	}
	.home-child-section-heading {
		width: var(--content-width--xl);
		margin-bottom: 30px;
	}
	.home-child-section-heading-ja {
		font-size: 2rem;
	}
	.home-child-section-heading-en {
		font-size: 1.2rem;
	}
}

.article-slider .swiper-controller {
	position: absolute;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	top: 0;
	right: var(--content-padding--xl);
	gap: 10px;
}
.article-slider .swiper-button {
	position: relative;
	right: auto;
	left: auto;
	top: auto;
	-webkit-transform: none;
	        transform: none;
}
.article-slider .swiper-button-prev {
	scale: -1 1;
}
@media screen and (max-width: 1023.98px) {
	.article-slider .swiper-controller {
		right: var(--content-padding--l);
		gap: 6px;
	}
}

.future {
	position: relative;
	width: var(--content-width--l);
	margin-right: auto;
	margin-left: auto;
}
.future-heading {
	position: absolute;
	z-index: 2;
	top: 30px;
	left: 0;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	text-orientation: upright;
	color: var(--color--prim);
	font-size: 2.4rem;
}
.future-heading em {
	display: inline-block;
	position: relative;
	font-size: 8rem;
	letter-spacing: 0.25em;
}
.future-heading em .min-font {
	font-family: "Rufina", serif;
	font-size: 6rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	height: 0.6em;
}
.future-heading em .min-font:first-of-type {
	position: absolute;
	top: -0.6em;
	left: -0.5em;
}
.future-heading em .min-font:last-of-type {
	position: absolute;
	bottom: -0.2em;
	right: -0.5em;
}
.future-heading em {
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .future-heading em {
	color: #FFF;
}

.future-heading {
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .future-heading {
	color: #FFF;
}

.future-islands {
	position: relative;
	z-index: 2;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto -50px;
}
.future-islands-image {
	max-width: 100%;
	margin: 0 30px 0 0;
}
.future-islands-image path {
	pointer-events: none;
}
.future-islands-image a circle {
	-webkit-transition: fill 0.2s ease;
	transition: fill 0.2s ease;
}
@media (hover: hover) {
	.future-islands-image a:where(:-moz-any-link, :enabled, summary):hover circle {
		fill: var(--color--bl);
	}
	.future-islands-image a:where(:any-link, :enabled, summary):hover circle {
		fill: var(--color--bl);
	}
}
.future-islands-image a:focus-visible {
	outline: none;
}
.future-islands-image a:focus-visible circle {
	stroke: var(--color--sec);
	stroke-width: 3px;
	opacity: 1;
}
@media screen and (min-width: 1024px) {
	.future-islands-image--mob {
		display: none;
	}
}
@media screen and (max-width: 1023.98px) {
	.future-islands-image--pc {
		display: none;
	}
}
.future-slogan {
	width: 50%;
	margin-left: auto;
}
.future-slogan-en {
	position: absolute;
	left: 0;
	top: 250px;
	width: 100vw;
	font-size: 12rem;
	line-height: 1;
	font-weight: 600;
	white-space: nowrap;
	color: rgba(202, 219, 238, 0.38);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.future-slogan-en-inner {
	-webkit-animation: loop-slider 80s infinite linear 1s both;
	        animation: loop-slider 80s infinite linear 1s both;
	padding-right: 1em;
}
.future-slogan-ja {
	font-size: 2.6rem;
	line-height: 1.5;
	font-weight: 600;
	letter-spacing: 0.3em;
	color: var(--color--prim);
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .future-slogan-ja {
	color: #FFF;
}

.future-slogan-description {
	font-size: 1.8rem;
	color: var(--color--prim);
	-webkit-transition: color 0.4s ease;
	transition: color 0.4s ease;
}
.is-in .future-slogan-description {
	color: #FFF;
}

.future-slogan .more-button-wrap, .future-slogan .load-button-wrap {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	margin: 40px auto 0;
}
@media screen and (max-width: 1023.98px) {
	.future {
		width: var(--content-width--xl);
		padding: 80px 0 0;
	}
	.future-heading {
		font-size: 1.1rem;
		top: 20px;
	}
	.future-heading em {
		font-size: 3.6rem;
	}
	.future-heading em .min-font {
		font-size: 2rem;
	}
	.future-heading em .min-font:first-of-type {
		top: -0.4em;
		left: -0.3em;
	}
	.future-heading em .min-font:last-of-type {
		bottom: -0.4em;
		right: -0.3em;
	}
	.future-islands {
		margin: 0 -5% 30px;
	}
	.future-islands-image {
		width: var(--content-width--xl);
		margin: 0;
	}
	.future-islands-image a:focus-visible rect {
		stroke: var(--color--sec);
		stroke-width: 3px;
		opacity: 1;
	}
	.future-slogan {
		width: auto;
		margin-left: auto;
	}
	.future-slogan-en {
		display: none;
	}
	.future-slogan-ja {
		font-size: 1.8rem;
	}
	.future-slogan-description {
		font-size: 1.4rem;
	}
	.future-slogan .more-button-wrap, .future-slogan .load-button-wrap {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
}

.load-button .plus-icon {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	vertical-align: middle;
	width: 15px;
	height: 15px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0 0 0 auto;
}
.load-button .plus-icon::before, .load-button .plus-icon::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-top: 1px solid;
	width: 10px;
	height: 0;
	-webkit-transition: width 0.2s ease;
	transition: width 0.2s ease;
}
.load-button .plus-icon::after {
	rotate: 90deg;
}

.is-in .contents::before {
	background: color-mix(in srgb, var(--color--sec) 100%, transparent);
}

.article-header {
	width: var(--content-width);
	margin: 100px auto 0;
}
.article-header-text {
	position: relative;
	margin: 0 0 50px;
}
.article-date {
	font-size: 1.4rem;
	font-weight: 700;
	margin: 0 0 20px;
}
.article-title {
	font-size: 3.2rem;
	line-height: 1.4;
	font-weight: 600;
	margin: 0 0 20px;
}
.article-share {
	position: absolute;
	top: 100%;
	right: 107%;
}
.article-share-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	list-style: none;
	margin: 0;
}
.article-share-button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	background: no-repeat 50% 50%;
	text-indent: 100%;
	overflow: hidden;
	width: 45px;
	white-space: nowrap;
	-webkit-transition: 0.2s ease;
	transition: 0.2s ease;
	position: relative;
}
.article-share-button::before {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	content: "";
	height: 45px;
	width: 45px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}
.article-share-button[href^="https://twitter.com/"]::before {
	background-color: #000;
	background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%201226.37%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23fff%3B%20stroke-width%3A%200px%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22m714.16%2C519.28L1160.89%2C0h-105.86l-387.89%2C450.89L357.33%2C0H0l468.49%2C681.82L0%2C1226.37h105.87l409.63-476.15%2C327.18%2C476.15h357.33l-485.86-707.09h.03Zm-145%2C168.54l-47.47-67.89L144.01%2C79.69h162.6l304.8%2C435.99%2C47.47%2C67.89%2C396.2%2C566.72h-162.6l-323.31-462.45v-.03Z%22%2F%3E%3C%2Fsvg%3E");
	background-size: auto 16px;
}
.article-share-button[href^="https://www.facebook.com/"]::before {
	background-color: #1578f2;
	background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9Imljb25tb25zdHIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI0IDI0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe2ZpbGw6I0ZGRkZGRjt9PC9zdHlsZT48cGF0aCBpZD0iZmFjZWJvb2stMSIgY2xhc3M9InN0MCIgZD0iTTksOEg2djRoM3YxMmg1VjEyaDMuNkwxOCw4aC00YzAsMCwwLTAuOSwwLTEuN2MwLTEsMC4yLTEuMywxLjEtMS4zQzE1LjksNSwxOCw1LDE4LDVWMGMwLDAtMy4yLDAtMy44LDBDMTAuNiwwLDksMS42LDksNC42QzksNy4zLDksOCw5LDh6Ii8+PC9zdmc+);
	background-size: auto 17px;
}
.article-share-button[href^="https://social-plugins.line.me/"]::before {
	background-color: #00b900;
	background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IklDT04iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTA0LjMgOTkuNCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTA0LjMgOTkuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnN0MHtmaWxsOiNGRkZGRkY7fTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTEwNC4zLDQyLjNDMTA0LjMsMTksODAuOSwwLDUyLjIsMEMyMy40LDAsMCwxOSwwLDQyLjNjMCwyMC45LDE4LjYsMzguNSw0My42LDQxLjhjMS43LDAuNCw0LDEuMSw0LjYsMi42YzAuNSwxLjMsMC4zLDMuNCwwLjIsNC43YzAsMC0wLjYsMy43LTAuNyw0LjVjLTAuMiwxLjMtMSw1LjIsNC41LDIuOGM1LjYtMi4zLDMwLTE3LjcsNDEtMzAuM2gwQzEwMC43LDYwLjEsMTA0LjMsNTEuNywxMDQuMyw0Mi4zeiBNMzMuOCw1NC44YzAsMC42LTAuNSwxLTEsMUgxOC4xaDBjLTAuMywwLTAuNS0wLjEtMC43LTAuM2MwLDAsMCwwLDAsMGMwLDAsMCwwLDAsMGMtMC4yLTAuMi0wLjMtMC40LTAuMy0wLjd2MFYzMi4xYzAtMC42LDAuNS0xLDEtMWgzLjdjMC42LDAsMSwwLjUsMSwxdjE4LjFoOS45YzAuNiwwLDEsMC41LDEsMVY1NC44eiBNNDIuNiw1NC44YzAsMC42LTAuNSwxLTEsMWgtMy43Yy0wLjYsMC0xLTAuNS0xLTFWMzIuMWMwLTAuNiwwLjUtMSwxLTFoMy43YzAuNiwwLDEsMC41LDEsMVY1NC44eiBNNjcuOCw1NC44YzAsMC42LTAuNSwxLTEsMWgtMy43Yy0wLjEsMC0wLjIsMC0wLjMsMGMwLDAsMCwwLDAsMGMwLDAsMCwwLTAuMSwwYzAsMCwwLDAsMCwwYzAsMCwwLDAsMCwwYzAsMCwwLDAsMCwwYzAsMCwwLDAsMCwwYzAsMCwwLDAtMC4xLDBjMCwwLDAsMCwwLDBjLTAuMS0wLjEtMC4yLTAuMS0wLjMtMC4zTDUxLjgsNDEuM3YxMy41YzAsMC42LTAuNSwxLTEsMWgtMy43Yy0wLjYsMC0xLTAuNS0xLTFWMzIuMWMwLTAuNiwwLjUtMSwxLTFoMy43YzAsMCwwLDAsMCwwYzAsMCwwLDAsMC4xLDBjMCwwLDAsMCwwLjEsMGMwLDAsMCwwLDAsMGMwLDAsMCwwLDAuMSwwYzAsMCwwLDAsMCwwYzAsMCwwLDAsMC4xLDBjMCwwLDAsMCwwLDBjMCwwLDAsMCwwLjEsMGMwLDAsMCwwLDAsMGMwLDAsMCwwLDAuMSwwYzAsMCwwLDAsMCwwYzAsMCwwLDAsMC4xLDBjMCwwLDAsMCwwLDBjMCwwLDAsMCwwLjEsMGMwLDAsMCwwLDAsMGMwLDAsMCwwLDAuMSwwLjFjMCwwLDAsMCwwLDBjMCwwLDAuMSwwLjEsMC4xLDAuMWwxMC40LDE0LjFWMzIuMWMwLTAuNiwwLjUtMSwxLTFoMy43YzAuNiwwLDEsMC41LDEsMVY1NC44eiBNODgsMzUuN2MwLDAuNi0wLjUsMS0xLDFINzd2My44SDg3YzAuNiwwLDEsMC41LDEsMXYzLjdjMCwwLjYtMC41LDEtMSwxSDc3djMuOEg4N2MwLjYsMCwxLDAuNSwxLDF2My43YzAsMC42LTAuNSwxLTEsMUg3Mi4zaDBjLTAuMywwLTAuNS0wLjEtMC43LTAuM2MwLDAsMCwwLDAsMGMwLDAsMCwwLDAsMGMtMC4yLTAuMi0wLjMtMC40LTAuMy0wLjd2MFYzMi4xdjBjMC0wLjMsMC4xLTAuNSwwLjMtMC43YzAsMCwwLDAsMCwwYzAsMCwwLDAsMCwwYzAuMi0wLjIsMC40LTAuMywwLjctMC4zaDBIODdjMC42LDAsMSwwLjUsMSwxVjM1Ljd6Ii8+PC9zdmc+);
	background-size: auto 16px;
}
.article-share-button[href^="http://b.hatena.ne.jp/"]::before {
	background-color: #00a4de;
	background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuODrOOCpOODpOODvF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDI3Mi44IDIyNy4zIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyNzIuOCAyMjcuMzsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnN0MHtmaWxsOiNGRkZGRkY7fTwvc3R5bGU+PGc+PHBhdGggY2xhc3M9InN0MCIgZD0iTTE2NC42LDEyMS43Yy05LjEtMTAuMS0yMS43LTE1LjgtMzcuOC0xN2MxNC40LTMuOSwyNC44LTkuNiwzMS40LTE3LjNzOS44LTE3LjgsOS44LTMwLjdjMC4yLTkuNS0yLjEtMTguOC02LjYtMjcuMWMtNC41LTcuOS0xMS4yLTE0LjMtMTkuMi0xOC42Yy03LjMtNC0xNi02LjktMjYuMi04LjZTODcuOSwwLDYyLjMsMEgwdjIyNy4yaDY0LjJjMjUuOCwwLDQ0LjQtMC45LDU1LjgtMi42YzExLjQtMS44LDIwLjktNC44LDI4LjYtOC45YzkuMy00LjgsMTYuOS0xMi4yLDIxLjktMjEuNGM1LjEtOS4yLDcuNy0xOS45LDcuNy0zMi4xQzE3OC4yLDE0NS4zLDE3My43LDEzMS44LDE2NC42LDEyMS43eiBNNTcuNiw1MC4zaDEzLjNjMTUuNCwwLDI1LjcsMS43LDMxLDUuMmM1LjMsMy41LDcuOSw5LjUsNy45LDE4cy0yLjksMTQtOC41LDE3LjRzLTE2LjEsNS0zMS40LDVINTcuNkw1Ny42LDUwLjNMNTcuNiw1MC4zeiBNMTEwLjQsMTgwLjZjLTYuMSwzLjctMTYuNSw1LjUtMzEuMSw1LjVINTcuNnYtNDkuNWgyMi42YzE1LDAsMjUuNCwxLjksMzAuOSw1LjdzOC40LDEwLjQsOC40LDIwcy0zLDE0LjctOS4yLDE4LjRMMTEwLjQsMTgwLjZ6Ii8+PHBhdGggY2xhc3M9InN0MCIgZD0iTTI0NCwxNjkuN2MtMTUuOSwwLTI4LjgsMTIuOS0yOC44LDI4LjhzMTIuOSwyOC44LDI4LjgsMjguOGMxNS45LDAsMjguOC0xMi45LDI4LjgtMjguOGMwLDAsMCwwLDAsMEMyNzIuOCwxODIuNiwyNTkuOSwxNjkuNywyNDQsMTY5Ljd6Ii8+PHJlY3QgeD0iMjE5IiBjbGFzcz0ic3QwIiB3aWR0aD0iNTAiIGhlaWdodD0iMTUxLjUiLz48L2c+PC9zdmc+);
	background-size: auto 13px;
}
.article-share-button[href^="https://getpocket.com/"]::before {
	background-color: #ef3f56;
	background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTA2LjkgOTUuMyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTA2LjkgOTUuMzsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnN0MHtmaWxsOiNGRkZGRkY7fTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTk3LDBIMTAuM0M0LjcsMCwwLDQuMywwLDkuOVY0MmMwLDI5LjEsMjQsNTMuMyw1My43LDUzLjNjMjkuNSwwLDUzLjMtMjQuMiw1My4zLTUzLjNWOS45QzEwNi45LDQuMywxMDIuNCwwLDk3LDB6IE04NC4xLDM5LjhsLTI1LjUsMjRjLTEuMywxLjUtMy40LDIuMS00LjksMi4xYy0xLjksMC0zLjgtMC42LTUuMy0yLjFsLTI1LjEtMjRjLTIuNi0yLjgtMy03LjUsMC0xMC41YzIuOC0yLjYsNy41LTMsMTAuMywwbDIwLjEsMTkuM2wyMC41LTE5LjNjMi42LTMsNy4zLTIuNiw5LjksMEM4Ni43LDMyLjMsODYuNywzNyw4NC4xLDM5Ljh6Ii8+PC9zdmc+);
	background-size: auto 13px;
}
.article-bottom-share {
	width: var(--content-width--xl);
	margin: 150px auto;
}
.article-bottom-share-list {
	position: relative;
	right: auto;
	top: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 26px 10px;
	list-style: none;
	margin: 0;
}
.article-bottom-share-item {
	width: min(25vw, 354px);
	height: auto;
	margin: 0;
}
.article-bottom-share-button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 20px;
	background-color: #FFF;
	width: 100%;
	height: 72px;
	border-radius: 50px;
	text-indent: 0;
	font-size: 1.6rem;
	font-weight: 600;
	-webkit-transition: background-color 0.2s ease;
	transition: background-color 0.2s ease;
}
.article-bottom-share-button i {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	height: 25px;
	width: 25px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 25px auto;
}
.article-bottom-share-button .x-icon {
	background-image: url(../images/icn_x.svg);
}
.article-bottom-share-button .facebook-icon {
	background-image: url(../images/icn_fb.svg);
}
.article-bottom-share-button .copy-icon {
	background-image: url(../images/icn_copy.svg);
}
.article-bottom-share-button.copy-url-button {
	position: relative;
}
.article-bottom-share-button.copy-url-button.is-copied {
	pointer-events: none;
}
.article-bottom-share-button.copy-url-button.is-copied::after {
	content: "URLをコピーしました";
	display: -ms-grid;
	display: grid;
	place-items: center;
	position: absolute;
	z-index: 2;
	inset: 0;
	background-color: var(--color--sec);
	border-radius: 50px;
	color: #FFF;
	-webkit-animation: urlCopy 2s ease;
	        animation: urlCopy 2s ease;
}
@-webkit-keyframes urlCopy {
	0% {
		opacity: 0;
		visibility: visible;
	}
	10% {
		opacity: 1;
	}
	80% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		visibility: hidden;
	}
}
@keyframes urlCopy {
	0% {
		opacity: 0;
		visibility: visible;
	}
	10% {
		opacity: 1;
	}
	80% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		visibility: hidden;
	}
}
@media (hover: hover) {
	.article-bottom-share-button:where(:-moz-any-link, :enabled, summary):hover {
		background-color: color-mix(in srgb, var(--color--sec) 5%, transparent);
	}
	.article-bottom-share-button:where(:any-link, :enabled, summary):hover {
		background-color: color-mix(in srgb, var(--color--sec) 5%, transparent);
	}
}
@media screen and (max-width: 1023.98px) {
	.article-bottom-share {
		width: var(--content-width--xl);
		margin: 80px auto;
	}
	.article-bottom-share-list {
		gap: 20px 10px;
	}
	.article-bottom-share-item {
		width: 100%;
	}
	.article-bottom-share-button {
		gap: 20px;
		font-size: 1.6rem;
		font-weight: 600;
	}
}
.article-hero {
	margin: 0 0 80px;
	overflow: hidden;
}
.article-hero-image {
	-webkit-transition: -webkit-transform 0.4s ease;
	transition: -webkit-transform 0.4s ease;
	transition: transform 0.4s ease;
	transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.article .play-video-button-label {
	position: absolute;
	left: 100%;
}
.article .play-video-button::before {
	content: "";
	position: absolute;
	z-index: 2;
	inset: 0;
	background: var(--color--sec);
	opacity: 0.1;
	-webkit-transition: 0.4s ease;
	transition: 0.4s ease;
}
.article .play-video-button .play-video-icon {
	position: absolute;
	z-index: 3;
	inset: 0;
	margin: auto;
	width: 115px;
	height: 115px;
	background: no-repeat 50% 50%;
	background-size: 100% auto;
	background-image: url(../images/icn_play-video.svg);
	background-color: color-mix(in srgb, var(--color--sec) 30%, transparent);
	border-radius: 50%;
}
@media (hover: hover) {
	.article .play-video-button:where(:-moz-any-link, :enabled, summary):hover::before {
		opacity: 0;
	}
	.article .play-video-button:where(:any-link, :enabled, summary):hover::before {
		opacity: 0;
	}
	.article .play-video-button:where(:-moz-any-link, :enabled, summary):hover img {
		transform: scale(1.1);
	}
	.article .play-video-button:where(:any-link, :enabled, summary):hover img {
		-webkit-transform: scale(1.1);
		        transform: scale(1.1);
	}
}
.article-introduction {
	position: relative;
	width: var(--content-width);
	margin: 0 auto 80px;
}
.article-introduction .image {
	margin: 50px 0;
}
@media screen and (max-width: 1023.98px) {
	.article-header {
		position: relative;
		width: var(--content-width--xl);
		margin: 35px auto 0;
	}
	.article-header-text {
		position: static;
		margin: 0 0 30px;
	}
	.article-title {
		font-size: 2.6rem;
		margin: 0 0 20px;
	}
	.article .social-media {
		position: absolute;
		top: 100%;
		right: var(--neg-margin--xxl);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.article .social-media-item {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		list-style: none;
		margin: 0;
	}
	.article-hero {
		margin: 0 var(--neg-margin--xxl) 80px;
	}
	.article .play-video-button .play-video-icon {
		width: 90px;
		height: 90px;
	}
	.article-introduction {
		width: var(--content-width--xl);
		margin-bottom: 50px;
	}
	.article-introduction .image {
		margin: 30px var(--neg-margin--xxl);
	}
}
.article-index {
	width: var(--content-width);
	margin: 0 auto 150px;
	padding: 60px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: #FFF;
	border-radius: 20px;
}
.article-index-heading {
	font-size: 2.4rem;
	font-weight: 500;
	padding: 0 0 10px;
	border-bottom: 1px solid #D9D9D9;
}
.article-index-list {
	position: relative;
	display: flow-root;
	margin: 0;
}
.article-index-item {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	gap: 0 25px;
	list-style: none;
	margin: 0;
}
.article-index-item::before {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	display: block;
	content: "";
	border-top: 1px solid;
	border-right: 1px solid;
	color: var(--color--prim);
	width: 20px;
	height: 20px;
	-webkit-transform: scale(1, 0.6) rotate(45deg);
	        transform: scale(1, 0.6) rotate(45deg);
}
.article-index-item::after {
	content: "";
	position: absolute;
	top: 2em;
	left: 15px;
	bottom: 0.3em;
	border-left: 1px solid;
	color: var(--color--prim);
}
.article-index-link {
	margin: 0 0 30px;
}
@media (hover: hover) {
	.article-index-link:where(:-moz-any-link, :enabled, summary):hover {
		text-decoration: underline;
	}
	.article-index-link:where(:any-link, :enabled, summary):hover {
		text-decoration: underline;
	}
}
.article-index .more-button-wrap {
	margin: 30px auto 0;
}
.article-index .more-button .arrow-icon::before {
	rotate: 90deg;
}
@media screen and (max-width: 1023.98px) {
	.article-index {
		width: var(--content-width--xl);
		margin: 0 auto 80px;
		padding: 30px 15px;
		border-radius: 10px;
	}
	.article-index-heading {
		font-size: 1.8rem;
		padding: 0 0 10px;
	}
}
.article-body {
	width: var(--content-width);
	margin: 0 auto 100px;
}
.article-body h2 {
	font-size: 3.2rem;
	line-height: 1.4;
	color: var(--color--prim);
	margin: 150px 0 50px;
}
.article-body h3 {
	font-size: 2.4rem;
	line-height: 1.4;
	margin: 50px 0;
}
.article-body h4 {
	font-size: 2rem;
	line-height: 1.6;
	margin: 50px 0;
}
.article-body h2:first-child, .article-body h3:first-child, .article-body h4:first-child, .article-body p:first-child, .article-body ul:first-child, .article-body ol:first-child {
	margin-top: 0;
}
.article-body h2:last-child, .article-body h3:last-child, .article-body h4:last-child, .article-body p:last-child, .article-body ul:last-child, .article-body ol:last-child {
	margin-bottom: 0;
}
.article-body em {
	color: var(--base-font-color);
	font-weight: 700;
}
.article-body strong {
	font-weight: 700;
	background: color-mix(in srgb, var(--color--prim) 15%, transparent);
}
.article-body .image {
	margin: 50px 0;
}
.article-body .image.breaking-out--bg {
	padding-block: 70px;
	background: var(--color--lt-br);
}
.article-body .image figcaption {
	margin-block: 10px 0;
}
.article-body .diagram {
	margin-block: 120px;
}
@media screen and (max-width: 1023.98px) {
	.article-body .diagram {
		margin-block: 80px;
	}
}
.article-body .dialogue {
	position: relative;
	margin: 100px 0;
	padding: 0 100px;
}
.article-body .dialogue::before, .article-body .dialogue::after {
	position: absolute;
	font-size: 26rem;
	line-height: 1;
	color: #D4E7FE;
}
.article-body .dialogue::before {
	content: "“";
	top: -0.2em;
	left: -0.1em;
}
.article-body .dialogue::after {
	content: "”";
	bottom: -0.7em;
	right: -0.1em;
}
@media screen and (max-width: 1023.98px) {
	.article-body {
		width: var(--content-width--xl);
		margin: 0 auto 80px;
	}
	.article-body h2 {
		font-size: 2.6rem;
		margin: 80px 0 30px;
	}
	.article-body h3 {
		font-size: 1.8rem;
		margin: 30px 0;
	}
	.article-body h4 {
		font-size: 1.6rem;
		margin: 30px 0;
	}
	.article-body .image {
		margin: 30px var(--neg-margin--xxl);
	}
	.article-body .dialogue {
		margin: 80px 0;
		padding: 0 15px;
	}
	.article-body .dialogue::before, .article-body .dialogue::after {
		font-size: 17rem;
	}
	.article-body .dialogue::before {
		top: -0.4em;
		left: -0.1em;
	}
	.article-body .dialogue::after {
		bottom: -0.9em;
		right: -0.1em;
	}
}
.article-recruit-info {
	background: #E2F0FF;
	padding: 70px 0;
}
.article-recruit-info-heading {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	width: var(--content-width--xl);
	margin: 0 auto 60px;
	padding: 0 0 30px;
	text-align: center;
}
.article-recruit-info-heading-en {
	font-size: 3.8rem;
	font-weight: normal;
	line-height: 1.1;
	color: var(--color--sec);
}
.article-recruit-info-heading-ja {
	font-size: 1.5rem;
	line-height: 1.5;
	color: var(--color--sec);
}
.article-recruit-info-heading::after {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	border-left: 70px solid var(--color--prim);
	background: var(--color--lt-gy);
}
.article-recruit-info-button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 0 30px 0 60px;
	margin: 0 auto;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.5em;
	width: 680px;
	height: 100px;
	border-radius: 50px;
	background: var(--color--prim);
	color: #FFF;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: var(--color--prim);
	border: 1px solid var(--color--prim);
}
@media (hover: hover) {
	.article-recruit-info-button:where(:-moz-any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--prim);
	}
	.article-recruit-info-button:where(:any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--prim);
	}
	.article-recruit-info-button:where(:-moz-any-link, :enabled, summary):hover .arrow-icon::before {
		background-color: var(--color--prim);
	}
	.article-recruit-info-button:where(:any-link, :enabled, summary):hover .arrow-icon::before {
		background-color: var(--color--prim);
	}
}
.article-recruit-info-button .arrow-icon {
	margin: 0 8px 0 auto;
	background-color: transparent;
	border: none;
}
@media screen and (max-width: 1023.98px) {
	.article-recruit-info-button-wrap {
		margin: 0 10px 0 auto;
	}
	.article-recruit-info-button {
		padding: 0 0 0 10px;
		font-size: 1.1rem;
		width: 90px;
		height: 33px;
	}
	.article-recruit-info-button .arrow-icon {
		margin: 0 3px 0 auto;
	}
}
@media screen and (max-width: 1023.98px) {
	.article-recruit-info {
		padding: 60px 0;
	}
	.article-recruit-info-heading {
		margin: 0 auto 50px;
		padding: 0 0 30px;
		text-align: center;
	}
	.article-recruit-info-heading-en {
		font-size: 2.5rem;
		font-weight: normal;
		line-height: 1.1;
		color: var(--color--sec);
	}
	.article-recruit-info-heading-ja {
		font-size: 1.5rem;
		line-height: 1.5;
		color: var(--color--sec);
	}
	.article-recruit-info-heading::after {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		content: "";
		display: block;
		height: 1px;
		border-left: 70px solid var(--color--prim);
		background: var(--color--lt-gy);
	}
	.article-recruit-info-button {
		padding: 0 30px 0 60px;
		font-size: 1.6rem;
		width: 100%;
		height: 65px;
	}
	.article-recruit-info-button-wrap {
		width: var(--content-width--xl);
		margin: 0 auto;
	}
	.article-recruit-info-button .arrow-icon {
		margin: 0 8px 0 auto;
		background-color: transparent;
		border: none;
	}
}

.profile {
	background: #FFF;
	padding-block: 100px;
	margin-block: 150px;
}
.profile-heading {
	margin-inline: var(--neg-margin--xl);
}
.profile-heading-ja {
	font-size: 3.2rem;
	color: var(--color--prim);
	margin-block: 0 5px !important;
}
.profile-heading-en {
	color: var(--color--prim);
}
@media screen and (max-width: 1023.98px) {
	.profile-heading-ja {
		font-size: 2rem;
	}
}
.profile-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 30px;
}
.profile-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 40px;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 0%;
	        flex: 1 1 0%;
	background: var(--color--lt-br);
	padding: 60px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-radius: 20px;
}
.profile-image {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}
.profile-image-wrap {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	width: 150px;
	height: 150px;
	margin: 0 0 auto;
	border-radius: 75px;
	overflow: hidden;
}
.profile-name {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	gap: 0 20px;
	font-size: 2.6rem;
	font-weight: 600;
	margin: 0 0 10px;
}
.profile-name-en {
	font-size: 1.6rem;
	font-weight: 400;
}
.profile-name::before {
	content: "";
	position: relative;
	top: 0.2em;
	display: block;
	width: 6px;
	height: 1.1em;
	border-radius: 3px;
}
.profile-item .profile-name::before {
	background: var(--color--gr);
}
.profile-item .profile-name-en {
	color: var(--color--gr);
}
.profile-item:nth-child(2) .profile-name::before {
	background: var(--color--rd);
}
.profile-item:nth-child(2) .profile-name-en {
	color: var(--color--rd);
}
.profile-item:nth-child(3) .profile-name::before {
	background: var(--color--yl);
}
.profile-item:nth-child(3) .profile-name-en {
	color: var(--color--yl);
}
.profile-item:nth-child(4) .profile-name::before {
	background: var(--color--bl);
}
.profile-item:nth-child(4) .profile-name-en {
	color: var(--color--bl);
}
.profile-description {
	margin: 0 0 20px;
}
.profile-detail {
	margin: 0;
}
@media screen and (max-width: 1023.98px) {
	.profile {
		padding-block: 50px;
		margin-block: 60px;
	}
	.profile-heading {
		-ms-grid-columns: auto 15px 1fr;
		grid-template-columns: auto 1fr;
		gap: 0 15px;
		-webkit-box-align: baseline;
		    -ms-flex-align: baseline;
		        align-items: baseline;
	}
	.profile-heading-ja {
		font-size: 2rem !important;
		margin-block: 0 !important;
	}
	.profile-heading::after {
		-ms-grid-column-span: 2;
		grid-column: span 2;
	}
	.profile-list {
		gap: 16px;
	}
	.profile-item {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		gap: 0 40px;
		padding: 30px 25px;
		border-radius: 10px;
	}
	.profile-image-wrap {
		width: 110px;
		height: 110px;
		margin-bottom: 20px;
	}
	.profile-name {
		display: -ms-grid;
		display: grid;
		-webkit-box-align: stretch;
		    -ms-flex-align: stretch;
		        align-items: stretch;
		-ms-grid-columns: auto 20px 1fr;
		grid-template-columns: auto 1fr;
		-ms-grid-rows: auto 2px auto;
		grid-template-rows: auto auto;
		gap: 2px 20px;
		font-size: 2rem;
		line-height: 1.4;
	}
	.profile-name > *:nth-child(1) {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.profile-name > *:nth-child(2) {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}
	.profile-name > *:nth-child(3) {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.profile-name > *:nth-child(4) {
		-ms-grid-row: 3;
		-ms-grid-column: 3;
	}
	.profile-name-en {
		font-size: 1.4rem;
	}
	.profile-name::before {
		-ms-grid-row-span: 2;
		grid-row: span 2;
		height: 100%;
		top: 0;
	}
}

.basic-button-wrap {
	position: relative;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin: 80px auto;
}
.basic-button-wrap:last-child {
	margin-bottom: 0;
}
.basic-button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 15px;
	padding: 0 30px;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.5em;
	width: -webkit-fill-available;
	width: -moz-available;
	width: stretch;
	min-height: 65px;
	border-radius: 40px;
	color: #FFF;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: var(--color--sec);
	border: 1px solid var(--color--sec);
}
.basic-button:disabled {
	display: none;
}
@media (hover: hover) {
	.basic-button:where(:-moz-any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--sec);
	}
	.basic-button:where(:any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--sec);
	}
	.basic-button:where(:-moz-any-link, :enabled, summary):hover .arrow-icon::before {
		background-color: var(--color--sec);
	}
	.basic-button:where(:any-link, :enabled, summary):hover .arrow-icon::before {
		background-color: var(--color--sec);
	}
}
.basic-button-label {
	-webkit-box-flex: 2;
	    -ms-flex: 2 2 auto;
	        flex: 2 2 auto;
	text-align: center;
	letter-spacing: 0;
}
.basic-button-label:has(wbr) {
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.basic-button .arrow-icon {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	margin: 0 0 0 auto;
}
@media screen and (max-width: 1023.98px) {
	.basic-button-wrap {
		margin: 40px auto 0;
	}
	.basic-button {
		width: var(--content-width);
	}
}

.chat-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 60px;
	margin: 50px 0;
}
.chat-box--right {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}
.chat-box-speaker {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	width: 138px;
	text-align: center;
	font-weight: 600;
}
.chat-box-image {
	width: 100%;
	border-radius: 50%;
}
.chat-box p:last-child {
	position: relative;
	padding: 0 0 50px;
	margin-bottom: 0;
}
.chat-box p:last-child::after {
	position: absolute;
	inset: auto 0 0;
	content: "";
	color: #BFDDFF;
	border-left: 1px solid;
	border-bottom: 1px solid;
	height: 53px;
	-webkit-transform: skew(45deg);
	        transform: skew(45deg);
	-webkit-transform-origin: 100% 100%;
	        transform-origin: 100% 100%;
}
.chat-box--right p:last-child::after {
	border-left: none;
	border-right: 1px solid;
	border-bottom: 1px solid;
	-webkit-transform: skew(-45deg);
	        transform: skew(-45deg);
	-webkit-transform-origin: 0 100%;
	        transform-origin: 0 100%;
}
@media screen and (max-width: 1023.98px) {
	.chat-box {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 10px 0;
		margin: 30px 0;
	}
	.chat-box-speaker {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		gap: 0 10px;
	}
	.chat-box-image {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
		width: 50px;
	}
	.chat-box p:last-child {
		padding-bottom: 0;
	}
	.chat-box p:last-child::after {
		display: none;
	}
}

.bg-color-box {
	background: var(--color--lt-gr);
	border-radius: 20px;
	margin: 50px 0;
	padding: 60px;
}
@media screen and (max-width: 1023.98px) {
	.bg-color-box {
		margin: 30px var(--neg-margin--xxl);
		padding: 30px 20px;
	}
}

.column-box {
	margin: 50px auto;
	padding: 60px;
	border: 1px solid var(--color--gy);
}
.column-box h3 {
	margin-bottom: 30px;
}
@media screen and (max-width: 1023.98px) {
	.column-box {
		margin: 30px 0;
		padding: 30px 20px;
	}
}

.annotation {
	margin: 150px 0;
}
@media screen and (max-width: 1023.98px) {
	.annotation {
		margin: 80px 0;
	}
}

.related-recruit-info {
	width: var(--content-width);
	margin: 150px auto;
	padding: 60px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: var(--color--lt-br);
	border-radius: 20px;
}
.related-recruit-info-heading {
	font-size: 2.4rem;
	font-weight: 500;
	padding: 0 0 10px;
	border-bottom: 1px solid var(--color--lt-gy);
}
.related-recruit-info-list {
	position: relative;
	display: -ms-grid;
	display: grid;
	gap: 10px;
	margin: 0;
}
.related-recruit-info-item {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	list-style: none;
	margin: 0;
}
.related-recruit-info-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 15px;
	width: -webkit-fill-available;
	width: -moz-available;
	width: stretch;
	padding: 16px 30px;
	background: #FFF;
	border-radius: 10px;
	font-weight: 600;
	line-height: 1.6;
	color: var(--color--prim);
}
.related-recruit-info-link .arrow-icon {
	margin: 0 0 0 auto;
}
.related-recruit-info-link .arrow-icon::before {
	background-color: var(--color--prim);
}
@media (hover: hover) {
	.related-recruit-info-link:where(:-moz-any-link, :enabled, summary):hover {
		background: var(--color--prim);
		color: #FFF;
	}
	.related-recruit-info-link:where(:any-link, :enabled, summary):hover {
		background: var(--color--prim);
		color: #FFF;
	}
	.related-recruit-info-link:where(:-moz-any-link, :enabled, summary):hover .arrow-icon::before {
		background-color: #FFF;
	}
	.related-recruit-info-link:where(:any-link, :enabled, summary):hover .arrow-icon::before {
		background-color: #FFF;
	}
}
@media screen and (max-width: 1023.98px) {
	.related-recruit-info {
		width: var(--content-width--xxl);
		margin: 80px auto;
		padding: 30px 20px;
		border-radius: 10px;
	}
	.related-recruit-info-heading {
		font-size: 1.8rem;
		padding: 0 0 10px;
	}
}

.related-articles {
	position: relative;
}
@media screen and (min-width: 1024px) {
	.related-articles .more-button {
		width: 240px;
		min-height: 51px;
	}
	.related-articles .more-button-wrap {
		position: absolute;
		inset: 0 var(--content-padding--l) auto auto;
		margin: 0;
	}
}

.company-header {
	-ms-grid-column-span: 2;
	grid-column: span 2;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	margin: 0 0 100px;
	padding: 0 var(--content-padding--l);
	height: 490px;
}
.company-title {
	position: relative;
	z-index: 4;
	width: var(--content-width--l);
	font-size: 4.6rem;
	color: #FFF;
	margin: auto 0 80px;
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.company-lead {
	position: relative;
	z-index: 4;
	width: var(--content-width--l);
	margin: 0 0 50px;
	font-size: 1.8rem;
	font-weight: 600;
	color: #FFF;
}
.company-islands-image {
	position: absolute;
	z-index: 3;
	top: -40px;
	right: calc((100% - var(--content-width--xl)) / 2);
	opacity: 0.9;
	width: 600px;
	height: auto;
}
.company-hero {
	position: absolute;
	inset: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	overflow: hidden;
}
.company-hero .loop-slider {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-animation: loop-slider 80s infinite linear 1s both;
	        animation: loop-slider 80s infinite linear 1s both;
	height: 100%;
}
.company-hero .loop-slider-item {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	height: 100%;
}
.company-hero-slide-image {
	width: auto;
	height: 100%;
}
.company-hero::after {
	content: "";
	position: absolute;
	z-index: 2;
	inset: 0;
	background: color-mix(in srgb, var(--color--prim) 70%, transparent);
}
@keyframes loop-slider {
	from {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	to {
		-webkit-transform: translateX(-100%);
		        transform: translateX(-100%);
	}
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.company-header {
		-ms-grid-column-span: 1;
		grid-column: span 1;
	}
}
@media screen and (max-width: 1023.98px) {
	.company-header {
		-ms-grid-column-span: 1;
		grid-column: span 1;
		margin: 0 0 50px;
		padding: 0 var(--content-padding);
		height: 390px;
	}
	.company-title {
		width: auto;
		font-size: 2.6rem;
		margin: 40px 100px 30px 0;
	}
	.company-lead {
		width: auto;
		margin: 0 160px 30px 0;
		font-size: 1.4rem;
	}
	.company-islands-image {
		top: auto;
		bottom: -80px;
		right: 0px;
		width: 400px;
	}
	.company-hero {
		position: absolute;
		inset: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		overflow: hidden;
	}
	.company-hero .loop-slider {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-animation: loop-slider 80s infinite linear 1s both;
		        animation: loop-slider 80s infinite linear 1s both;
		height: 100%;
	}
	.company-hero .loop-slider-item {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
		height: 100%;
	}
	.company-hero-slide-image {
		width: auto;
		height: 100%;
	}
	.company-hero::after {
		content: "";
		position: absolute;
		z-index: 2;
		inset: 0;
		background: color-mix(in srgb, var(--color--prim) 70%, transparent);
	}
}
.company-section {
	scroll-margin-top: calc(var(--header-height) + 24px);
}
.company-section-container {
	display: -ms-grid;
	display: grid;
	gap: 150px;
	margin-right: var(--content-padding--l);
	margin-block: 0 150px;
}
.company-section-heading {
	position: relative;
	display: -ms-grid;
	display: grid;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-grid-columns: auto 30px 1fr;
	grid-template-columns: auto 1fr;
	-ms-grid-rows: auto 0 auto;
	grid-template-rows: auto auto;
	gap: 0 30px;
	margin: 0 auto 60px;
}
.company-section-heading > *:nth-child(1) {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
}
.company-section-heading > *:nth-child(2) {
	-ms-grid-row: 1;
	-ms-grid-column: 3;
}
.company-section-heading > *:nth-child(3) {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
}
.company-section-heading > *:nth-child(4) {
	-ms-grid-row: 3;
	-ms-grid-column: 3;
}
.company-section-heading-image {
	-o-object-fit: cover;
	   object-fit: cover;
	width: 85px;
	height: 85px;
	border-radius: 85px;
}
.company-section-heading-image--right {
	-o-object-position: 100% 50%;
	   object-position: 100% 50%;
}
.company-section-heading::after {
	-ms-grid-column-span: 2;
	grid-column: span 2;
	content: "";
	display: block;
	height: 1px;
	border-left: 70px solid var(--color--prim);
	background: var(--color--lt-gy);
	margin: 30px 0 0;
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.company-section-container {
		margin-inline: auto;
		width: var(--content-width--xl);
	}
}
@media screen and (max-width: 1023.98px) {
	.company-section-container {
		margin-inline: auto;
		width: var(--content-width--xl);
		gap: 80px;
		margin-block: 0 80px;
	}
	.company-section-heading {
		gap: 0 15px;
		margin: 0 auto 40px;
	}
	.company-section-heading-image {
		width: 45px;
		height: 45px;
	}
	.company-section-heading::after {
		margin: 20px 0 0;
	}
}
.company-image {
	border-radius: 5px;
}
.company-image-container {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 10px 1fr 10px 1fr;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin: 60px 0;
}
.company-outline {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: auto 30px 1fr;
	grid-template-columns: auto 1fr;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	gap: 25px 30px;
}
.company-outline dt {
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 2;
	color: var(--color--prim);
}
.company-outline dd {
	-webkit-box-flex: 2;
	    -ms-flex: 2 2 auto;
	        flex: 2 2 auto;
	padding: 0 0 0 30px;
	border-left: 1px solid var(--color--lt-gy);
	line-height: 2;
}
.company-outline dd p, .company-outline dd ul, .company-outline dd ol {
	margin: 0 0 10px;
}
.company-outline dd > :last-child {
	-webkit-margin-after: 0;
	        margin-block-end: 0;
}
.company-recruit-list {
	position: relative;
	z-index: 2;
	display: -ms-grid;
	display: grid;
	gap: 10px;
	margin: 60px 0 0;
}
.company-recruit-item {
	position: relative;
	z-index: 1;
	background: #FFF;
	border-radius: 10px;
	-webkit-transition: -webkit-box-shadow 0.4s ease;
	transition: -webkit-box-shadow 0.4s ease;
	transition: box-shadow 0.4s ease;
	transition: box-shadow 0.4s ease, -webkit-box-shadow 0.4s ease;
}
.company-recruit-item.is-opened {
	-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
	        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}
.company-recruit-item.is-opened .toggle-icon::after {
	width: 0;
}
.company-recruit-button, .company-recruit-toggle-button {
	position: relative;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 15px;
	padding: 0 30px;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.5;
	min-height: 65px;
	border-radius: 10px;
	width: -webkit-fill-available;
	width: -moz-available;
	width: stretch;
	color: #FFF;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: var(--color--prim);
	border: 1px solid var(--color--prim);
	-webkit-transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	cursor: pointer;
}
.company-recruit-button-label, .company-recruit-toggle-button-label {
	-webkit-box-flex: 2;
	    -ms-flex: 2 2 auto;
	        flex: 2 2 auto;
	text-align: center;
}
.company-recruit-button-label:has(wbr), .company-recruit-toggle-button-label:has(wbr) {
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.company-recruit-button .arrow-icon, .company-recruit-toggle-button .arrow-icon {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	margin: 0 0 0 auto;
}
.company-recruit-button .toggle-icon, .company-recruit-toggle-button .toggle-icon {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	position: relative;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	vertical-align: middle;
	width: 15px;
	height: 15px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0 0 0 auto;
}
.company-recruit-button .toggle-icon::before, .company-recruit-button .toggle-icon::after, .company-recruit-toggle-button .toggle-icon::before, .company-recruit-toggle-button .toggle-icon::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-top: 1px solid;
	width: 10px;
	height: 0;
	-webkit-transition: width 0.2s ease;
	transition: width 0.2s ease;
}
.company-recruit-button .toggle-icon::after, .company-recruit-toggle-button .toggle-icon::after {
	rotate: 90deg;
}
@media (hover: hover) {
	.company-recruit-button:where(:-moz-any-link, :enabled, summary):hover, .company-recruit-toggle-button:where(:-moz-any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--prim);
	}
	.company-recruit-button:where(:any-link, :enabled, summary):hover, .company-recruit-toggle-button:where(:any-link, :enabled, summary):hover {
		background: #FFF;
		color: var(--color--prim);
	}
	.company-recruit-button:where(:-moz-any-link, :enabled, summary):hover .arrow-icon::before, .company-recruit-toggle-button:where(:-moz-any-link, :enabled, summary):hover .arrow-icon::before {
		background-color: var(--color--prim);
	}
	.company-recruit-button:where(:any-link, :enabled, summary):hover .arrow-icon::before, .company-recruit-toggle-button:where(:any-link, :enabled, summary):hover .arrow-icon::before {
		background-color: var(--color--prim);
	}
}
.company-recruit-toggle-content {
	position: relative;
	overflow: hidden;
	-webkit-transition: max-height 0.4s ease;
	transition: max-height 0.4s ease;
	border-radius: 0 0 10px 10px;
	margin: 0 0 0;
}
.company-child-recruit-list {
	display: -ms-grid;
	display: grid;
	gap: 30px 0;
	background: #FFF;
	padding: 60px;
	margin: 0;
	border-radius: 0 0 10px 10px;
}
.company-child-recruit-item {
	list-style: none;
	margin: 0;
}
.company-child-recruit-button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 15px;
	line-height: 1.5;
	width: -webkit-fill-available;
	width: -moz-available;
	width: stretch;
	color: var(--color--prim) !important;
	-webkit-transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.company-child-recruit-button-label {
	-webkit-box-flex: 2;
	    -ms-flex: 2 2 auto;
	        flex: 2 2 auto;
}
@media (hover: hover) {
	.company-child-recruit-button:where(:-moz-any-link, :enabled, summary):hover {
		text-decoration: underline;
	}
	.company-child-recruit-button:where(:any-link, :enabled, summary):hover {
		text-decoration: underline;
	}
}
.company-child-recruit-button .arrow-icon {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	margin: 0 0 0 auto;
}
.company-child-recruit-button .arrow-icon::before {
	background-color: var(--color--prim);
}
@media screen and (max-width: 1023.98px) {
	.company-image-container {
		margin: 40px 0;
	}
	.company-outline {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		gap: 5px;
	}
	.company-outline dt {
		font-size: 1.4rem;
	}
	.company-outline dt:not(:first-child) {
		margin-top: 10px;
	}
	.company-outline dd {
		padding: 0;
		border-left: none;
	}
	.company-recruit-list {
		display: -ms-grid;
		display: grid;
		gap: 10px;
		margin: 40px 0 0;
	}
	.company-recruit-button, .company-recruit-toggle-button {
		padding: 0 20px;
		font-size: 1.6rem;
		min-height: 60px;
	}
	.company-child-recruit-list {
		gap: 20px 0;
		padding: 30px 20px;
	}
}

.page:has(.contents-nav) {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: auto 80px 1fr;
	grid-template-columns: auto 1fr;
	gap: 0 80px;
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.page:has(.contents-nav) {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
	}
}
@media screen and (max-width: 1023.98px) {
	.page:has(.contents-nav) {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
	}
}

.contents-nav {
	position: sticky;
	-ms-flex-item-align: start;
	    align-self: flex-start;
	top: calc(var(--header-height) + 30px);
	width: calc(var(--content-width--l) / 3.5);
	margin-left: var(--content-padding--l);
	margin-bottom: 150px;
}
.contents-nav-list {
	display: -ms-grid;
	display: grid;
	margin: 0;
	list-style: none;
	background: #FFF;
	border-radius: 10px;
	padding: 40px;
	-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
	        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}
.contents-nav-item {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	gap: 0 15px;
	list-style: none;
	line-height: 1.5;
	margin: 0;
}
.contents-nav-item::before {
	position: relative;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	display: block;
	content: "";
	border-top: 1px solid;
	border-right: 1px solid;
	color: var(--color--prim);
	width: 14px;
	height: 14px;
	-webkit-transform: scale(1, 0.6) rotate(45deg);
	        transform: scale(1, 0.6) rotate(45deg);
	margin-left: -5px;
}
.contents-nav-item::after {
	content: "";
	position: absolute;
	top: 1.7em;
	left: 5px;
	bottom: 0.1em;
	border-left: 1px solid;
	color: var(--color--prim);
}
.contents-nav-link {
	margin: 0 0 20px;
}
@media (hover: hover) {
	.contents-nav-link:where(:-moz-any-link, :enabled, summary):hover {
		text-decoration: underline;
	}
	.contents-nav-link:where(:any-link, :enabled, summary):hover {
		text-decoration: underline;
	}
}
@media screen and (max-width: 1200px) and (min-width: 1024px) {
	.contents-nav {
		position: relative;
		top: 0;
		width: var(--content-width--xl);
	}
	.contents-nav-list {
		grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
		gap: 10px 30px;
	}
	.contents-nav-item::after {
		display: none;
	}
	.contents-nav-link {
		margin: 0 0 5px;
	}
}
@media screen and (max-width: 1023.98px) {
	.contents-nav {
		position: relative;
		top: 0;
		width: var(--content-width--xl);
		margin-bottom: 80px;
	}
	.contents-nav-list {
		grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
		gap: 10px 30px;
		padding: 30px 20px;
	}
	.contents-nav-item {
		gap: 0 10px;
		font-size: 10px;
		letter-spacing: 0.05em;
	}
	.contents-nav-item::before {
		width: 12px;
		height: 12px;
		top: 0.2em;
	}
	.contents-nav-item::after {
		display: none;
	}
	.contents-nav-link {
		margin: 0 0 5px;
	}
}