

/* =========================
	 PANORAMA
========================= */
#panorama {
		position: relative;
		width: 95%;
		max-width: 1200px;
		height: auto;
		aspect-ratio: 3 / 2;
		margin: 0 auto;
}

/* =========================
	 下部ナビゲーション
========================= */
/*
.vr-nav {
		display: flex;
		justify-content: center;
		gap: 10px;
		margin-top: 15px;
}
.vr-nav button {
		padding: 10px 20px;
		border: 0;
		border-radius: 4px;
		background: #222;
		color: #fff;
		font-size: 14px;
		cursor: pointer;
		transition:
				opacity 0.2s,
				transform 0.2s;
}
.vr-nav button:hover {
		opacity: 0.75;
}
.vr-nav button:active {
		transform: scale(0.97);
}
*/


.vr-nav {
		display: block;
		position: relative;
		margin: 0 0 0 0;
		padding: 12px 0 0 0;
		width: 100%;
		text-align: center;
}
.vr-nav .bt {
		display: inline-block;
		position: relative;
		width: auto;
		min-width: 120px;
		height: 42px;
		padding: 10px 20px;
		border: 0;
		border-radius: 4px;
		background: #222;
		color: #fff;
		font-size: 14px;
		cursor: pointer;
		transition:
				opacity 0.2s,
				transform 0.2s;
}
.vr-nav .bt:hover {
		opacity: 0.75;
}






/* =========================
	 座標表示
	 ※制作・調整用
========================= */
#coords {
		position: fixed;
		right: 20px;
		top: 20px;
		z-index: 9999;
		background: rgba(0, 0, 0, 0.7);
		color: #fff;
		padding: 10px 15px;
		font-size: 13px;
		line-height: 1.6;
		border-radius: 4px;
		pointer-events: none;
}

/* ========================================================
	 情報ホットスポット
======================================================== */
.custom-info {
		width: 34px;
		height: 34px;
		background: none;
		z-index: 10;
}

/* =========================
	 i アイコン
========================= */
.info-icon {
		width: 34px;
		height: 34px;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		background: rgba(255, 255, 255, 0.95);
		color: #222;
		border: 1px solid rgba(0, 0, 0, 0.15);
		border-radius: 50%;
		font-family:
				Arial,
				Helvetica,
				sans-serif;
		font-size: 16px;
		font-weight: bold;
		cursor: pointer;
		box-shadow:
				0 2px 10px rgba(0, 0, 0, 0.25);
		transition:
				transform 0.2s,
				background 0.2s,
				box-shadow 0.2s;
}
.info-icon:hover {
		transform: scale(1.08);
		background: #fff;
		box-shadow:
				0 4px 14px rgba(0, 0, 0, 0.32);
}
/* 開いているアイコン */
.custom-info.is-open .info-icon {
		background: #222;
		color: #fff;
}

/* ========================================================
	 吹き出し
======================================================== */
.info-tooltip {
		position: absolute;
		left: 50px;
		top: 50%;
		transform:
				translateY(-50%) translateX(-5px);
		width: 270px;
		padding: 20px;
		box-sizing: border-box;
		background: rgba(18, 18, 18, 0.94);
		color: #fff;
		border-radius: 8px;
		box-shadow:
				0 8px 30px rgba(0, 0, 0, 0.28);
		opacity: 0;
		visibility: hidden;
		transition:
				opacity 0.25s,
				transform 0.25s,
				visibility 0.25s;
		z-index: 20;
}

/* =========================
	 吹き出し OPEN
========================= */
.custom-info.is-open .info-tooltip {
		opacity: 1;
		visibility: visible;
		transform:
				translateY(-50%) translateX(0);
}

/* =========================
	 吹き出し三角
========================= */
.info-tooltip::before {
		content: '';
		position: absolute;
		left: -8px;
		top: 50%;
		transform: translateY(-50%);
		border-top: 8px solid transparent;
		border-bottom: 8px solid transparent;
		border-right: 8px solid rgba(18, 18, 18, 0.94);
}

/* =========================
	 タイトル
========================= */
.info-title {
		margin: 0 0 8px 0;
		font-size: 16px;
		font-weight: 600;
		line-height: 1.4;
		letter-spacing: 0.02em;
}

/* =========================
	 説明
========================= */
.info-description {
		margin: 0 0 16px 0;
		font-size: 13px;
		line-height: 1.8;
		color: rgba(255, 255, 255, 0.8);
}

/* ========================================================
	 製品動画リンク
======================================================== */
.info-movie {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 90%;
		padding: 11px 14px;
		box-sizing: border-box;
		border:
				1px solid rgba(255, 255, 255, 0.35);
		border-radius: 4px;
		color: #fff;
		text-decoration: none;
		font-size: 13px;
		font-weight: 500;
		letter-spacing: 0.03em;
		transition:
				background 0.2s,
				color 0.2s,
				border-color 0.2s;
}
/* 矢印 */
.info-movie::after {
		content: '→';
		margin-left: 15px;
		font-size: 16px;
		font-weight: normal;
		transition:
				transform 0.2s;
}
/* 動画リンク hover */
.info-movie:hover {
		background: #fff;
		color: #111;
		border-color: #fff;
}
.info-movie:hover::after {
		transform: translateX(4px);
}


/* ========================================================
	 スマートフォン
======================================================== */
@media screen and (max-width: 768px) {
	
		#panorama {
				width: 100%;
				/*
		スマホは少し高さを確保
		*/
				aspect-ratio: 4 / 3;
		}
		.vr-nav {
				display: block;
				position: relative;
				width: 100%;
				padding: 12px 0 0 0;
				margin: 0 0 0 0;
		}
		.vr-nav .bt {
				display: inline-block;
				position: relative;
				width: 46%;
				margin: : 0 2% 8px 2%;
				
		}
		#coords {
				right: 10px;
				top: 10px;
				font-size: 11px;
		}
		.info-tooltip {
				width: 220px;
				padding: 16px;
				left: 44px;
		}
		.info-title {
				font-size: 15px;
		}
		.info-description {
				font-size: 12px;
		}
		.info-movie {
				font-size: 12px;
				padding: 10px 12px;
		}
}


/* =========================================
	 Pannellum 初期表示背景
========================================= */
.pnlm-container,
.pnlm-render-container {
	background: #ffffff !important;
	background-image: none !important;
}

