/**
 * #First View
 */

.p-fv {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100svh;
	min-height: 640px;
	overflow: hidden;
	background-color: #000;
	.p-fv__bg {
		position: absolute;
		inset: 0;

		video,
		img {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

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

		.p-fv__media--sp {
			display: none;

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

		&::after {
			content: "";
			position: absolute;
			inset: 0;
			background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.35) 100%);
		}
	}

	.p-fv__copy {
		position: relative;
		z-index: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		width: clamp(280px, 50vw, 720px);
		/* gap: clamp(12px, 1.53vw, 22px); */
	}

	.p-fv__catch {
		width: 100%;
		height: auto;
		overflow: visible;
	}

	.p-fv__catch-text {
		margin: 0;
		width: 100%;
		color: var(--white);
		font-size: clamp(28px, 3.4vw, 48px);
		font-weight: 700;
		line-height: 1.4;
		text-align: center;
		text-wrap: balance;
	}

	.p-fv__catch-sub {
		margin: 0 0 10px;
		width: 100%;
		color: var(--white);
		font-size: clamp(20px, 2vw, 32px);
		font-weight: 700;
		line-height: 1.5;
		text-align: center;
		br {
			display: none;
		}
	}

	.p-fv__sub {
		margin: 0;
		width: 100%;
		color: var(--white);
		font-family: var(--ff-en);
		font-size: clamp(20px, 1.67vw, 28px);
		font-weight: 700;
		line-height: 1.5;
		text-align: center;
	}

	@media (max-width: 768px) {
		.p-fv__copy {
			width: min(321px, 86vw);
		}
		.p-fv__catch-sub {
			font-size: 20px;
			 br {
				display: block;
			 }
		}
		.p-fv__sub {
			font-size: 18px;
		}
	}
}

.theme-edance-pro-lab .p-fv,
.theme-edance-open-class .p-fv {
	.p-fv__copy {
		/* gap: 28px; */
	}

	.p-fv__catch-sub-wrap {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 12px;
		width: 100%;
		margin: 0;
		text-align: center;
	}

	.p-fv__catch-sub__badge {
		margin: 0;
		padding: 5px 16px;
		border-radius: 999px;
		background-color: var(--white);
		color: #111;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.04em;
	}

	.p-fv__catch-sub__title {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 6px;
		margin: 0;
		color: var(--white);
		font-weight: 700;
		line-height: 1.4;
		text-align: center;
	}

	.p-fv__catch-sub__name {
		font-size: clamp(16px, 1.53vw, 22px);
		font-weight: 700;
		line-height: 1.4;
	}

	.p-fv__catch-sub {
		margin: 0;
		width: auto;
		font-size: clamp(24px, 2.22vw, 32px);
		font-weight: 700;
		line-height: 1.4;
		text-wrap: balance;
	}

	.p-fv__catch-sub__description {
		margin: 0;
		width: 100%;
		color: var(--white);
		font-size: 16px;
		font-weight: 500;
		line-height: 1.7;
	}

	@media (max-width: 768px) {
		.p-fv__copy {
			gap: 16px;
		}

		.p-fv__catch-sub-wrap {
			gap: 10px;
		}

		.p-fv__catch-sub__badge {
			padding: 4px 12px;
			font-size: 11px;
		}

		.p-fv__catch-sub__title {
			gap: 4px;
		}

		.p-fv__catch-sub__name {
			font-size: 12px;
		}

		.p-fv__catch-sub {
			font-size: 18px;
		}

		.p-fv__catch-sub__description {
			font-size: 12px;
			line-height: 1.6;
		}
	}
}

.theme-edance-pro-lab .p-fv .p-fv__copy {
	width: min(820px, 68vw);

	@media (max-width: 768px) {
		width: min(321px, 86vw);
	}
}

.theme-edance-pro-lab {
	.p-fv__catch {
		max-width: calc(600 / 1440 * 100vw);
	}
	@media (max-width: 768px) {
		.p-fv__catch {
			max-width: calc(321 / 375 * 100vw);
		}
	}
}
