@charset "UTF-8";

		/* ========================================
		   Custom Modal (Login Prompt)
		   会員限定機能への誘導モーダル
		======================================== */
		.custom-modal {
			display: none;
			position: fixed;
			top: 0; left: 0; width: 100%; height: 100%;
			z-index: 10000;
			justify-content: center;
			align-items: center;
		}
		.custom-modal.show {
			display: flex;
			animation: fadeInModal 0.3s ease forwards;
		}
		@keyframes fadeInModal {
			from { opacity: 0; }
			to { opacity: 1; }
		}

		.custom-modal-bg {
			position: absolute;
			top: 0; left: 0; width: 100%; height: 100%;
			background: rgba(0, 0, 0, 0.7);
			backdrop-filter: blur(5px);
			-webkit-backdrop-filter: blur(5px);
		}

		/* モーダル本体 (ダーク＆ラグジュアリーデザイン) */
		.custom-modal-inner {
			position: relative;
			background: #1a1a1a; /* 高級感のあるダークグレー */
			color: #fff;
			width: 90%;
			max-width: 400px;
			padding: 2.5rem 2rem;
			border-radius: 12px;
			border: 1px solid rgba(255, 255, 255, 0.1);
			text-align: center;
			box-shadow: 0 15px 40px rgba(0,0,0,0.5);
			z-index: 1;
			transform: translateY(20px);
			animation: slideUpModal 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
		}
		@keyframes slideUpModal {
			to { transform: translateY(0); }
		}

		.custom-modal-close {
			position: absolute;
			top: 15px; right: 20px;
			font-size: 1.8rem;
			color: #888;
			cursor: pointer;
			line-height: 1;
			transition: color 0.3s;
		}
		.custom-modal-close:hover {
			color: #fff;
		}

		.modal-icon {
			color: var(--accent-color);
			margin-bottom: 1rem;
			display: flex;
			justify-content: center;
		}

		.modal-title {
			font-family: var(--font-eng);
			font-size: 1.2rem;
			letter-spacing: 0.1em;
			margin-bottom: 1rem;
		}

		.modal-text {
			font-size: 0.95rem;
			color: #bbb;
			line-height: 1.6;
			margin-bottom: 2rem;
		}

		.btn-login-prompt {
			display: block;
			width: 100%;
			background: var(--accent-color);
			color: #fff;
			font-weight: 700;
			padding: 14px 20px;
			border-radius: 50px;
			text-decoration: none;
			letter-spacing: 0.05em;
			box-shadow: 0 4px 10px rgba(235, 47, 91, 0.2);
			transition: background 0.3s, transform 0.2s;
		}
		.btn-login-prompt:hover {
			background: #d11a48;
			transform: translateY(-2px);
		}