@charset 'UTF-8';
/* =====================================================
* Base
* ================================================== */

/* -----------------------------------------------------
 * font
 * -------------------------------------------------- */

@import url(//fonts.googleapis.com/css?family=Roboto:400,700,900);
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */

html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-family: sans-serif;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	margin: 0.67em 0;
	font-size: 2em;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

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

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	margin: 0;
	color: inherit;
	font: inherit;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
	cursor: pointer;
	-webkit-appearance: button;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	padding: 0;
	border: 0;
}

input {
	line-height: normal;
}

input[type=checkbox],
input[type=radio] {
	box-sizing: border-box;
	padding: 0;
}

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

input[type=search] {
	box-sizing: content-box;
	-webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
	border: 1px solid #c0c0c0;
}

legend {
	padding: 0;
	border: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

@font-face {
	font-family: 'NotoSansCJKjp-Jxck';
  font-weight: 400;
  font-style: normal;
  src: local('NotoSansCJKjp-Regular.otf'), local('NotoSansJP-Regular.otf'), url('/font/NotoSansCJKjp-Jxck-Regular.woff') format('woff');
}

@font-face {
	font-family: 'NotoSansCJKjp-Jxck';
  font-weight: 700;
  font-style: normal;
  src: local('NotoSansCJKjp-Bold.otf'), local('NotoSansJP-Bold.otf'), url('/font/NotoSansCJKjp-Jxck-Bold.woff') format('woff');
}

/* -----------------------------------------------------
 * Init
 * -------------------------------------------------- */

*,
*:before,
*:after {
	box-sizing: border-box;
}

/* normalize overwrite */

html {
	position: relative;
	min-height: 100%;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 62.5%;
}

body {
	display: flex;
	position: relative;
	flex-direction: column;
	height: 100%;
	margin: 0;
	padding: 0;
	background: #dce5e5;
	color: #000;
	font-size: 1.6rem;
	line-height: 1.8;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
}

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

dl {
	margin: 0;
}

dl dd {
	margin: 0;
}

figure {
	margin: 0;
}

a {
	color: #000;
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

input,
button {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none transparent;
	background-clip: padding-box;
	color: inherit;
	font-size: inherit;
	vertical-align: middle;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
}

input::-ms-clear,
button::-ms-clear {
	display: none;
}

input::-ms-reveal,
button::-ms-reveal {
	display: none;
}

input::-ms-expand,
button::-ms-expand {
	display: none;
}

em {
	font-weight: 700;
	font-style: normal;
}

.material-symbols-rounded {
	font-size: 1.6rem;
}

/* =====================================================
* State
* ================================================== */

/* =====================================================
 * Module
 * ================================================== */

/* -----------------------------------------------------
 * Display
 * -------------------------------------------------- */

.u-show-br-sp {
	display: none;
}

.u-show-br-pc {
	display: none;
}

/* -----------------------------------------------------
 * Text
 * -------------------------------------------------- */

/* font-family
---------------------------------------- */

.u-font-en {
	font-family: 'Albert Sans', sans-serif !important;
}

.u-font-num {
	font-family: 'Albert Sans', sans-serif !important;
}

.u-font-ja {
	font-family: 'Noto Sans JP', sans-serif !important;
}

/* text-align
---------------------------------------- */

.u-al-left {
	text-align: left !important;
}

.u-al-center {
	text-align: center !important;
}

.u-al-center.sp-left {
	text-align: left !important;
}

.u-al-right {
	text-align: right !important;
}

/* letter spacing
---------------------------------------- */

/* writing-mode
---------------------------------------- */

.u-wm-rl {
	-ms-writing-mode: tb-rl !important;
	-webkit-writing-mode: vertical-rl !important;
	writing-mode: vertical-rl !important;
}

/* color
---------------------------------------- */

.u-cl-black {
	color: #000 !important;
}

.u-cl-black a {
	color: #000 !important;
}

/* font-weight
---------------------------------------- */

.u-fw-regular {
	font-weight: 400 !important;
}

.u-fw-medium {
	font-weight: 500 !important;
}

.u-fw-semib {
	font-weight: 600 !important;
}

.u-fw-bold {
	font-weight: 700 !important;
}

/* -----------------------------------------------------
 * component button arrow
 * -------------------------------------------------- */

.c-btn-arrow {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4.8rem;
	height: 2.4rem;
	border-radius: 0.6rem;
	background-color: #f4f7f7;
	color: #000;
	transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.c-btn-arrow.border {
	border: 1px solid #000;
	background-color: transparent;
}

.c-btn-arrow-line {
	position: relative;
	overflow: hidden;
	padding-left: 1.6rem;
}

.c-btn-arrow-line::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.3);
	transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.c-btn-arrow-line.left {
	padding-right: 1.6rem;
	padding-left: 0;
}

.c-btn-arrow-line.left::before {
	right: 0;
	left: auto;
}

.c-btn-arrow-icon {
	display: flex;
	overflow: hidden;
}

.c-btn-arrow-icon-down {
	display: flex;
	overflow: hidden;
}

.c-btn-arrow-icon-reverse {
	display: flex;
	overflow: hidden;
}

.c-btn-arrow-diagonal-icon {
	display: flex;
	overflow: hidden;
}

@-webkit-keyframes forward {
	0% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}

	30% {
		-webkit-transform: translate(110%, 0);
		transform: translate(110%, 0);
	}

	30.1% {
		-webkit-transform: translate(-110%, 0);
		transform: translate(-110%, 0);
	}

	100% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}
}

@keyframes forward {
	0% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}

	30% {
		-webkit-transform: translate(110%, 0);
		transform: translate(110%, 0);
	}

	30.1% {
		-webkit-transform: translate(-110%, 0);
		transform: translate(-110%, 0);
	}

	100% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}
}

@-webkit-keyframes forward-reverse {
	0% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}

	30% {
		-webkit-transform: translate(-110%, 0);
		transform: translate(-110%, 0);
	}

	30.1% {
		-webkit-transform: translate(110%, 0);
		transform: translate(110%, 0);
	}

	100% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}
}

@keyframes forward-reverse {
	0% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}

	30% {
		-webkit-transform: translate(-110%, 0);
		transform: translate(-110%, 0);
	}

	30.1% {
		-webkit-transform: translate(110%, 0);
		transform: translate(110%, 0);
	}

	100% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}
}

@-webkit-keyframes forward-diagonal {
	0% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}

	30% {
		-webkit-transform: translate(110%, -110%);
		transform: translate(110%, -110%);
	}

	30.1% {
		-webkit-transform: translate(-110%, 110%);
		transform: translate(-110%, 110%);
	}

	100% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}
}

@keyframes forward-diagonal {
	0% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}

	30% {
		-webkit-transform: translate(110%, -110%);
		transform: translate(110%, -110%);
	}

	30.1% {
		-webkit-transform: translate(-110%, 110%);
		transform: translate(-110%, 110%);
	}

	100% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}
}

@-webkit-keyframes forward-down {
	0% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}

	30% {
		-webkit-transform: translate(0%, 110%);
		transform: translate(0%, 110%);
	}

	30.1% {
		-webkit-transform: translate(0%, -110%);
		transform: translate(0%, -110%);
	}

	100% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}
}

@keyframes forward-down {
	0% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}

	30% {
		-webkit-transform: translate(0%, 110%);
		transform: translate(0%, 110%);
	}

	30.1% {
		-webkit-transform: translate(0%, -110%);
		transform: translate(0%, -110%);
	}

	100% {
		-webkit-transform: translate(0%, 0%);
		transform: translate(0%, 0%);
	}
}

/* -----------------------------------------------------
 * component button
 * -------------------------------------------------- */

.c-btn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 24rem;
	height: 4.8rem;
	padding: 1.4rem 1.6rem 1.4rem 2rem;
	border-radius: 0.6rem;
	background-color: #f4f7f7;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.2;
	transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	gap: 3.2rem;
}

.c-btn.reverse {
	flex-direction: row-reverse;
	justify-content: flex-end;
	background-color: #000;
	color: #fff;
}

.c-btn.reverse .c-btn-arrow-line::before {
	background-color: rgba(255, 255, 255, 0.3);
}

/* -----------------------------------------------------
 * component category
 * -------------------------------------------------- */

.c-category {
	font-family: 'Albert Sans', sans-serif;
	font-size: 1.3rem;
	line-height: 1.6;
	grid-area: category;
}

/* -----------------------------------------------------
 * component date time
 * -------------------------------------------------- */

.c-date {
	display: inline-block;
	font-family: 'Albert Sans', sans-serif;
	line-height: 1.5;
	grid-area: date;
}

/* -----------------------------------------------------
 * component head column
 * -------------------------------------------------- */

.c-head-col {
	margin-bottom: 3.2rem;
}

.c-head-col .c-title + p {
	margin: 0;
	font-size: 1.3rem;
}

/* -----------------------------------------------------
 * component icon
 * -------------------------------------------------- */

.c-icon {
	display: inline-block;
	transition: background 0.3s ease;
}

.c-icon::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: no-repeat 50% 50%/contain;
	transition: background 0.3s ease;
}

.c-icon.instagram {
	width: 2.4rem;
	height: 2.4rem;
}

.c-icon.instagram.cl-black::before {
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\' fill=\'none\'%3E%3Cmask id=\'a\' width=\'18\' height=\'18\' x=\'3\' y=\'3\' maskUnits=\'userSpaceOnUse\' style=\'mask-type:luminance\'%3E%3Cpath fill=\'%23fff\' d=\'M4.543 15.876V8.123a3.584 3.584 0 0 1 3.58-3.58h7.754a3.584 3.584 0 0 1 3.58 3.58v7.753a3.584 3.584 0 0 1-3.58 3.58H8.123a3.584 3.584 0 0 1-3.58-3.58ZM8.123 3A5.129 5.129 0 0 0 3 8.123v7.753a5.129 5.129 0 0 0 5.123 5.123h7.754A5.13 5.13 0 0 0 21 15.876V8.123A5.129 5.129 0 0 0 15.877 3H8.123Z\'/%3E%3C/mask%3E%3Cg mask=\'url(%23a)\'%3E%3Cpath fill=\'%23000\' d=\'M10.057-5.79-5.787 13.942l19.73 15.845 15.845-19.73L10.058-5.79Z\'/%3E%3C/g%3E%3Cmask id=\'b\' width=\'12\' height=\'12\' x=\'6\' y=\'6\' maskUnits=\'userSpaceOnUse\' style=\'mask-type:luminance\'%3E%3Cpath fill=\'%23fff\' d=\'M8.64 12.004a3.361 3.361 0 1 1 6.722 0 3.361 3.361 0 0 1-6.723 0Zm-1.693 0a5.053 5.053 0 1 0 5.054-5.053 5.059 5.059 0 0 0-5.054 5.053Z\'/%3E%3C/mask%3E%3Cg mask=\'url(%23b)\'%3E%3Cpath fill=\'%23000\' d=\'m10.907 2.013-8.893 11.08 11.08 8.894 8.894-11.081-11.081-8.893Z\'/%3E%3C/g%3E%3Cmask id=\'c\' width=\'3\' height=\'4\' x=\'15\' y=\'5\' maskUnits=\'userSpaceOnUse\' style=\'mask-type:luminance\'%3E%3Cpath fill=\'%23fff\' d=\'M15.527 7.19a1.214 1.214 0 1 0 2.429 0 1.214 1.214 0 0 0-2.429 0Z\'/%3E%3C/mask%3E%3Cg mask=\'url(%23c)\'%3E%3Cpath fill=\'%23000\' d=\'m16.48 4.792-2.138 2.663 2.663 2.137 2.137-2.663-2.663-2.137Z\'/%3E%3C/g%3E%3C/svg%3E');
}

.c-icon.instagram.cl-white::before {
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\' fill=\'none\'%3E%3Cmask id=\'a\' width=\'18\' height=\'18\' x=\'3\' y=\'3\' maskUnits=\'userSpaceOnUse\' style=\'mask-type:luminance\'%3E%3Cpath fill=\'%23fff\' d=\'M4.543 15.876V8.123a3.584 3.584 0 0 1 3.58-3.58h7.754a3.584 3.584 0 0 1 3.58 3.58v7.753a3.584 3.584 0 0 1-3.58 3.58H8.123a3.584 3.584 0 0 1-3.58-3.58ZM8.123 3A5.129 5.129 0 0 0 3 8.123v7.753a5.129 5.129 0 0 0 5.123 5.123h7.754A5.13 5.13 0 0 0 21 15.876V8.123A5.129 5.129 0 0 0 15.877 3H8.123Z\'/%3E%3C/mask%3E%3Cg mask=\'url(%23a)\'%3E%3Cpath fill=\'%23fff\' d=\'M10.057-5.79-5.787 13.942l19.73 15.845 15.845-19.73L10.058-5.79Z\'/%3E%3C/g%3E%3Cmask id=\'b\' width=\'12\' height=\'12\' x=\'6\' y=\'6\' maskUnits=\'userSpaceOnUse\' style=\'mask-type:luminance\'%3E%3Cpath fill=\'%23fff\' d=\'M8.64 12.004a3.361 3.361 0 1 1 6.722 0 3.361 3.361 0 0 1-6.723 0Zm-1.693 0a5.053 5.053 0 1 0 5.054-5.053 5.059 5.059 0 0 0-5.054 5.053Z\'/%3E%3C/mask%3E%3Cg mask=\'url(%23b)\'%3E%3Cpath fill=\'%23fff\' d=\'m10.907 2.013-8.893 11.08 11.08 8.894 8.894-11.081-11.081-8.893Z\'/%3E%3C/g%3E%3Cmask id=\'c\' width=\'3\' height=\'4\' x=\'15\' y=\'5\' maskUnits=\'userSpaceOnUse\' style=\'mask-type:luminance\'%3E%3Cpath fill=\'%23fff\' d=\'M15.527 7.19a1.214 1.214 0 1 0 2.429 0 1.214 1.214 0 0 0-2.429 0Z\'/%3E%3C/mask%3E%3Cg mask=\'url(%23c)\'%3E%3Cpath fill=\'%23fff\' d=\'m16.48 4.792-2.138 2.663 2.663 2.137 2.137-2.663-2.663-2.137Z\'/%3E%3C/g%3E%3C/svg%3E');
}

