body {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	color: #333;
}

.u-desktop {
	display: none;
}

.header {
	padding: clamp(12px, 1rem, 24px) clamp(16px, 1.25rem, 40px);
	height: clamp(80px, 5rem, 100px);
}

.header__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: clamp(20px, 1.25rem, 40px);
}

.header__logo {
	width: 12.5rem;
	max-width: 200px;
}

.header__logo img {
	width: 100%;
	height: auto;
}

.header__nav {
	position: absolute;
	top: clamp(80px, 5rem, 100px);
	opacity: 0;
	width: 100%;
	height: 100%;
	left: 0;
	background-color: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(10px);
	z-index: 100;
	transition: all 0.5s;
	padding: clamp(24px, 2rem, 40px) clamp(16px, 1.25rem, 40px);
	gap: clamp(16px, 1.5rem, 32px);
	display: flex;
	flex-direction: column;
	align-items: center;
	pointer-events: none;
}

.header__nav.active {
	opacity: 1;
	pointer-events: auto;
}

.header__nav-list {
	display: flex;
	flex-direction: column;
	gap: clamp(16px, 1rem, 20px);
	justify-content: center;
	align-items: center;
}

.header__nav-item a {
	font-size: clamp(14px, 0.9375rem, 18px);
}

.header__nav__btns {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: clamp(12px, 1.125rem, 26px);
}

.header__nav__btns a {
	width: clamp(110px, 11.125rem, 200px);
	height: clamp(32px, 3.25rem, 60px);
	border-radius: 3.75rem;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(14px, 1rem, 20px);
	font-weight: 600;
	border: 1px solid #1F190C;
	font-family: "Noto Sans JP", sans-serif;
	transition: all 0.3s;
	cursor: pointer;
}

.header__nav__btns a.white {
	background-color: #fff;
	color: #1F190C;
}

.header__nav__btns a.white:hover {
	background-color: #1F190C;
	color: #fff;
}

.header__nav__btns a.black {
	background-color: #1F190C;
	color: #fff;
}

.header__nav__btns a.black:hover {
	background-color: #fff;
	color: #1F190C;
}

.header__humburger {
	display: flex !important;
	flex-direction: column;
	gap: 9px;
	width: 50px;
	height: 50px;
	justify-content: center;
	align-items: center;
}

.header__humburger-line {
	width: 100%;
	height: 2px;
	background-color: #333;
	display: block;
	transition: transform 0.3s;
}

.header__humburger.active .header__humburger-line {
	position: absolute;
	width: 50px;
}

.header__humburger.active .header__humburger-line:nth-child(1) {
	transform: rotate(45deg);
}

.header__humburger.active .header__humburger-line:nth-child(2) {
	opacity: 0;
}

.header__humburger.active .header__humburger-line:nth-child(3) {
	transform: rotate(-45deg);
}

.btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	font-size: clamp(14px, 1rem, 20px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333;
	border: 1px solid #333;
	padding: 0.6875rem 1rem;
	width: min(300px, 100%);
	height: clamp(40px, 3.25rem, 60px);
	border-radius: 100px;
	transition: all 0.3s;
	font-family: "Noto Sans JP", sans-serif;
	background-color: #fff;
}

.btn:hover {
	background-color: #333;
	color: #fff;
}

.btn:hover .arrow-wrapper {
	background-color: #fff;
}

.btn:hover .arrow {
	background-color: #333;
}

.btn:hover .arrow::before {
	border-color: #333;
}

.btn.black {
	background-color: #333;
	color: #fff;
}

.btn.black:hover {
	background-color: #fff;
	color: #333;
}

.btn.black:hover .arrow-wrapper {
	background-color: #333;
}

.btn.black:hover .arrow {
	background-color: #fff;
}

.btn.black:hover .arrow::before {
	border-color: #fff;
}

.btn.black .arrow-wrapper {
	border-color: #fff;
}

.btn .arrow-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	width: clamp(20px, 1.9375rem, 36px);
	height: clamp(20px, 1.9375rem, 36px);
	background-color: #333;
	border-radius: 50%;
	border: 1px solid #333;
}

.btn .arrow {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	position: relative;
	width: 1em;
	height: 0.08em;
	background: #fff;
	z-index: 1;
}

.btn .arrow::before {
	content: "";
	width: 0.6em;
	height: 0.6em;
	border: 0.08em solid currentColor;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: -0.08em;
	box-sizing: border-box;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
	overflow-x: hidden;
}

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

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

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

/* Set core root defaults */

html {
	scroll-behavior: smooth;
}

/* Set core body defaults */

body {
	min-height: 100vh;
	text-rendering: optimizeLegibility;
	line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	max-width: 100%;
	display: block;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

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

select::-ms-expand {
	display: none;
}

/* ホバー */

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

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

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

.header {
	padding: 2.5rem 4.375rem;
	height: auto;
}

.header__nav {
	position: static;
	right: 0;
	width: auto;
	height: auto;
	background-color: transparent;
	z-index: auto;
	display: flex;
	gap: clamp(24px, 2.5rem, 56px);
	align-items: center;
	padding: 0;
	flex-direction: row;
	opacity: 1;
	pointer-events: auto;
}

.header__nav-list {
	flex-direction: row;
	gap: clamp(16px, 1.5rem, 32px);
}

.header__nav-item a {
	font-size: 1rem;
	position: relative;
	padding-bottom: 5px;
	color: #333;
}

.header__nav-item a::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 1px;
	background-color: #1F190C;
	transition: all 0.3s;
}

.header__nav-item a:hover::after {
	width: 100%;
}

.header__nav__btns {
	flex-direction: row;
	gap: clamp(12px, 1.125rem, 26px);
}

.header__nav__btns a {
	font-size: 1rem;
	width: 11.125rem;
	height: 3.25rem;
}

.header__humburger {
	display: none !important;
}

.btn {
	width: 11.125rem;
	height: 3.25rem;
	font-size: 1rem;
}

.btn .arrow-wrapper {
	width: 1.9375rem;
	height: 1.9375rem;
}

html {
	font-size: 1.3333333333vw;
}

}

@media (min-width: 1200px) {

html {
	font-size: 16px;
}

}

@media (max-width: 1000px) {

html {
	font-size: 4.2666666667vw;
}

}

.u-desktop {
	display: none;
}

.mv {
	position: relative;
	background-color: #F4F4F4;
	background-image: linear-gradient(rgba(244, 244, 244, 0.8117647059), rgba(244, 244, 244, 0.8117647059)), url(".././images/recruit/noise.webp");
	background-repeat: repeat;
	background-size: 10px;
	padding: 3.125rem 1.25rem 3.75rem 1.25rem;
	z-index: 1;
}

.mv::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(".././images/recruit/recuruit_mv_bg.svg");
	background-size: contain;
	background-position: 100% 10%;
	background-repeat: no-repeat;
	z-index: -1;
}

