diff --git a/packages/backend/src/services/push-notification.ts b/packages/backend/src/services/push-notification.ts
index 5c3bafbb34..393a23d050 100644
--- a/packages/backend/src/services/push-notification.ts
+++ b/packages/backend/src/services/push-notification.ts
@@ -64,6 +64,7 @@ export async function pushNotification<T extends keyof pushNotificationsTypes>(u
 			type,
 			body: type === 'notification' ? truncateNotification(body as Packed<'Notification'>) : body,
 			userId,
+			dateTime: (new Date()).getTime(),
 		}), {
 			proxy: config.proxy,
 		}).catch((err: any) => {
diff --git a/packages/sw/src/sw.ts b/packages/sw/src/sw.ts
index 0ba6a6e4af..872692f903 100644
--- a/packages/sw/src/sw.ts
+++ b/packages/sw/src/sw.ts
@@ -42,8 +42,12 @@ self.addEventListener('push', ev => {
 			// case 'driveFileCreated':
 			case 'notification':
 			case 'unreadMessagingMessage':
+				// 1日以上経過している場合は無視
+				if ((new Date()).getTime() - data.dateTime > 1000 * 60 * 60 * 24) break;
+
 				// クライアントがあったらストリームに接続しているということなので通知しない
-				if (clients.length != 0) return;
+				if (clients.length !== 0) break;
+
 				return createNotification(data);
 			case 'readAllNotifications':
 				for (const n of await self.registration.getNotifications()) {
diff --git a/packages/sw/src/types.ts b/packages/sw/src/types.ts
index 6aa3726eac..0404e21e57 100644
--- a/packages/sw/src/types.ts
+++ b/packages/sw/src/types.ts
@@ -24,6 +24,7 @@ export type pushNotificationData<K extends keyof pushNotificationDataSourceMap>
 	type: K;
 	body: pushNotificationDataSourceMap[K];
 	userId: string;
+	dateTime: number;
 };
 
 export type pushNotificationDataMap = {