@charset "UTF-8";

.l-main.l-page {
    width: auto;
    overflow: hidden;
    padding: 0;
    position: relative;
    z-index: 0;
}

#content {
	width: 100%;
}

#contents {
	width: 100%;
	background: #FFFFFF;
	padding: 0;
}

body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}

/*//////////////////// Scroll fade-in ////////////////////*/
.js-fade {
	opacity: 0;
	translate: 0 40px;
	transition:
		opacity 0.9s cubic-bezier(0.5, 0, 0.5, 1),
		translate 0.9s cubic-bezier(0.5, 0, 0.5, 1);
}
.js-fade.is-inview {
	opacity: 1;
	translate: 0 0;
}

@media (prefers-reduced-motion: reduce) {
	.js-fade {
		opacity: 1;
		translate: 0 0;
		transition: none;
	}
}

html.is-loading,
html.is-loading body {
	overflow: hidden;
	height: 100%;
}
html.is-loading body {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}

/*//////////////////// Loading ////////////////////*/
.p-loading {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background-color: #fff;
	/* 背面へのホイール／タッチ伝播を防ぐ */
	pointer-events: auto;
	touch-action: none;
}
	.p-loading.is-done {
		visibility: hidden;
	}
	.p-loading__visual {
		position: absolute;
		inset: 0;
		overflow: hidden;
		background-color: #fff;
		animation: p-loading-bg-opacity 6s linear forwards;
	}
	.p-loading__bg {
		position: absolute;
		inset: 0;
		overflow: hidden;
		opacity: 0.5;
		-webkit-backdrop-filter: blur(30px);
		backdrop-filter: blur(30px);
	}
		.p-loading__bg img {
			position: absolute;
			top: -2.19%;
			left: 0;
			width: 100%;
			height: 104.38%;
			max-width: none;
			object-fit: cover;
		}
	.p-loading__text {
		position: relative;
		z-index: 1;
		margin: 0;
		color: #333;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 6.25vw;
		font-weight: 500;
		line-height: 1.3;
		letter-spacing: -0.05em;
		white-space: nowrap;
		animation:
			p-loading-text-opacity 6s linear forwards,
			p-loading-text-blur 6s linear forwards;
	}