.mv::after {
	content: "Digital marketing";
	position: absolute;
	bottom: 0em;
	left: 0;
	color: rgba(177, 177, 177, 0.2);
	z-index: 1;
	font-size: clamp(40px, 3.5rem, 180px);
	font-family: "Mohave", sans-serif;
	font-weight: 600;
	white-space: nowrap;
	line-height: 1;
}

.mv__inner {
	display: flex;
	width: 100%;
	margin: 0 auto;
	flex-direction: column;
	align-items: flex-start;
	gap: clamp(24px, 1.875rem, 40px);
}

.mv__text {
	width: 100%;
}

.mv__image {
	width: 100%;
}

.mv__title {
	display: flex;
	flex-direction: column;
	gap: clamp(8px, 1rem, 24px);
	margin-bottom: clamp(16px, 1.5rem, 32px);
}

.mv__title-ja {
	font-size: clamp(16px, 1rem, 24px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #5A5F75;
}

.mv__title-en {
	font-family: "Mohave", sans-serif;
	font-size: clamp(24px, 3.125rem, 80px);
	font-weight: 500;
	line-height: 1;
	transform: translateX(-0.07em);
	color: #5A5F75;
}

.mv__catch {
	font-size: clamp(24px, 2.1875rem, 60px);
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: clamp(16px, 1.5rem, 40px);
}

.mv__catch-text {
	display: inline-block;
	text-indent: -0.6em;
}

.mv__catch .ls-03 {
	letter-spacing: -0.5em;
}

.mv__catch .ls-02 {
	letter-spacing: -0.5em;
}

.mv__text-text {
	font-size: clamp(16px, 1rem, 18px);
	font-weight: 400;
	line-height: 1.5;
	width: 100%;
}

.mv__image {
	display: flex;
	gap: clamp(16px, 1.5rem, 32px);
	align-items: flex-start;
}

.mv__image .slide1 {
	width: 40.7124681934vw;
	aspect-ratio: 428.5/875;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: clamp(10px, 0.625rem, 20px);
}

.mv__image .slide2 {
	overflow: hidden;
	width: 40.7124681934vw;
	aspect-ratio: 428.5/875;
	display: flex;
	flex-direction: column;
	gap: clamp(10px, 0.625rem, 20px);
}

.mv__image .swiper {
	width: 40.7124681934vw;
	aspect-ratio: 428.5/875;
}

.mv__image .swiper-wrapper {
	width: 40.7124681934vw;
	aspect-ratio: 428.5/875;
	transition-timing-function: linear;
}

.mv__image .swiper-slide {
	width: 40.7124681934vw;
	aspect-ratio: 428.5/875;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 10px;
}

.mv__image .swiper-slide img {
	width: 40.7124681934vw;
	aspect-ratio: 428.5/673;
	user-select: none;
	-webkit-user-drag: none;
	-moz-user-select: none;
	pointer-events: none;
	object-fit: cover;
}

.mv__image .slide_objects {
	display: flex;
	gap: clamp(10px, 0.625rem, 20px);
}

.mv__image .slide_objects .slide_object {
	height: 17.9487179487vw;
}

.mv__image .slide_objects .slide_object.long {
	width: 41.0256410256vw;
	background-color: #D1D0D0;
	aspect-ratio: 284/183;
}

.mv__image .slide_objects .slide_object.short {
	width: 20.5128205128vw;
	background-image: url(".././images/recruit/mv_slide_object.webp");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.6;
	aspect-ratio: 128/183;
}

.candidate {
	padding: 3.125rem 1.25rem clamp(50px, 3.75rem, 80px) 1.25rem;
}

.candidate__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: clamp(16px, 2.5rem, 60px);
	flex-direction: column-reverse;
}

.candidate__image {
	width: 100%;
	height: 21.875rem;
	position: relative;
}

.candidate__image-top {
	width: 100%;
	height: auto;
	width: 11.25rem;
	height: 13.75rem;
	margin-left: auto;
	opacity: 1;
	border-radius: 16px;
}

.candidate__image-bottom {
	width: 11.25rem;
	height: 13.75rem;
	top: 6.25rem;
	position: absolute;
	opacity: 1;
	border-radius: 16px;
}

.candidate__text {
	width: 100%;
}

.candidate__text p {
	font-size: clamp(16px, 1rem, 20px);
	font-weight: 400;
	line-height: 1.6;
	margin-bottom: clamp(16px, 1.5rem, 40px);
	letter-spacing: 0.05em;
}

.candidate__title {
	display: flex;
	flex-direction: column;
	gap: clamp(8px, 1rem, 24px);
	margin-bottom: clamp(16px, 1.5rem, 40px);
}

.candidate__title-en {
	font-family: "Mohave", sans-serif;
	font-size: clamp(30px, 2.5rem, 60px);
	font-weight: 500;
	line-height: 1;
	color: #5A5F75;
}

.candidate__title-ja {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	font-size: clamp(18px, 1.25rem, 28px);
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.candidate__btns {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(16px, 1.5rem, 32px);
	justify-content: center;
	align-items: center;
}

.candidate__btns .btn {
	width: min(100%, 300px);
}

.work {
	padding: 3.125rem 1.25rem clamp(50px, 3.75rem, 80px) 1.25rem;
	background-image: url(".././images/recruit/work_bg.webp");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	z-index: 1;
}

.work__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.work__title {
	font-size: clamp(30px, 2.5rem, 60px);
	font-weight: 500;
	line-height: 1;
	display: flex;
	justify-content: left;
	align-items: center;
	gap: 1rem;
	margin-bottom: clamp(16px, 1.5rem, 40px);
}

.work__title-en {
	font-family: "Mohave", sans-serif;
	font-size: clamp(30px, 2.5rem, 60px);
	font-weight: 500;
	line-height: 1;
	color: rgba(255, 255, 255, 0.5);
}

.work__title-ja {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	font-size: clamp(14px, 0.875rem, 18px);
	line-height: 1.7;
	letter-spacing: 0.05em;
	color: #fff;
}

.work__content {
	display: flex;
	flex-direction: column;
	gap: clamp(24px, 2rem, 40px);
}

.work__content__left {
	width: 100%;
	display: flex;
	gap: clamp(16px, 1.5rem, 40px);
	flex-direction: row-reverse;
}

.work__content__left__container {
	display: flex;
	gap: clamp(16px, 1.5rem, 32px);
	justify-content: space-between;
	flex-direction: column;
}

.work__content__left__container__item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	gap: clamp(16px, 1.5rem, 32px);
	position: relative;
	width: 100%;
}

.work__content__left__container__item__balloon {
	left: 0;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.94);
	border-radius: 15px;
	padding: clamp(12px, 1.25rem, 28px) clamp(12px, 1.25rem, 28px);
	z-index: 5;
	pointer-events: none;
	transition: all 0.3s ease;
	box-sizing: content-box;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
}

.work__content__left__container__item__balloon.active {
	opacity: 1;
	pointer-events: auto;
	max-height: 100%;
}

.work__content__left__container__item__balloon .title {
	font-size: clamp(14px, 1rem, 18px);
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.05em;
	color: #333;
	border-left: 2px solid #263892;
	padding-left: 0.375rem;
	margin-bottom: 0.8125rem;
}

