.ut-text-overlay-block {
	position: relative;
	z-index: 10;
	text-align: center;
}

.ut-text-overlay-background {
	display: inline-block;
}

/* アニメーション */
.ut-text-animation-fadeIn {
	opacity: 0;
	animation: fadeIn 1s ease forwards;
}

.ut-text-animation-slideUp {
	opacity: 0;
	transform: translateY(30px);
	animation: slideUp 1s ease forwards;
}

.ut-text-animation-slideDown {
	opacity: 0;
	transform: translateY(-30px);
	animation: slideDown 1s ease forwards;
}

.ut-text-animation-slideLeft {
	opacity: 0;
	transform: translateX(30px);
	animation: slideLeft 1s ease forwards;
}

.ut-text-animation-slideRight {
	opacity: 0;
	transform: translateX(-30px);
	animation: slideRight 1s ease forwards;
}

.ut-text-animation-zoomIn {
	opacity: 0;
	transform: scale(0.8);
	animation: zoomIn 1s ease forwards;
}

@keyframes fadeIn {
	to {
		opacity: 1;
	}
}

@keyframes slideUp {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideDown {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideLeft {
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes slideRight {
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes zoomIn {
	to {
		opacity: 1;
		transform: scale(1);
	}
}

/* アニメーション遅延 */
.ut-text-overlay-block[data-animation-delay] {
	animation-delay: calc(var(--animation-delay, 0) * 1ms);
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
	.ut-text-overlay-block {
		font-size: calc(var(--font-size, 32px) * 0.75) !important;
	}
}

