/**
 * #OPEN CLASS campus top
 */

.p-campus-top {
	--campus-color: var(--campus-baba, #4a35ff);
}

/* Figma Fixed BG: campus color 9% → #1B164A 90%, mix-blend plus-lighter */
.theme-edance-open-class .p-front-bg--campus::before {
	background-image: linear-gradient(188.62deg, var(--campus-color, #4a35ff) 9%, #1b164a 90%);
	mix-blend-mode: plus-lighter;
}

.p-campus-top__overlay {
	position: absolute;
	top: auto;
	right: 0;
	bottom: 112px;
	left: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	width: min(900px, calc(100% - 40px));
	margin-inline: auto;

	@media (max-width: 768px) {
		top: 186px;
		bottom: auto;
		width: calc(100% - 40px);
		gap: 16px;
	}
}

.p-campus-top .p-news-bar {
	position: relative;
	right: auto;
	bottom: auto;
	left: auto;
	z-index: 3;
	width: 100%;
	margin: 0;
}

.p-campus-top .p-news-bar__label {
	background-image: none;
	background-color: var(--campus-color);
}

.p-campus-top .p-news-bar__cat {
	border-color: transparent;
	background-color: var(--campus-color);
	color: var(--white);
}

.p-campus-top__fv {
	/* padding-bottom: 20px; */
}

.p-campus-top__kv {
	position: relative;
	width: min(1380px, calc(100% - 60px));
	margin-inline: auto;
	overflow: hidden;
	border-radius: 30px;
	min-height: 667px;

	@media (max-width: 768px) {
		width: calc(100% - 20px);
		min-height: 590px;
		border-radius: 12px;
	}
}

.p-campus-top__kv-img {
	position: relative;
	z-index: 0;
	display: block;
	width: 100%;
	height: 667px;
	object-fit: cover;

	@media (max-width: 768px) {
		height: 590px;
	}
}

.p-campus-top__kv-img--pc {
	@media (max-width: 768px) {
		display: none;
	}
}

.p-campus-top__kv-img--sp {
	display: none;

	@media (max-width: 768px) {
		display: block;
	}
}

.p-campus-top__kv-grd {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background-image: linear-gradient(
		180deg,
		rgb(0 0 0 / 0%) 0%,
		rgb(0 0 0 / 8%) 38%,
		rgb(0 0 0 / 52%) 72%,
		rgb(0 0 0 / 82%) 100%
	);
}

.p-campus-top__copy {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	width: min(559px, 100%);
	margin-inline: auto;
	text-align: center;

	@media (max-width: 768px) {
		/* width: min(287px, 100%); */
		gap: 16px;
	}
}

.p-campus-top__title {
	margin: 0;
}

.p-campus-top__catch {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;

	@media (max-width: 768px) {
		gap: 5px;
	}
}

.p-campus-top__catch--sp {
	display: none;
}

@media (max-width: 768px) {
	.p-campus-top__catch--pc {
		display: none;
	}

	.p-campus-top__catch--sp {
		display: flex;
	}
}

.p-campus-top__catch-line {
	margin: 0;
	padding: 2px 5px 4px;
	background-color: transparent;
	color: var(--white);
	font-size: clamp(32px, 2.92vw, 42px);
	font-weight: 900;
	line-height: 1;
	font-feature-settings: "palt" 1;
	text-box: unset;

	&.js-mark-reveal::before {
		background-color: var(--campus-color);
	}

	.c-mark__text {
		white-space: nowrap;
		color: var(--white);
	}

	@media (max-width: 768px) {
		font-size: 31px;
	}
}

.p-campus-top__lead {
	margin: 0;
	max-width: 495px;
	color: var(--white);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;

	@media (max-width: 768px) {
		font-size: 15px;
		line-height: 1.4;
	}
}

.p-campus-top__fv .p-banner {
	padding-top: 0;
	margin-top: -80px;
	position: relative;
	z-index: 2;

	@media (max-width: 768px) {
		margin-top: -40px;
	}
}

.p-campus-cta__item--current,
.p-pickup__campus--current {
	background-color: var(--campus-color, #4a35ff);
}

.p-campus-top .p-pickup__campus--baba {
	background-color: var(--campus-baba, #4a35ff);
}

.p-campus-top .p-pickup__campus--anime-dance {
	background-color: var(--campus-anime-dance, #0097f5);
}

.p-campus-top__panels {
	padding-top: 20px;
}

.p-campus-top__pair {
	.p-panels__half {
		aspect-ratio: 1;
	}
}

.p-campus-top__trio {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 50px;
	padding-bottom: 50px;

	@media (max-width: 768px) {
		grid-template-columns: 1fr;
		gap: 20px;
		padding-bottom: 20px;
	}

	.p-panels__half {
		width: 100%;
	}
}

.theme-edance-open-class .p-campus-top .c-sec-head.c-sec-head--glow .c-sec-head__en {
	border-bottom-color: var(--campus-color);
	font-size: clamp(48px, 6.67vw, 96px);

	@media (max-width: 768px) {
		border-bottom-color: var(--campus-color);
		font-size: 40px;
	}
}

.p-campus-top__news {
	padding-top: 80px;

	@media (max-width: 768px) {
		padding-top: 60px;
	}

	.c-sec-head {
		margin-bottom: 40px;
	}
}

.p-campus-top__news-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px 20px;
	width: min(1240px, calc(100% - 40px));
	margin-inline: auto;

	@media (max-width: 1024px) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	@media (max-width: 768px) {
		grid-template-columns: 1fr;
	}
}

.p-campus-top__news-more {
	display: flex;
	justify-content: center;
	margin: 40px 0 0;
}

.p-campus-top .c-btn {
	border: 0;
	border-radius: 999px;
	padding-left: 28px;
	padding-right: 40px;
	background-image: var(--neon-grd);
	background-size: 100% 100%;
	background-position: center;
	color: var(--white);
	transition: background-size 0.55s ease, background-position 0.55s ease, opacity 0.3s ease, color 0.3s ease;

	&:hover {
		opacity: 1;
		color: var(--white);
		background-size: 220% 160%;
		background-position: 85% 40%;
	}
}

.p-campus-top__studio .p-facility__lead {
	text-align: left;

	@media (max-width: 1024px) {
		text-align: center;
	}
}

.p-campus-top__studio-more {
	display: flex;
	justify-content: center;
	margin: 40px 0 0;
}

.p-campus-top__wide {
	display: flex;
	flex-direction: column;
	gap: 50px;
	padding-top: 80px;

	@media (max-width: 768px) {
		gap: 20px;
		padding-top: 40px;
	}

	.p-panels__about {
		aspect-ratio: 1340 / 500;

		@media (max-width: 768px) {
			aspect-ratio: 1;
		}
	}

	.p-panels__ja {
		width: fit-content;
		max-width: 100%;
	}

	.p-panels__caption.p-panels__caption--left {
		left: 50px;
		transform: none;
		align-items: flex-start;
	}

	.p-panels__caption.p-panels__caption--right {
		left: auto;
		right: 50px;
		transform: none;
		align-items: flex-end;
	}

	@media (max-width: 768px) {
		.p-panels__caption.p-panels__caption--left,
		.p-panels__caption.p-panels__caption--right {
			left: 50%;
			right: auto;
			bottom: 24px;
			transform: translateX(-50%);
			align-items: center;
		}
	}
}