.work__content__left__container__item__balloon .text {
	font-size: clamp(14px, 0.875rem, 16px);
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
}

.work__content .space {
	width: 6.25rem;
	position: relative;
	display: none;
}

.work__content .space__balloon {
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	left: 50%;
	width: 7.0625rem;
	height: 7.0625rem;
	background-color: #95A2B1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.work__content .space__balloon p {
	font-size: 0.75rem;
	font-weight: 500;
	text-align: center;
	line-height: 0.84;
	letter-spacing: 0.05em;
	color: #fff;
}

.work__content .space__balloon p span {
	line-height: 1.8;
}

.work__content .space__balloon::after {
	content: "";
	position: absolute;
	bottom: -0.5625rem;
	left: 50%;
	transform: translateX(-50%);
	width: 0.78125rem;
	height: 0.59375rem;
	background-color: #95A2B1;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
}

.work__content__right {
	width: 100%;
	display: flex;
	gap: clamp(16px, 1.5rem, 32px);
	flex-direction: row-reverse;
}

.work__content__right__container {
	display: flex;
	gap: clamp(16px, 1.5rem, 32px);
	width: 100%;
}

.work__content__title {
	font-size: clamp(14px, 1rem, 18px);
	font-weight: 400;
	font-family: "Marcellus", serif;
	color: #fff;
	border: 0.8px solid #fff;
	padding: 0.0625rem clamp(5px, 0.625rem, 15px);
	border-radius: 24px;
	text-align: center;
	writing-mode: vertical-lr;
}

.work__content__left__container__item h4 {
	font-size: clamp(14px, 0.9375rem, 16px);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.05em;
	color: #333;
	background-color: #fff;
	padding: 9.5px 10px;
	border-radius: 50px;
	width: 100%;
	text-align: center;
	height: clamp(35px, 2.5rem, 50px);
	display: flex;
	justify-content: center;
	align-items: center;
}

.work__content__left__container__item__img {
	border: 1px solid #fff;
	border-radius: 50%;
	padding: 0.4375rem;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.work__content__left__container__item__img img {
	aspect-ratio: 1;
	max-width: 300px;
}

.work__content__left__container__item__img::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -3.5625rem;
	width: 3.5rem;
	height: 1px;
	background-color: #fff;
	display: none;
}

.work__content__left__container__item__img.long::after {
	width: 6.25rem;
	right: -6.3125rem;
}

.work__content__left__container__item__img.long .arrow {
	right: -3.375rem;
}

.work__content__left__container__item__img.short::after {
	width: 1.875rem;
	right: -1.9375rem;
}

.work__content__left__container__item__img.short .arrow {
	right: -2rem;
}

.work__content__left__container__item__img .arrow {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	position: absolute;
	right: -2.0625rem;
	display: none;
}

.work__content__left__container__item__img .arrow::before,
.work__content__left__container__item__img .arrow::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	right: 0;
	width: 12px;
	height: 1px;
	border-radius: 9999px;
	background-color: #fff;
	transform-origin: calc(100% - 0.5px) 50%;
}

.work__content__left__container__item__img .arrow::before {
	transform: rotate(37.5deg);
}

.work__content__left__container__item__img .arrow::after {
	transform: rotate(-37.5deg);
}

.company {
	padding: 3.125rem 1.25rem clamp(50px, 3.75rem, 80px) 1.25rem;
}

.company__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: clamp(24px, 2.5rem, 50px);
	max-width: 1200px;
	margin: 0 auto;
	flex-direction: column;
}

.company__text {
	width: 100%;
}

.company__text p {
	font-size: clamp(14px, 1rem, 18px);
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
	margin-bottom: clamp(16px, 1.5rem, 40px);
}

.company__title {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	margin-bottom: clamp(16px, 1.5rem, 40px);
}

.company__title-en {
	font-family: "Mohave", sans-serif;
	font-size: clamp(30px, 2.5rem, 60px);
	font-weight: 500;
	line-height: 1;
	color: #5A5F75;
}

.company__title-ja {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	font-size: clamp(14px, 0.875rem, 18px);
	line-height: 1.7;
	letter-spacing: 0.05em;
	color: #5A5F75;
}

.company__btn {
	margin: 0 auto;
}

.company__content {
	width: 100%;
}

.company__content img {
	width: 100%;
	height: auto;
	margin-bottom: clamp(16px, 1.5rem, 40px);
}

.company__content__list {
	display: flex;
	flex-direction: column;
	align-items: end;
}

.company__content__list__item {
	width: 100%;
}

.company__content__list__item__text {
	display: flex;
	flex-direction: column;
}

.company__content__list__item__text .en {
	font-family: "Mohave", sans-serif;
	font-size: clamp(12px, 0.75rem, 14px);
	font-weight: 500;
	line-height: 1;
	color: #D9D9D9;
}

.company__content__list__item__text .ja {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: clamp(14px, 1rem, 18px);
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
}

.company__content__list__item a {
	display: flex;
	padding: 1rem 0.75rem 1.125rem;
	border-bottom: 1px solid #D9D9D9;
	width: 100%;
	justify-content: space-between;
	align-items: center;
}

.company__content__list__item a .arrow-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	width: clamp(20px, 1.9375rem, 36px);
	height: clamp(20px, 1.9375rem, 36px);
	background-color: #333;
	border-radius: 50%;
	border: 1px solid #333;
	font-size: 20px;
}

.company__content__list__item a .arrow {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	position: relative;
	width: 0.8em;
	height: 0.08em;
	background: #fff;
	z-index: 1;
}

.company__content__list__item a .arrow::before {
	content: "";
	width: 0.5em;
	height: 0.5em;
	border: 0.08em solid currentColor;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: -0.08em;
	box-sizing: border-box;
}

.company__bottom__image {
	max-width: 1200px;
	margin: 0 auto;
	margin-top: clamp(50px, 3.75rem, 80px);
	position: relative;
	height: clamp(160px, 12.5rem, 250px);
}

.company__bottom__image::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 100vw;
	height: 100%;
	background-image: url(".././images/recruit/company_bottom_image.webp");
	background-size: cover;
	background-position: bottom 20% right 20%;
	background-repeat: no-repeat;
	z-index: -1;
	border-radius: 0 70px 70px 0;
}

.members {
	padding: 3.125rem 1.25rem clamp(50px, 3.75rem, 80px) 1.25rem;
	position: relative;
	overflow-x: hidden;
}

.members__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.members__title {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	margin-bottom: clamp(16px, 1.5rem, 40px);
}

.members__title-en {
	font-family: "Mohave", sans-serif;
	font-size: clamp(30px, 2.5rem, 60px);
	font-weight: 500;
	line-height: 1;
	color: #5A5F75;
}

.members__title-ja {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	font-size: clamp(14px, 0.875rem, 18px);
	line-height: 1.7;
	letter-spacing: 0.05em;
	color: #5A5F75;
}

.members__container {
	overflow-x: visible;
}