.c-icon.line {
	width: 2.4rem;
	height: 2.4rem;
}

.c-icon.line::before {
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\' fill=\'none\'%3E%3Cpath fill=\'%2306C755\' d=\'M17.491 2H6.51A4.509 4.509 0 0 0 2 6.509V17.49A4.509 4.509 0 0 0 6.509 22H17.49A4.509 4.509 0 0 0 22 17.491V6.51A4.509 4.509 0 0 0 17.491 2Z\'/%3E%3Cpath fill=\'%23F4F7F7\' d=\'M18.666 11.058c0-2.984-2.991-5.412-6.668-5.412-3.676 0-6.668 2.428-6.668 5.412 0 2.675 2.372 4.915 5.577 5.338.217.047.512.143.587.33.067.168.044.432.022.602l-.095.57c-.03.17-.134.66.577.36.712-.3 3.84-2.26 5.24-3.871h-.001c.966-1.06 1.43-2.135 1.43-3.33Z\'/%3E%3Cpath fill=\'%2306C755\' d=\'M16.448 12.78h-1.873a.127.127 0 0 1-.128-.127v-2.91c0-.07.057-.128.128-.128h1.873c.07 0 .127.058.127.128v.472c0 .07-.057.128-.127.128h-1.273v.49h1.273c.07 0 .127.058.127.128v.473c0 .07-.057.127-.127.127h-1.273v.491h1.273c.07 0 .127.058.127.128v.473c0 .07-.057.127-.127.127ZM9.518 12.78c.07 0 .128-.057.128-.127v-.473a.128.128 0 0 0-.128-.128H8.245v-2.31a.128.128 0 0 0-.127-.127h-.473a.127.127 0 0 0-.127.128v2.91c0 .07.057.127.127.127h1.873ZM10.645 9.615h-.473a.127.127 0 0 0-.127.128v2.91c0 .07.057.127.127.127h.473c.07 0 .127-.057.127-.127v-2.91a.127.127 0 0 0-.127-.128ZM13.866 9.615h-.473a.127.127 0 0 0-.127.128v1.728l-1.332-1.798a.124.124 0 0 0-.01-.013v-.001a.14.14 0 0 0-.009-.008l-.002-.002a.115.115 0 0 0-.007-.006l-.003-.003a.108.108 0 0 0-.007-.004l-.004-.003a.119.119 0 0 0-.018-.009l-.005-.001a.145.145 0 0 0-.007-.003h-.005a.134.134 0 0 0-.007-.003h-.006a.103.103 0 0 0-.013-.002h-.475a.127.127 0 0 0-.127.128v2.91c0 .07.057.127.127.127h.473c.07 0 .127-.057.127-.127v-1.728l1.333 1.8c.01.013.02.024.033.032l.002.001a.13.13 0 0 0 .008.005l.003.002a.114.114 0 0 0 .013.006l.004.001.008.003h.002c.01.003.022.005.034.005h.47c.07 0 .127-.057.127-.127v-2.91a.127.127 0 0 0-.127-.128Z\'/%3E%3C/svg%3E');
}

.c-icon.facebook {
	width: 2.4rem;
	height: 2.4rem;
}

.c-icon.facebook::before {
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\' fill=\'none\'%3E%3Cpath fill=\'%230866FF\' d=\'M12 2c5.523 0 10 4.477 10 10 0 5.113-3.837 9.328-8.788 9.927v-6.871h2.705l.56-3.056v-.001h-3.265v-1.08c0-1.615.633-2.235 2.272-2.235.51 0 .92.012 1.156.037V5.949a7.265 7.265 0 0 0-.938-.159l-.132-.016a10.916 10.916 0 0 0-1.104-.073c-3.342 0-4.882 1.578-4.882 4.982v1.316H7.521v3.056H9.584v6.65C5.229 20.625 2 16.69 2 12 2 6.477 6.477 2 12 2Z\'/%3E%3C/svg%3E');
}

.c-icon.facebook.cl-white::before {
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'24\' height=\'24\' fill=\'none\'%3E%3Cpath fill=\'%23fff\' d=\'M12 2c5.523 0 10 4.477 10 10 0 5.113-3.837 9.328-8.788 9.927v-6.871h2.705l.56-3.056v-.001h-3.265v-1.08c0-1.615.633-2.235 2.272-2.235.51 0 .92.012 1.156.037V5.949a7.265 7.265 0 0 0-.938-.159l-.132-.016a10.916 10.916 0 0 0-1.104-.073c-3.342 0-4.882 1.578-4.882 4.982v1.316H7.521v3.056H9.584v6.65C5.229 20.625 2 16.69 2 12 2 6.477 6.477 2 12 2Z\'/%3E%3C/svg%3E');
}

/* -----------------------------------------------------
 * component link animation
 * -------------------------------------------------- */

