buttonをクリックすると、モーダルウィンドウで縦長のShort動画を表示します。
音声はミュート(mute)です。
モーダルの背景をクリックすると非表示になります。

DEMO

わかりやすいように、別ページにDEMOを用意しました。

HTML

<button id="modal-button" class="modal-button">モーダルを表示する</button>

<div id="modal" class="modal">
	<div class="modal-overlay">
		<div class="modal-content">
			<span class="modal-close">×</span>
			<div class="player">
				<div id="player"></div>
			</div>
		</div>
	</div>
</div>

CSS

.modal {
	background-color: rgba(68,68,68,.8);
	display: none; /* 初期非表示 */
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10;
}
.modal-overlay {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}
.modal-content {
	max-height: 100%;
	max-width: 100%;
	position: relative;
	width: calc(56.25vh - 100px); /* 動画の比率にあわせて調整 */
}
.modal-close {
	background-color: transparent;
	border: none;
	color: #fff;
	cursor: pointer;
	font-size: 40px;
	line-height: 1;
	position: absolute;
	right: 0;
	top: -40px;
	z-index: 11;
}
.player {
	aspect-ratio: 9 / 16;
	height: auto;
	width: 100%;
}
.player iframe {
	border: 0;
	height: 100%;
	width: 100%;
}

JavaScript

初期ではvideoId: ”で値を空にして、クリック時にvideoIDを設定しています。

	var tag = document.createElement('script');
	tag.src = "https://www.youtube.com/iframe_api";
	var firstScriptTag = document.getElementsByTagName('script')[0];
	firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

	var players = {}; // プレイヤーを管理するためのオブジェクト

	function onYouTubeIframeAPIReady() {
		players['player'] = new YT.Player('player', {
			height: '100%',
			width: '100%',
			videoId: '', // 初期状態では動画IDを設定しない
			events: {
				'onReady': onPlayerReady,
				'onStateChange': onPlayerStateChange
			},
			playerVars: {
				disablekb: 1,
				rel: 0,
				playsinline: 1,
				autoplay: 0
			}
		});
	}

	// プレイヤーが準備完了したときの処理
	function onPlayerReady(event) {
		event.target.mute(); // 動画をミュート
	}

	// プレイヤーの状態が変化したときに呼ばれる関数
	function onPlayerStateChange(event) {
		if (event.data == YT.PlayerState.ENDED) {
			event.target.seekTo(0, true); // 動画の初めにシーク
			event.target.playVideo(); // 動画を再生
		}
	}

	// ボタンがクリックされたときにモーダルを表示する
	document.addEventListener("DOMContentLoaded", function() {
		document.getElementById('modal-button').addEventListener('click', function() {
			// モーダル用の動画IDを設定
			players['player'].loadVideoById('LOkb_AK-B_g'); // videoID
			document.getElementById('modal').style.display = 'block';
			players['player'].playVideo(); // モーダル用の動画を再生
		});

		document.getElementById('modal').addEventListener('click', function() {
			document.getElementById('modal').style.display = 'none';
			players['player'].pauseVideo(); // モーダルを閉じたら動画を一時停止
		});
	});