.members__container .members__swiper {
	margin-bottom: 3.5rem;
	overflow: visible;
}

.members__container .members__swiper .swiper-wrapper {
	overflow-x: visible;
}

.members__container .members__swiper .swiper-slide {
	overflow-x: visible;
}

.members__container .members__swiper .swiper-slide-active {
	overflow-x: visible;
}

.members__container .swiper-slide {
	height: auto;
}

.members__container__item {
	padding: 0.75rem 1.125rem 1.25rem;
	box-shadow: 4px 4px 10px 0px rgba(218, 218, 218, 0.3019607843);
	width: 100%;
	height: 100%;
}

.members__container__item__img {
	width: 100%;
	height: auto;
	margin: 0 auto 1rem;
	max-width: 300px;
}

.members__container__item__text__info__job {
	display: flex;
	flex-direction: column;
	margin-bottom: clamp(8px, 0.625rem, 16px);
}

.members__container__item__text__info__job span {
	font-size: clamp(14px, 0.875rem, 16px);
}

.members__container__item__text__info__name {
	font-size: clamp(18px, 1.25rem, 24px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333;
	margin-bottom: clamp(16px, 1.125rem, 24px);
}

.members__container__item__text__info__name small {
	font-size: clamp(16px, 1rem, 20px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333;
}

.members__container__item__text__info__name.fs20 {
	font-size: clamp(20px, 1.25rem, 24px);
}

.members__container__item__text__info__name.fs22 {
	font-size: clamp(22px, 1.375rem, 26px);
}

.members__container__item__text__info__text {
	font-size: clamp(14px, 0.875rem, 16px);
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
}

.members__container__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.members__container__bottom .members__container__bottom__btn {
	width: min(300px, 100%);
	margin: 0 auto;
}

.members__container__bottom .members__container__bottom__btn a {
	display: flex;
	width: 100%;
	height: clamp(40px, 3.25rem, 60px);
	border-radius: 100px;
	border: 1px solid #333;
}

.members__container .arrows {
	gap: 1.875rem;
	display: none;
}

.members__container .swiper-button-prev {
	width: clamp(40px, 2.5rem, 65px);
	height: clamp(40px, 2.5rem, 65px);
	background-color: #333;
	border-radius: 50%;
	border: 1px solid #333;
	position: absolute;
}

.members__container .swiper-button-prev::after {
	font-size: clamp(14px, 1rem, 20px);
	color: #fff;
}

.members__container .swiper-button-prev.u-mobile {
	display: flex !important;
}

.members__container .swiper-button-next {
	width: clamp(40px, 2.5rem, 65px);
	height: clamp(40px, 2.5rem, 65px);
	background-color: #333;
	border-radius: 50%;
	border: 1px solid #333;
	position: absolute;
}

.members__container .swiper-button-next::after {
	font-size: clamp(14px, 1rem, 20px);
	color: #fff;
}

.members__container .swiper-button-next.u-mobile {
	display: flex !important;
}

.environment {
	padding: clamp(50px, 3.75rem, 80px) 0 clamp(50px, 5rem, 100px);
	position: relative;
	overflow-x: hidden;
	max-width: 100%;
	margin: 0 auto;
	background-color: #B2B7C9;
	z-index: 2;
}

.environment__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}

.environment__title {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	margin-bottom: 2.5rem;
	border-bottom: 1px solid #fff;
	padding: 1.25rem 0;
}

.environment__title-en {
	font-family: "Mohave", sans-serif;
	font-size: clamp(30px, 2.5rem, 60px);
	font-weight: 500;
	line-height: 1;
	color: #fff;
}

.environment__title-ja {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	font-size: clamp(14px, 0.875rem, 18px);
	line-height: 1.7;
	letter-spacing: 0.05em;
	color: #fff;
}

.environment__contents1 {
	margin-bottom: 3.75rem;
}

.environment__contents h3 {
	font-size: clamp(20px, 1.25rem, 32px);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
	margin-bottom: clamp(16px, 1.25rem, 24px);
	color: #fff;
	display: flex;
	width: 100%;
	justify-content: space-between;
	align-items: center;
}

.environment__contents h3 .arrow-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	width: clamp(30px, 2.25rem, 42px);
	height: clamp(30px, 2.25rem, 42px);
	background-color: #fff;
	border-radius: 50%;
	border: 1px solid #fff;
}

.environment__contents h3 .arrow-wrapper .arrow {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	position: relative;
	width: 0.6em;
	height: 0.07em;
	background: #333;
	z-index: 1;
}

.environment__contents h3 .arrow-wrapper .arrow::before {
	content: "";
	width: 0.4em;
	height: 0.4em;
	border: 0.08em solid #333;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: -0.08em;
	box-sizing: border-box;
}

.environment__contents__wrapper {
	display: flex;
	gap: clamp(10px, 0.75rem, 18px);
	flex-wrap: nowrap;
	width: fit-content;
}

.environment__contents__wrapper__item {
	width: clamp(200px, 18.75rem, 380px);
	background-color: #fff;
	border-radius: 15px;
	padding: 0.75rem;
}

.environment__contents__wrapper__item h4 {
	font-size: clamp(14px, 1rem, 20px);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
	padding-bottom: 0.3125rem;
	border-bottom: 1px solid #D9D9D9;
	margin-bottom: 0.625rem;
	padding-left: clamp(6px, 0.375rem, 15px);
}

.environment__contents__wrapper__item__img {
	padding: 0.625rem 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.environment__contents__wrapper__item__link a {
	display: flex;
	justify-content: right;
	align-items: center;
	gap: 0.5rem;
	font-size: clamp(12px, 0.875rem, 16px);
	font-weight: 700;
	color: #333;
}

.environment__contents__wrapper__item__link a .arrow-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.5625rem;
	height: 1.5625rem;
	background-color: #333;
	border-radius: 50%;
	border: 1px solid #333;
}

.environment__contents__wrapper__item__link a .arrow-wrapper .arrow {
	display: inline-block;
	vertical-align: middle;
	color: #333;
	line-height: 1;
	position: relative;
	width: 0.6em;
	height: 0.08em;
	background: #fff;
	z-index: 1;
}

.environment__contents__wrapper__item__link a .arrow-wrapper .arrow::before {
	content: "";
	width: 0.4em;
	height: 0.4em;
	border: 0.08em solid #fff;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: -0.08em;
	box-sizing: border-box;
}

.environment__contents2 .environment__contents__wrapper__item {
	background-color: #5A5F75;
}

.environment__contents2 .environment__contents__wrapper__item h4 {
	font-size: clamp(14px, 1rem, 20px);
	font-weight: 700;
	line-height: 1.6;
	color: #fff;
	padding-left: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.environment__contents2 .environment__contents__wrapper__item h4 .arrow-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
}

.environment__contents2 .environment__contents__wrapper__item h4 .arrow-wrapper .arrow {
	display: inline-block;
	vertical-align: middle;
	color: #333;
	line-height: 1;
	position: relative;
	width: 1.2em;
	height: 0.08em;
	background: #fff;
	z-index: 1;
}