.c-link-anim {
	display: inline;
	padding-bottom: 0.2rem;
	background: linear-gradient(#fff, #fff) 100% 100%/0 1px no-repeat;
	transition: background-size 1s cubic-bezier(0.16, 1, 0.3, 1) 0s;
	will-change: background-size;
}

.c-link-anim.cl-green {
	background: linear-gradient(#00a616, #00a616) 100% 100%/0 1px no-repeat;
}

/* -----------------------------------------------------
 * component title
 * -------------------------------------------------- */

.c-title {
	margin-bottom: 4rem;
}

.c-title > * + * {
	margin-top: 0.8rem !important;
}

.c-title .en {
	margin: 0;
	font-family: 'Albert Sans', sans-serif;
	font-size: 4.8rem;
	font-weight: 600;
	line-height: 1.1;
	text-transform: uppercase;
}

.c-title .en.sz-small {
	font-size: 1.6rem;
}

.c-title .jp {
	margin: 0;
	font-size: 3.6rem;
	font-weight: 600;
	line-height: 1.2;
}

.c-title .jp.sz-small {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
}

.c-title .jp.type-s {
	font-size: 2.8rem;
}

.c-title .circle {
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.c-title .circle::before {
	content: '';
	display: block;
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background-color: #000;
	-webkit-transform: translateY(0.1rem);
	transform: translateY(0.1rem);
}

.c-title.cl-orange .circle::before {
	background-color: #ff6200;
}

.c-title.cl-purple .circle::before {
	background-color: #7626ff;
}

.c-title.cl-blue .circle::before {
	background-color: #26b7ff;
}

.c-title.cl-green .circle::before {
	background-color: #00a616;
}

/* -----------------------------------------------------
 * parts bg noise
 * -------------------------------------------------- */

.p-bg-noise {
	position: fixed;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: url('../img/common/fig_bg.webp') repeat top left/1440px 2880px;
	opacity: 0.25;
	pointer-events: none;
}

/* -----------------------------------------------------
 * parts career plan
 * -------------------------------------------------- */

.p-career-plan .education {
	padding: 4rem 3.2rem;
	border-radius: 3.2rem;
	background-color: #f4f7f7;
}

.p-career-plan .education h3 {
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.2;
}

.p-career-plan .education ul {
	display: grid;
	margin: 4rem 0 0;
	grid-template-columns: 1fr;
	gap: 4rem;
}

.p-career-plan .education ul li {
	display: flex;
	flex-direction: column-reverse;
	gap: 1.6rem;
}

.p-career-plan .education ul li h4 {
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.5;
}

.p-career-plan .education ul li figure img {
	width: 100%;
	border-radius: 1.6rem;
}

/* -----------------------------------------------------
 * parts detail
 * -------------------------------------------------- */

.p-detail {
	position: relative;
	margin: 8rem 0 0;
	padding: 8rem 3.2rem;
	border-radius: 3.2rem;
	background-color: #d3dcdc;
}

.p-detail .label {
	position: absolute;
	top: 2.4rem;
	right: 2.4rem;
	color: rgba(0, 0, 0, 0.08);
	font-family: 'Albert Sans', sans-serif;
	font-size: 3.2rem;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
}

.p-detail .wrap header {
	padding: 0 0 4.8rem;
	border-bottom: 1px solid #000;
}

.p-detail .wrap header .c-category {
	font-size: 1.6rem;
}

.p-detail .wrap header .c-date {
	display: block;
}

.p-detail .wrap header h1 {
	margin: 0.8rem 0 0;
	font-size: 3.6rem;
	font-weight: 600;
	line-height: 1.5;
}

.p-detail .body {
	margin: 4.8em 0 0;
}

.p-detail .body p,
.p-detail .body figure {
	margin: 4rem 0 0;
}

.p-detail-footer {
	margin: 4.8rem 0 0;
}

.p-detail-footer .c-btn {
	margin: 0 auto;
}

/* -----------------------------------------------------
 * parts entry modal
 * -------------------------------------------------- */

.p-entry-modal {
	display: flex;
	visibility: hidden;
	position: fixed;
	z-index: 200;
	justify-content: center;
	align-items: center;
	padding: 2rem;
	opacity: 0;
	transition: visibility 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	pointer-events: none;
	inset: 0;
}

.p-entry-modal[aria-hidden=false] {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.p-entry-modal-overlay {
	cursor: pointer;
	position: absolute;
	z-index: 1;
	background-color: rgba(0, 0, 0, 0.8);
	inset: 0;
}

.p-entry-modal-inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 39.6rem;
	padding: 5.6rem 3.2rem;
	border-radius: 3.2rem;
	background-color: #dce5e5;
}

.p-entry-modal .close {
	cursor: pointer;
	display: flex;
	position: fixed;
	z-index: 3;
	top: 2rem;
	right: 2rem;
	justify-content: center;
	align-items: center;
	width: 4rem;
	height: 4rem;
	padding: 0;
	border: none;
	border: 1px solid #fff;
	border-radius: 0.6rem;
	color: #fff;
	transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.p-entry-modal .title {
	margin-bottom: 4rem;
	text-align: center;
}

.p-entry-modal .title .en {
	display: block;
	font-family: 'Albert Sans', sans-serif;
	font-size: 3.2rem;
	font-weight: 600;
	line-height: 1;
}

.p-entry-modal .title .jp {
	display: block;
	margin-top: 0.8rem;
	font-weight: 500;
	line-height: 1;
}

.p-entry-modal .buttons {
	display: grid;
	gap: 1.6rem;
}

.p-entry-modal .btn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.6rem 2rem;
	border-radius: 0.6rem;
	color: #fff;
	font-weight: 600;
	line-height: 1.3;
	transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.p-entry-modal .btn .c-btn-arrow-line::before {
	background-color: rgba(255, 255, 255, 0.3);
}

.p-entry-modal .btn.new {
	background-color: #26b7ff;
}

.p-entry-modal .btn.career {
	background-color: #ff6200;
}

/* -----------------------------------------------------
 * parts gnav
 * -------------------------------------------------- */

body:not(.page-home) .p-gnav {
	visibility: visible;
	opacity: 1;
}

.p-gnav {
	visibility: hidden;
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: 6.8rem;
	opacity: 0;
	transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	pointer-events: none;
}

.p-gnav * {
	pointer-events: visible;
}

.p-gnav .entry-btn {
	display: flex;
	position: fixed;
	z-index: 9;
	top: 1.6rem;
	right: 7.8rem;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 1.4rem;
	border: 1px solid #000;
	border-radius: 0.6rem;
	background-color: #f4f7f7;
	font-family: 'Albert Sans', sans-serif;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	transition: color 0.4s cubic-bezier(0.39, 0.575, 0.565, 1), border-color 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
	gap: 0.5rem;
}

.p-gnav .menu-btn {
	display: flex;
	position: fixed;
	z-index: 9;
	top: 1.6rem;
	right: 1.6rem;
	justify-content: center;
	align-items: center;
	min-width: 5.6rem;
	min-height: 3.8rem;
	padding: 1rem 2rem;
	border-radius: 0.6rem;
	background-color: #000;
	color: #fff;
	line-height: 1;
	transition: background-color 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
	gap: 0.5rem;
}

.p-gnav .menu-btn .text {
	display: none;
}

.p-gnav .menu-btn .menu-btn-icon {
	position: absolute;
	top: 50%;
	left: 50%;
}

.p-gnav .menu-btn .menu-btn-icon--menu {
	opacity: 1;
	-webkit-transform: translate(-50%, -50%) rotate(0deg);
	transform: translate(-50%, -50%) rotate(0deg);
}

.p-gnav .menu-btn .menu-btn-icon--close {
	opacity: 0;
	-webkit-transform: translate(-50%, -50%) rotate(-90deg);
	transform: translate(-50%, -50%) rotate(-90deg);
}

.p-gnav .sp-nav {
	display: flex;
	position: fixed;
	z-index: 8;
	top: 0;
	left: 0;
	overflow-y: auto;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 100vh;
	padding: 11.6rem 3.2rem 4.8rem;
	background-color: #dce5e5;
	-webkit-transform: translate3d(0, -110%, 0);
	transform: translate3d(0, -110%, 0);
}

.p-gnav .sp-nav .wrap {
	width: 100%;
	max-width: 110.4rem;
	padding-bottom: 10vh;
	margin-inline: auto;
}

.p-gnav .sp-nav .menu-list {
	display: grid;
	width: 100%;
	line-height: 1.3;
	gap: 4.8rem;
}

.p-gnav .sp-nav .menu-list > li a {
	color: #000;
}

.p-gnav .sp-nav .menu-list > li > a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 1.2rem;
	border-bottom: 1px solid #000;
	font-size: 1.6rem;
	font-weight: 600;
	transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.p-gnav .sp-nav .menu-list > li ul {
	display: grid;
	margin-top: 1.6rem;
	gap: 1.2rem;
}

.p-gnav .sp-nav .menu-list > li ul li a {
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 400;
}

.p-gnav .sp-nav .sns-list {
	display: grid;
	width: 100%;
	margin-top: 4.8rem;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.8rem;
}

.p-gnav .sp-nav .sns-list a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.2rem 1.6rem;
	border: 1px solid #000;
	border-radius: 0.6rem;
	color: #000;
	transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.p-gnav.is-open .menu-btn {
	background-color: #ff6200;
}

.p-gnav.is-open:not(.is-animating) nav {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.p-gnav.is-open:not(.is-animating) .menu-btn-icon--menu {
	opacity: 0;
	-webkit-transform: translate(-50%, -50%) rotate(90deg);
	transform: translate(-50%, -50%) rotate(90deg);
}

.p-gnav.is-open:not(.is-animating) .menu-btn-icon--close {
	opacity: 1;
	-webkit-transform: translate(-50%, -50%) rotate(0deg);
	transform: translate(-50%, -50%) rotate(0deg);
}

.p-gnav .pc-nav {
	display: none;
}

/* -----------------------------------------------------
 * parts hero
 * -------------------------------------------------- */

.p-hero {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 34.3rem;
	height: 32rem;
	margin: 9.6rem 0 0;
}

.p-hero .wrapper {
	position: absolute;
	top: 0;
	left: 0;
	overflow-y: clip;
	width: 34.3rem;
	height: 100%;
}

.p-hero .inner {
	display: flex;
	position: relative;
	z-index: 2;
	flex-direction: column;
	justify-content: center;
	height: 100%;
}

.p-hero picture,
.p-hero figure {
	display: block;
	position: relative;
	overflow: hidden;
	width: 100%;
	border-radius: 0 3.2rem 3.2rem 0;
}

.p-hero picture::before,
.p-hero figure::before {
	content: '';
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.3);
	inset: 0;
}

.p-hero img {
	width: 100%;
}

.p-hero .title {
	color: #fff;
}

.p-hero .title .en {
	margin: 0;
	font-family: 'Albert Sans', sans-serif;
	font-size: 4.8rem;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
}

.p-hero .title .jp {
	display: flex;
	align-items: center;
	margin-top: 0.8rem;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	gap: 0.8rem;
}

.p-hero .title .jp::before {
	content: '';
	display: block;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background-color: #fff;
	-webkit-transform: translateY(0.1rem);
	transform: translateY(0.1rem);
}

.p-hero .title-large {
	color: #fff;
}

.p-hero .title-large .en {
	display: flex;
	align-items: center;
	margin: 0.8rem 0 0;
	font-family: 'Albert Sans', sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	gap: 0.8rem;
}

.p-hero .title-large .en::before {
	content: '';
	display: block;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background-color: #fff;
	-webkit-transform: translateY(-0.1rem);
	transform: translateY(-0.1rem);
}

.p-hero .title-large .jp {
	font-size: 3.6rem;
	font-weight: 600;
	line-height: 1.3;
}

.p-hero.ttl-news {
	height: auto;
	margin: 16rem auto 0;
}

.p-hero.ttl-news .title {
	color: #000;
}

.p-hero.ttl-news .title .jp::before {
	background-color: #000;
}

/* -----------------------------------------------------
 * parts history
 * -------------------------------------------------- */

.p-history .list {
	padding: 4.8rem 1.6rem;
	border-radius: 3.2rem;
	background-color: #f4f7f7;
}

.p-history ul {
	display: grid;
	position: relative;
	gap: 1.6rem;
}

.p-history ul::before {
	content: '';
	position: absolute;
	top: 0.8rem;
	left: 8.7rem;
	width: 1px;
	height: calc(100% - 0.8rem);
	background-color: rgba(0, 0, 0, 0.3);
}

.p-history ul li {
	display: grid;
	grid-template-columns: 10.5rem 5.2rem 1fr;
}

.p-history ul li .year {
	display: block;
	position: relative;
	margin-right: 2.5rem;
	font-weight: 500;
	line-height: 1;
}

.p-history ul li .year::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.8rem;
	right: -1.2rem;
	width: 0.9rem;
	height: 0.9rem;
	border-radius: 50%;
	background: #000;
}

.p-history ul li .year .num {
	font-family: 'Chivo Mono', monospace;
	font-size: 2.4rem;
	font-weight: 600;
}

.p-history ul li .month {
	display: block;
	margin-top: 0.2rem;
	margin-right: 1.2rem;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	text-align: right;
}

.p-history ul li .month .num {
	font-family: 'Chivo Mono', monospace;
	font-size: 2rem;
	font-weight: 600;
}

.p-history ul li h3 {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
}

/* -----------------------------------------------------
 * parts interview hero
 * -------------------------------------------------- */

.p-interview-hero {
	position: relative;
	z-index: 3;
	overflow-x: clip;
	width: 100%;
	margin: 9.6rem auto 0;
}

.p-interview-hero .wrapper {
	display: grid;
	gap: 3.2rem 12.3rem;
}

.p-interview-hero .image {
	overflow: hidden;
	width: 100%;
	border-radius: 3.2rem;
	aspect-ratio: 520/650;
}

.p-interview-hero .image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-interview-hero .title .en {
	margin: 0;
	font-family: 'Albert Sans', sans-serif;
	font-size: 4.8rem;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
}

.p-interview-hero .title .jp {
	display: flex;
	align-items: center;
	margin-top: 0.8rem;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	gap: 0.8rem;
}

.p-interview-hero .title .jp::before {
	content: '';
	display: block;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background-color: #000;
	-webkit-transform: translateY(0.1rem);
	transform: translateY(0.1rem);
}

.p-interview-hero .detail {
	display: grid;
	margin-top: 4rem;
	gap: 1.6rem;
}

.p-interview-hero .number {
	font-family: 'Albert Sans', sans-serif;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
}

.p-interview-hero .copy {
	width: 120%;
	margin: 0;
}

.p-interview-hero .copy span {
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0.8rem;
	background-color: #f4f7f7;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}

.p-interview-hero .copy span + span {
	margin-top: 0.4rem;
}

.p-interview-hero .info {
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1;
}

.p-interview-hero .info .year::before {
	content: '｜';
	margin-right: 0.5rem;
}

.p-interview-hero.type-sales .title .jp::before {
	background-color: #ff6200;
}

.p-interview-hero.type-service .title .jp::before {
	background-color: #26b7ff;
}

.p-interview-hero.type-customer .title .jp::before {
	background-color: #00a616;
}

/* -----------------------------------------------------
 * parts interview page
 * -------------------------------------------------- */

.p-interview-page {
	overflow-x: hidden;
}

.p-interview-page-title {
	margin-bottom: 8rem;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.5;
}

.p-interview-page-title span {
	display: inline;
	border-bottom: 1px solid #000;
}

.p-interview-page .row {
	display: grid;
	gap: 4rem;
}

.p-interview-page .row + .p-interview-page-title {
	margin-top: 8rem;
}

.p-interview-page .row + .row {
	margin-top: 4rem;
}

.p-interview-page .row figure {
	overflow: hidden;
	width: 100%;
	border-radius: 3.2rem;
	aspect-ratio: 520/650;
}

.p-interview-page .row figure img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-interview-page .row .contents {
	padding-left: 4.2rem;
}

.p-interview-page .row .contents + .contents {
	margin-top: 4rem;
}

.p-interview-page .row .contents .question {
	position: relative;
	margin-bottom: 1.6rem;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.5;
}

.p-interview-page .row .contents .question::before {
	content: 'Q';
	position: absolute;
	top: -0.8rem;
	left: -4.2rem;
	font-family: 'Albert Sans', sans-serif;
	font-size: 3.2rem;
	font-weight: 600;
	line-height: 1.5;
}

.p-interview-page .row .contents p {
	margin: 0;
}

.p-interview-page.type-sales .p-interview-page-title span {
	border-color: #ff6200;
}

.p-interview-page.type-sales .row .contents .question::before {
	color: #ff6200;
}

.p-interview-page.type-service .p-interview-page-title span {
	border-color: #26b7ff;
}

.p-interview-page.type-service .row .contents .question::before {
	color: #26b7ff;
}

.p-interview-page.type-customer .p-interview-page-title span {
	border-color: #00a616;
}

.p-interview-page.type-customer .row .contents .question::before {
	color: #00a616;
}

/* -----------------------------------------------------
 * parts interview slide
 * -------------------------------------------------- */

.p-interview-slide .splide__slide a {
	display: block;
	position: relative;
	width: 28rem;
	margin-inline: auto;
}

.p-interview-slide .splide__slide a figure {
	position: relative;
	width: 100%;
	aspect-ratio: 360/456;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-interview-slide .splide__slide a figure img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-interview-slide .splide__slide a .en {
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	opacity: 0.08;
	font-family: 'Albert Sans', sans-serif;
	font-size: 5.6rem;
	font-weight: 600;
	line-height: 1;
	-ms-writing-mode: tb-rl;
	text-transform: uppercase;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.p-interview-slide .splide__slide a .bottom {
	margin-top: 2.4rem;
}

.p-interview-slide .splide__slide a h3 {
	display: inline;
	padding-bottom: 0.2rem;
	background: linear-gradient(#000, #000) 100% 100%/0 1px no-repeat;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.5;
	transition: background-size 1s cubic-bezier(0.16, 1, 0.3, 1) 0s;
	will-change: background-size;
}

.p-interview-slide .splide__slide a .info {
	display: flex;
	align-items: center;
	margin-top: 1.6rem;
	margin-bottom: 2rem;
	font-size: 1.3rem;
	font-weight: 500;
	gap: 2rem;
}

.p-interview-slide .splide__slide a .job {
	position: relative;
}

.p-interview-slide .splide__slide a .job::after {
	content: '｜';
	position: absolute;
	top: 0;
	right: -1.6rem;
}

.p-interview-slide .splide__arrow {
	width: 3.2rem;
	height: 3.2rem;
	border: 1px solid #000;
	border-radius: 0.6rem;
	background: #dce5e5;
	opacity: 1;
}

.p-interview-slide .splide__arrow .material-symbols-rounded {
	font-size: 2rem;
}

/* -----------------------------------------------------
 * parts interview
 * -------------------------------------------------- */

.p-interview {
	overflow-x: hidden;
}

/* -----------------------------------------------------
 * parts job description
 * -------------------------------------------------- */

.p-job-description .list {
	display: grid;
	gap: 8rem;
}

.p-job-description .list > li figure {
	overflow: hidden;
	width: 100%;
	border-radius: 3.2rem;
	aspect-ratio: 1/1;
}

.p-job-description .list > li figure img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-job-description .list > li h3 {
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	margin-block: 3.2rem;
}

.p-job-description .list > li .btn-list {
	display: grid;
	justify-content: center;
	gap: 1.6rem;
}

/* -----------------------------------------------------
 * parts job tab
 * -------------------------------------------------- */

.p-job-tab-list {
	display: grid;
	gap: 2rem 3.2rem;
}

.p-job-tab-list .tab {
	cursor: pointer;
	display: flex;
	position: relative;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
	height: 5.2rem;
	padding: 1.6rem;
	border-radius: 0.6rem;
	background-color: #c6cece;
	transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	gap: 1.6rem;
}

.p-job-tab-list .tab img {
	position: absolute;
	bottom: 0;
	left: 1.6rem;
	width: 6.4rem;
	transition: -webkit-filter 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	transition: filter 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	transition: filter 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-filter 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
}

.p-job-tab-list .tab .text {
	display: block;
	width: 14.6rem;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.3;
}

.p-job-tab-list .tab.-active {
	color: #fff;
}

.p-job-tab-list .tab.-active img {
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
}

.p-job-tab-list .tab.-active .c-btn-arrow-line::before {
	background-color: rgba(255, 255, 255, 0.3);
}

.p-job-tab-list .tab.-active.sales {
	background-color: #ff6200;
}

.p-job-tab-list .tab.-active.service {
	background-color: #26b7ff;
}

.p-job-tab-list .tab.-active.customer {
	background-color: #00a616;
}

.p-job-tab-panel {
	margin-top: 5.6rem;
}

.p-job-tab-panel .panel {
	display: none;
}

.p-job-tab-panel .panel.-active {
	display: block;
}

.p-job-tab-panel .panel .head {
	display: grid;
	gap: 4rem;
}

.p-job-tab-panel .panel .head .title h2 {
	font-size: 3.6rem;
	font-weight: 600;
	line-height: 1.2;
}

.p-job-tab-panel .panel .head .title p {
	display: flex;
	align-items: center;
	margin: 1.6rem 0 0;
	font-family: 'Albert Sans', sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	gap: 0.8rem;
}

.p-job-tab-panel .panel .head .title p::before {
	content: '';
	display: block;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background-color: #000;
	-webkit-transform: translateY(-0.1rem);
	transform: translateY(-0.1rem);
}

.p-job-tab-panel .panel .head .fig {
	width: 30.3rem;
	border-radius: 3.2rem;
}

.p-job-tab-panel .panel .head .fig img {
	width: 100%;
	height: 100%;
	border-radius: 3.2rem;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-job-tab-panel .panel .head .text {
	margin: 0;
}

.p-job-tab-panel .panel .head .link {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
}

.p-job-tab-panel .panel .head .link a {
	display: flex;
	align-items: center;
	font-size: 1.4rem;
	font-weight: 500;
	gap: 0.8rem;
}

.p-job-tab-panel .panel .oneday {
	margin-top: 5.6rem;
	padding-top: 9rem;
	border-top: 1px solid #000;
}

.p-job-tab-panel .panel .oneday p {
	margin: 0;
}

.p-job-tab-panel .panel .oneday h2 {
	position: relative;
	margin-bottom: 3.2rem;
	font-size: 3.6rem;
	font-weight: 600;
	line-height: 1.2;
}

.p-job-tab-panel .panel .oneday h2 .job {
	display: block;
	position: absolute;
	top: -0.6rem;
	left: 0;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0.8rem 1.6rem;
	border-radius: 100vmax;
	background-color: #000;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}

.p-job-tab-panel .panel .oneday h2 .job::before {
	content: '';
	display: block;
	position: absolute;
	bottom: -0.3rem;
	left: 1.2rem;
	width: 1.8rem;
	height: 0.8rem;
	border-radius: 100vmax;
	background-color: #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.p-job-tab-panel .panel .oneday .timeline {
	margin-top: 4.8rem;
	padding: 3.2rem 2rem 3.2rem 5.2rem;
	border-radius: 3.2rem;
	background-color: #d3dcdc;
}

.p-job-tab-panel .panel .oneday .timeline ul {
	display: grid;
	position: relative;
	gap: 4rem;
}

.p-job-tab-panel .panel .oneday .timeline ul::before {
	content: '';
	display: block;
	position: absolute;
	top: 1.1rem;
	left: -1.7rem;
	width: 1px;
	height: var(--timeline-line-height, 100%);
	background-color: #000;
}

.p-job-tab-panel .panel .oneday .timeline ul li .time {
	display: block;
	position: relative;
	margin-bottom: 2.4rem;
	font-family: 'Albert Sans', sans-serif;
	font-size: 3.2rem;
	font-weight: 600;
	line-height: 1;
}

.p-job-tab-panel .panel .oneday .timeline ul li .time::before {
	content: '';
	display: block;
	position: absolute;
	top: 1rem;
	left: -0.8rem;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	background-color: #000;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}

.p-job-tab-panel .panel .oneday .timeline ul li h3 {
	margin-bottom: 1.6rem;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.5;
}

.p-job-tab-panel .panel .oneday .timeline ul figure {
	overflow: hidden;
	width: 100%;
	margin-top: 2.4rem;
	border-radius: 3.2rem;
	aspect-ratio: 256/171;
}

.p-job-tab-panel .panel .oneday .timeline ul figure img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-job-tab-panel .panel.sales a {
	color: #ff6200;
}

.p-job-tab-panel .panel.sales .head .title p::before {
	background-color: #ff6200;
}

.p-job-tab-panel .panel.sales .fig {
	box-shadow: 8px 8px 0 #ff6200;
}

.p-job-tab-panel .panel.sales .oneday h2 .job {
	background-color: #ff6200;
}

.p-job-tab-panel .panel.sales .oneday h2 .job::before {
	background-color: #ff6200;
}

.p-job-tab-panel .panel.sales .oneday .timeline ul::before {
	background-color: #ff6200;
}

.p-job-tab-panel .panel.sales .oneday .timeline ul li .time::before {
	background-color: #ff6200;
}

.p-job-tab-panel .panel.service a {
	color: #26b7ff;
}

.p-job-tab-panel .panel.service .head .title p::before {
	background-color: #26b7ff;
}

.p-job-tab-panel .panel.service .fig {
	box-shadow: 8px 8px 0 #26b7ff;
}

.p-job-tab-panel .panel.service .oneday h2 .job {
	background-color: #26b7ff;
}

.p-job-tab-panel .panel.service .oneday h2 .job::before {
	background-color: #26b7ff;
}

.p-job-tab-panel .panel.service .oneday .timeline ul::before {
	background-color: #26b7ff;
}

.p-job-tab-panel .panel.service .oneday .timeline ul li .time::before {
	background-color: #26b7ff;
}

.p-job-tab-panel .panel.customer a {
	color: #00a616;
}

.p-job-tab-panel .panel.customer .head .title p::before {
	background-color: #00a616;
}

.p-job-tab-panel .panel.customer .fig {
	box-shadow: 8px 8px 0 #00a616;
}

.p-job-tab-panel .panel.customer .oneday h2 .job {
	background-color: #00a616;
}

.p-job-tab-panel .panel.customer .oneday h2 .job::before {
	background-color: #00a616;
}

.p-job-tab-panel .panel.customer .oneday .timeline ul::before {
	background-color: #00a616;
}

.p-job-tab-panel .panel.customer .oneday .timeline li .time::before {
	background-color: #00a616;
}

/* -----------------------------------------------------
 * parts loading
 * -------------------------------------------------- */

.p-loading {
	position: fixed;
	z-index: 3;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	transition: opacity 0.5s ease, visibility 0s linear 0.5s;
}

.p-loading.is-hidden {
	visibility: hidden;
	opacity: 0;
}

.p-loading img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20.4rem;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

/* -----------------------------------------------------
 * parts news
 * -------------------------------------------------- */

.p-news .news-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.p-news .news-item a {
	display: grid;
	align-items: center;
	padding: 2rem;
	border-radius: 1.6rem;
	background-color: #d3dcdc;
	transition: background-color 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
	grid-template-columns: 1fr 1.6rem;
	grid-template-areas: 'date arrow' 'title arrow';
	gap: 0 1.6rem;
}

.p-news .news-item a h3 {
	margin: 0.8rem 0 0;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.5;
	grid-area: title;
}

.p-news .news-item a .c-btn-arrow-icon {
	grid-area: arrow;
}

.p-news .p-news-footer {
	margin: 1.6rem 0 0;
}

.p-news .p-news-footer .c-btn {
	margin: 0 auto;
}

/* -----------------------------------------------------
 * parts numbers
 * -------------------------------------------------- */

.p-numbers .grid {
	display: grid;
	gap: 2.4rem;
}

.p-numbers .title-box {
	margin-bottom: 4rem;
}

.p-numbers .title-box .title {
	margin: 0;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-numbers .title-box .lead {
	margin: 3.2rem 0 0;
	font-weight: 500;
}

.p-numbers .box {
	display: flex;
	position: relative;
	overflow: hidden;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 4rem 3.2rem 9rem;
	border: 3px solid #000;
	border-radius: 1.6rem;
}

.p-numbers .box h2 {
	margin-bottom: 2.7rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.2em;
}

.p-numbers .box p {
	margin: 0;
}

.p-numbers .box .num {
	font-family: 'Albert Sans', sans-serif;
	font-size: 12.9rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.04em;
}

.p-numbers .box .unit {
	display: inline-block;
	width: 2rem;
	margin-left: 0.4rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.2em;
}

.p-numbers .box img {
	position: absolute;
	z-index: -1;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.p-numbers .box:nth-child(2) img {
	bottom: -0.1rem;
	width: 24rem;
}

.p-numbers .box:nth-child(3) img {
	bottom: -0.1rem;
	width: 100%;
}

.p-numbers .box:nth-child(4) img {
	bottom: -0.1rem;
	width: 16.3rem;
}

.p-numbers .box:nth-child(5) img {
	right: -9.1rem;
	bottom: -4.8rem;
	left: auto;
	width: 27rem;
	-webkit-transform: none;
	transform: none;
}

.p-numbers .box:nth-child(6) img {
	right: -9.1rem;
	bottom: -4.8rem;
	left: auto;
	width: 27rem;
	-webkit-transform: none;
	transform: none;
}

.p-numbers .box:nth-child(7) img {
	bottom: -0.6rem;
	width: 42.7rem;
}

.p-numbers .box:nth-child(8) img {
	bottom: -3.7rem;
	width: 7.7rem;
}

.p-numbers .box:nth-child(8) .unit {
	-ms-writing-mode: initial;
	-webkit-writing-mode: initial;
	writing-mode: initial;
}

.p-numbers .box:nth-child(9) img {
	bottom: -1.4rem;
	width: 11.3rem;
}

/* -----------------------------------------------------
 * parts personality
 * -------------------------------------------------- */

.p-personality {
	overflow-x: clip;
}

.p-personality img {
	width: 100%;
}

.p-personality .inner {
	position: relative;
}

.p-personality .box {
	position: relative;
	z-index: 1;
	margin-top: -3.5rem;
	padding: 3.2rem;
	border-radius: 1.6rem;
	background-color: #f4f7f7;
}

.p-personality .box h3 {
	margin-bottom: 4rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-personality .box p {
	font-size: 1.4rem;
}

.p-personality .box p + p {
	margin-top: 2.4rem;
}

/* -----------------------------------------------------
 * parts philosophy
 * -------------------------------------------------- */

.p-philosophy .list {
	display: grid;
	line-height: 1.5;
	gap: 1.6rem;
}

.p-philosophy .list p {
	margin: 0;
}

.p-philosophy .list > li {
	padding: 2rem;
	border-radius: 1.6rem;
	background-color: #f4f7f7;
}

.p-philosophy .list > li h3 {
	margin-bottom: 4.8rem;
	font-size: 1.4rem;
	font-weight: 500;
}

.p-philosophy .list > li.basic p {
	font-size: 2.8rem;
	font-weight: 700;
}

.p-philosophy .list > li.action p {
	font-size: 1.9rem;
	font-weight: 600;
}

.p-philosophy .list > li.company p {
	font-weight: 500;
}

.p-philosophy .list > li.vision ul {
	display: grid;
	margin-left: 1.4em;
	font-size: 1.4rem;
	text-indent: -1.4em;
	gap: 0.8rem;
}

.p-philosophy .list > li.vision ul li::before {
	content: '';
	display: inline-block;
	width: 0.4rem;
	height: 0.4rem;
	border-radius: 50%;
	border-radius: 50%;
	background-color: #000;
	vertical-align: middle;
	margin-inline: 0.8rem;
}

/* -----------------------------------------------------
 * parts profile
 * -------------------------------------------------- */

.p-profile .list {
	display: grid;
	line-height: 1.5;
	gap: 0.8rem;
}

.p-profile .list p {
	margin: 0;
}

.p-profile .list > li {
	display: grid;
	align-items: center;
	padding: 2rem;
	border-radius: 1.6rem;
	background-color: #f4f7f7;
	grid-template-columns: 8rem 1fr;
	gap: 1.6rem;
}

.p-profile .list > li h3 {
	font-size: 1.4rem;
	font-weight: 500;
}

/* -----------------------------------------------------
 * parts recruit
 * -------------------------------------------------- */

.p-recruit .lead {
	margin-bottom: 9.6rem;
}

.p-recruit .flow {
	text-align: center;
}

.p-recruit .flow .material-symbols-rounded {
	display: block;
	font-size: 2.4rem;
	font-weight: 700;
	margin-block: 0.8rem;
}

.p-recruit .flow-item {
	display: flex;
	position: relative;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 4rem 2rem;
	border: 1px solid #000;
	border-radius: 1.6rem;
	background-color: #f4f7f7;
	line-height: 1.5;
}

.p-recruit .flow-item .step {
	position: absolute;
	top: 1.6rem;
	left: 1.6rem;
	font-family: 'Albert Sans', sans-serif;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1;
}

.p-recruit .flow-item h3 {
	margin-bottom: 1.6rem;
	font-size: 2rem;
	font-weight: 700;
}

.p-recruit .flow-item p {
	margin: 0;
}

.p-recruit .flow-item .note {
	display: block;
	margin-top: 0.4rem;
	color: #666;
	font-size: 1.2rem;
}

/* -----------------------------------------------------
 * parts staff voice
 * -------------------------------------------------- */

.p-staff-voice-nav ul {
	display: flex;
	padding: 0 3.2rem;
	border-radius: 0;
	background-color: #d3dcdc;
	gap: 2.4rem;
}

.p-staff-voice-nav ul li.is-current {
	position: relative;
}

.p-staff-voice-nav ul li.is-current::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #000;
}

.p-staff-voice-nav ul li a {
	cursor: pointer;
	display: inline-block;
	padding: 2rem 0;
	font-size: 1.2rem;
	font-weight: 600;
	transition: 0.2s ease-in-out;
}

.p-staff-voice .voice {
	display: grid;
	margin: 5.6rem 0 0;
	grid-template-columns: 1fr;
	gap: 5.6rem;
}

.p-staff-voice .voice .voice-item a {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-areas: 'img' 'category' 'date' 'title' 'arrow';
}

.p-staff-voice .voice .voice-item a .c-category {
	margin: 2.4rem 0 0;
}

.p-staff-voice .voice .voice-item a h3 {
	grid-area: title;
}

.p-staff-voice .voice .voice-item a h3 span {
	display: inline;
	padding-bottom: 0.2rem;
	background: linear-gradient(#000, #000) 100% 100%/0 1px no-repeat;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	transition: background-size 1s cubic-bezier(0.16, 1, 0.3, 1) 0s;
	will-change: background-size;
}

.p-staff-voice .voice .voice-item a .c-btn-arrow {
	margin: 1.6rem 0 0;
	grid-area: arrow;
}

.p-staff-voice .voice .voice-item a figure {
	grid-area: img;
}

.p-staff-voice .voice .voice-item a figure img {
	width: 100%;
	border-radius: 1.6rem;
}

/* -----------------------------------------------------
 * parts top message
 * -------------------------------------------------- */

.p-top-message img {
	width: 100%;
}

.p-top-message p {
	margin: 0;
}

.p-top-message .c-title {
	margin-bottom: 6.4rem;
}

.p-top-message .inner {
	display: grid;
	gap: 4.8rem 16rem;
}

.p-top-message .title {
	width: 24rem;
}

.p-top-message .text {
	display: grid;
	margin-top: 4.8rem;
	gap: 2.9rem;
}

.p-top-message .signature {
	margin-top: 2.9rem;
	font-size: 1.4rem;
	text-align: right;
}

.p-top-message .signature .name {
	font-size: 1.6rem;
}

.p-top-message .fig {
	overflow: hidden;
	width: 100%;
	border-radius: 3.2rem;
	aspect-ratio: 311/389;
}

/* -----------------------------------------------------
 * parts vec wrapper
 * -------------------------------------------------- */

.p-vec-wrapper {
	position: relative;
	overflow-x: clip;
}

.p-vec-wrapper .vec {
	position: absolute;
}

.p-vec-wrapper .vec.message {
	top: -26rem;
	left: -7rem;
	width: 79.8rem;
}

.p-vec-wrapper .vec.personality {
	top: -2rem;
	left: -41.1rem;
	width: 133rem;
}

.p-vec-wrapper .vec.history {
	top: -60rem;
	right: -31.8rem;
	width: 98rem;
}

.p-vec-wrapper .vec.interview {
	top: -2rem;
	right: 2rem;
	width: 116.6rem;
}

.p-vec-wrapper .vec.interview-hero.sales {
	top: 16rem;
	left: -14rem;
	width: 79.8rem;
}

.p-vec-wrapper .vec.interview-hero.service {
	top: 47rem;
	left: -51.1rem;
	width: 133rem;
}

.p-vec-wrapper .vec.interview-hero.customer {
	top: 30rem;
	right: -31.8rem;
	width: 98rem;
}

.p-vec-wrapper .vec.recruit {
	top: 0;
	right: -29.8rem;
	width: 98rem;
}

/* -----------------------------------------------------
 * parts working-environment
 * -------------------------------------------------- */

.p-working-environment .benefit {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}

.p-working-environment .benefit-item {
	display: flex;
	flex-direction: column;
	padding: 4rem 3.2rem;
	border-radius: 3.2rem;
	background-color: #f4f7f7;
	gap: 3.2rem;
}

.p-working-environment .benefit-item h3 {
	font-size: 2.4rem;
	font-weight: 600;
}

.p-working-environment .benefit-item figure img {
	width: 100%;
	border-radius: 1.6rem;
}

.p-working-environment .benefit-item ul li {
	position: relative;
	padding: 0 0 0 1.6rem;
}

.p-working-environment .benefit-item ul li::before {
	content: '';
	position: absolute;
	top: 0.8em;
	left: 0;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #000;
}

/* =====================================================
 * Layout
 * ================================================== */

/* -----------------------------------------------------
 * Layout footer
 * -------------------------------------------------- */

.l-footer {
	position: relative;
	z-index: 3;
	margin-top: 12rem;
}

.l-footer .wrapper {
	width: calc(100% - 3.2rem);
	border-radius: 0 3.2rem 0 0;
	background-color: #939999;
	color: #fff;
}

.l-footer .inner {
	padding: 4.8rem 3.2rem;
}

.l-footer .btn-list {
	display: grid;
	gap: 1.6rem 4rem;
}

.l-footer .btn-list .btn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 2.4rem 2.8rem;
	border-radius: 1.6rem;
	background-color: rgba(255, 255, 255, 0.3);
	color: #fff;
	transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.l-footer .btn-list .btn .en {
	display: block;
	font-family: 'Albert Sans', sans-serif;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	text-align: left;
	text-transform: uppercase;
}

.l-footer .btn-list .btn .jp {
	display: flex;
	align-items: center;
	margin-top: 0.8rem;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1;
	gap: 0.8rem;
}

.l-footer .btn-list .btn .jp::before {
	content: '';
	display: inline-block;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background-color: #fff;
}

.l-footer .btn-list .btn .c-btn-arrow {
	border-color: #fff;
	color: #fff;
}

.l-footer .bottom {
	margin-top: 4rem;
}

.l-footer .logo {
	display: block;
	width: 20.4rem;
	transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.l-footer .logo img {
	width: 100%;
}

.l-footer .sns-list {
	display: grid;
	width: 100%;
	margin-top: 4.8rem;
	gap: 1.6rem 0.8rem;
}

.l-footer .sns-list a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.2rem 1.6rem;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 0.6rem;
	color: #fff;
	transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.l-footer nav {
	margin-top: 4rem;
	line-height: 1.3;
}

.l-footer nav > ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4rem 2.4rem;
}

.l-footer nav > ul > li a {
	color: #fff;
}

.l-footer nav > ul > li > a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 1.2rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	font-size: 1.2rem;
	font-weight: 600;
	transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.l-footer nav > ul > li ul {
	display: grid;
	margin-top: 1.6rem;
	gap: 0.8rem;
}

.l-footer nav > ul > li ul li {
	line-height: 1.3;
}

.l-footer nav > ul > li ul li a {
	font-size: 1.1rem;
	font-weight: 400;
}

.l-footer .copyright {
	margin-top: 4rem;
	margin-bottom: 0;
}

.l-footer .copyright small {
	display: block;
	opacity: 0.6;
	font-family: 'Albert Sans', sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.2;
}

/* -----------------------------------------------------
 * Layout header
 * -------------------------------------------------- */

body:not(.page-home) .l-header {
	visibility: visible;
	opacity: 1;
}

.l-header {
	visibility: hidden;
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	pointer-events: none;
}

.l-header .inner {
	padding: 1.6rem;
}

.l-header .logo {
	position: relative;
	z-index: 2;
	width: 14.8rem;
	line-height: 1;
}

.l-header .logo a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	line-height: 1;
	transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	pointer-events: visible;
}

.l-header .logo a img {
	width: 100%;
	transition: -webkit-filter 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
	transition: filter 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
	transition: filter 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-filter 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.l-header.is-logo-light .logo img {
	-webkit-filter: invert(1);
	filter: invert(1);
}

/* -----------------------------------------------------
 * layout Main
 * -------------------------------------------------- */

.l-main {
	flex-grow: 1;
	min-width: 320px;
	min-height: 50vh;
}

/* -----------------------------------------------------
 * layout Section
 * -------------------------------------------------- */

.l-section {
	position: relative;
	z-index: 3;
}

.l-section-wrapper {
	padding-inline: 3.2rem;
}

.l-section-first {
	padding-top: 6.5rem;
}

.l-section-common {
	padding-top: 9.6rem;
}

/* -----------------------------------------------------
 * layout Wrapper
 * -------------------------------------------------- */

.l-wrapper {
	display: flex;
	position: relative;
	flex-direction: column;
	min-height: 100vh;
}

.is-menu-open .l-wrapper,
.is-modal-open .l-wrapper {
	width: 100%;
}

.is-load-complete .l-wrapper {
	opacity: 1 !important;
	pointer-events: auto;
}

/* =====================================================
 * Page
 * ================================================== */

/* -----------------------------------------------------
 * Page Home
 * -------------------------------------------------- */

body.page-home.is-kv-preparing-1 .p-kv .fig-01,
body.page-home.is-kv-preparing-1 .p-kv .catch-01 {
	display: block;
	visibility: visible;
	opacity: 0;
	transition: opacity 1s cubic-bezier(0.39, 0.575, 0.565, 1);
}

body.page-home.is-kv-loaded .p-kv .copy {
	visibility: visible;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.39, 0.575, 0.565, 1);
	transition-delay: 0s;
}

body.page-home.is-kv-loaded .p-kv .scroll,
body.page-home.is-kv-loaded .p-home-news.pc,
body.page-home.is-kv-loaded .p-kv .fig-01,
body.page-home.is-kv-loaded .p-kv .catch-01 {
	visibility: visible;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.39, 0.575, 0.565, 1);
	transition-delay: 0.4s;
}

body.page-home.is-kv-loaded .p-kv .fig-01 {
	display: block;
}

body.page-home.is-kv-loaded .l-header,
body.page-home.is-kv-loaded .p-gnav {
	visibility: visible;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.39, 0.575, 0.565, 1);
	transition-delay: 0.8s;
}

body.page-home.is-kv-fade-out-1 .p-kv .fig-01,
body.page-home.is-kv-fade-out-1 .p-kv .catch-01 {
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0s linear 0.5s;
}

body.page-home.is-kv-slide-2 .p-kv .fig-02,
body.page-home.is-kv-slide-2 .p-kv .catch-02 {
	visibility: visible;
	opacity: 1;
	transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

body.page-home.is-kv-fade-out-2 .p-kv .fig-02,
body.page-home.is-kv-fade-out-2 .p-kv .catch-02 {
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0s linear 0.5s;
}

body.page-home.is-kv-slide-3 .p-kv .fig-03,
body.page-home.is-kv-slide-3 .p-kv .catch-03 {
	visibility: visible;
	opacity: 1;
	transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

body.page-home.is-kv-fade-out-3 .p-kv .fig-03,
body.page-home.is-kv-fade-out-3 .p-kv .catch-03 {
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0s linear 0.5s;
}

body.page-home.is-kv-slide-4 .p-kv .fig-04,
body.page-home.is-kv-slide-4 .p-kv .catch-04 {
	visibility: visible;
	opacity: 1;
	transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

body.page-home.is-kv-fade-out-4 .p-kv .fig-04,
body.page-home.is-kv-fade-out-4 .p-kv .catch-04 {
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0s linear 0.5s;
}

.p-home-section {
	padding-top: 12rem;
}

.p-kv {
	position: relative;
	overflow-x: clip;
	min-height: 100svh;
}

.p-kv-inner {
	position: absolute;
	overflow: hidden;
	width: 100%;
	height: 100%;
	inset: 0;
}

.p-kv .vec {
	visibility: hidden;
	position: absolute;
	z-index: 1;
	opacity: 0;
	transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.p-kv .vec.vector-01 {
	bottom: 4.7rem;
	left: -1.1rem;
	width: 40.9rem;
}

.p-kv .vec.vector-02 {
	bottom: -1.9rem;
	left: -44.5rem;
	width: 87.4rem;
}

.p-kv .vec.vector-03 {
	bottom: 30.9rem;
	left: -22rem;
	width: 75.4rem;
}

.p-kv .vec.vector-04 {
	bottom: 24.4rem;
	left: -18.5rem;
	width: 74.6rem;
}

.p-kv .vec.is-visible {
	visibility: visible;
	opacity: 1;
}

.p-kv .fig {
	visibility: hidden;
	position: absolute;
	z-index: 1;
	max-width: none;
	opacity: 0;
	transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.p-kv .fig.fig-01 {
	display: none;
	right: -8rem;
	bottom: -7.8rem;
	width: 52rem;
}

.p-kv .fig.fig-02 {
	right: -27rem;
	bottom: -2.4rem;
	width: 69rem;
}

.p-kv .fig.fig-03 {
	right: -6rem;
	bottom: -1.6rem;
	width: 57rem;
}

.p-kv .fig.fig-04 {
	right: 1rem;
	bottom: 9.3rem;
	width: 36.5rem;
}

.p-kv .catch {
	visibility: hidden;
	position: absolute;
	z-index: 3;
	opacity: 0;
	transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.p-kv .catch.catch-01 {
	bottom: 32.8rem;
	left: 2.7rem;
	width: 10.5rem;
}

.p-kv .catch.catch-02 {
	bottom: 44rem;
	left: 3.8rem;
	width: 11.4rem;
}

.p-kv .catch.catch-03 {
	bottom: 45.6rem;
	left: 3.4rem;
	width: 11.7rem;
}

.p-kv .catch.catch-04 {
	bottom: 50rem;
	left: 14rem;
	width: 11.7rem;
}

.p-kv .copy {
	visibility: hidden;
	position: absolute;
	z-index: 3;
	bottom: 1.6rem;
	left: 2rem;
	width: 26.8rem;
	opacity: 0;
	transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.p-kv .scroll {
	display: flex;
	visibility: hidden;
	position: absolute;
	z-index: 3;
	right: 2rem;
	bottom: 0;
	align-items: center;
	opacity: 0;
	font-family: 'Albert Sans', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	gap: 0.4rem;
}

.p-kv .scroll::before {
	content: '';
	display: block;
	width: 0.4rem;
	height: 0.4rem;
	border-radius: 50%;
	background-color: #000;
}

.p-home-news {
	width: 31.1rem;
	padding: 1.2rem 1.6rem;
	border-radius: 0.6rem;
	background-color: #f4f7f7;
}

.p-home-news * {
	transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.p-home-news .top {
	display: flex;
	gap: 1.6rem;
}

.p-home-news h2,
.p-home-news time {
	font-family: 'Albert Sans', sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
	text-transform: uppercase;
}

.p-home-news .bottom {
	display: flex;
	justify-content: space-between;
	gap: 1.6rem;
}

.p-home-news h3 {
	display: -webkit-box;
	overflow: hidden;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.5;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.p-home-news .c-btn-arrow-icon {
	flex-shrink: 0;
}

.p-home-news.pc {
	visibility: hidden;
	position: absolute;
	z-index: 5;
	right: 3.2rem;
	bottom: 6.5rem;
	opacity: 0;
}

.p-home-copy {
	position: relative;
	z-index: 1;
	overflow-x: clip;
	margin-top: 0;
	padding-top: 30vh;
	padding-bottom: 20vh;
}

.p-home-copy .copy {
	position: relative;
	margin-top: 18rem;
}

.p-home-copy .gradient {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	background: radial-gradient(#dce5e5, rgba(220, 229, 229, 0));
	margin-inline: calc(50% - 50vw);
}

.p-home-copy .infinite-scroll {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 0;
	overflow: hidden;
	width: 100vw;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	margin-inline: calc(50% - 50vw);
}

.p-home-copy .infinite-scroll .track {
	display: flex;
	flex-wrap: nowrap;
	width: -webkit-max-content;
	width: max-content;
	will-change: transform;
}

.p-home-copy .infinite-scroll span {
	display: inline-block;
	flex-shrink: 0;
	padding-right: 10rem;
	color: #f4f7f7;
	font-family: 'Albert Sans', sans-serif;
	font-size: 40rem;
	font-weight: 600;
	line-height: 1.1;
	white-space: nowrap;
	text-transform: uppercase;
}

.p-home-copy picture {
	display: block;
	position: relative;
	z-index: 4;
	width: 25.7rem;
	margin-inline: auto;
}

.p-home-copy .fig {
	position: absolute;
	z-index: 3;
	overflow: hidden;
	border-radius: 0.8rem;
	will-change: transform;
}

.p-home-copy .fig.fig-01 {
	top: -8.5rem;
	right: 1.7rem;
	width: 5rem;
}

.p-home-copy .fig.fig-02 {
	top: 4.7rem;
	left: -4.5rem;
	width: 8.4rem;
}

.p-home-copy .fig.fig-03 {
	top: 26.3rem;
	right: -2.3rem;
	width: 6.2rem;
}

.p-home-copy .fig.fig-04 {
	top: 33.8rem;
	left: -1.6rem;
	width: 6.1rem;
}

.p-home-copy .fig.fig-05 {
	top: 54.8rem;
	right: -1.7rem;
	width: 5rem;
}

.p-home-copy .fig img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-home-message {
	padding-top: 17rem;
}

.p-home-message img {
	width: 100%;
}

.p-home-message .l-section-inner {
	position: relative;
}

.p-home-message .c-title {
	margin-bottom: 5.6rem;
}

.p-home-message figure {
	overflow: hidden;
	width: 20.8rem;
	border-radius: 2.4rem;
	aspect-ratio: 460/575;
	margin-inline: auto;
}

.p-home-message figure img {
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-home-message p {
	width: 28.8rem;
	margin-top: 5.6rem;
}

.p-home-message .c-btn {
	margin-top: 4rem;
}

.p-home-works ul {
	display: grid;
	margin-top: 5.6rem;
	gap: 4.8rem;
}

.p-home-works ul li a {
	display: flex;
	position: relative;
	overflow: hidden;
	align-items: flex-end;
	width: 24rem;
	height: 37.8rem;
	padding: 2.4rem;
	border-radius: 3.2rem;
	color: #fff;
}

.p-home-works ul li a img {
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	transition: -webkit-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	inset: 0;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-home-works ul li a .text h3 {
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.5;
}

.p-home-works ul li a .text p {
	margin: 0;
	font-size: 1.3rem;
	font-weight: 500;
}

.p-home-works ul li a .en {
	position: absolute;
	top: 2.4rem;
	left: 2.4rem;
	font-family: 'Albert Sans', sans-serif;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1;
	-ms-writing-mode: tb-rl;
	text-transform: uppercase;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.p-home-works ul li a .c-btn-arrow {
	position: absolute;
	top: 2.4rem;
	right: 2.4rem;
}

.p-home-image .wrapper {
	position: relative;
	max-width: 144rem;
	height: 48rem;
	margin-inline: auto;
}

.p-home-image .inner {
	position: absolute;
	top: 0;
	left: 0;
	overflow-y: clip;
	width: 100%;
	height: 100%;
}

.p-home-image .image {
	overflow: hidden;
	width: 100vw;
	height: 100%;
	margin-left: calc(50% - 50vw);
	padding-right: calc(50vw - 50%);
}

.p-home-image .image-inner {
	position: relative;
}

.p-home-image picture {
	display: block;
	position: relative;
	overflow: hidden;
	width: 100%;
}

.p-home-image picture img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-home-image p {
	position: absolute;
	z-index: 3;
	top: 50%;
	left: 50%;
	width: -webkit-max-content;
	width: max-content;
	margin: 0;
	color: #fff;
	font-family: 'Albert Sans', sans-serif;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.p-home-numbers .box {
	display: grid;
	padding: 4rem 2.4rem;
	border-radius: 3.2rem;
	background-color: #d3dcdc;
	gap: 5.6rem 10rem;
}

.p-home-numbers .box figure {
	width: 100%;
}

.p-home-numbers .box figure img {
	width: 100%;
}

.p-home-numbers .box .c-title + p {
	margin: 0;
	font-size: 1.3rem;
}

.p-home-numbers .box .c-btn {
	margin-top: 3.2rem;
}

.p-home-environment ul {
	display: grid;
	gap: 4rem 8rem;
}

.p-home-environment ul li a {
	display: block;
	overflow: hidden;
	border-radius: 3.2rem;
	background-color: #fff;
}

.p-home-environment ul li a figure {
	overflow: hidden;
	width: 100%;
	aspect-ratio: 543/328;
}

.p-home-environment ul li a figure img {
	width: 100%;
	height: 100%;
	transition: -webkit-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
	-o-object-fit: cover;
	object-fit: cover;
}

.p-home-environment ul li a .text {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 2.6rem 2.4rem;
}

.p-home-environment ul li a h3 {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.2;
}

.p-home-wrapper .vec.message {
	top: -26rem;
	left: -7rem;
	width: 79.8rem;
}

.p-home-wrapper .vec.works {
	top: 48rem;
	right: 2rem;
	width: 116.6rem;
}

.p-home-wrapper .vec.design {
	top: -12rem;
	right: -31.8rem;
	width: 98rem;
}

.p-home-wrapper .vec.environment {
	top: 7.8rem;
	left: -44.1rem;
	width: 133rem;
}

@media screen and (min-width: 768px) {
	.u-hide-pc {
		display: none !important;
	}

	.u-show-pc {
		display: block !important;
	}

	.u-show-br-pc {
		display: inline-block !important;
	}

	.u-al-center.sp-left {
		text-align: center !important;
	}

	.c-head-col {
		display: flex;
		align-items: center;
		margin-bottom: 8rem;
		gap: 12rem;
	}

	.c-head-col .c-title {
		flex-shrink: 0;
		margin-bottom: 0;
	}

	.c-title {
		margin-bottom: 8rem;
	}

	.c-title .en {
		font-size: 8rem;
	}

	.c-title .en.sz-small {
		margin-top: 1.6rem !important;
	}

	.c-title .jp {
		font-size: 5.6rem;
	}

	.c-title .jp.sz-small {
		font-size: 1.6rem;
	}

	.c-title .jp.type-s {
		font-size: 4rem;
	}

	.c-title .circle::before {
		width: 0.7rem;
		height: 0.7rem;
		margin-left: 0.2rem;
	}

	.p-career-plan .education {
		padding: 5.6rem;
	}

	.p-career-plan .education h3 {
		font-size: 3.2rem;
	}

	.p-career-plan .education ul {
		grid-template-columns: repeat(3, 1fr);
	}

	.p-career-plan .education ul li h4 {
		font-size: 2rem;
	}

	.p-detail {
		padding: 12rem 8rem;
	}

	.p-detail .label {
		top: 3.2rem;
		right: 3.2rem;
		font-size: 4rem;
	}

	.p-detail .wrap header {
		padding: 0 0 6.4rem;
	}

	.p-detail .body {
		margin: 6.4em 0 0;
	}

	.p-detail-footer {
		margin: 8rem 0 0;
	}

	.p-entry-modal-inner {
		padding: 5.6rem;
	}

	.p-entry-modal .close {
		top: 3.2rem;
		right: 3.2rem;
		width: 4.4rem;
		height: 4.4rem;
		border-radius: 0.6rem;
	}

	.p-entry-modal .title .en {
		font-size: 4rem;
	}

	.p-entry-modal .btn {
		padding: 2rem 2.4rem;
		border-radius: 1.6rem;
		font-size: 1.6rem;
	}

	.p-gnav {
		height: 9.6rem;
	}

	.p-gnav .entry-btn {
		top: 7.6rem;
		right: 3.2rem;
		min-width: 11.2rem;
		padding: 1rem 1.6rem;
		font-size: 1.4rem;
		gap: 1rem;
	}

	.p-gnav .entry-btn .text {
		-webkit-transform: translateY(0.1rem);
		transform: translateY(0.1rem);
	}

	.p-gnav .menu-btn {
		top: 3.2rem;
		right: 3.2rem;
		justify-content: flex-start;
		min-width: 11.2rem;
	}

	.p-gnav .menu-btn .text {
		display: inline-block;
		font-family: 'Albert Sans', sans-serif;
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1;
		text-transform: uppercase;
		-webkit-transform: translateY(0.1rem);
		transform: translateY(0.1rem);
	}

	.p-gnav .menu-btn .menu-btn-icon {
		right: 1.6rem;
		left: auto;
	}

	.p-gnav .menu-btn .menu-btn-icon--menu {
		-webkit-transform: translate(0, -50%) rotate(0deg);
		transform: translate(0, -50%) rotate(0deg);
	}

	.p-gnav .menu-btn .menu-btn-icon--close {
		-webkit-transform: translate(0, -50%) rotate(-90deg);
		transform: translate(0, -50%) rotate(-90deg);
	}

	.p-gnav .sp-nav {
		align-items: start;
		padding: 17.6rem 24rem 12rem 9.6rem;
	}

	.p-gnav .sp-nav .menu-list {
		grid-template-columns: repeat(3, 1fr);
		gap: 8rem;
	}

	.p-gnav .sp-nav .sns-list {
		max-width: 48rem;
		margin-top: 18.6rem;
	}

	.p-gnav.is-open:not(.is-animating) .menu-btn-icon--menu {
		-webkit-transform: translate(0, -50%) rotate(90deg);
		transform: translate(0, -50%) rotate(90deg);
	}

	.p-gnav.is-open:not(.is-animating) .menu-btn-icon--close {
		-webkit-transform: translate(0, -50%) rotate(0deg);
		transform: translate(0, -50%) rotate(0deg);
	}

	.p-gnav .pc-nav {
		display: block;
		position: fixed;
		top: 14.4rem;
		right: 3.2rem;
	}

	.p-gnav .pc-nav ul {
		display: grid;
		line-height: 1.2;
		gap: 1.6rem;
	}

	.p-gnav .pc-nav ul li {
		text-align: right;
	}

	.p-gnav .pc-nav ul a {
		color: #000;
		font-size: 1.3rem;
		font-weight: 500;
		text-align: right;
	}

	.p-hero {
		max-width: 144rem;
		height: 56rem;
		margin: 0 auto;
	}

	.p-hero .wrapper {
		width: 100%;
		max-width: 124.6rem;
	}

	.p-hero .image {
		overflow: hidden;
		width: 100vw;
		height: 100%;
		margin-left: calc(50% - 50vw);
		padding-right: calc(50vw - 50%);
	}

	.p-hero .inner {
		width: 111.2rem;
		margin-inline: auto;
	}

	.p-hero picture,
  .p-hero figure {
		height: 56rem;
		border-radius: 0 0 3.2rem 0;
	}

	.p-hero .title .en {
		font-size: 9.6rem;
	}

	.p-hero .title .jp {
		font-size: 1.6rem;
	}

	.p-hero .title-large .jp {
		font-size: 7.2rem;
	}

	.p-hero.ttl-news {
		margin: 22rem auto 0;
	}

	.p-history .list {
		padding: 6.4rem;
	}

	.p-history ul::before {
		left: 11.5rem;
		height: calc(100% + 2rem);
	}

	.p-history ul li {
		grid-template-columns: 15.3rem 6.4rem 1fr;
	}

	.p-history ul li .year {
		margin-right: 6.5rem;
	}

	.p-history ul li .year::before {
		right: -3.2rem;
	}

	.p-history ul li .month {
		margin-right: 2.4rem;
	}

	.p-interview-hero .wrapper {
		display: grid;
		align-items: center;
		grid-template-columns: 1fr 52rem;
	}

	.p-interview-hero .image {
		order: 2;
	}

	.p-interview-hero .title .en {
		font-size: 8rem;
	}

	.p-interview-hero .title .jp {
		font-size: 1.6rem;
	}

	.p-interview-hero .detail {
		margin-top: 9.6rem;
	}

	.p-interview-hero .copy span {
		font-size: 4rem;
	}

	.p-interview-hero .copy span + span {
		margin-top: 0.8rem;
	}

	.p-interview-page-title {
		margin-bottom: 12rem;
		font-size: 3.2rem;
	}

	.p-interview-page .row {
		display: flex;
		gap: 12rem;
	}

	.p-interview-page .row.-reverse {
		flex-direction: row-reverse;
	}

	.p-interview-page .row + .p-interview-page-title {
		margin-top: 12rem;
	}

	.p-interview-page .row + .row {
		margin-top: 12rem;
	}

	.p-interview-page .row figure {
		flex-shrink: 0;
		width: 40rem;
	}

	.p-interview-page .row .contents + .contents {
		margin-top: 8rem;
	}

	.p-interview-page .row .contents .question {
		margin-bottom: 2.6rem;
		font-size: 2rem;
	}

	.p-interview-page .row .contents .question::before {
		top: -0.9rem;
	}

	.p-interview-slide .splide__slide a {
		width: 36rem;
	}

	.p-interview-slide .splide__arrow {
		width: 5.6rem;
		height: 5.6rem;
	}

	.p-interview-inner {
		position: relative;
		max-width: 124rem;
		-webkit-transform: translateX(-5.7rem);
		transform: translateX(-5.7rem);
		margin-inline: auto;
	}

	.p-interview-inner::before {
		content: '';
		position: absolute;
		top: 45.6rem;
		left: 0;
		width: 110vw;
		height: 1px;
		background: rgba(0, 0, 0, 0.16);
		margin-inline: calc(50% - 50vw);
	}

	.p-job-description .list {
		grid-template-columns: repeat(3, 1fr);
	}

	.p-job-tab-list {
		grid-template-columns: repeat(3, 1fr);
	}

	.p-job-tab-list .tab {
		height: 6.4rem;
	}

	.p-job-tab-list .tab img {
		width: 8.8rem;
	}

	.p-job-tab-list .tab .text {
		width: 17.8rem;
		font-size: 1.8rem;
	}

	.p-job-tab-panel .panel .head {
		padding-right: 1.2rem;
		grid-template-areas: 'title fig' 'text fig' 'link fig';
		gap: 4.8rem 12rem;
	}

	.p-job-tab-panel .panel .head .title {
		grid-area: title;
	}

	.p-job-tab-panel .panel .head .title h2 {
		font-size: 5.6rem;
		white-space: nowrap;
	}

	.p-job-tab-panel .panel .head .fig {
		width: 44.3rem;
		max-height: 30rem;
		grid-area: fig;
	}

	.p-job-tab-panel .panel .head .text {
		grid-area: text;
	}

	.p-job-tab-panel .panel .head .link {
		grid-area: link;
	}

	.p-job-tab-panel .panel .oneday .col {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.p-job-tab-panel .panel .oneday h2 {
		margin-bottom: 0;
		font-size: 4.4rem;
	}

	.p-job-tab-panel .panel .oneday .timeline {
		padding: 6.4rem;
	}

	.p-job-tab-panel .panel .oneday .timeline ul::before {
		top: 1.7rem;
		left: 18rem;
	}

	.p-job-tab-panel .panel .oneday .timeline ul li {
		display: grid;
		grid-template-columns: 18.8rem 1fr 25.6rem;
		gap: 3.2rem;
	}

	.p-job-tab-panel .panel .oneday .timeline ul li .time {
		font-size: 4.8rem;
	}

	.p-job-tab-panel .panel .oneday .timeline ul li .time::before {
		top: 1.6rem;
		right: 0;
		left: auto;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	.p-job-tab-panel .panel .oneday .timeline ul li .text {
		margin-right: 0.8rem;
	}

	.p-job-tab-panel .panel .oneday .timeline ul li h3 {
		margin-bottom: 2.4rem;
		font-size: 2.4rem;
	}

	.p-job-tab-panel .panel .oneday .timeline ul figure {
		margin-top: 0;
	}

	.p-job-tab-panel .panel.sales .fig {
		box-shadow: 12px 12px 0 #ff6200;
	}

	.p-job-tab-panel .panel.service .fig {
		box-shadow: 12px 12px 0 #26b7ff;
	}

	.p-job-tab-panel .panel.customer .fig {
		box-shadow: 12px 12px 0 #00a616;
	}

	.p-news .news-item a {
		padding: 4rem;
		grid-template-columns: 10rem 1fr 1.6rem;
		grid-template-areas: 'date title arrow';
		gap: 4.8rem;
	}

	.p-news .news-item a h3 {
		margin: 0 7.2rem 0 0;
	}

	.p-numbers .grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 3.2rem;
	}

	.p-numbers .title-box .title {
		font-size: 4rem;
	}

	.p-numbers .box {
		padding: 4.8rem 3.2rem 10rem;
	}

	.p-numbers .box h2 {
		margin-bottom: 3rem;
		font-size: 2.4rem;
	}

	.p-numbers .box .num {
		font-size: 15.2rem;
	}

	.p-numbers .box .unit {
		width: 2rem;
		font-size: 2.4rem;
	}

	.p-numbers .box:nth-child(2) img {
		width: 28.3rem;
	}

	.p-numbers .box:nth-child(4) img {
		width: 19.3rem;
	}

	.p-numbers .box:nth-child(5) img {
		right: -10.7rem;
		bottom: -5.8rem;
		width: 31.8rem;
	}

	.p-numbers .box:nth-child(6) img {
		right: -10.7rem;
		bottom: -5.8rem;
		width: 31.8rem;
	}

	.p-numbers .box:nth-child(7) img {
		width: 50.4rem;
	}

	.p-numbers .box:nth-child(8) img {
		bottom: -4.5rem;
		width: 9.1rem;
	}

	.p-numbers .box:nth-child(9) img {
		bottom: -2rem;
		width: 13.3rem;
	}

	.p-personality .c-head-col {
		margin-bottom: 25.2rem;
	}

	.p-personality .bg-image {
		position: absolute;
		top: -16rem;
		right: 0;
		overflow: hidden;
		width: 100.6rem;
		border-radius: 3.2rem;
	}

	.p-personality .box {
		max-width: 47.9rem;
		margin-top: 0;
		padding: 5.6rem;
	}

	.p-philosophy .list > li {
		display: grid;
		align-items: center;
		padding: 4rem;
		grid-template-columns: 7.2rem 1fr;
		gap: 12rem;
	}

	.p-philosophy .list > li h3 {
		margin-bottom: 0;
	}

	.p-philosophy .list > li.basic p {
		font-size: 3.2rem;
	}

	.p-philosophy .list > li.action p {
		font-size: 2.4rem;
	}

	.p-philosophy .list > li.company p {
		font-size: 2rem;
	}

	.p-philosophy .list > li.vision ul {
		font-size: 1.6rem;
	}

	.p-philosophy .list > li.vision ul li::before {
		margin-inline: 1rem;
	}

	.p-profile .list > li {
		padding: 2rem 4rem;
		gap: 12rem;
	}

	.p-recruit .lead {
		margin-bottom: 12rem;
	}

	.p-recruit .flow {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 1.6rem;
	}

	.p-recruit .flow .material-symbols-rounded {
		font-size: 3.2rem;
		-webkit-transform: rotate(-90deg);
		transform: rotate(-90deg);
		margin-block: 0;
	}

	.p-recruit .flow-item {
		width: 34.6rem;
		min-height: 22.8rem;
		padding: 5.6rem 2.4rem;
	}

	.p-recruit .flow-item .step {
		top: 2rem;
		left: 2rem;
	}

	.p-recruit .flow-item h3 {
		margin-bottom: 2.4rem;
		font-size: 2.8rem;
	}

	.p-staff-voice-nav ul {
		padding: 0 5.6rem;
		border-radius: 1.6rem;
		gap: 4.8rem;
	}

	.p-staff-voice-nav ul li a {
		font-size: 1.6rem;
	}

	.p-staff-voice .voice {
		margin: 8rem 0 0;
		grid-template-columns: repeat(3, 1fr);
	}

	.p-top-message .c-title {
		margin-bottom: 12rem;
	}

	.p-top-message .inner {
		max-width: 105.6rem;
		grid-template-columns: 1fr 46rem;
	}

	.p-top-message .title {
		width: 32rem;
	}

	.p-top-message .text {
		margin-top: 5.6rem;
		gap: 2.4rem;
	}

	.p-top-message .signature {
		margin-top: 2.4rem;
	}

	.p-vec-wrapper .vec.vec-sp {
		display: none;
	}

	.p-vec-wrapper .vec.message {
		top: -46rem;
		right: -30.2rem;
		left: auto;
		width: 153.5rem;
	}

	.p-vec-wrapper .vec.personality {
		top: -30rem;
		right: -42.5rem;
		left: auto;
		width: 255.2rem;
	}

	.p-vec-wrapper .vec.history {
		top: -69rem;
		right: auto;
		left: -69.2rem;
		width: 274.8rem;
	}

	.p-vec-wrapper .vec.interview {
		top: 8rem;
		right: auto;
		left: -28.3rem;
		width: 140.2rem;
	}

	.p-vec-wrapper .vec.interview-hero.sales {
		top: -50rem;
		right: -30.2rem;
		left: auto;
		width: 153.5rem;
	}

	.p-vec-wrapper .vec.interview-hero.service {
		top: 3rem;
		right: -47.5rem;
		left: auto;
		width: 255.2rem;
	}

	.p-vec-wrapper .vec.interview-hero.customer {
		top: -28rem;
		right: auto;
		left: -69.2rem;
		width: 274.8rem;
	}

	.p-vec-wrapper .vec.recruit {
		top: -48rem;
		right: auto;
		left: -69.2rem;
		width: 274.8rem;
	}

	.p-working-environment .benefit {
		grid-template-columns: repeat(2, 1fr);
		gap: 4rem;
	}

	.p-working-environment .benefit-item {
		padding: 5.6rem;
	}

	.p-working-environment .benefit-item h3 {
		font-size: 3.2rem;
	}

	.l-footer {
		width: 100%;
		max-width: 144rem;
		margin-top: 20rem;
		margin-inline: auto;
	}

	.l-footer::before {
		content: '';
		position: absolute;
		z-index: -1;
		right: 50%;
		width: 100vw;
		height: 100%;
		background: #939999;
	}

	.l-footer .wrapper {
		width: 124.6rem;
	}

	.l-footer .inner {
		padding: 9.6rem 8rem;
	}

	.l-footer .btn-list {
		grid-template-columns: repeat(2, 1fr);
	}

	.l-footer .btn-list .btn {
		padding: 4rem 4.8rem;
	}

	.l-footer .btn-list .btn .en {
		font-size: 3.2rem;
	}

	.l-footer .btn-list .btn .jp {
		font-size: 1.4rem;
	}

	.l-footer .btn-list .btn .jp::before {
		-webkit-transform: translateY(0.1rem);
		transform: translateY(0.1rem);
	}

	.l-footer .bottom {
		display: flex;
		justify-content: space-between;
		margin-top: 8rem;
		gap: 8rem;
	}

	.l-footer .sns-list {
		margin-top: 7.4rem;
	}

	.l-footer .sns-list a {
		padding: 1.2rem 2.4rem;
	}

	.l-footer nav > ul {
		gap: 8rem 4rem;
	}

	.l-footer nav > ul > li > a {
		min-width: 24.1rem;
		font-size: 1.6rem;
	}

	.l-footer nav > ul > li ul li a {
		font-size: 1.4rem;
	}

	.l-footer .copyright {
		margin-top: 8rem;
	}

	.l-footer .copyright small {
		text-align: right;
	}

	.l-header .inner {
		padding: 3.2rem;
	}

	.l-header .logo {
		width: 36.6rem;
	}

	.l-section-wrapper {
		max-width: 116.6rem;
		-webkit-transform: translateX(-5.7rem);
		transform: translateX(-5.7rem);
		margin-inline: auto;
		padding-inline: 0;
	}

	.l-section-inner {
		padding-left: 5.4rem;
	}

	.l-section-first {
		padding-top: 12rem;
	}

	.l-section-common {
		padding-top: 20rem;
	}

	.l-wrapper {
		top: 0 !important;
	}

	.p-home-section {
		padding-top: 20rem;
	}

	.p-kv .vec.vector-01 {
		top: -47.5694444444vw;
		right: -6.1111111111vw;
		bottom: auto;
		left: auto;
		width: 100.1388888889vw;
	}

	.p-kv .vec.vector-02 {
		top: -9.4444444444vw;
		bottom: auto;
		left: -17.3611111111vw;
		width: 119.3055555556vw;
	}

	.p-kv .vec.vector-03 {
		top: -3.4027777778vw;
		bottom: auto;
		left: -35.9722222222vw;
		width: 158.0555555556vw;
	}

	.p-kv .vec.vector-04 {
		top: -41.6666666667vw;
		bottom: auto;
		left: -24.6527777778vw;
		width: 146.6666666667vw;
	}

	.p-kv .vec.vec-sp {
		display: none;
	}

	.p-kv .fig.fig-01 {
		right: 10vw;
		bottom: -25vw;
		width: 62.5vw;
	}

	.p-kv .fig.fig-02 {
		right: 0vw;
		bottom: -13.8888888889vw;
		width: 79.8611111111vw;
	}

	.p-kv .fig.fig-03 {
		right: 10.0694444444vw;
		bottom: -15.9722222222vw;
		width: 68.0555555556vw;
	}

	.p-kv .fig.fig-04 {
		right: 9.7222222222vw;
		bottom: -25vw;
		width: 69.4444444444vw;
	}

	.p-kv .catch.catch-01 {
		top: 21.875vw;
		bottom: auto;
		left: 36.1111111111vw;
		width: 9.2361111111vw;
	}

	.p-kv .catch.catch-02 {
		top: 14.3055555556vw;
		bottom: auto;
		left: 70.625vw;
		width: 10.0694444444vw;
	}

	.p-kv .catch.catch-03 {
		top: 20.2777777778vw;
		bottom: auto;
		left: 34.7916666667vw;
		width: 10.3472222222vw;
	}

	.p-kv .catch.catch-04 {
		top: 13.8888888889vw;
		bottom: auto;
		left: 14.5833333333vw;
		width: 10.3472222222vw;
	}

	.p-kv .copy {
		bottom: 1.7361111111vw;
		left: 2.2222222222vw;
		width: 34.7222222222vw;
	}

	.p-kv .scroll {
		right: 3.2rem;
		bottom: 2.4rem;
		font-size: 1.4rem;
	}

	.p-home-news {
		width: 40rem;
	}

	.p-home-news h3 {
		-webkit-line-clamp: 2;
	}

	.p-home-news.sp {
		display: none;
	}

	.p-home-copy {
		padding-top: 60vh;
	}

	.p-home-copy .copy {
		margin-top: 0;
	}

	.p-home-copy .gradient {
		margin-inline: calc(50% - 50vw + 5.7rem);
	}

	.p-home-copy .infinite-scroll {
		height: 100%;
		margin-inline: calc(50% - 50vw + 5.7rem);
	}

	.p-home-copy picture {
		width: 54.3rem;
	}

	.p-home-copy .fig {
		border-radius: 3.2rem;
	}

	.p-home-copy .fig.fig-01 {
		top: -22.1rem;
		right: 20.7rem;
		width: 14.4rem;
	}

	.p-home-copy .fig.fig-02 {
		top: -5.8rem;
		left: -11rem;
		width: 24rem;
	}

	.p-home-copy .fig.fig-03 {
		top: 11.9rem;
		right: -5.6rem;
		width: 20rem;
	}

	.p-home-copy .fig.fig-04 {
		top: 48.8rem;
		left: 0;
		width: 17.4rem;
	}

	.p-home-copy .fig.fig-05 {
		top: 65.3rem;
		right: 4.4rem;
		width: 14.4rem;
	}

	.p-home-message {
		padding-top: 36.7rem;
	}

	.p-home-message .l-section-inner {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 57.5rem;
	}

	.p-home-message .c-title {
		margin-bottom: 6.4rem;
	}

	.p-home-message figure {
		position: absolute;
		top: 0;
		right: 5.6rem;
		width: 46rem;
	}

	.p-home-message p {
		width: 40rem;
		margin-top: 0;
	}

	.p-home-message .c-btn {
		margin-top: 6.4rem;
	}

	.p-home-works ul {
		margin-top: 8rem;
		grid-template-columns: repeat(3, 1fr);
	}

	.p-home-works ul li:nth-child(1) {
		margin-top: 6.4rem;
	}

	.p-home-works ul li:nth-child(3) {
		margin-top: 6.4rem;
	}

	.p-home-works ul li a {
		width: 100%;
		height: 56rem;
		padding: 3.2rem;
	}

	.p-home-works ul li a .text h3 {
		font-size: 3.2rem;
	}

	.p-home-works ul li a .text p {
		margin-top: 0.4rem;
	}

	.p-home-works ul li a .en {
		top: 3.2rem;
		left: 3.2rem;
	}

	.p-home-works ul li a .c-btn-arrow {
		top: 3.2rem;
		right: 3.2rem;
	}

	.p-home-image .wrapper {
		height: 64rem;
	}

	.p-home-image .inner {
		max-width: 124.6rem;
	}

	.p-home-image picture {
		height: 64rem;
		border-radius: 0 3.2rem 3.2rem 0;
	}

	.p-home-numbers .box {
		display: grid;
		padding: 7.2rem;
		grid-template-columns: 1fr 56rem;
	}

	.p-home-numbers .box figure {
		order: 2;
	}

	.p-home-numbers .box .text {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
	}

	.p-home-environment .c-head-col .c-title + p {
		max-width: 55.5rem;
	}

	.p-home-environment ul {
		grid-template-columns: repeat(2, 1fr);
	}

	.p-home-environment ul li a .text {
		padding: 2.1rem 4rem;
	}

	.p-home-environment ul li a h3 {
		font-size: 2rem;
	}

	.p-home-wrapper .vec.message {
		top: -46rem;
		right: -30.2rem;
		left: auto;
		width: 153.5rem;
	}

	.p-home-wrapper .vec.works {
		top: 62rem;
		right: auto;
		left: -28.3rem;
		width: 140.2rem;
	}

	.p-home-wrapper .vec.design {
		top: -11.6rem;
		right: auto;
		left: -69.2rem;
		width: 274.8rem;
	}

	.p-home-wrapper .vec.environment {
		top: 6.4rem;
		right: -42.5rem;
		left: auto;
		width: 255.2rem;
	}
}

@media (min-height: 600px) and (min-width: 768px) {
	.p-kv {
		min-height: 90vh;
	}
}

@media (min-height: 700px) and (min-width: 768px) {
	.p-kv {
		min-height: 80vh;
	}
}

@media (min-height: 800px) and (min-width: 768px) {
	.p-kv {
		min-height: 70vh;
	}
}

@media (min-height: 900px) and (min-width: 768px) {
	.p-kv {
		min-height: 60vh;
	}
}

@media (min-height: 1000px) and (min-width: 768px) {
	.p-kv {
		min-height: 50vh;
	}

	.p-home-copy {
		padding-top: 65vh;
	}
}

@media (min-height: 1100px) and (min-width: 768px) {
	.p-kv {
		min-height: 40vh;
	}
}

@media (min-width: 1025px) {
	.p-kv {
		min-height: 100vh;
	}
}

@media screen and (min-width: 1441px) {
	.p-vec-wrapper .vec.history {
		left: -55rem;
	}

	.p-vec-wrapper .vec.interview-hero.customer {
		left: -55rem;
	}

	.p-vec-wrapper .vec.recruit {
		left: -55rem;
	}

	.p-kv .fig.fig-01 {
		bottom: -20.8333333333vw;
		width: 55.5555555556vw;
	}

	.p-kv .fig.fig-02 {
		bottom: -13.1944444444vw;
		width: 69.4444444444vw;
	}

	.p-kv .fig.fig-03 {
		bottom: -13.8888888889vw;
		width: 59.0277777778vw;
	}

	.p-kv .fig.fig-04 {
		bottom: -25vw;
		width: 62.5vw;
	}
}

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

	body::before {
		content: '';
		position: fixed;
		z-index: -1;
		top: 0;
		left: 0;
		width: 100%;
		height: 6.8rem;
		background: linear-gradient(to bottom, rgb(246, 246, 246), rgba(246, 246, 246, 0));
	}

	.u-hide-sp {
		display: none !important;
	}

	.u-show-sp {
		display: block !important;
	}

	.u-show-br-sp {
		display: inline-block !important;
	}

	.u-ls-narrow-sp {
		letter-spacing: -0.05em;
	}

	.p-detail {
		margin-inline: -3.2rem;
	}

	.p-hero .inner {
		padding-inline: 3.2rem;
	}

	.p-interview-slide .splide__slide a figure::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100vw;
		height: 1px;
		background: rgba(0, 0, 0, 0.16);
		margin-inline: calc(50% - 50vw);
	}

	.p-personality .c-title .en {
		font-size: 4.4rem;
	}

	.p-personality .bg-image {
		width: 100vw;
		margin-inline: calc(50% - 50vw);
		aspect-ratio: 375/239;
	}

	.p-profile .list > li p {
		font-size: 1.5rem;
	}

	.p-staff-voice-nav {
		position: relative;
		margin-inline: -3.2rem;
	}

	.p-staff-voice-nav::before,
  .p-staff-voice-nav::after {
		display: flex;
		position: absolute;
		z-index: 2;
		top: 50%;
		justify-content: center;
		align-items: center;
		width: 3.2rem;
		height: 6.2rem;
		background-color: #d3dcdc;
		opacity: 0;
		color: #000;
		font-family: 'Material Symbols Rounded', sans-serif;
		font-size: 1.8rem;
		line-height: 1;
		transition: opacity 0.2s ease-in-out;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		pointer-events: none;
	}

	.p-staff-voice-nav::before {
		content: 'arrow_back';
		left: 0;
	}

	.p-staff-voice-nav::after {
		content: 'arrow_forward';
		right: 0;
	}

	.p-staff-voice-nav.is-scrollable-left::before {
		opacity: 1;
	}

	.p-staff-voice-nav.is-scrollable-right::after {
		opacity: 1;
	}

	.p-staff-voice-nav ul {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.p-staff-voice-nav ul::-webkit-scrollbar {
		display: none;
	}

	.p-staff-voice-nav ul li {
		flex-shrink: 0;
	}

	.p-staff-voice-nav ul li a {
		white-space: nowrap;
	}

	.p-top-message .signature .name {
		display: block;
	}

	.p-vec-wrapper .vec.vec-pc {
		display: none;
	}

	.l-footer .sns-list {
		grid-template-columns: repeat(3, 1fr);
	}

	.is-menu-open .l-wrapper,
  .is-modal-open .l-wrapper {
		position: fixed;
	}

	.p-kv::after {
		content: '';
		position: absolute;
		z-index: 2;
		bottom: -0.1rem;
		left: 0;
		width: 100%;
		height: 24rem;
		background: linear-gradient(to bottom, rgba(220, 229, 229, 0), rgb(220, 229, 229));
	}

	.p-kv .vec.vec-pc {
		display: none;
	}

	.p-kv .scroll {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
		-webkit-transform-origin: top right;
		transform-origin: top right;
	}

	.p-home-news {
		margin-inline: auto;
	}

	.p-home-news.pc {
		display: none;
	}

	.p-home-works .c-head-col .c-title + p {
		padding-right: 1.6rem;
		padding-left: 7.1rem;
	}

	.p-home-works ul li:nth-child(1) {
		margin-left: 1.6rem;
	}

	.p-home-works ul li:nth-child(2) {
		margin-left: 5.5rem;
	}

	.p-home-works ul li:nth-child(3) {
		margin-left: 1.6rem;
	}

	.p-home-image picture {
		aspect-ratio: 375/480;
	}

	.p-home-environment ul li:nth-child(2) a .text {
		padding: 1.3rem 2.4rem;
	}
}

@media (max-height: 600px) and (max-width: 767px) {
	.p-gnav .sp-nav .wrap {
		padding-bottom: 20vh;
	}

	.p-kv {
		min-height: 100vh;
	}
}

@media (min-height: 750px) and (max-width: 767px) {
	.p-kv .vec.vector-01 {
		bottom: 24vh;
	}

	.p-kv .vec.vector-02 {
		bottom: 12vh;
		left: -65.3333333333vh;
		width: 120vh;
	}

	.p-kv .vec.vector-03 {
		bottom: 56vh;
		left: -37.3333333333vh;
		width: 113.3333333333vh;
	}

	.p-kv .vec.vector-04 {
		bottom: 42.6666666667vh;
	}

	.p-kv .fig.fig-04 {
		right: 1.0666666667vh;
		bottom: 20vh;
	}

	.p-kv .catch.catch-01 {
		bottom: 50.6666666667vh;
	}

	.p-kv .catch.catch-03 {
		bottom: 48vh;
	}

	.p-kv .catch.catch-04 {
		bottom: 82.6666666667vh;
	}
}

@media (min-height: 750px) and (max-width: 470px) {
	.p-kv .catch.catch-04 {
		bottom: 80vh;
	}
}

@media screen and (min-width: 768px) and (max-width: 1440px) {
	html {
		font-size: 0.6944444444vw !important;
	}
}

@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 (any-hover: hover) {
	a:hover .c-btn-arrow:not(.border) {
		background-color: #000;
		color: #fff;
	}

	a:hover .c-btn-arrow:not(.border) .c-btn-arrow-icon .material-symbols-rounded {
		-webkit-animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}

	a:hover .c-btn-arrow.invert {
		background-color: #000;
		color: #fff;
	}

	a:hover .c-btn-arrow.invert .c-btn-arrow-icon .material-symbols-rounded {
		-webkit-animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}

	button:hover > .c-btn-arrow-line .c-btn-arrow-icon .material-symbols-rounded,
  a:hover > .c-btn-arrow-line .c-btn-arrow-icon .material-symbols-rounded,
  span:hover > .c-btn-arrow-line .c-btn-arrow-icon .material-symbols-rounded,
  div:hover > .c-btn-arrow-line .c-btn-arrow-icon .material-symbols-rounded {
		-webkit-animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}

	.tab:hover .c-btn-arrow-line.down .c-btn-arrow-icon {
		-webkit-animation: forward-down 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		animation: forward-down 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}

	button:hover > .c-btn-arrow-icon .material-symbols-rounded,
  a:hover > .c-btn-arrow-icon .material-symbols-rounded,
  span:hover > .c-btn-arrow-icon .material-symbols-rounded,
  div:hover > .c-btn-arrow-icon .material-symbols-rounded {
		-webkit-animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}

	button:hover > .c-btn-arrow-icon-down .material-symbols-rounded,
  a:hover > .c-btn-arrow-icon-down .material-symbols-rounded,
  span:hover > .c-btn-arrow-icon-down .material-symbols-rounded,
  div:hover > .c-btn-arrow-icon-down .material-symbols-rounded {
		-webkit-animation: forward-down 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		animation: forward-down 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}

	.c-btn:hover .c-btn-arrow-icon-reverse .material-symbols-rounded {
		-webkit-animation: forward-reverse 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		animation: forward-reverse 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}

	button:hover > .c-btn-arrow-diagonal-icon .material-symbols-rounded,
  a:hover > .c-btn-arrow-diagonal-icon .material-symbols-rounded,
  span:hover > .c-btn-arrow-diagonal-icon .material-symbols-rounded,
  div:hover > .c-btn-arrow-diagonal-icon .material-symbols-rounded {
		-webkit-animation: forward-diagonal 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		animation: forward-diagonal 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}

	.c-btn:hover {
		background-color: #000;
		color: #fff;
	}

	.c-btn:hover .c-btn-arrow-line::before {
		background-color: rgba(255, 255, 255, 0.3);
	}

	.c-btn:hover .c-btn-arrow-line .c-btn-arrow-icon .material-symbols-rounded {
		-webkit-animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}

	.c-btn:hover .c-btn-arrow-line .c-btn-arrow-icon-down .material-symbols-rounded {
		-webkit-animation: forward-down 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		animation: forward-down 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}

	.c-btn.reverse:hover {
		background-color: #fff;
		color: #000;
	}

	.c-btn.reverse:hover .c-btn-arrow-line::before {
		background-color: rgba(0, 0, 0, 0.3);
	}

	.c-link-anim:hover {
		background-position: 0 100%;
		background-size: 100% 1px;
	}

	.p-entry-modal .close:hover {
		background-color: rgba(255, 255, 255, 0.4);
	}

	.p-entry-modal .btn:hover {
		background-color: #000;
	}

	.p-gnav .entry-btn:hover {
		border-color: #07a1ee;
		color: #07a1ee;
	}

	.p-gnav .menu-btn:hover {
		background-color: #ff6200;
	}

	.p-gnav .sp-nav .menu-list > li > a:hover {
		color: #7626ff;
	}

	.p-gnav .sp-nav .sns-list a:hover {
		background-color: rgba(255, 255, 255, 0.4);
	}

	.p-gnav.is-open .menu-btn:hover {
		background-color: #000;
	}

	.p-interview-slide .splide__slide a:hover h3 {
		background-position: 0 100%;
		background-size: 100% 1px;
	}

	.p-interview-slide .splide__arrow:hover {
		opacity: 1;
	}

	.p-job-tab-list .tab:hover {
		color: #fff;
	}

	.p-job-tab-list .tab:hover img {
		-webkit-filter: grayscale(0%);
		filter: grayscale(0%);
	}

	.p-job-tab-list .tab:hover .c-btn-arrow-line::before {
		background-color: rgba(255, 255, 255, 0.3);
	}

	.p-job-tab-list .tab:hover.sales {
		background-color: #ff6200;
	}

	.p-job-tab-list .tab:hover.service {
		background-color: #26b7ff;
	}

	.p-job-tab-list .tab:hover.customer {
		background-color: #00a616;
	}

	.p-news .news-item a:hover {
		background-color: #fff;
	}

	.p-staff-voice-nav ul li a:hover {
		color: #ff6200;
	}

	.p-staff-voice .voice .voice-item a:hover h3 span {
		background-position: 0 100%;
		background-size: 100% 1px;
	}

	.l-footer .btn-list .btn:hover .c-btn-arrow .c-btn-arrow-icon .material-symbols-rounded {
		-webkit-animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
		animation: forward 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}

	.l-footer .btn-list .btn.entry:hover {
		background-color: #07a1ee;
	}

	.l-footer .btn-list .btn.recruit:hover {
		background-color: #ff6200;
	}

	.l-footer .logo:hover {
		opacity: 0.8;
	}

	.l-footer .sns-list a:hover {
		background-color: rgba(255, 255, 255, 0.2);
	}

	.l-footer nav > ul > li > a:hover {
		color: #7626ff;
	}

	.l-header .logo a:hover {
		opacity: 0.8;
	}

	.p-home-news:hover * {
		color: #7626ff;
	}

	.p-home-works ul li a:hover img {
		-webkit-transform: scale(1.05);
		transform: scale(1.05);
	}

	.p-home-environment ul li a:hover figure img {
		-webkit-transform: scale(1.05);
		transform: scale(1.05);
	}
}