diff --git a/packages/frontend/assets/reversi/matched.mp3 b/packages/frontend/assets/reversi/matched.mp3
new file mode 100644
index 0000000000..f26d07614e
Binary files /dev/null and b/packages/frontend/assets/reversi/matched.mp3 differ
diff --git a/packages/frontend/src/pages/reversi/game.board.vue b/packages/frontend/src/pages/reversi/game.board.vue
index b787e301be..3a24777db8 100644
--- a/packages/frontend/src/pages/reversi/game.board.vue
+++ b/packages/frontend/src/pages/reversi/game.board.vue
@@ -487,6 +487,7 @@ $gap: 4px;
 	aspect-ratio: 1;
 	transform-style: preserve-3d;
 	perspective: 150px;
+	transition: border 0.25s ease, opacity 0.25s ease;
 
 	&.boardCell_empty {
 		border: solid 2px var(--divider);
diff --git a/packages/frontend/src/pages/reversi/index.vue b/packages/frontend/src/pages/reversi/index.vue
index d33acc95a9..5fbbbef2c5 100644
--- a/packages/frontend/src/pages/reversi/index.vue
+++ b/packages/frontend/src/pages/reversi/index.vue
@@ -10,11 +10,12 @@ SPDX-License-Identifier: AGPL-3.0-only
 			<img src="/client-assets/reversi/logo.png" style="display: block; max-width: 100%; max-height: 200px; margin: auto;"/>
 		</div>
 
-		<div class="_panel" style="padding: 16px;">
+		<div class="_panel _gaps" style="padding: 16px;">
 			<div class="_buttonsCenter">
 				<MkButton primary gradate rounded @click="matchAny">{{ i18n.ts._reversi.freeMatch }}</MkButton>
 				<MkButton primary gradate rounded @click="matchUser">{{ i18n.ts.invite }}</MkButton>
 			</div>
+			<div style="font-size: 90%; opacity: 0.7; text-align: center;"><i class="ti ti-music"></i> {{ i18n.ts.soundWillBePlayed }}</div>
 		</div>
 
 		<MkFolder v-if="invitations.length > 0" :defaultOpen="true">
@@ -101,6 +102,7 @@ import MkPagination from '@/components/MkPagination.vue';
 import { useRouter } from '@/global/router/supplier.js';
 import * as os from '@/os.js';
 import { useInterval } from '@/scripts/use-interval.js';
+import * as sound from '@/scripts/sound.js';
 
 const myGamesPagination = {
 	endpoint: 'reversi/games' as const,
@@ -141,6 +143,12 @@ const matchingAny = ref<boolean>(false);
 function startGame(game: Misskey.entities.ReversiGameDetailed) {
 	matchingUser.value = null;
 	matchingAny.value = false;
+
+	sound.playUrl('/client-assets/reversi/matched.mp3', {
+		volume: 1,
+		playbackRate: 1,
+	});
+
 	router.push(`/reversi/g/${game.id}`);
 }