.environment__contents2 .environment__contents__wrapper__item h4 .arrow-wrapper .arrow::before {
	content: "";
	width: 0.6em;
	height: 0.6em;
	border: 0.08em solid #fff;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: -0.08em;
	box-sizing: border-box;
}

.environment__contents2 .environment__contents__wrapper__item__text {
	font-size: clamp(14px, 0.875rem, 16px);
	font-weight: 400;
	line-height: 1.6;
	color: #fff;
}

.scroll__wrap {
	overflow-x: auto;
	width: 100%;
}

.job {
	padding: 5rem 0 clamp(50px, 5rem, 100px) 20px;
	position: relative;
	z-index: 1;
}

.job::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% + clamp(160px, 12.5rem, 250px) / 2);
	background-color: #F4F4F4;
	z-index: -1;
}

.job__title {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	margin-bottom: 1.875rem;
}

.job__title-en {
	font-family: "Mohave", sans-serif;
	font-size: clamp(30px, 2.5rem, 60px);
	font-weight: 500;
	line-height: 1;
	color: #5A5F75;
}

.job__title-ja {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	font-size: clamp(14px, 0.875rem, 18px);
	line-height: 1.7;
	letter-spacing: 0.05em;
	color: #5A5F75;
}

.job__inner__left {
	padding-right: 20px;
}

.job__inner__left__sticky ul {
	padding-left: clamp(16px, 1.875rem, 30px);
	display: flex;
	gap: clamp(14px, 1.0625rem, 20px) clamp(40px, 3.125rem, 50px);
	flex-wrap: wrap;
	margin-bottom: clamp(20px, 1.875rem, 40px);
}

.job__inner__left__sticky ul li {
	position: relative;
	width: fit-content;
}

.job__inner__left__sticky ul li.active::before {
	content: "";
	position: absolute;
	top: 50%;
	left: clamp(-30px, -1.875rem, -16px);
	width: 100%;
	height: 100%;
	transform: translateY(-50%);
	background-color: #5A5F75;
	border-radius: 50%;
	width: clamp(16px, 1.125rem, 23px);
	height: clamp(16px, 1.125rem, 23px);
}

.job__inner__left__sticky ul li.active a::after {
	content: "";
	position: absolute;
	bottom: -0.1875rem;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #5A5F75;
	width: 100%;
	height: 1px;
}

.job__inner__left__sticky ul li a {
	font-size: clamp(13px, 0.875rem, 16px);
	font-weight: 400;
	color: #333;
	position: relative;
	display: block;
	width: fit-content;
}

.job__inner__left__sticky ul li a::after {
	content: "";
	position: absolute;
	bottom: -0.1875rem;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #5A5F75;
	width: 0;
	height: 1px;
	transition: width 0.3s;
}

.job__inner__left__sticky ul li a:hover::after {
	width: 100%;
}

.job__inner__right {
	width: 100%;
	background-color: #fff;
	padding: clamp(40px, 3.125rem, 70px) clamp(20px, 1.25rem, 40px) clamp(50px, 5rem, 100px);
	border-radius: 50px 0 0 50px;
	position: relative;
}

.job__inner__right__content {
	display: none;
}

.job__inner__right__content.active {
	display: block;
}

.job__inner__right__top {
	margin-bottom: clamp(20px, 1.5rem, 30px);
}

.job__inner__right__top h3 {
	font-size: clamp(18px, 1.5rem, 28px);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
	margin-bottom: clamp(24px, 1.75rem, 32px);
	color: #333;
}

.job__inner__right__top p {
	font-size: clamp(14px, 1rem, 18px);
	font-weight: 400;
	line-height: 1.6;
	color: #333;
	letter-spacing: 0.05em;
}

.job__inner__right__item {
	border-bottom: 1px solid #D9D9D9;
	padding: clamp(16px, 1.5rem, 28px) 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: clamp(12px, 1rem, 20px);
}

.job__inner__right__item:first-of-type {
	border-top: 1px solid #D9D9D9;
}

.job__inner__right__item:last-of-type {
	margin-bottom: clamp(32px, 2.5rem, 60px);
}

.job__inner__right__item dt {
	font-size: clamp(16px, 1.125rem, 20px);
	font-weight: 700;
	line-height: 1.6;
	color: #333;
	letter-spacing: 0.05em;
}

.job__inner__right__item dd {
	font-size: clamp(14px, 1rem, 16px);
	font-weight: 400;
	line-height: 2;
	color: #333;
	letter-spacing: 0.05em;
}

.job__inner__right__item dd ul {
	padding-left: clamp(8px, 0.75rem, 12px);
	display: flex;
	flex-direction: column;
	gap: clamp(4px, 0.25rem, 10px);
}

.job__inner__right__item dd ul li {
	position: relative;
	font-size: clamp(14px, 1rem, 16px);
	font-weight: 400;
	line-height: 2;
	color: #333;
	letter-spacing: 0.05em;
}

.job__inner__right__item dd ul li::before {
	content: "";
	position: absolute;
	top: 0.9em;
	left: -0.75rem;
	width: 4px;
	height: 4px;
	background-color: #333;
	border-radius: 50%;
}

.job__inner__right__btn {
	margin-top: clamp(32px, 2.5rem, 50px);
	display: flex;
	justify-content: center;
}

.flow {
	position: relative;
	z-index: 1;
	overflow-x: hidden;
	padding: 0 20px clamp(40px, 3.125rem, 70px) 20px;
}

.flow__top__image {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	height: clamp(160px, 12.5rem, 250px);
}

.flow__top__image::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	background-image: url(".././images/recruit/company_bottom_image.webp");
	background-size: cover;
	background-position: bottom 20% right 20%;
	background-repeat: no-repeat;
	z-index: -1;
	border-radius: 70px 0 0 70px;
}

.flow__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.flow__title {
	display: flex;
	align-items: center;
	gap: clamp(16px, 1.5rem, 32px);
	margin: clamp(40px, 5rem, 100px) 0 clamp(40px, 3.125rem, 60px);
}

.flow__title-en {
	font-family: "Mohave", sans-serif;
	font-size: clamp(30px, 2.5rem, 60px);
	font-weight: 500;
	line-height: 1;
	color: #5A5F75;
}

.flow__title-ja {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	font-size: clamp(14px, 0.875rem, 18px);
	line-height: 1.7;
	letter-spacing: 0.05em;
	color: #5A5F75;
}

.flow__contents {
	display: flex;
	justify-content: space-between;
	gap: clamp(32px, 3.125rem, 60px);
	flex-direction: column;
	align-items: center;
}

.flow__contents__item {
	display: flex;
	align-items: center;
	position: relative;
	justify-content: space-between;
	background-color: #F4F4F4;
	padding: 1.875rem 1.25rem;
	gap: clamp(16px, 1.5rem, 32px);
	max-width: 500px;
	width: 100%;
}

