@charset "UTF-8";
/* foundation / reset */
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,
::before,
::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-style: solid;
	border-width: 0;
	font-family: inherit;
}

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	font-family: "IBM Plex Sans JP", sans-serif;
}

body {
	margin: 0;
}

main {
	display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0;
}

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

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

dt {
	font-weight: 700;
}

dd {
	margin-left: 0;
}

hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit;
}

pre {
	font-family: monospace, monospace;
	font-size: inherit;
}

address {
	font-style: inherit;
}

a {
	background-color: transparent;
	text-decoration: none;
	color: inherit;
}

abbr[title] {
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: inherit;
}

small {
	font-size: 80%;
}

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

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
	vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	border-radius: 0;
	text-align: inherit;
	text-transform: inherit;
}

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

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

:-moz-focusring {
	outline: auto;
}

select:disabled {
	opacity: inherit;
}

option {
	padding: 0;
}

fieldset {
	margin: 0;
	padding: 0;
	min-width: 0;
}

legend {
	padding: 0;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

[type="number"] {
	-moz-appearance: textfield;
}

label[for] {
	cursor: pointer;
}

details {
	display: block;
}

summary {
	display: list-item;
}

[contenteditable]:focus {
	outline: auto;
}

table {
	border-color: inherit;
	border-collapse: collapse;
}

caption {
	text-align: left;
}

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

th {
	text-align: left;
	font-weight: 700;
}

/* foundation / config */
:root {
	--font--base:
		"IBM Plex Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック",
		"Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, Osaka, sans-serif;
	--font--en: "Jost", sans-serif;
	--font--yakuhan:
		"IBM Plex Sans JP", YakuHanJP, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック",
		"Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, Osaka, sans-serif;
	--color--white: #fff;
	--color--white-a30: rgba(255, 255, 255, 0.3);
	--color--white-a50: rgba(255, 255, 255, 0.5);
	--color--black: #152e47;
	--color--gray: #7c7c7c;
	--color--blurry-black: #1e1e1e;
	--color--blurry-x-black: #2f2f2f;
	--color--border-gray: #989898;
	--gradient--blurry-radial: radial-gradient(closest-corner, rgba(255, 96, 32, 0.39), rgba(255, 179, 0, 0.35));
	--gradient--blurry-radial-lt: radial-gradient(closest-corner, rgba(212, 0, 14, 0.17), rgba(0, 0, 0, 0.52));
	--width--small: 720px;
	--width--small-nar: 720px;
	--width--s-medium: 807px;
	--width--s-medium-nar: 807px;
	--width--medium: 904px;
	--width--medium-nar: 904px;
	--width--large: 1088px;
	--width--large-nar: 1088px;
	--spacing--page-inline: 60px;
	--spacing--page-inline-nar: 60px;
	--spacing--section-end: 160px;
	--font-size--normal: 1.3rem;
	--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
	--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
	--radius--normal: 16px;
}
@media screen and (max-width: 768px) {
	:root {
		--gradient--blurry-radial: radial-gradient(closest-corner, rgba(255, 96, 32, 0.39), rgba(255, 179, 0, 0.35));
		--width--small: calc(100% - 72px);
		--width--small-nar: calc(100% - 40px);
		--width--s-medium: calc(100% - 72px);
		--width--s-medium-nar: calc(100% - 40px);
		--width--medium: calc(100% - 72px);
		--width--medium-nar: calc(100% - 40px);
		--width--large: calc(100% - 72px);
		--width--large-nar: calc(100% - 40px);
		--spacing--page-inline: 36px;
		--spacing--page-inline-nar: 20px;
		--spacing--section-end: 100px;
	}
}

.gothic {
	/* font-family: var(--font--base); */
}

.en {
	/* font-family: var(--font--en); */
	font-weight: 300;
}

.yakuhan {
	/* font-family: var(--font--yakuhan); */
}

/* foundation/config/animation */
/* 回転アニメーション */
/* @-webkit-keyframes rotate-item {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes rotate-item {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
} */
/* 点滅アニメーション */
@-webkit-keyframes flash {
	0%,
	100% {
		opacity: 0.8;
	}
	50% {
		opacity: 0.5;
	}
}
@keyframes flash {
	0%,
	100% {
		opacity: 0.8;
	}
	50% {
		opacity: 0.5;
	}
}
/* @-webkit-keyframes puyopuyo {
	0% {
		border-radius: 65% 35% 57% 43%/57% 45% 55% 43%;
		opacity: 0.8;
	}
	14% {
		border-radius: 37% 63% 57% 43%/46% 63% 37% 54%;
	}
	28% {
		border-radius: 57% 43% 35% 65%/46% 73% 27% 54%;
	}
	42% {
		border-radius: 64% 36% 58% 42%/64% 35% 65% 36%;
		opacity: 0.5;
	}
	56% {
		border-radius: 64% 36% 70% 30%/73% 47% 53% 27%;
		opacity: 0.5;
	}
	70% {
		border-radius: 47% 53% 31% 69%/53% 71% 29% 47%;
	}
	84% {
		border-radius: 43% 57% 53% 47%/32% 64% 36% 68%;
	}
	100% {
		border-radius: 65% 35% 57% 43%/57% 45% 55% 43%;
		opacity: 0.8;
	}
}
@keyframes puyopuyo {
	0% {
		border-radius: 65% 35% 57% 43%/57% 45% 55% 43%;
		opacity: 0.8;
	}
	14% {
		border-radius: 37% 63% 57% 43%/46% 63% 37% 54%;
	}
	28% {
		border-radius: 57% 43% 35% 65%/46% 73% 27% 54%;
	}
	42% {
		border-radius: 64% 36% 58% 42%/64% 35% 65% 36%;
		opacity: 0.5;
	}
	56% {
		border-radius: 64% 36% 70% 30%/73% 47% 53% 27%;
		opacity: 0.5;
	}
	70% {
		border-radius: 47% 53% 31% 69%/53% 71% 29% 47%;
	}
	84% {
		border-radius: 43% 57% 53% 47%/32% 64% 36% 68%;
	}
	100% {
		border-radius: 65% 35% 57% 43%/57% 45% 55% 43%;
		opacity: 0.8;
	}
} */
.editor-area img {
	width: auto;
}
.editor-area p:nth-child(n + 2),
.editor-area img:nth-child(n + 2),
.editor-area h1:nth-child(n + 2),
.editor-area h2:nth-child(n + 2),
.editor-area h3:nth-child(n + 2),
.editor-area h4:nth-child(n + 2),
.editor-area h5:nth-child(n + 2),
.editor-area h6:nth-child(n + 2),
.editor-area figure:nth-child(n + 2) {
	margin-top: 60px;
}
@media screen and (max-width: 768px) {
	.editor-area p:nth-child(n + 2),
	.editor-area img:nth-child(n + 2),
	.editor-area h1:nth-child(n + 2),
	.editor-area h2:nth-child(n + 2),
	.editor-area h3:nth-child(n + 2),
	.editor-area h4:nth-child(n + 2),
	.editor-area h5:nth-child(n + 2),
	.editor-area h6:nth-child(n + 2),
	.editor-area figure:nth-child(n + 2) {
		margin-top: 30px;
	}
}

/* foundation / base */
html {
	font-size: 62.5%;
}

body {
	margin: 0;
	padding: 0;
	background-color: #fff;
	position: relative;
	color: var(--color--black);
	font-family: var(--font--base);
	text-align: justify;
	text-rendering: optimizeLegibility;
	-webkit-font-feature-settings: "palt" 1;
	font-feature-settings: "palt" 1;
	-webkit-font-kerning: normal;
	font-kerning: normal;
	font-weight: 400;
}
body * {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
	word-break: break-all;
}
body a {
	color: inherit;
	cursor: pointer;
	pointer-events: auto;
	position: relative;
	-webkit-transition: opacity 0.25s;
	transition: opacity 0.25s;
	word-break: break-all;
}
body a:hover {
	opacity: 0.6;
}
body img {
	display: block;
	width: 100%;
	pointer-events: none;
}
body p,
body li,
body div,
body dt,
body dd {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.08em;
	word-break: break-all;
}
@media screen and (max-width: 768px) {
	body p,
	body li,
	body div,
	body dt,
	body dd {
		font-size: 1.3rem;
		letter-spacing: 0.08em;
	}
}
@media screen and (min-width: 769px) {
	body .sp {
		display: none;
	}
}
@media screen and (min-width: 1025px) {
	body .tablet {
		display: none;
	}
}
@media screen and (max-width: 1024px) {
	body .pc-hidden-tablet {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	body .pc {
		display: none;
	}
}
body.noScroll {
	overflow-y: hidden;
}

/* layout */
.l-container {
	/* overflow: hidden; */
	position: relative;
}
.l-container--unset {
	overflow: unset;
}

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

.l-main {
	overflow: hidden;
	position: relative;
}

.l-article {
	margin-bottom: var(--spacing--section-end);
}

.l-footer {
	position: relative;
}

.l-section {
	position: relative;
}

/* objet / component */
.c-link-pdf {
	display: inline-block;
	text-decoration: underline;
	margin-left: 10px;
}
.c-link-pdf:after {
	content: "";
	display: inline-block;
	background-image: url(../img/common/icon_move_pdf.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 11px;
	height: 10px;
}

.c-button {
	display: block;
}

.c-button-arrow {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	display: block;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	line-height: 1;
	padding-right: 56px;
}
.c-button-arrow::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 5px);
	right: 0;
	width: 36px;
	height: 5px;
	border: none;
	border-right: 1px solid var(--color--black);
	border-bottom: 1px solid var(--color--black);
	-webkit-transform: skew(45deg);
	transform: skew(45deg);
	-webkit-transition: 0.3s;
	transition: 0.3s;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.c-button-arrow:hover {
	opacity: 1;
}
.c-button-arrow:hover::after {
	right: -10px;
	width: 46px;
}
.c-button-arrow--down {
	padding-right: 32px;
}
.c-button-arrow--down::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 5px);
	right: 0;
	width: 20px;
	height: 5px;
	border: none;
	border-right: 1px solid var(--color--black);
	border-bottom: 1px solid var(--color--black);
	-webkit-transform: skew(45deg);
	transform: skew(45deg);
	-webkit-transition: 0.3s;
	rotate: 90deg;
	-webkit-rotate: 90deg;
	transition: 0.3s;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.c-button-arrow--rev {
	padding-right: 0;
	padding-left: 56px;
}
.c-button-arrow--rev::after {
	right: unset;
	left: 0;
	scale: -1 1;
}
.c-button-arrow--rev:hover::after {
	right: unset;
	left: -10px;
}
.c-button-arrow--job-description {
	width: 358px;
	height: 60px;
	font-size: 1.5rem;
	line-height: 60px;
	letter-spacing: 0.1em;
	padding-inline: 40px 0;
	background-color: #ffffff;
}
.c-button-arrow--job-description::after {
	right: 76px;
}
.c-button-arrow--job-description:hover::after {
	right: 66px;
}
@media screen and (max-width: 768px) {
	.c-button-arrow--job-description {
		width: 100%;
		max-width: 358px;
		padding-inline: 17px 0;
		height: 49px;
		line-height: 49px;
	}
	.c-button-arrow--job-description::after {
		right: 46px;
	}
	.c-button-arrow--job-description:hover::after {
		right: 36px;
	}
}

.c-button--draw-frame {
	display: block;
	width: 358px;
	height: 60px;
	border: solid 1px var(--color--black);
	/* 左上へ配置 */
	/* 左下へ配置 */
	/* 右下へ配置 */
	/* 右上へ配置 */
	/* hover */
	/* 左上へ配置 */
	/* 左下へ配置 */
	/* 右下へ配置 */
	/* 右上へ配置 */
}
.c-button--draw-frame > span {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	width: 100%;
	height: 100%;
}
.c-button--draw-frame:hover {
	opacity: 1;
}
.c-button--draw-frame::after,
.c-button--draw-frame::before,
.c-button--draw-frame > span::after,
.c-button--draw-frame > span::before {
	background-color: var(--color--white);
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	-webkit-transition: all 0.1s ease;
	transition: all 0.1s ease;
}
.c-button--draw-frame > span::before {
	width: 2px;
	height: 0px;
	top: -1px;
	left: -1px;
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s;
}
.c-button--draw-frame::before {
	width: 0px;
	height: 2px;
	left: -1px;
	bottom: -1px;
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s;
}
.c-button--draw-frame > span::after {
	width: 2px;
	height: 0px;
	right: -1px;
	bottom: -1px;
	-webkit-transition-delay: 0.1s;
	transition-delay: 0.1s;
}
.c-button--draw-frame::after {
	width: 0px;
	height: 2px;
	top: -1px;
	right: -1px;
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}
.c-button--draw-frame:hover::after,
.c-button--draw-frame:hover::before {
	width: 100%;
	width: calc(100% + 1px);
}
.c-button--draw-frame:hover > span::after,
.c-button--draw-frame:hover > span::before {
	height: 100%;
	height: calc(100% + 1px);
}
.c-button--draw-frame:hover > span::before {
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}
.c-button--draw-frame:hover::before {
	-webkit-transition-delay: 0.1s;
	transition-delay: 0.1s;
}
.c-button--draw-frame:hover > span::after {
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s;
}
.c-button--draw-frame:hover::after {
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s;
}
@media screen and (max-width: 768px) {
	.c-button--draw-frame {
		width: 100%;
		max-width: 358px;
		height: 49px;
	}
}

.c-button--bg-to-frame {
	position: relative;
	background-color: var(--color--white);
	border: solid 2px rgb(255, 255, 255);
	-webkit-transition:
		border 500ms,
		background-color 500ms;
	transition:
		border 500ms,
		background-color 500ms;
	display: block;
	border-radius: 16px;
}
.c-button--bg-to-frame:hover {
	opacity: 1;
	background-color: #ffffff78;
	border: solid 2px #ff09064f;
}

.c-button-card-download {
	position: relative;
	width: 100%;
	height: 159px;
	background-color: var(--color--white);
	border: solid 4px rgb(255, 255, 255);
	-webkit-transition:
		border 500ms,
		background-color 500ms;
	transition:
		border 500ms,
		background-color 500ms;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	padding-inline: 92px;
}
.c-button-card-download:hover {
	opacity: 1;
	background-color: transparent;
	border: solid 4px var(--color--border-gray);
}
.c-button-card-download::after {
	content: "";
	display: block;
	background-color: #152e47;
	mask-image: url(../img/common/icon_download_18x18.svg);
	mask-size: contain;
	mask-repeat: no-repeat;
	width: 18px;
	height: 18px;
	position: absolute;
	right: 92px;
	top: 50%;
	translate: 0 -50%;
}
.c-button-card-download .c-button-card-download__text-main {
	font-size: 3rem;
	letter-spacing: 0.17em;
	line-height: 1.5;
	display: inline-block;
	margin-inline: 0 30px;
}
.c-button-card-download .c-button-card-download__text-sub {
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	line-height: 1;
	display: inline-block;
	color: #989898;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
	.c-button-card-download {
		padding-inline: 40px;
	}
	.c-button-card-download::after {
		right: 40px;
	}
}
@media screen and (max-width: 768px) {
	.c-button-card-download {
		height: auto;
		padding-inline: 26px;
		padding-block: 35px;
	}
	.c-button-card-download::after {
		right: 27px;
	}
	.c-button-card-download .c-button-card-download__text-main {
		font-size: 2rem;
	}
	.c-button-card-download .c-button-card-download__text-sub {
		font-size: 1.2rem;
		display: block;
		margin-top: 14px;
	}
}

.c-button-simple {
	display: block;
	width: 100%;
	font-size: 2rem;
	height: 40px;
	line-height: 40px;
	text-align: center;
	background-color: #ffffff;
}
@media screen and (max-width: 768px) {
	.c-button-simple {
		font-size: 1.6rem;
	}
}

.c-text {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
	.c-text {
		font-size: 1.3rem;
		letter-spacing: 0.08em;
	}
}
.c-text--sm {
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.67;
	letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
	.c-text--sm {
		font-size: 1.3rem;
		letter-spacing: 0.08em;
	}
}
.c-text--md {
	font-size: 1.6rem;
	letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
	.c-text--md {
		font-size: 1.5rem;
		line-height: 1.625;
		letter-spacing: 0.08em;
	}
}
.c-text--lg {
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0em;
	line-height: 1.75;
}
@media screen and (max-width: 768px) {
	.c-text--lg {
		font-size: 1.8rem;
	}
}

.c-title--priority {
	font-size: 2rem;
	letter-spacing: 0;
	line-height: 1.02;
	font-family: "Inter", sans-serif;
	color: #ff0906;
	margin-top: 2rem;
}
.c-title--secondary {
	font-size: 3rem;
	letter-spacing: 0.08em;
	line-height: 1.7;
}
@media screen and (max-width: 768px) {
	.c-title--secondary {
		font-size: 2rem;
		letter-spacing: 0.08em;
	}
}
.c-title--third {
	font-size: 2.8rem;
	letter-spacing: 0.08em;
	line-height: 1.7;
}
@media screen and (max-width: 768px) {
	.c-title--third {
		font-size: 2rem;
		letter-spacing: 0.08em;
	}
}
.c-title--layer-section {
	font-size: 4rem;
	letter-spacing: 0em;
	line-height: 1.3;
}
@media screen and (max-width: 768px) {
	.c-title--layer-section {
		font-size: 3.1rem;
	}
}
.c-title--sub {
	font-size: 5rem;
	letter-spacing: 0.08em;
	line-height: 1.54;
	margin-top: 10px;
}
@media screen and (max-width: 768px) {
	.c-title--sub {
		font-size: 3rem;
		margin-top: 8px;
		letter-spacing: 0.08em;
	}
}

.c-title-sideline {
	position: relative;
	font-size: 2rem;
	line-height: 1.3;
	padding-left: 20px;
}
.c-title-sideline::before {
	content: "";
	display: block;
	width: 1px;
	height: calc(100% - 4px);
	position: absolute;
	left: 0;
	top: 50%;
	translate: 0 -50%;
	background-color: #fff;
}
@media screen and (max-width: 768px) {
	.c-title-sideline {
		font-size: 1.6rem;
		padding-left: 16px;
	}
	.c-title-sideline::before {
		top: calc(50% - 2px);
	}
}

.c-title-line-yoko {
	width: 100%;
	overflow: hidden;
	font-size: 2.4rem;
}
.c-title-line-yoko span {
	position: relative;
}
.c-title-line-yoko span::before {
	content: "";
	display: block;
	width: 9999px;
	height: 1px;
	background-color: #2f2f2f;
	position: absolute;
	top: calc(100% - 11px);
	left: calc(100% + 20px);
}
@media screen and (max-width: 768px) {
	.c-title-line-yoko {
		font-size: 1.8rem;
	}
	.c-title-line-yoko span::before {
		top: calc(100% - 9px);
	}
}

.c-hr {
	border-top: solid 1px var(--color--white-a50);
	margin-inline: auto;
}

.c-bg {
	position: absolute;
	translate: -50% 0;
	left: 50%;
	top: 0;
	width: var(--width--large);
}

.c-width--small {
	position: relative;
	max-width: var(--width--small);
	margin-inline: auto;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	padding-inline: var(--spacing--page-inline);
}
.c-width--small-nar {
	max-width: var(--width--small-nar);
	padding-inline: var(--spacing--page-inline-nar);
}
.c-width--s-medium {
	position: relative;
	max-width: var(--width--s-medium);
	margin-inline: auto;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	padding-inline: var(--spacing--page-inline);
}
.c-width--s-medium-nar {
	max-width: var(--width--s-medium-nar);
	padding-inline: var(--spacing--page-inline-nar);
}
.c-width--medium {
	position: relative;
	max-width: var(--width--medium);
	margin-inline: auto;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	padding-inline: var(--spacing--page-inline);
}
.c-width--medium-nar {
	max-width: var(--width--medium-nar);
	padding-inline: var(--spacing--page-inline-nar);
}
.c-width--medium {
	position: relative;
	max-width: var(--width--medium);
	margin-inline: auto;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	padding-inline: var(--spacing--page-inline);
}
.c-width--medium-nar {
	max-width: var(--width--medium-nar);
	padding-inline: var(--spacing--page-inline-nar);
}
.c-width--large {
	position: relative;
	max-width: var(--width--large);
	margin-inline: auto;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	padding-inline: var(--spacing--page-inline);
}
.c-width--large-nar {
	max-width: var(--width--large-nar);
	padding-inline: var(--spacing--page-inline-nar);
}
.c-width--inner {
	padding-inline: var(--spacing--page-inline);
}
.c-width--padding-unset {
	width: 100%;
	padding-inline: 0;
}

.c-arrow--right-bottom {
	position: absolute;
	right: 30px;
	bottom: 30px;
	width: 36px;
}

.c-blank {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
.c-blank::after {
	content: "";
	display: block;
	background-image: url(../img/common/icon_blank_white.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 12px;
	height: 12px;
	position: relative;
	top: 1px;
	margin-left: 5px;
}
.c-blank--lg::after {
	width: 16px;
	height: 16px;
	margin-left: 10px;
}
.c-blank--right-bottom {
	position: absolute;
	right: 40px;
	bottom: 30px;
	width: 22px;
}
@media screen and (max-width: 768px) {
	.c-blank--right-bottom {
		right: 26px;
		bottom: 23px;
	}
}

.c-ham {
	position: relative;
	width: 40px;
	cursor: pointer;
	z-index: 3000;
}
.c-ham .c-ham__inner {
	position: relative;
	width: 100%;
	padding-top: 40%;
}
.c-ham .c-ham__line {
	position: absolute;
	left: 0;
	background-color: var(--color--white);
	width: 100%;
	height: 1px;
	-webkit-transition: all 500ms;
	transition: all 500ms;
}
.c-ham .c-ham__line:nth-of-type(1) {
	top: 0;
}
.c-ham .c-ham__line:nth-of-type(2) {
	top: calc(50% - 1px);
}
.c-ham .c-ham__line:nth-of-type(3) {
	bottom: 1px;
}
.c-ham.is-active .c-ham__line:nth-of-type(1) {
	top: 1rem;
	rotate: 45deg;
}
.c-ham.is-active .c-ham__line:nth-of-type(2) {
	opacity: 0;
}
.c-ham.is-active .c-ham__line:nth-of-type(3) {
	bottom: unset;
	top: 1rem;
	rotate: -45deg;
}

.c-gradation02 {
	position: fixed;
	left: 20%;
	top: 0;
	pointer-events: none;
}
.c-gradation02 .c-gradation02__item {
	position: absolute;
	left: 0;
	top: 0;
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
	/* -webkit-animation: rotate-item linear infinite;
	animation: rotate-item linear infinite; */
}
.c-gradation02 .c-gradation02__item--01 {
	-webkit-animation-duration: 15s;
	animation-duration: 15s;
}
.c-gradation02 .c-gradation02__item--02 {
	left: 45%;
	-webkit-animation-duration: 50s;
	animation-duration: 50s;
	animation-direction: reverse;
}
.c-gradation02 .c-gradation02__round {
	position: relative;
	background: var(--gradient--blurry-radial);
	/* -webkit-animation: puyopuyo 10s infinite linear;
	animation: puyopuyo 10s infinite linear; */
	border-radius: 65% 35% 57% 43%/57% 45% 55% 43%;
	opacity: 0.8;
}
.c-gradation02 .c-gradation02__round--01 {
	top: 0%;
	width: 80vw;
	height: 80vh;
	-webkit-filter: blur(50px);
	filter: blur(50px);
	will-change: filter;
	/* -webkit-animation-duration: 10s;
	animation-duration: 10s; */
}
.c-gradation02 .c-gradation02__round--02 {
	top: -20%;
	width: 70vw;
	height: 70vh;
	background: var(--gradient--blurry-radial);
	-webkit-filter: blur(80px);
	filter: blur(80px);
	will-change: filter;
	/* -webkit-animation-duration: 8s;
	animation-duration: 8s; */
}

.c-filter-blur {
	background-color: rgba(255, 255, 255, 0.94);
	border-radius: var(--radius--normal);
	position: absolute;
	width: calc(100% - var(--spacing--page-inline) * 2);
	height: 100%;
	translate: -50% 0;
	left: 50%;
	top: 0;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transform: translateZ(0);
	will-change: backdrop-filter;
}
.c-filter-blur--low {
	background-color: rgba(255, 255, 255, 0.8);
	transform: translateZ(0);
	backdrop-filter: unset;
	-webkit-backdrop-filter: unset;
}
.c-filter-blur--low::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border-radius: var(--radius--normal);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transform: translateZ(0);
}
.c-filter-blur--full-size {
	width: 100%;
}

.c-anchor-link {
	position: relative;
	top: -100px;
}

.c-anchor-link--mission {
	top: -200px;
}
.c-anchor-link--vision {
	top: -100px;
}

@media screen and (max-width: 1024px) {
	.c-anchor-link {
		top: -50px;
	}
	.c-anchor-link--mission {
		top: -100px;
	}
}

.c-gradientCanvas {
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	pointer-events: none;
	overflow: hidden;
}

.c-loop-card {
	display: grid;
	grid-template-columns: repeat(auto-fit, 260px);
	justify-content: center;
	gap: 20px 16px;
}
.c-loop-card .c-loop-card__item {
	width: 260px;
}
.c-loop-card .c-loop-card__image {
	width: 100%;
	height: 312px;
}
.c-loop-card .c-loop-card__image img {
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: 50% 50%;
	object-position: 50% 50%;
}
.c-loop-card .c-loop-card__position {
	font-size: 1.2rem;
	line-height: 1.5;
	margin-top: 16px;
}
.c-loop-card .c-loop-card__name {
	font-size: 1.8rem;
	line-height: 2;
	position: relative;
}
.c-loop-card .c-loop-card__name::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 3px);
	right: 66px;
	width: 36px;
	height: 5px;
	border: none;
	border-right: 1px solid var(--color--black);
	border-bottom: 1px solid var(--color--black);
	-webkit-transform: skew(45deg);
	transform: skew(45deg);
	-webkit-transition: 0.3s;
	transition: 0.3s;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.c-loop-card__item a:hover .c-loop-card__name::after {
	right: 56px;
	width: 46px;
}
@media screen and (max-width: 768px) {
	.c-loop-card {
		gap: 12px;
		grid-template-columns: repeat(auto-fit, 160px);
	}
	.c-loop-card .c-loop-card__item {
		width: 160px;
	}
	.c-loop-card .c-loop-card__item a {
		display: block;
		width: 100%;
	}
	.c-loop-card .c-loop-card__image {
		height: 195px;
	}
	.c-loop-card .c-loop-card__name {
		font-size: 1.6rem;
	}
	.c-loop-card .c-loop-card__name::after {
		right: 8px;
	}
	.c-loop-card__item a:hover .c-loop-card__name::after {
		right: 0px;
		width: 46px;
	}
}

.c-section-buttons {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 40px;
}
.c-section-buttons .c-button--bg-to-frame {
	width: 100%;
	height: 159px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	padding-block: 53px 0;
	padding-inline: 50px 0;
}
.c-section-buttons .c-arrow--right-bottom {
	right: 50px;
	bottom: 40px;
}
.c-section-buttons .recruit__btn-inner {
	position: static;
}
.c-section-buttons .recruit__btn--center {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-left: 0;
}
@media screen and (min-width: 1208px) {
	.c-section-buttons .c-button--bg-to-frame {
		max-width: 536px;
	}
}
@media screen and (max-width: 768px) {
	.c-section-buttons {
		margin-top: 20px;
	}
	.c-section-buttons .c-button--bg-to-frame {
		-webkit-box-align: unset;
		-webkit-align-items: unset;
		-ms-flex-align: unset;
		align-items: unset;
		padding-block: 40px 0;
		padding-inline: 30px 0;
	}
	.c-section-buttons .recruit__btn--center {
		-webkit-box-pack: start;
		-webkit-justify-content: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
}

.c-btn {
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	position: relative;
	z-index: 0;
	overflow: hidden;
	border-radius: 100vh;
	min-width: 300px;
	color: #ffffff;
	background-image: url("./../img/front-page/color-base.jpg");
	background-repeat: no-repeat;
	background-size: 150%;
	background-position: 30% 50%;
	z-index: 0;
	font-weight: 500;
	font-size: 1.8rem;
}
.c-btn::before,
.c-btn::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 40px;
	-webkit-transform: translate(50%, -50%);
	transform: translate(50%, -50%);
	background-color: #ffffff;
	border-radius: 50%;
	aspect-ratio: 1/1;
	width: 1em;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
@media screen and (min-width: 960px) {
	.c-btn:hover {
		opacity: 1;
		color: #ff0906;
	}
	.c-btn:hover::before {
		width: 210%;
	}
	.c-btn:hover::after {
		background-color: #ff0906;
	}

	.c-btn:hover .c-btn__inner {
		border-color: #ff0906;
	}
}
.c-btn__inner {
	padding: 20px 75px 16px 25px;
	display: block;
	border: 1px transparent solid;
	border-radius: inherit;
	position: relative;
}
@media screen and (min-width: 960px) {
	.c-btn__inner {
	}
}

.recruit__btn-inner picture {
	transform: scale(0.5);
	transform-origin: left top;
	display: block;
}

/* objet / project */
/* objet / utility */
.u-margin-top---120 {
	margin-top: -120px;
}
.u-margin-top--0 {
	margin-top: 0;
}
.u-margin-top--10 {
	margin-top: 10px;
}
.u-margin-top--16 {
	margin-top: 16px;
}
.u-margin-top--20 {
	margin-top: 20px;
}
.u-margin-top--30 {
	margin-top: 30px;
}
.u-margin-top--40 {
	margin-top: 40px;
}
.u-margin-top--50 {
	margin-top: 50px;
}
.u-margin-top--60 {
	margin-top: 60px;
}
.u-margin-top--70 {
	margin-top: 70px;
}
.u-margin-top--80 {
	margin-top: 80px;
}
.u-margin-top--90 {
	margin-top: 90px;
}
.u-margin-top--100 {
	margin-top: 100px;
}
.u-margin-top--110 {
	margin-top: 110px;
}
.u-margin-top--120 {
	margin-top: 120px;
}
.u-margin-top--130 {
	margin-top: 130px;
}
.u-margin-top--140 {
	margin-top: 140px;
}
.u-margin-top--150 {
	margin-top: 150px;
}
.u-margin-top--160 {
	margin-top: 160px;
}
.u-margin-top--175 {
	margin-top: 175px;
}
.u-margin-top--200 {
	margin-top: 200px;
}
@media screen and (max-width: 768px) {
	.u-margin-top--sp---85 {
		margin-top: -85px;
	}
	.u-margin-top--sp--0 {
		margin-top: 0;
	}
	.u-margin-top--sp--10 {
		margin-top: 10px;
	}
	.u-margin-top--sp--15 {
		margin-top: 15px;
	}
	.u-margin-top--sp--20 {
		margin-top: 20px;
	}
	.u-margin-top--sp--30 {
		margin-top: 30px;
	}
	.u-margin-top--sp--40 {
		margin-top: 40px;
	}
	.u-margin-top--sp--50 {
		margin-top: 50px;
	}
	.u-margin-top--sp--60 {
		margin-top: 60px;
	}
	.u-margin-top--sp--70 {
		margin-top: 70px;
	}
	.u-margin-top--sp--80 {
		margin-top: 80px;
	}
	.u-margin-top--sp--100 {
		margin-top: 100px;
	}
	.u-margin-top--sp--120 {
		margin-top: 120px;
	}
	.u-margin-top--sp--140 {
		margin-top: 140px;
	}
	.u-margin-top--sp--150 {
		margin-top: 150px;
	}
	.u-margin-top--sp--160 {
		margin-top: 160px;
	}
	.u-margin-top--sp--170 {
		margin-top: 170px;
	}
}

.u-margin-right--10 {
	margin-right: 10px;
}
.u-margin-right--20 {
	margin-right: 20px;
}
.u-margin-right--30 {
	margin-right: 30px;
}
.u-margin-right--40 {
	margin-right: 40px;
}
.u-margin-right--50 {
	margin-right: 50px;
}
.u-margin-right--60 {
	margin-right: 60px;
}

.u-margin-bottom--10 {
	margin-bottom: 10px;
}
.u-margin-bottom--20 {
	margin-bottom: 20px;
}
.u-margin-bottom--30 {
	margin-bottom: 30px;
}
.u-margin-bottom--40 {
	margin-bottom: 40px;
}
.u-margin-bottom--50 {
	margin-bottom: 50px;
}
.u-margin-bottom--60 {
	margin-bottom: 60px;
}

.u-margin-inline--auto {
	margin-inline: auto;
}

.u-padding-top--10 {
	padding-top: 10px;
}

.u-width--auto {
	width: auto;
	max-width: 100%;
}
.u-width--fit {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.u-position--right {
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto 0;
}
.u-position--relative {
	position: relative;
}

.u-display--block {
	display: block;
}
.u-display--inline-block {
	display: inline-block;
}
.u-display--flex {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
.u-display--none {
	display: none;
}

.u-underline {
	text-decoration: underline;
}

.u-color--white {
	color: #fff;
}
.u-color--gold {
	color: var(--gld);
}
.u-color--989898 {
	/* color: #989898; */
}
.u-color--DEDEDE {
	/* color: #dedede; */
}

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

.u-text-decoration--underline {
	text-decoration: underline;
}
@media screen and (min-width: 769px) {
	.u-text-decoration--pc--underline {
		text-decoration: underline;
	}
}
@media screen and (max-width: 768px) {
	.u-text-decoration--sp--underline {
		text-decoration: underline;
	}
}

.u-line-height--1 {
	line-height: 1;
}
.u-line-height--175 {
	line-height: 1.75;
}
.u-line-height--200 {
	line-height: 2;
}

.u-font-weight--300 {
	font-weight: 300;
}
.u-font-weight--400 {
	font-weight: 400;
}
.u-font-weight--500 {
	font-weight: 500;
}

.u-font-size--12 {
	font-size: 1.2rem;
}
.u-font-size--15 {
	font-size: 1.5rem;
}
.u-font-size--18 {
	font-size: 1.8rem;
}
.u-font-size--20 {
	font-size: 2rem;
}
.u-font-size--27 {
	font-size: 2.7rem;
}
.u-font-size--30 {
	font-size: 3rem;
}
.u-font-size--52 {
	font-size: 5.2rem;
}
@media screen and (max-width: 768px) {
	.u-font-size--sp--14 {
		font-size: 1.4rem;
	}
	.u-font-size--sp--15 {
		font-size: 1.5rem;
	}
	.u-font-size--sp--16 {
		font-size: 1.6rem;
	}
}

.u-letter-spacing--0 {
	letter-spacing: 0em;
}
.u-letter-spacing--30 {
	letter-spacing: 0.03em;
}
.u-letter-spacing--50 {
	letter-spacing: 0.05em;
}
.u-letter-spacing--100 {
	letter-spacing: 0.1em;
}
.u-letter-spacing--200 {
	letter-spacing: 0.2em;
}

.u-shadow--natural {
	-webkit-box-shadow: var(--shadow--natural);
	box-shadow: var(--shadow--natural);
}

.u-radius--10 {
	border-radius: 10px;
}

@media screen and (max-width: 1024px) {
	.u-hidden--tab {
		display: none;
	}
}

.u-bg--black {
	background-color: #000;
}
