.fv-webgl {
	position: relative;
	width: 100%;
	height: 100svh;
	min-height: 880px;
	overflow: hidden;
	background: #000;
	top: -3px;
}

.fv-webgl_canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#fv-webgl {
	display: block;
	width: 100%;
	height: 100%;
}

.fv-webgl_content {
	position: relative;
	z-index: 2;

	display: flex;
	flex-direction: column;
	/* justify-content: center; */
	align-items: center;

	width: 100%;
	height: 100%;

	padding: 40px;

	color: #fff;
	text-align: center;

	pointer-events: none;
}

.fv-webgl_content .fv-content-top {
	position: absolute;
	top: 5rem;
	left: 12rem;
	font-family: var(--font-en-fw);
	letter-spacing: 1rem;
}

.fv-webgl_content h1 {
	/* margin: 0;
	font-size: clamp(40px, 6vw, 90px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em; */

	font-size: clamp(18px, 6vw, 40px);
	line-height: 5rem;
	text-align: left;
	margin: 0 auto 0 0;
}

.fv-webgl_content p {
	margin: 20px 0 0;
	font-size: clamp(14px, 1.5vw, 20px);
	line-height: 1.8;
	letter-spacing: 0.12em;

	text-align: left;
	color: #fff;
	margin: 0 auto 0 0;
}

.fv-webgl_content p.txt01 {
	position: relative;
	font-size: clamp(16px, 2vw, 24px);
	font-weight: bold;
	padding-bottom: 0.5rem;
	font-family: var(--font-en-fw);
	letter-spacing: 1rem;
	margin-bottom: 0.5rem;
}
.fv-webgl_content p.txt01::after {
	content: '';
	width: 20%;
	height: 2px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
}

/* 日付、曜日、時間 */
.fv-webgl_content .fv-content-bottom {
	text-align: left;
	/* margin: 3rem auto 0 0; */
	font-size: 1.2rem;
	position: absolute;
	bottom: 3rem;
	left: 12rem;
	font-family: var(--font-en-base);
	letter-spacing: 0.1rem;
}
.fv-webgl_content .fv-content-bottom div {
	margin-bottom: 0.8rem;
}
.fv-clock_week {
	position: relative;
	padding-bottom: 0.7rem;
}
.fv-clock_week::after {
	content: '';
	width: 80px;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
}
.fv-clock_time {
	font-variant-numeric: tabular-nums;
}
.fv-webgl .fv-content-bottom .fv-sns {
	pointer-events: auto;
}
.fv-webgl .fv-content-bottom .fv-sns ul {
	display: grid;
	grid-template-columns: repeat(3, fit-content(30px));
	gap: 3rem;
}
.fv-webgl .fv-content-bottom .fv-sns li a img {
	display: block;
	filter: brightness(0) invert(1);
}

@media screen and (max-width: 767px) {
	.fv-webgl {
		height: 100svh;
		min-height: 852px;
	}

	.fv-webgl_content {
		padding: 24px;
	}
	.fv-webgl_content .fv-content-top {
		top: 7em;
		left: 3rem;
	}
	.fv-webgl_content h1 {
		/* font-size: clamp(32px, 10vw, 56px); */
		/* line-height: 3.2rem; */
		line-height: 2.5rem;
	}

	.fv-webgl_content p {
		margin-top: 14px;
		font-size: 13px;
		letter-spacing: 0.08em;
	}
	.fv-webgl_content p.txt01::after {
		width: 50%;
	}

	/* 日付、曜日、時間 */
	.fv-webgl_content .fv-content-bottom {
		font-size: 0.8rem;
		bottom: 4.5rem;
		left: 3rem;
	}
	.fv-webgl_content .fv-content-bottom div {
		margin-bottom: 0.8rem;
	}
}

/* ------------- */
/* ------------- */
/* ------------- */

/* =========================================
   FV Slide Indicator
========================================= */

/* その1：画像番号 */

.fv-slide-counter {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	position: absolute;
	right: 2rem;
	bottom: 5.5rem;
}

.fv-slide-counter__lines {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.fv-slide-counter__lines span {
	display: block;
	width: 30px;
	height: 2px;
	background: rgba(255, 255, 255, 0.35);
	transition: background-color 0.3s ease;
}

.fv-slide-counter__lines span.is-active {
	background: #fff;
}

.fv-slide-counter p {
	margin: 0;
	color: #fff;
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.08em;
}

/* その2：縦型プログレスバー */

.fv-slide-progress {
	position: relative;
	width: 2px;
	/* height: 180px; */
	overflow: hidden;
	background: rgba(255, 255, 255, 0.3);

	position: absolute;
	top: 52%;
	transform: translateY(-50%);
	left: 1rem;
	height: 75%;
}

.fv-slide-progress__fill {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	transform: scaleY(0);
	transform-origin: top;
	will-change: transform;
}

@media screen and (min-width: 768px) {
	.fv-slide-counter {
		top: 50%;
	}
	.fv-slide-progress {
		left: 5rem;
		height: 85%;
	}
}