.flow__contents__item .num {
	font-family: "Mohave", sans-serif;
	font-size: clamp(40px, 3rem, 64px);
	font-weight: 400;
	line-height: 1;
	color: #848484;
	position: absolute;
	top: -0.3em;
	left: -0.2em;
}

.flow__contents__item img {
	width: clamp(60px, 4.8125rem, 110px);
}

.flow__contents__item h3 {
	font-size: clamp(14px, 1rem, 18px);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
	text-align: center;
	border-bottom: 1px solid #D9D9D9;
	padding-bottom: clamp(8px, 0.75rem, 20px);
	width: 10.625rem;
	margin-bottom: clamp(12px, 1rem, 24px);
}

.flow__contents__item h3.lh32 {
	line-height: 1.6;
}

.flow__contents__item p {
	font-size: clamp(14px, 0.9375rem, 18px);
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
	text-align: center;
}

.flow__contents__item__details__wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1;
}

.flow__contents__item__detail {
	font-size: clamp(12px, 0.875rem, 16px);
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
	text-align: center;
	background-color: #848484;
	display: flex;
	width: clamp(100px, 8.5rem, 160px);
	height: clamp(30px, 2.25rem, 40px);
	align-items: center;
	justify-content: center;
	color: #fff;
}

.flow__contents__item__detail + .flow__contents__item__detail {
	margin-top: 0.75rem;
}

.flow__contents__item::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translate(-50%, 50%) rotate(90deg);
	width: 1rem;
	height: 0.75rem;
	bottom: calc(clamp(-60px, -3.125rem, 32px) / 2);
	background-image: url(".././images/recruit/flow_item_after_arrow.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.flow__contents__item:last-of-type::after {
	display: none;
}

.faq {
	padding: clamp(40px, 3.125rem, 75px) 20px clamp(50px, 5rem, 100px);
}

.faq__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.faq__title {
	display: flex;
	align-items: center;
	gap: clamp(16px, 1.5rem, 32px);
	margin: 0 0 clamp(16px, 1.5rem, 32px);
}

.faq__title-en {
	font-family: "Mohave", sans-serif;
	font-size: clamp(30px, 2.5rem, 60px);
	font-weight: 500;
	line-height: 1;
	color: #5A5F75;
}

.faq__title-ja {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	font-size: clamp(14px, 0.875rem, 18px);
	line-height: 1.7;
	letter-spacing: 0.05em;
	color: #5A5F75;
}

.faq__contents__item {
	flex: 1;
	min-height: 100px;
	border-bottom: 1px solid #D9D9D9;
	display: flex;
	justify-content: center;
	flex-direction: column;
	position: relative;
	padding: clamp(16px, 1.25rem, 30px) clamp(20px, 1.875rem, 50px) clamp(16px, 1.25rem, 30px) 0;
	transition: padding-top 0.3s ease, padding-bottom 0.3s ease;
}

.faq__contents__item h3 {
	font-size: clamp(14px, 1rem, 18px);
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
}

.faq__contents__item__answer {
	font-size: clamp(14px, 0.9375rem, 16px);
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: #333;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height 0.3s ease, opacity 0.3s ease, padding-top 0.3s ease;
	padding-top: 0;
}

.faq__contents__item.active .faq__contents__item__answer {
	opacity: 1;
	padding-top: 1rem;
}

.faq__contents__item__btn {
	position: absolute;
	top: 1.6em;
	right: 0;
	width: clamp(16px, 1.25rem, 25px);
	height: clamp(16px, 1.25rem, 25px);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.faq__contents__item__btn span {
	display: block;
	width: clamp(16px, 1.25rem, 25px);
	height: 2px;
	background-color: #333;
	position: absolute;
	transition: transform 0.3s ease;
}

.faq__contents__item__btn span:first-of-type {
	transform: rotate(90deg);
}

.faq__contents__item__btn.active span:first-of-type {
	transform: rotate(0deg);
}

.cta {
	padding: clamp(40px, 3.125rem, 60px) 20px;
	position: relative;
	background-color: #F4F4F4;
	background-image: linear-gradient(rgba(244, 244, 244, 0.8117647059), rgba(244, 244, 244, 0.8117647059)), url(".././images/recruit/noise.webp");
	background-repeat: repeat;
	background-size: 30px;
	z-index: 1;
}

.cta::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	background-image: url(".././images/recruit/before_footer_world.svg");
	background-size: 90%;
	background-position: top center;
	background-repeat: no-repeat;
	z-index: -1;
}

.cta__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: clamp(32px, 3.125rem, 60px);
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
	flex-direction: column;
}

.cta__title {
	font-size: clamp(24px, 1.875rem, 40px);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #333;
	text-indent: -0.5em;
	margin-bottom: clamp(20px, 1.875rem, 40px);
}

.cta__inner__left__btns {
	display: flex;
	gap: clamp(16px, 1.5rem, 32px);
	justify-content: flex-start;
	flex-direction: column;
	align-items: center;
}

.cta__inner__left__btns .btn {
	width: min(100%, 300px);
}

.cta__inner__left__btns .btn.long {
	width: min(100%, 300px);
}

.cta__inner__right {
	display: flex;
	gap: clamp(10px, 0.9375rem, 20px);
	overflow-y: hidden;
	flex: 1;
}

.cta__inner__right .swiper-wrapper {
	transition-timing-function: linear;
	width: 90vw;
}

.cta__inner__right .swiper-slide {
	width: 100%;
}

.cta__inner__right .swiper-slide img {
	width: 100%;
}

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

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

.mv {
	background-size: 30px;
	padding: 1.25rem 6.25vw 5rem 6.25vw;
}

.mv::before {
	width: 60vw;
	height: 40vw;
	background-size: cover;
	background-position: center;
}

.mv::after {
	font-size: 6.25vw;
	display: block;
	writing-mode: vertical-lr;
	top: 0.1em;
	right: 0;
	bottom: unset;
	left: unset;
}

.mv__inner {
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 2.5rem;
}

.mv__text {
	max-width: 750px;
}

.mv__image {
	max-width: 760px;
}

.mv__title {
	gap: 1rem;
	margin-bottom: 2rem;
}

.mv__title-ja {
	font-size: 1.25vw;
}

.mv__title-en {
	font-size: 5.5208333333vw;
}

.mv__catch {
	font-size: 3.75vw;
	margin-bottom: 3.125rem;
}

.mv__text-text {
	font-size: clamp(14px, 1.09375vw, 21px);
	width: 25vw;
}

.mv__image {
	height: 45.5729166667vw;
	gap: 1.5rem;
}

.mv__image .slide1 {
	width: 22.3177083333vw;
	height: 45.5729166667vw;
	gap: 1.25rem;
}

.mv__image .slide2 {
	width: 22.3177083333vw;
	height: 45.5729166667vw;
	gap: 1.25rem;
}

.mv__image .swiper {
	width: 22.3177083333vw;
	height: 45.5729166667vw;
	aspect-ratio: 428.5/875;
}

.mv__image .swiper-wrapper {
	width: 22.3177083333vw;
	height: 45.5729166667vw;
	aspect-ratio: 428.5/875;
}

