	.section-lead {
		max-width: none !important;
	}

	/* ==========================================================================
1. セッションカード全体
========================================================================== */
	.session-card {
		background-image: linear-gradient(#1a1e2e, #1a1e2e) !important;
		background-clip: border-box !important;
		cursor: pointer;
		position: relative;
		overflow: hidden;
	}

	/* ==========================================================================
2. ビジュアル領域 & 背景画像
========================================================================== */
	.session-visual {
		position: relative;
		width: 100%;
	}

	.session-visual-bg {
		position: relative;
		width: 100%;
		height: 100%;
		overflow: hidden;
	}

	.session-visual-bg img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	/* ==========================================================================
3. バッジ類（トラック / 会場時間ラベル / ルーム）
========================================================================== */
	/* トラックバッジ共通 */
	.session-track-badge {
		background-clip: border-box !important;
		overflow-wrap: normal !important;
		line-height: 0 !important;
		color: #ffffff !important;
		--canva-color: #ffffffff;
		caret-color: #ffffff !important;
		font-weight: 700 !important;
		font-style: normal !important;
		font-size: 0.725rem !important;
		padding: 16px !important;
		display: none !important;
	}

	/* トラックバッジ背景バリエーション */
	.track-ai-bg {
		background-image: linear-gradient(120deg, #9b6bff, #ff7ac6) !important;
	}

	.track-cx-bg {
		background-image: linear-gradient(120deg, #2fd1a8, #4e7cff) !important;
	}

	.track-data-bg {
		background-image: linear-gradient(120deg, #ff8b6b, #ff7ac6) !important;
	}

	.track-badge-bg {
		background-image: linear-gradient(120deg, var(--purple), var(--sky)) !important;
	}

	/* 会場・時間ラベルバッジ */
	.session-label-badge {
		background-image: linear-gradient(rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.18)) !important;
		background-clip: border-box !important;
		overflow-wrap: normal !important;
		line-height: normal !important;
		color: #ffffff !important;
		--canva-color: #ffffffff;
		caret-color: #ffffff !important;
		font-weight: 700 !important;
		font-style: normal !important;
		font-size: 0.725rem !important;
		padding: 8px 16px !important;
		position: static !important;
	}

	/* ルームバッジ共通 */
	.room-badge {
		background-clip: border-box !important;
		white-space: pre-wrap !important;
		overflow-wrap: normal !important;
		line-height: 0 !important;
		color: #ffffff !important;
		--canva-color: #ffffffff;
		caret-color: #ffffff !important;
		font-weight: 800 !important;
		font-style: normal !important;
		font-size: 0.625rem !important;
		padding: 8px !important;
	}

	/* ルームバッジ背景バリエーション */
	.room-a {
		background-image: linear-gradient(135deg, #6d8cff, #9b6bff) !important;
	}

	.room-b {
		background-image: linear-gradient(135deg, #9b6bff, #ff7ac6) !important;
	}

	.room-c {
		background-image: linear-gradient(135deg, #ff8b6b, #ff7ac6) !important;
	}

	.room-d {
		background-image: linear-gradient(135deg, #2fd1a8, #4e7cff) !important;
	}

	/* ==========================================================================
4. アバター領域（Speaker画像 / イニシャル）
========================================================================== */
	.session-av {
		white-space: pre-wrap !important;
		overflow-wrap: normal !important;
		line-height: normal !important;
		overflow: hidden;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.session-av img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: inherit;
	}

	/* ==========================================================================
5. テキスト情報エリア（メタ情報 / タイトル / 概要 / VIEW MORE）
========================================================================== */
	.session-meta-row {
		color: #aaa !important;
		--canva-color: #ffffff;
		caret-color: #ffffff !important;
		font-weight: 700 !important;
		font-style: normal !important;
		font-size: 0.75rem !important;
	}

	.session-card-title {
		overflow-wrap: normal !important;
		line-height: normal !important;
		color: #CCC !important;
		--canva-color: #ffffffff;
		caret-color: #ffffff !important;
		font-weight: 800 !important;
		font-style: normal !important;
		font-size: 1.2625rem !important;
		text-align: left;
	}

	.session-card-sub {
		overflow-wrap: normal !important;
		line-height: normal !important;
		color: #BBB !important;
		--canva-color: #ffffff;
		caret-color: #ffffff !important;
		font-size: 0.8125rem !important;
		text-align: left;
	}

	.session-view-more {
		overflow-wrap: normal !important;
		line-height: normal !important;
		color: #9b6bff !important;
		--canva-color: #9b6bffff;
		caret-color: #9b6bff !important;
		font-weight: 700 !important;
		font-style: normal !important;
		font-size: 0.8125rem !important;
	}

	/* ===== おすすめセッション — ビジュアルカード型 ===== */
	.session-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 32px;
    display
	}

	.session-card {
		border-radius: var(--radius);
		overflow: hidden;
		cursor: pointer;
		box-shadow: var(--shadow);
		transition: transform .25s, box-shadow .25s;
		position: relative;
		background: var(--gray-800, #1a1e2e);
	}

	.session-card:hover {
		transform: translateY(-6px);
		box-shadow: var(--shadow-lg);
	}

	/* ビジュアルエリア（ダーク背景＋グラデ） */
	.session-visual {
		position: relative;
		width: 100%;
		height: auto !important;
		overflow: hidden;
		display: flex;
		align-items: flex-end;
	}

	.session-visual-bg {
		position: relative;
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0;
		overflow: hidden;
	}

	.session-visual-bg img {
		width: 100% !important;
		height: auto !important;
		object-fit: contain !important;
		display: block;
	}

	/* 登壇者アバター（重なり表示） */
	.session-avatars {
		position: absolute;
		bottom: 16px;
		left: 20px;
		display: flex;
		display: none !important;
	}

	.session-av {
		width: 88px !important;
		height: 88px !important;
		border-radius: 50%;
		border: 2.5px solid rgba(255, 255, 255, .6);
		background: linear-gradient(135deg, #6D8CFF, #9B6BFF);
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: "Poppins";
		font-weight: 800;
		font-size: 14px;
		color: #fff;
		flex-shrink: 0;
		margin-left: -12px;
		box-shadow: 0 2px 8px rgba(0, 0, 0, .3);
		display: none !important;
	}

	.session-av:first-child {
		margin-left: 0;
	}

	/* セッションラベル（右上） */
	.session-label-badge {
		position: absolute;
		top: 14px;
		right: 14px;
		font-size: 10px;
		font-weight: 700;
		letter-spacing: .08em;
		padding: 4px 10px;
		border-radius: 6px;
		color: #fff;
		background: rgba(255, 255, 255, .18);
		backdrop-filter: blur(4px);
		border: 1px solid rgba(255, 255, 255, .25);
	}

	/* トラック名（左上） */
	.session-track-badge {
		position: absolute;
		top: 14px;
		left: 14px;
		font-size: 10px;
		font-weight: 700;
		padding: 4px 10px;
		border-radius: 6px;
		color: #fff;
		border: none;
	}

	.track-ai-bg {
		background: linear-gradient(120deg, #9B6BFF, #FF7AC6);
	}

	.track-data-bg {
		background: linear-gradient(120deg, #FF8B6B, #FF7AC6);
	}

	.track-cx-bg {
		background: linear-gradient(120deg, #2FD1A8, #4E7CFF);
	}

	/* カード下部テキスト */
	.session-info {
		padding: 22px 24px 20px;
		text-align: left;
	}

	.session-meta-row {
		display: flex;
		align-items: center;
		gap: 12px;
		margin-bottom: 10px;
		font-size: 12px;
		font-weight: 700;
		color: var(--ink-soft);
	}

	.session-meta-row .room-badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 20px;
		height: 20px;
		border-radius: 5px;
		color: #fff;
		font-size: 10px;
		font-family: "Poppins";
		font-weight: 800;
		flex-shrink: 0;
	}

	.room-a {
		background: linear-gradient(135deg, #6D8CFF, #9B6BFF);
	}

	.room-b {
		background: linear-gradient(135deg, #9B6BFF, #FF7AC6);
	}

	.room-c {
		background: linear-gradient(135deg, #FF8B6B, #FF7AC6);
	}

	.room-d {
		background: linear-gradient(135deg, #2FD1A8, #4E7CFF);
	}

	.session-card-title {
		font-size: 17px;
		font-weight: 800;
		color: var(--ink);
		line-height: 1.45;
		margin-bottom: 8px;
	}

	.session-card-sub {
		font-size: 13px;
		color: var(--ink-soft);
		line-height: 1.6;
		margin-bottom: 16px;
	}

	.session-view-more {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		font-size: 12.5px;
		font-weight: 700;
		color: var(--purple);
		letter-spacing: .04em;
		background: none;
		border: none;
		padding: 0;
		cursor: pointer;
	}

	.session-view-more::after {
		content: "＋";
	}

	/* セッションモーダル */
	.session-modal-overlay {
		position: fixed;
		inset: 0;
		background: rgba(35, 39, 70, .6);
		backdrop-filter: blur(6px);
		z-index: 1100;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 20px;
		opacity: 0;
		pointer-events: none;
		transition: opacity .25s;
	}

	.session-modal-overlay.open {
		opacity: 1;
		pointer-events: all;
	}

	.session-modal {
		background: var(--white);
		border-radius: 20px;
		max-width: 600px;
		width: 100%;
		max-height: 88vh;
		overflow-y: auto;
		box-shadow: 0 24px 64px rgba(35, 39, 70, .25);
		transform: translateY(18px) scale(.97);
		transition: transform .25s;
		position: relative;
	}

	.session-modal-overlay.open .session-modal {
		transform: none;
	}

	.session-modal-visual {
		height: auto;
		min-height: auto;
		border-radius: 20px 20px 0 0;
		overflow: hidden;
		position: relative;
		display: flex;
		align-items: flex-end;
		padding: 0;
	}

	.session-modal-visual .session-av {
		width: 56px;
		height: 56px;
		font-size: 16px;
	}

	.session-modal-body {
		padding: 28px 28px 32px;
		text-align: left;
	}

	.session-modal-track {
		display: inline-block;
		font-size: 11px;
		font-weight: 700;
		padding: 4px 12px;
		border-radius: 6px;
		color: #fff;
		margin-bottom: 12px;
		display: none;
	}

	.session-modal-title {
		font-size: 22px;
		font-weight: 900;
		color: var(--ink);
		line-height: 1.4;
		margin-bottom: 8px;
	}

	.session-modal-meta {
		display: flex;
		align-items: center;
		gap: 12px;
		font-size: 0.725rem !important;
		font-weight: 700 !important;
		color: #ffffff !important;
		background-image: linear-gradient(rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.18)) !important;
		background-color: rgba(35, 39, 70, 0.6) !important;
		padding: 6px 12px !important;
		border-radius: 6px !important;
		border: 1px solid rgba(255, 255, 255, 0.25) !important;
		width: fit-content !important;
		margin-bottom: 18px !important;
		color: #ffffff !important;
	}

	.session-modal-desc {
		color: var(--ink-soft);
		font-size: 14.5px;
		line-height: 1.85;
		margin-bottom: 24px;
	}

	.session-modal-speakers {
		display: flex;
		flex-direction: column;
		gap: 14px;
		border-top: 1px solid var(--line);
		padding-top: 20px;
	}

	.session-modal-speaker {
		display: flex;
		align-items: center;
		gap: 14px;
	}

	.session-modal-av {
		width: 88px;
		height: 88px;
		border-radius: 50%;
		flex-shrink: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: "Poppins";
		font-weight: 800;
		font-size: 15px;
		color: #fff;
	}

	.session-modal-spk-name {
		font-weight: 700;
		font-size: 15px;
		color: var(--ink);
		margin-bottom: 0;
	}

	.session-modal-spk-role {
		font-size: 12.5px;
		color: var(--ink-soft);
		margin-bottom: 0;
    
    @media (min-width: 767px) {
      word-break: auto-phrase;
    }
	}

	.modal-x {
		position: absolute;
		top: 14px;
		right: 14px;
		width: 32px;
		height: 32px;
		border-radius: 50%;
		background: rgba(0, 0, 0, .3);
		border: none;
		cursor: pointer;
		font-size: 16px;
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: background .2s;
		z-index: 2;
	}

	.modal-x:hover {
		background: rgba(0, 0, 0, .5);
	}

	@media(max-width:900px) {
		.session-grid {
			grid-template-columns: 1fr;
		}
	}
	@media(max-width:767px) {
		.session-track-badge {
		    padding: 10px 8px !important;
            border-radius: 16px !important;
            top: 8px !important;
            left: 10px !important;
		}
	}