/* ローディング全体 */
#loading {
	position: fixed;
	inset: 0;
	background: #60b6ff;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 100000;
	animation: fadeOut 0.8s ease forwards;
	animation-delay: 2.75s;
}

/* 黒い● */
.dot {
	width: 90px;
	height: 90px;
	background: #171c61;
	border-radius: 50%;
	opacity: 0;
	animation: showDot 0.7s ease forwards 0.4s;
	position: relative;
}

/* 円形テキスト */
.circle-text {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 151px;
	height: 151px;
	transform: translate(-50%, -50%) scale(0) rotate(0deg);
	background-image: url('../images/common/character_text.png');
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 0;
	animation: zoomRotate 4s linear forwards 0.9s;
}

.circle-text span {
	position: absolute;
	left: 50%;
	top: 0;
	transform-origin: 0 60px;
	font-size: 16px;
	font-weight: bold;
	color: #171c61;
}

/* キャラクター */
.character {
	position: absolute;
	width: 127px;
	height: 103px;
	background-image: url('../images/common/character.png');
	background-size: contain;
	background-position: center bottom;
	opacity: 0;
	animation: showCharacter 0.8s ease forwards 0.8s;
	margin-bottom: 13px;
	margin-left: 9px;
}

/* 本体 */
/* #site {
	display: none;
	text-align: center;
	padding: 100px;
} */

/* ▼ 追加：LeadTextフェードアニメーション */
.LeadText {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1s ease, transform 1s ease;
}
.LeadText.show {
	opacity: 1;
	transform: translateY(0);
}

/* アニメーション */
@keyframes showDot {
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes zoomRotate {
	0% {
		transform: translate(-50%, -50%) scale(0) rotate(0deg);
		opacity: 0;
	}
	20% {
		transform: translate(-50%, -50%) scale(1) rotate(-72deg);
		opacity: 1;
	}
	100% {
		transform: translate(-50%, -50%) scale(1) rotate(-360deg);
		opacity: 1;
	}
}

@keyframes showCharacter {
	0% { opacity: 0; transform: scale(0.5); }
	100% { opacity: 1; transform: scale(1); }
}

@keyframes fadeOut {
	to {
		opacity: 0;
		visibility: hidden;
	}
}

.fade-section {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-section.show {
	opacity: 1 !important;       /* CSS競合を回避 */
	transform: translateY(0) !important;
}