.mv__image .swiper-slide {
	width: 22.3177083333vw;
	height: 45.5729166667vw;
	aspect-ratio: 428.5/875;
	gap: 1.125rem;
}

.mv__image .swiper-slide img {
	width: 22.3177083333vw;
	height: 35.0520833333vw;
	aspect-ratio: 428.5/673;
}

.mv__image .slide_objects {
	gap: 1.25rem;
}

.mv__image .slide_objects .slide_object {
	height: 9.53125vw;
}

.mv__image .slide_objects .slide_object.long {
	width: 14.7916666667vw;
	aspect-ratio: 284/183;
}

.mv__image .slide_objects .slide_object.short {
	width: 6.6666666667vw;
	aspect-ratio: 128/183;
}

.candidate {
	padding: 7.5rem 20px 8.75rem;
}

.candidate__inner {
	gap: 8.75rem;
	max-width: 1200px;
	margin: 0 auto;
	flex-direction: row;
}

.candidate__image {
	height: 37.5rem;
	width: 28.25rem;
}

.candidate__image-top {
	width: 16.0625rem;
	height: 20.5625rem;
}

.candidate__image-bottom {
	width: 14.875rem;
	height: 24.0625rem;
	top: 12.625rem;
	right: 9.8125rem;
}

.candidate__text {
	width: 50rem;
	padding-top: 2.625rem;
}

.candidate__text p {
	font-size: 1rem;
	margin-bottom: 3.75rem;
}

.candidate__title {
	gap: 1.875rem;
	margin-bottom: 3.125rem;
}

.candidate__title-en {
	font-size: 5rem;
}

.candidate__title-ja {
	font-size: 2rem;
}

.candidate__btns {
	gap: 2.5rem;
	justify-content: end;
	flex-direction: row;
}

.candidate__btns .btn {
	width: 18.75rem;
}

.work {
	padding: 7.5rem 40px 10rem 20px;
}

.work__title {
	font-size: 5rem;
	margin-bottom: 3.5rem;
}

.work__title-en {
	font-size: 5rem;
}

.work__title-ja {
	font-size: 0.875rem;
}

.work__content {
	flex-direction: row;
	gap: 0;
}

.work__content__left {
	width: 55.375rem;
	flex-direction: column;
	gap: 0;
}

.work__content__left__container {
	gap: 3.5rem;
	flex-direction: row;
}

.work__content__left__container__item {
	gap: 2.6875rem;
	width: inherit;
}

.work__content__left__container__item__balloon {
	width: 26.25rem;
	position: absolute;
	transform: translateY(-105%);
	opacity: 0;
	padding: 1.4375rem 2.625rem;
}

.work__content__left__container__item__balloon.active {
	max-height: auto;
	opacity: 1;
}

.work__content__left__container__item__balloon .title {
	font-size: 1.125rem;
	margin-bottom: 0.8125rem;
}

.work__content__left__container__item__balloon .text {
	font-size: 1rem;
}

.work__content .space {
	display: block;
}

.work__content__right {
	width: 11.25rem;
	flex-direction: column;
	gap: 0;
}

.work__content__right__container {
	gap: 3.5rem;
	flex-direction: column;
	width: inherit;
}

.work__content__title {
	font-size: 1.1875rem;
	margin-bottom: 2.75rem;
	padding: 0.0625rem 0.625rem;
	writing-mode: unset;
}

.work__content__left__container__item h4 {
	font-size: 0.9375rem;
	padding: 9.5px 5px;
	height: 3.5625rem;
}

.work__content__left__container__item__img img {
	width: 100%;
}

.work__content__left__container__item__img::after {
	display: block;
}

.work__content__left__container__item__img .arrow {
	display: block;
}

.company {
	padding: 11.25rem 20px 10rem;
}

.company__inner {
	gap: 11.875rem;
	flex-direction: row;
}

.company__text {
	width: 26.9375rem;
}

.company__text p {
	font-size: 1rem;
	margin-bottom: 3.125rem;
}

.company__title {
	margin-bottom: 2.5rem;
}

.company__title-en {
	font-size: 4rem;
}

.company__title-ja {
	font-size: 0.875rem;
}

.company__btn {
	margin: 0;
}

.company__content {
	width: 36.25rem;
}

.company__content img {
	margin-bottom: 3.125rem;
}

.company__content__list__item {
	width: inherit;
}

.company__content__list__item__text .en {
	font-size: 0.875rem;
}

.company__content__list__item__text .ja {
	font-size: 1.25rem;
}

.company__content__list__item a {
	width: 20.375rem;
}

.company__content__list__item a .arrow-wrapper {
	width: 1.9375rem;
	height: 1.9375rem;
}

.company__bottom__image {
	margin-top: 6.875rem;
	height: 22.5rem;
}

.company__bottom__image::after {
	height: 22.5rem;
}

.members {
	padding: 7.5rem 8.75rem 10rem;
}

.members__title {
	margin-bottom: 3.75rem;
}

.members__title-en {
	font-size: 4rem;
}

.members__title-ja {
	font-size: 0.875rem;
}

.members__container__item {
	width: 19.3125rem;
}

.members__container__item__img {
	margin: 0 0 1rem;
	width: 100%;
	max-width: 100%;
}

.members__container__item__text__info__job {
	margin-bottom: 0.625rem;
}

.members__container__item__text__info__job span {
	font-size: 1rem;
}

.members__container__item__text__info__name {
	font-size: 1.5rem;
	margin-bottom: 1.875rem;
}

.members__container__item__text__info__name small {
	font-size: 1rem;
}

.members__container__item__text__info__name.fs20 {
	font-size: 1.25rem;
}

.members__container__item__text__info__name.fs22 {
	font-size: 1.375rem;
}

.members__container__item__text__info__text {
	font-size: 1rem;
}

.members__container__bottom .members__container__bottom__btn a {
	width: 11.125rem;
	height: 3.25rem;
}

.members__container .arrows {
	gap: 1.875rem;
	display: flex;
}

.members__container .arrows .swiper-button-prev {
	position: static;
}

.members__container .arrows .swiper-button-next {
	position: static;
}

.members__container .swiper-button-prev {
	width: 4.0625rem;
	height: 4.0625rem;
}

.members__container .swiper-button-prev::after {
	font-size: 1rem;
}

.members__container .swiper-button-prev.u-mobile {
	display: none !important;
}

.members__container .swiper-button-next {
	width: 4.0625rem;
	height: 4.0625rem;
}

.members__container .swiper-button-next::after {
	font-size: 1rem;
}

.members__container .swiper-button-next.u-mobile {
	display: none !important;
}

.environment {
	padding: 5rem 0 9.375rem;
	max-width: 95vw;
	border-radius: 30px;
	overflow-x: visible;
}

.environment__inner {
	padding: 0 20px;
}

.environment__title {
	padding: 1.875rem 0;
	margin-bottom: 3.125rem;
	gap: 1.5rem;
}

.environment__title-en {
	font-size: 4rem;
}

.environment__title-ja {
	font-size: 0.875rem;
}

