@charset "UTF-8";

		/* ========================================
		Loading Screen (New)
		========================================
		*/
		#loading-screen {
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: #050505;
			z-index: 10000;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1); /* スムーズなスライドアップ */
		}

		#loading-screen.is-loaded {
			transform: translateY(-100%);
		}

		.loading-logo {
			font-family: var(--font-eng);
			color: #fff;
			text-align: center;
			animation: pulse 2s infinite ease-in-out;
		}

		.loading-logo h1 {
			font-size: 3rem;
			font-weight: 900;
			letter-spacing: 0.1em;
			margin-bottom: 0.5rem;
		}

		.loading-logo span {
			font-family: var(--font-sans);
			font-size: 0.8rem;
			letter-spacing: 0.3em;
			color: var(--cover-accent-color);
		}

		@keyframes pulse {
			0% { opacity: 0.6; }
			50% { opacity: 1; }
			100% { opacity: 0.6; }
		}

		/* ========================================
		Age Verification Modal (Overlay)
		========================================
		*/
		#age-verification {
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(255, 255, 255, 0.98);
			z-index: 9999;
			display: flex;
			justify-content: center;
			align-items: center;
			opacity: 0;
			visibility: hidden;
			transition: opacity 0.4s;
		}

		#age-verification.is-visible {
			opacity: 1;
			visibility: visible;
		}

		.modal-content {
			text-align: center;
			padding: 2rem;
			max-width: 400px;
		}

		.modal-title {
			font-family: var(--font-copy);
			font-size: 1.8rem;
			font-weight: 800;
			margin-bottom: 1rem;
		}

		.btn-group {
			display: flex;
			gap: 1rem;
			justify-content: center;
			margin-top: 2rem;
		}

		.btn {
			padding: 0.8rem 2rem;
			border-radius: 50px;
			border: 2px solid #000;
			font-weight: 700;
			cursor: pointer;
			background: transparent;
			transition: all 0.2s;
		}

		.btn-enter {
			background: #000;
			color: #fff;
		}

		.btn-enter:hover {
			background: var(--cover-accent-color);
			border-color: var(--cover-accent-color);
		}


		/* ========================================
		   Floating Button (MY PAGE / LOG IN)
		======================================== */
		.floating-mypage {
			position: fixed;
			/* 下部固定バー（電話ボタン等）があるページは、bottomの数値を 80px 等に調整してください */
			bottom: 30px;
			right: 20px;
			z-index: 999;

			/* タイポグラフィ設定 */
			font-family: var(--font-eng);
			font-size: 0.85rem; /* 少し大きくして視認性UP */
			font-weight: 700;
			letter-spacing: 0.15em;
			text-decoration: none;

			/* ラグジュアリーな配色（ダークグラス風 × シャンパンゴールド） */
			background: rgba(17, 17, 17, 0.85);
			color: #e5c158;
			border: 1px solid rgba(229, 193, 88, 0.4);
			backdrop-filter: blur(10px);
			-webkit-backdrop-filter: blur(10px);
			box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);

			padding: 12px 20px;
			border-radius: 50px;

			/* 初期状態は非表示（透明＆少し下げる） */
			opacity: 0;
			visibility: hidden;
			transform: translateY(15px) scale(0.95);
			transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		}

		/* スクロールされた時にJSから付与される表示クラス */
		.floating-mypage.is-visible {
			opacity: 1;
			visibility: visible;
			transform: translateY(0) scale(1);
		}

		/* ホバー時の美しい反転エフェクト */
		.floating-mypage:hover {
			background: #e5c158;
			color: #111111;
			border-color: #e5c158;
			transform: translateY(-3px) scale(1.02); /* 少しフワッと浮く */
			box-shadow: 0 6px 20px rgba(229, 193, 88, 0.3); /* ゴールドの淡い光彩 */
		}