@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 p.loadp {
			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 {
	/* ★ 初期状態を display: none; に変更し、レンダリングツリーから完全に除外 */
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.95);
	z-index: 9999;

	/* display:flex; はJS側で付与した直後に効かせるためここでは指定しない */
	justify-content: center;
	align-items: center;

	opacity: 0;
	transition: opacity 0.4s ease;
}

#age-verification.is-visible {
	opacity: 1;
}

.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(--accent-pink);
	border-color: var(--accent-pink);
}


		/* ========================================
		   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); /* ゴールドの淡い光彩 */
		}


.share_box {
	width: 90%;
	max-width: 1200px;
	margin: 20px auto 30px auto;
	display: flex;
	justify-content: flex-end; /* ボタンを右寄せに配置 */
}

.btn-share-x {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	background: #000;
	color: #fff;
	border-radius: 50px;
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.05em;
	transition: background 0.2s, transform 0.2s;
}

.btn-share-x:hover {
	background: #333;
	transform: translateY(-2px);
}