.environment__contents1 {
	margin-bottom: 6.25rem;
}

.environment__contents h3 {
	font-size: 2rem;
	width: 27.4375rem;
	margin-bottom: 1.25rem;
}

.environment__contents h3 .arrow-wrapper {
	width: 2.625rem;
	height: 2.625rem;
}

.environment__contents__wrapper {
	gap: 1.125rem;
	width: 100%;
	flex-wrap: wrap;
}

.environment__contents__wrapper__item {
	padding: 1.5rem;
	display: block;
	flex: 1 1 calc((100% - 2.25rem) / 3);
}

.environment__contents__wrapper__item h4 {
	font-size: 1.25rem;
	padding-bottom: 0.3125rem;
	border-bottom: 1px solid #D9D9D9;
	margin-bottom: 0.625rem;
	padding-left: 0.9375rem;
	flex: auto;
}

.environment__contents__wrapper__item__link a {
	font-size: 1rem;
}

.environment__contents2 .environment__contents__wrapper__item h4 {
	font-size: 1.25rem;
}

.environment__contents2 .environment__contents__wrapper__item__text {
	font-size: 1rem;
}

.job {
	padding: 6.25rem 0 6.25rem max(0px, (100% - 1200px) / 2);
}

.job::after {
	top: -26rem;
	height: calc(100% + 19.75rem + 18.125rem);
}

.job__title-en {
	font-size: 4rem;
}

.job__title-ja {
	font-size: 0.875rem;
}

.job__inner {
	display: flex;
	justify-content: flex-start;
	gap: 3.125rem;
	padding-left: 20px;
}

.job__inner__left {
	padding-right: 0;
	padding-top: 3.4375rem;
}

.job__inner__left__sticky {
	position: sticky;
	top: 3.4375rem;
}

.job__inner__left__sticky ul {
	padding-left: 1.875rem;
	gap: 1.0625rem;
	flex-wrap: nowrap;
	flex-direction: column;
	margin-bottom: 0;
}

.job__inner__left__sticky ul li.active::before {
	left: -1.875rem;
	width: 1.4375rem;
	height: 1.4375rem;
}

.job__inner__left__sticky ul li a {
	font-size: 1rem;
}

.job__inner__right {
	width: calc(100% - 15.625rem);
	padding: 5rem max(20px, (100% - 1200px) / 2) 6.25rem 3.75rem;
	border-radius: 50px 0 0 50px;
	position: relative;
}

.job__inner__right__top {
	margin-bottom: 1.875rem;
}

.job__inner__right__top h3 {
	font-size: 1.5rem;
	margin-bottom: 2.25rem;
}

.job__inner__right__top p {
	font-size: 1rem;
	width: 100%;
	max-width: 875px;
}

.job__inner__right__item {
	padding: 2rem 0;
	flex-direction: row;
	align-items: flex-start;
	gap: 3.75rem;
}

.job__inner__right__item:last-of-type {
	margin-bottom: 5rem;
}

.job__inner__right__item dt {
	font-size: 1.25rem;
	width: 9.0625rem;
}

.job__inner__right__item dd {
	font-size: 1rem;
}

.job__inner__right__item dd ul {
	padding-left: 0.75rem;
	gap: 0.625rem;
}

.job__inner__right__item dd ul li {
	font-size: 1rem;
}

.job__inner__right__btn {
	margin-top: 5rem;
}

.flow {
	padding-bottom: 6.25rem;
}

.flow__top__image {
	height: 22.5rem;
}

.flow__top__image::after {
	top: 0;
}

.flow__title {
	margin: 8.75rem 0 4.5rem;
	gap: 1.5rem;
}

.flow__title-en {
	font-size: 4rem;
}

.flow__title-ja {
	font-size: 0.875rem;
}

.flow__contents {
	gap: 1.5625rem;
	flex-direction: row;
	align-items: unset;
}

.flow__contents__item {
	padding: 4rem 1.875rem 2.5rem;
	flex-direction: column;
	justify-content: flex-start;
	gap: 0;
	flex: 1;
}

.flow__contents__item .num {
	font-size: 3.75rem;
}

.flow__contents__item img {
	height: 3.125rem;
	object-fit: contain;
	margin-bottom: 1.25rem;
	width: 100%;
}

.flow__contents__item h3.lh32 {
	line-height: 3.2;
}

.flow__contents__item h3 {
	width: 100%;
	margin-bottom: 1.75rem;
	padding-bottom: 1.25rem;
	font-size: 1rem;
}

.flow__contents__item p {
	font-size: 1rem;
}

.flow__contents__item__detail {
	font-size: 0.875rem;
	width: 8.5rem;
	height: 2.25rem;
}

.flow__contents__item::after {
	top: 50%;
	transform: translateY(-50%);
	right: -1.5rem;
	width: 1.25rem;
	height: 0.75rem;
	left: unset;
}

.faq {
	padding: 6.25rem 0 9.375rem;
}

.faq__title {
	margin: 0 0 1.25rem;
	gap: 1.5rem;
}

.faq__title-en {
	font-size: 4rem;
}

.faq__title-ja {
	font-size: 0.875rem;
}

.faq__contents {
	gap: 0 8.125rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.faq__contents__item {
	flex: 1 1 calc((100% - 260px) / 2);
	min-height: 6.9375rem;
	padding-right: 3.125rem;
}

.faq__contents__item h3 {
	font-size: 1rem;
}

.faq__contents__item__answer {
	font-size: 1rem;
}

.faq__contents__item.active {
	padding-top: 2.5em;
	padding-bottom: 1.875em;
}

.faq__contents__item__btn {
	width: 1.5625rem;
	height: 1.5625rem;
	top: 2.5em;
	transform: unset;
}

.faq__contents__item__btn span {
	width: 1.25rem;
	height: 0.125rem;
}

.cta {
	padding: 2.1875rem 0;
}

.cta::before {
	background-size: 60%;
	background-position: center;
}

.cta__inner {
	gap: 8.75rem;
	flex-direction: row;
}

.cta__title {
	font-size: 2.625rem;
	margin-bottom: 5rem;
}

.cta__inner__left {
	flex: 1;
}

.cta__inner__left__btns {
	gap: 2.5rem;
	flex-direction: row;
}

.cta__inner__left__btns .btn {
	width: 11.125rem;
}

.cta__inner__left__btns .btn.long {
	width: 12.5rem;
}

.cta__inner__right {
	gap: 1.875rem;
	flex-direction: column;
}

.cta__inner__right .swiper-wrapper {
	width: 37.96875vw;
	height: 43.8541666667vw;
}

.cta__inner__right .swiper-slide {
	width: 37.96875vw;
	aspect-ratio: 729/401;
}

.cta__inner__right .swiper-slide img {
	width: 37.96875vw;
	aspect-ratio: 729/401;
}

}


.members__container .arrows .swiper-button-next svg,
.members__container .arrows .swiper-button-prev svg,
.p_sec_cta {
	display: none;
}

.l_footer .logo img {
	width: 200px;
}