@keyframes p-loading-bg-opacity {
	0% {
		animation-timing-function: cubic-bezier(0.845, 0.319, 0.802, 0.983);
		opacity: 0;
	}
	66.667% {
		animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@keyframes p-loading-text-opacity {
	0% {
		opacity: 0;
	}
	66.667% {
		animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@keyframes p-loading-text-blur {
	0% {
		filter: blur(30px);
	}
	11.835% {
		animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
		filter: blur(30px);
	}
	66.667% {
		filter: blur(0);
	}
	100% {
		filter: blur(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.p-loading__visual,
	.p-loading__text {
		animation-duration: 0.01ms;
		animation-iteration-count: 1;
	}
}

/*//////////////////// Header（右追従CTA） ////////////////////*/
/* 基準: 1920幅。狭い画面では MV と同じ比率で縮小 */
.p-recruit-header {
	position: fixed;
	top: 34px;
	right: 40px;
	z-index: 100;
	width: auto;
	height: auto;
	background: transparent;
	transform-origin: top right;
	animation:
		p-recruit-header-opacity 8s linear forwards,
		p-recruit-header-translate 8s linear forwards;
}
	.p-recruit-header__inner {
		display: flex;
		align-items: center;
		gap: 8px;
	}
	.p-recruit-header__btn {
		position: relative;
		display: block;
		line-height: 0;
		text-decoration: none;
	}

	/* 遷移先確定したら戻す予定 */
	/* .p-recruit-header__btn--new {
		width: 242px;
		height: 82px;
	}
	.p-recruit-header__btn--agent {
		width: 322px;
		height: 82px;
	} */
	.p-recruit-header__btn--contact {
		width: 292px;
		height: 82px;
	}
		.p-recruit-header__bg {
			display: block;
			width: 100%;
			height: 100%;
			pointer-events: none;
		}
		.p-recruit-header__label {
			position: absolute;
			inset: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			padding-right: 0;
			color: #fff;
			font-family: "Zen Kaku Gothic New", sans-serif;
			font-size: 22px;
			font-weight: 400;
			line-height: 1.7;
			letter-spacing: 0.1em;
			white-space: nowrap;
		}
		.p-recruit-header__arrow {
			position: absolute;
			top: 50%;
			right: 26px;
			display: block;
			width: 21px;
			height: 9px;
			transform: translateY(-50%);
			line-height: 0;
		}
			.p-recruit-header__arrow img {
				display: block;
				width: 21px;
				height: 9px;
			}

@keyframes p-recruit-header-opacity {
	0% {
		opacity: 0;
	}
	37.5% {
		animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}

@keyframes p-recruit-header-translate {
	0% {
		translate: 40px 0;
	}
	37.5% {
		translate: 40px 0;
	}
	50% {
		translate: 0 0;
	}
	100% {
		translate: 0 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.p-recruit-header {
		animation: none;
		opacity: 1;
		translate: 0 0;
	}
}

@media (max-width: 1919px) {
	.p-recruit-header {
		top: calc(34px * 100vw / 1920px);
		right: calc(40px * 100vw / 1920px);
		transform: scale(calc(100vw / 1920px));
	}
}

/*//////////////////// First View ////////////////////*/
/* 基準: 1920×850。狭い画面では .p-mv__stage を同比率で縮小 */
.p-mv {
	position: relative;
	width: 100%;
	height: 850px;
	overflow: hidden;
	background-color: #fff;
}
	.p-mv__stage {
		position: relative;
		width: 1920px;
		height: 850px;
		left: 50%;
		margin-left: -960px;
		transform-origin: top center;
	}
	.p-mv__img-wrap {
		position: absolute;
		inset: 0;
		z-index: 0;
		opacity: 0;
		translate: 0 175px;
	}
		.p-mv__img {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: center top;
		}
	.p-mv__inner {
		position: relative;
		z-index: 1;
		width: 1140px;
		height: 850px;
		margin: 0 auto;
	}
		.p-mv__script {
			position: absolute;
			top: 203px;
			left: 303px;
			z-index: 1;
			width: 792px;
			height: 515px;
			pointer-events: none;
			opacity: 0;
			filter: drop-shadow(0 0 60px rgba(93, 93, 93, 0.6));
			line-height: 0;
		}
		.p-mv__script-svg {
			display: block;
			width: 792px;
			height: 515px;
			shape-rendering: geometricPrecision;
		}
		.p-mv__script-svg .js-hw-strokes path {
			fill: none;
		}
		.p-mv__catch {
			position: absolute;
			top: 100px;
			left: -89px;
			z-index: 2;
			opacity: 0;
			translate: 589px 0;
		}

@media (max-width: 1919px) {
	.p-mv {
		height: calc(850px * 100vw / 1920px);
	}
	.p-mv__stage {
		transform: scale(calc(100vw / 1920px));
	}
}
		.p-mv__sab {
			display: flex;
			align-items: center;
			gap: 15px;
			margin-bottom: 46px;
		}
		.p-mv__line {
			display: block;
			width: 100px;
			height: 1px;
			background-color: #c2c2c2;
		}
		.p-mv__en {
			margin: 0;
			color: #333;
			font-family: "Zen Kaku Gothic New", sans-serif;
			font-size: 24px;
			font-weight: 400;
			line-height: 1.1;
			letter-spacing: 0.24em;
		}
		.p-mv__ttl {
			margin: 0;
			line-height: 0;
		}
			.p-mv__ttl-img {
				display: block;
				width: 522px;
				height: auto;
			}

/* ローディング解除後 .is-play で再生（キャッチ → 画像 → 英字） */
.p-mv.is-play .p-mv__catch {
	animation:
		p-mv-catch-opacity 8s linear forwards,
		p-mv-catch-translate 8s linear forwards;
}
.p-mv.is-play .p-mv__img-wrap {
	animation:
		p-mv-img-opacity 8s linear forwards,
		p-mv-img-translate 8s linear forwards;
}
.p-mv.is-play .p-mv__script {
	animation: p-mv-script-opacity 8s linear forwards;
}

@keyframes p-mv-img-opacity {
	0% {
		opacity: 0;
	}
	16% {
		animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
		opacity: 0;
	}
	32% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}

@keyframes p-mv-img-translate {
	0% {
		translate: 0 175px;
	}
	16% {
		translate: 0 175px;
	}
	32% {
		translate: 0 0;
	}
	100% {
		translate: 0 0;
	}
}

@keyframes p-mv-catch-opacity {
	0% {
		opacity: 0;
	}
	3.125% {
		animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
		opacity: 0;
	}
	18.75% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}

@keyframes p-mv-catch-translate {
	0% {
		translate: 589px 0;
	}
	20% {
		translate: -100px 0;
	}
	100% {
		translate: -100px 0;
	}
}

@keyframes p-mv-script-opacity {
	0%,
	31.9% {
		opacity: 0;
	}
	32%,
	100% {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.p-mv__img-wrap,
	.p-mv.is-play .p-mv__img-wrap {
		animation: none;
		opacity: 1;
		translate: 0 0;
	}
	.p-mv__catch,
	.p-mv.is-play .p-mv__catch {
		animation: none;
		opacity: 1;
		translate: -100px 0;
	}
	.p-mv__script,
	.p-mv.is-play .p-mv__script {
		animation: none;
		opacity: 1;
	}
}

/*//////////////////// MESSAGE ////////////////////*/
.p-message {
	position: relative;
	width: 100%;
	z-index: -1;
	background-color: #fff;
}
	.p-message__inner {
	    width: 1160px;
	    margin: 0 auto;
	    display: flex;
	    justify-content: flex-end;
	    position: relative;
	}
		.p-message__img {
			position: absolute;
			top: 0;
			left: -380px;
			z-index: 1;
			width: 842px;
			height: 852px;
			line-height: 0;
		}
			.p-message__img img {
				display: block;
				width: 100%;
				height: 100%;
			}
		.p-message__content {
			box-sizing: border-box;
			width: 680px;
			padding: 83px 0 114px;
		}
		.p-message__glow {
			position: absolute;
			top: 149px;
			left: 828px;
			z-index: 0;
			width: 919px;
			height: 880px;
			pointer-events: none;
		}
			.p-message__glow img {
				display: block;
				width: 100%;
				height: 100%;
			}
		.p-message__label {
			position: relative;
			z-index: 1;
			display: flex;
			align-items: center;
			gap: 10px;
			margin-bottom: 42px;
		}
		.p-message__line {
			display: block;
			width: 70px;
			height: 1px;
			background-color: #c2c2c2;
		}
		.p-message__en {
			margin: 0;
			color: #333;
			font-family: "Zen Kaku Gothic New", sans-serif;
			font-size: 20px;
			font-weight: 400;
			line-height: 1.1;
			letter-spacing: 0.24em;
		}
		.p-message__ttl {
			position: relative;
			z-index: 1;
			margin: 0 0 38px;
		}
		.p-message__texts {
			position: relative;
			z-index: 1;
			display: flex;
			flex-direction: column;
			gap: 20px;
			width: 700px;
			color: #575757;
			font-size: 18px;
			font-weight: 400;
			line-height: 2;
		}
		.p-message__text {
			margin: 0;
			font-family: "Sawarabi Gothic", "Zen Kaku Gothic New", sans-serif;
		}
			.p-message__texts p {
				margin: 0;
				color: #575757;
				font-size: 18px;
				font-weight: 400;
				line-height: 2;
			}
		.p-message__sign {
			position: absolute;
			right: 0;
			bottom: 24px;
			z-index: 1;
			width: 406px;
			height: 60px;
			line-height: 0;
			opacity: 0;
		}
		.p-message__sign.is-ready {
			opacity: 1;
		}
		.p-message__sign-svg {
			display: block;
			width: 406px;
			height: 60px;
		}
		.p-message__sign-svg .js-hw-strokes path {
			fill: none;
		}
		.p-message__marquee {
			position: absolute;
			top: 0;
			right: -270px;
			z-index: 1;
			width: 120px;
			pointer-events: none;
		}
		.p-message__marquee-track {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 60px;
			animation: p-message-marquee 20s linear infinite;
		}
		.p-message__marquee-text {
			display: block;
			font-family: "Zen Kaku Gothic New", sans-serif;
			font-size: 120px;
			font-weight: 900;
			letter-spacing: 0.1em;
			white-space: nowrap;
			writing-mode: vertical-rl;
			text-orientation: sideways;
			background-image: linear-gradient(180deg, #8eabe2 0%, #b9d8e5 43.269%, #d4c3e5 100%);
			-webkit-background-clip: text;
			background-clip: text;
			color: transparent;
		}

@keyframes p-message-marquee {
	0% {
		translate: 0 0;
	}
	100% {
		translate: 0 -1806px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.p-message__marquee-track {
		animation: none;
	}
}

/*//////////////////// PROFILE（人を知る） ////////////////////*/
.p-profile {
	width: 100%;
	padding: 120px 0;
	background-color: #fff;
	position: relative;
	z-index: -2;
}
	.p-profile__inner {
		width: 1140px;
		margin-inline: auto;
	}
	.p-profile__head {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		margin-bottom: 60px;
	}
	.p-profile__head-left {
		display: flex;
		align-items: flex-end;
		gap: 30px;
	}
	.p-profile__headline {
		display: flex;
		flex-direction: column;
		gap: 30px;
	}
	.p-profile__label {
		display: flex;
		align-items: center;
		gap: 10px;
	}
	.p-profile__line {
		display: block;
		width: 70px;
		height: 1px;
		background-color: #c2c2c2;
	}
	.p-profile__en {
		margin: 0;
		color: #333;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 20px;
		font-weight: 400;
		line-height: 1.1;
		letter-spacing: 0.24em;
	}
	.p-profile__ttl {
		margin: 0;
		color: #0c2338;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 50px;
		font-weight: 700;
		line-height: 1.3;
	}
	.p-profile__divider {
		display: block;
		width: 1px;
		height: 64px;
		background-color: #c2c2c2;
	}
	.p-profile__lead {
		margin: 0;
		color: #575757;
		font-family: "Sawarabi Gothic", "Zen Kaku Gothic New", sans-serif;
		font-size: 20px;
		font-weight: 400;
		line-height: 1.8;
	}
	.p-profile__more {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: flex-end;
		gap: 5px;
		padding: 14px 40px 16px 38px;
		border: 1px solid #0c2338;
		border-radius: 9999px;
		background-color: transparent;
		text-decoration: none;
		transition: background-color 0.3s ease, border-color 0.3s ease;
	}
	.p-profile__more:hover {
		opacity: 1;
	}
	.p-profile__more-text {
		color: #0c2338;
		font-family: "Shippori Mincho B1", "Zen Kaku Gothic New", serif;
		font-size: 16px;
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.05em;
		transition: color 0.3s ease;
	}
	.p-profile__more-arrow {
		display: block;
		width: 5px;
		height: 7px;
		line-height: 0;
		position: absolute;
		top: 50%;
		right: 12px;
		transform: translateY(-50%);
	}
		.p-profile__more-arrow img {
			display: block;
			width: 5px;
			height: 7px;
			transition: filter 0.3s ease;
		}
	.p-profile__more:hover {
		background-color: #0c2338;
		border-color: #0c2338;
	}
		.p-profile__more:hover .p-profile__more-text {
			color: #fff;
		}
		.p-profile__more:hover .p-profile__more-arrow img {
			filter: brightness(0) invert(1);
		}
	.p-profile__list {
		display: flex;
		gap: 20px;
	}
	.p-profile__item {
		width: 270px;
	}
	.p-profile__link {
		position: relative;
		display: block;
		height: 462px;
		text-decoration: none;
	}
	.p-profile__link:hover {
		opacity: 1;
	}
	.p-profile__photo {
		position: absolute;
		top: 0;
		left: 0;
		width: 270px;
		height: 390px;
		overflow: hidden;
	}
		.p-profile__photo img {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: center top;
			transform: scale(1);
			transition: transform 0.4s ease;
		}
	.p-profile__link:hover .p-profile__photo img {
		transform: scale(1.08);
	}
	.p-profile__mask {
		position: absolute;
		inset: 0;
		z-index: 1;
		background-color: rgba(12, 80, 150, 0.2);
		pointer-events: none;
	}
	.p-profile__num {
		position: absolute;
		top: 285px;
		right: 20px;
		z-index: 2;
		margin: 0;
		color: #fff;
		font-family: "Oooh Baby", cursive;
		font-size: 70px;
		font-weight: 400;
		line-height: 1.1;
		pointer-events: none;
	}
	.p-profile__info {
		position: absolute;
		top: 330px;
		left: 13px;
		z-index: 1;
		box-sizing: border-box;
		width: 243px;
		min-height: 132px;
		padding: 25px;
		background: #F5F5F5;
		box-shadow: 0 2px 4px 0 rgba(0,0,0, 0.05);
	}
	.p-profile__name {
		margin: 0;
		color: #0c2338;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 19px;
		font-weight: 500;
		line-height: 1.7;
		letter-spacing: 0.1em;
	}
	.p-profile__desc {
		margin: 3px 0 0;
		color: #575757;
		font-family: "Sawarabi Gothic", "Zen Kaku Gothic New", sans-serif;
		font-size: 16px;
		font-weight: 400;
		line-height: 1.5;
		letter-spacing: 0.1em;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		text-overflow: ellipsis;
	}

/*//////////////////// THOUGHTS（5つの想い） ////////////////////*/
.p-thoughts {
	width: 100%;
	overflow: hidden;
	padding: 120px 0;
	background-color: #0b1c2c;
	background-image: url("../images/bg_thoughts.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 1920px 1400px;
	position: relative;
}
	.p-thoughts__inner {
		position: relative;
		width: 1140px;
		margin-inline: auto;
	}
	.p-thoughts__culture {
		position: absolute;
		top: 163px;
		left: -83px;
		z-index: 1;
		width: 661px;
		height: auto;
		pointer-events: none;
		transform-origin: right center;
	}
	.p-thoughts__headline {
		position: absolute;
		top: 40px;
		left: 0;
		z-index: 2;
	}
	.p-thoughts__ttl {
		margin: 0;
		color: #fff;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 50px;
		font-weight: 700;
		line-height: 1.3;
	}
	.p-thoughts__list {
		display: grid;
		grid-template-columns: 650px 650px;
		column-gap: 0;
		row-gap: 40px;
		justify-content: center;
	}
	.p-thoughts__spacer {
		width: 650px;
		min-height: 360px;
	}
	.p-thoughts__item {
		position: relative;
		width: 650px;
		min-height: 360px;
	}
		.p-thoughts__img {
			display: block;
			width: 100%;
			height: auto;
			aspect-ratio: 650 / 360;
			object-fit: cover;
		}
	.p-thoughts__body {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		pointer-events: none;
	}
	.p-thoughts__item--odd .p-thoughts__body {
		padding: 78px 40px 20px 45px;
	}
	.p-thoughts__item--even .p-thoughts__body {
		padding: 78px 40px 20px 80px;
	}
	.p-thoughts__item--short .p-thoughts__body {
		padding-top: 95px;
	}
	.p-thoughts__item-ttl {
		margin: 0 0 12px;
		color: #fff;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 32px;
		font-weight: 500;
		line-height: 1.4;
	}
	.p-thoughts__text {
		margin: 0;
		color: #fff;
		font-family: "Sawarabi Gothic", "Zen Kaku Gothic New", sans-serif;
		font-size: 18px;
		font-weight: 400;
		line-height: 1.8;
	}
	.p-thoughts__num {
		position: absolute;
		right: 50px;
		bottom: 0;
		z-index: 1;
		margin: 0;
		color: rgba(255, 255, 255, 0.5);
		font-family: "Oooh Baby", cursive;
		font-size: 70px;
		font-weight: 400;
		line-height: 1.1;
		pointer-events: none;
	}

/*//////////////////// NEXT STAGE ////////////////////*/
.p-next-stage {
	position: relative;
	width: 100%;
	height: 620px;
	overflow: hidden;
}
	.p-next-stage__img {
		position: absolute;
		inset: 0;
		z-index: 0;
	}
		.p-next-stage__img img {
			position: absolute;
			top: 0;
			left: 50%;
			display: block;
			width: 1920px;
			height: 620px;
			object-fit: cover;
			object-position: center bottom;
			transform: translateX(-50%);
		}
	.p-next-stage__content {
		position: absolute;
		top: 100px;
		left: calc(50% + 50px);
		z-index: 1;
		display: flex;
		flex-direction: column;
		gap: 40px;
	}
	.p-next-stage__headline {
		display: flex;
		flex-direction: column;
		gap: 30px;
	}
	.p-next-stage__label {
		display: flex;
		align-items: center;
		gap: 10px;
	}
	.p-next-stage__line {
		display: block;
		width: 70px;
		height: 1px;
		background-color: #fff;
	}
	.p-next-stage__en {
		margin: 0;
		color: #fff;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 20px;
		font-weight: 400;
		line-height: 1.1;
		letter-spacing: 0.24em;
	}
	.p-next-stage__ttl {
		margin: 0;
		color: #fff;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 50px;
		font-weight: 700;
		line-height: 1.3;
	}
	.p-next-stage__text {
		margin: 0;
		color: #fff;
		font-family: "Sawarabi Gothic", "Zen Kaku Gothic New", sans-serif;
		font-size: 20px;
		font-weight: 400;
		line-height: 2;
	}

/*//////////////////// GALLERY（画像スライド） ////////////////////*/
.p-gallery {
	position: relative;
	width: 100%;
	padding: 100px 0 50px;
	box-sizing: border-box;
	overflow: hidden;
	background-color: #fff;
}
	.p-gallery__viewport {
		width: 100%;
		overflow: hidden;
	}
	.p-gallery__track {
		display: flex;
		align-items: flex-start;
		gap: 30px;
		width: max-content;
		animation: p-gallery-marquee 20s linear infinite;
	}
	.p-gallery__item {
		flex-shrink: 0;
	}
		.p-gallery__item img,
		.p-gallery__item video {
			display: block;
			width: 100%;
			height: auto;
			max-width: none;
		}
		.p-gallery__video {
			object-fit: cover;
			aspect-ratio: 432 / 576;
			background-color: #f2f2f2;
		}
	.p-gallery__item--01 {
		width: 508px;
	}
	.p-gallery__item--02 {
		width: 432px;
	}
	.p-gallery__item--03 {
		width: 300px;
	}
	.p-gallery__item--04 {
		width: 590px;
	}

@keyframes p-gallery-marquee {
	0% {
		translate: 0 0;
	}
	100% {
		translate: -1950px 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.p-gallery__track {
		animation: none;
	}
}

/*//////////////////// RECRUIT（お問い合わせ＋キャッチ） ////////////////////*/
.p-recruit {
	position: relative;
	width: 100%;
}
	.p-recruit__cta {
		position: relative;
		width: 100%;
		padding: 60px 0 60px;
	}
	.p-recruit__bg {
		position: absolute;
		inset: 0;
		z-index: 0;
		pointer-events: none;
	}
		.p-recruit__bg img {
			position: absolute;
			top: 0;
			left: 50%;
			display: block;
			width: 1920px;
			height: 461px;
			object-fit: cover;
			object-position: center top;
			transform: translateX(-50%);
		}
	/* 遷移先確定したら戻す予定 */
	/* .p-recruit__inner {
		position: relative;
		z-index: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 39px;
	}
	.p-recruit__headline {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 12px;
	}
	.p-recruit__en {
		margin: 0;
		color: #333;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 20px;
		font-weight: 400;
		line-height: 1.1;
		letter-spacing: 0.24em;
		text-align: center;
	}
	.p-recruit__ttl {
		margin: 0;
		color: #0c2338;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 50px;
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
	}
	.p-recruit__btns {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 30px;
	} */

	.p-recruit__inner {
		position: relative;
		z-index: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.p-recruit__btns {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.p-recruit__btn {
		position: relative;
		display: block;
		width: 505px;
		height: 122px;
		line-height: 0;
		text-decoration: none;
	}
		.p-recruit__btn-bg {
			display: block;
			width: 100%;
			height: 100%;
			pointer-events: none;
		}
		.p-recruit__btn-label {
			position: absolute;
			inset: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			color: #fff;
			font-family: "Zen Kaku Gothic New", sans-serif;
			font-size: 30px;
			font-weight: 500;
			line-height: 1.7;
			letter-spacing: 0.1em;
			white-space: nowrap;
		}
		.p-recruit__btn-arrow {
			position: absolute;
			top: 50%;
			right: 43px;
			display: block;
			width: 22px;
			height: 10px;
			transform: translateY(-50%);
			line-height: 0;
		}
			.p-recruit__btn-arrow img {
				display: block;
				width: 100%;
				height: 100%;
			}
	.p-recruit__catch {
		position: relative;
		width: 100%;
		height: 640px;
		overflow: hidden;
	}
		.p-recruit__catch-img {
			position: absolute;
			inset: 0;
			z-index: 0;
		}
			.p-recruit__catch-img img {
				position: absolute;
				top: -15px;
				left: 50%;
				display: block;
				width: 1920px;
				height: 680px;
				object-fit: cover;
				object-position: center center;
				transform: translateX(-50%);
			}

/*//////////////////// Footer ////////////////////*/
.p-recruit-footer {
	width: 100%;
	background-color: #fff;
	padding: 50px 0 0;
}
	.p-recruit-footer__inner {
		width: 1140px;
		margin-inline: auto;
	}
	.p-recruit-footer__nav-row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}
	.p-recruit-footer__logo {
		display: block;
		width: 186px;
		height: 38px;
		line-height: 0;
	}
	.p-recruit-footer__logo:hover {
		opacity: 1;
	}
		.p-recruit-footer__logo img {
			display: block;
			width: 186px;
			height: 38px;
		}
	.p-recruit-footer__list {
		display: flex;
		align-items: center;
		gap: 34px;
	}
		.p-recruit-footer__link {
			position: relative;
			display: inline-block;
			color: #575757;
			font-family: "Zen Kaku Gothic New", sans-serif;
			font-size: 14px;
			font-weight: 500;
			line-height: 1;
			letter-spacing: 0.1em;
			text-decoration: none;
			white-space: nowrap;
		}
		.p-recruit-footer__link:hover {
			opacity: 1;
		}
		.p-recruit-footer__link::after {
			content: "";
			position: absolute;
			right: 0;
			bottom: -4px;
			left: 0;
			height: 1px;
			background-color: #575757;
			transform: scaleX(0);
			transform-origin: left center;
			transition: transform 0.3s ease;
		}
		.p-recruit-footer__link:hover::after {
			transform: scaleX(1);
		}
	.p-recruit-footer__copy {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		margin-top: 50px;
		padding: 15px 10px;
		border-top: 1px solid #c2c2c2;
	}
		.p-recruit-footer__copy-text {
			margin: 0;
			color: #575757;
			font-family: "Zen Kaku Gothic New", sans-serif;
			font-size: 14px;
			font-weight: 400;
			line-height: 1;
			letter-spacing: 0.1em;
			white-space: nowrap;
		}
