diff --git a/apps/landing/src/app/(detail)/components/ScrollToTop.tsx b/apps/landing/src/app/(detail)/components/ScrollToTop.tsx
new file mode 100644
index 00000000..132065fb
--- /dev/null
+++ b/apps/landing/src/app/(detail)/components/ScrollToTop.tsx
@@ -0,0 +1,8 @@
+'use client'
+
+import { useScrollToTop } from '@/hooks/use-scroll-top'
+
+export function ScrollToTop() {
+ useScrollToTop()
+ return null
+}
diff --git a/apps/landing/src/app/(detail)/components/layout.tsx b/apps/landing/src/app/(detail)/components/layout.tsx
index fa91bb75..8fb2b379 100644
--- a/apps/landing/src/app/(detail)/components/layout.tsx
+++ b/apps/landing/src/app/(detail)/components/layout.tsx
@@ -2,12 +2,14 @@ import { Box, Flex } from '@devup-ui/react'
import { RightIndex } from '../docs/RightIndex'
import { LeftMenu } from './LeftMenu'
+import { ScrollToTop } from './ScrollToTop'
export default function Layout({
children,
}: Readonly<{ children: React.ReactNode }>) {
return (
<>
+
diff --git a/apps/landing/src/hooks/use-scroll-top.ts b/apps/landing/src/hooks/use-scroll-top.ts
new file mode 100644
index 00000000..594420fc
--- /dev/null
+++ b/apps/landing/src/hooks/use-scroll-top.ts
@@ -0,0 +1,13 @@
+'use client'
+import { useLenis } from 'lenis/react'
+import { usePathname } from 'next/navigation'
+import { useEffect } from 'react'
+
+export function useScrollToTop() {
+ const pathname = usePathname()
+ const lenis = useLenis()
+
+ useEffect(() => {
+ lenis?.scrollTo(0, { immediate: true })
+ }, [lenis, pathname])
+}