diff --git a/CHANGELOG.md b/CHANGELOG.md
index ec141f35b..4c41c23c4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,7 @@ ChangeLog
 
 unreleased
 ----------
+* 横のナビゲーションバーの改善
 * MIDIファイルがオーディオ扱いになる問題を修正
 * ミュートワードで正規表現を使えるように
 * デッキで無効になったタイムラインに警告を表示するように
diff --git a/src/client/app/desktop/views/components/ui.sidebar.vue b/src/client/app/desktop/views/components/ui.sidebar.vue
index ec45e0d73..1380c3d48 100644
--- a/src/client/app/desktop/views/components/ui.sidebar.vue
+++ b/src/client/app/desktop/views/components/ui.sidebar.vue
@@ -6,24 +6,16 @@
 		</div>
 
 		<div class="nav" v-if="$store.getters.isSignedIn">
-			<template v-if="$store.state.device.deckMode">
-				<div class="deck active" @click="goToTop">
-					<router-link to="/"><fa icon="columns"/></router-link>
-				</div>
-				<div class="home">
-					<a @click="toggleDeckMode(false)"><fa icon="home"/></a>
-				</div>
-			</template>
-			<template v-else>
-				<div class="home active" @click="goToTop">
+			<template v-if="!$store.state.device.deckMode">
+				<div class="home" :class="{ active: $route.name == 'index' }" @click="goToTop">
 					<router-link to="/"><fa icon="home"/></router-link>
 				</div>
-				<div class="deck">
-					<a @click="toggleDeckMode(true)"><fa icon="columns"/></a>
-				</div>
 			</template>
-			<div class="messaging">
-				<a @click="messaging"><fa icon="comments"/><template v-if="hasUnreadMessagingMessage"><fa icon="circle"/></template></a>
+			<div class="featured" :class="{ active: $route.name == 'featured' }">
+				<router-link to="/featured"><fa :icon="faNewspaper"/></router-link>
+			</div>
+			<div class="explore" :class="{ active: $route.name == 'explore' }">
+				<router-link to="/explore"><fa :icon="faHashtag"/></router-link>
 			</div>
 			<div class="game">
 				<a @click="game"><fa icon="gamepad"/><template v-if="hasGameInvitations"><fa icon="circle"/></template></a>
@@ -37,30 +29,34 @@
 			<div ref="notificationsButton" :class="{ active: showNotifications }">
 				<a @click="notifications"><fa :icon="['far', 'bell']"/></a>
 			</div>
+			<div class="messaging">
+				<a @click="messaging"><fa icon="comments"/><template v-if="hasUnreadMessagingMessage"><fa icon="circle"/></template></a>
+			</div>
 			<div>
 				<a @click="settings"><fa icon="cog"/></a>
 			</div>
-		</div>
-
-		<div class="account">
-			<router-link :to="`/@${ $store.state.i.username }`">
-				<mk-avatar class="avatar" :user="$store.state.i"/>
-			</router-link>
-
-			<div class="nav menu">
-				<div class="signout">
-					<a @click="signout"><fa icon="power-off"/></a>
-				</div>
-				<div>
-					<router-link to="/i/favorites"><fa icon="star"/></router-link>
-				</div>
-				<div v-if="($store.state.i.isLocked || $store.state.i.carefulBot)">
-					<a @click="followRequests"><fa :icon="['far', 'envelope']"/><i v-if="$store.state.i.pendingReceivedFollowRequestsCount">{{ $store.state.i.pendingReceivedFollowRequestsCount }}</i></a>
-				</div>
+			<div class="signout">
+				<a @click="signout"><fa icon="power-off"/></a>
+			</div>
+			<div>
+				<router-link to="/i/favorites"><fa icon="star"/></router-link>
+			</div>
+			<div v-if="($store.state.i.isLocked || $store.state.i.carefulBot)">
+				<a @click="followRequests"><fa :icon="['far', 'envelope']"/><i v-if="$store.state.i.pendingReceivedFollowRequestsCount">{{ $store.state.i.pendingReceivedFollowRequestsCount }}</i></a>
+			</div>
+			<div class="account">
+				<router-link :to="`/@${ $store.state.i.username }`">
+					<mk-avatar class="avatar" :user="$store.state.i"/>
+				</router-link>
+			</div>
+			<div>
+				<template v-if="$store.state.device.deckMode">
+					<a @click="toggleDeckMode(false)"><fa icon="home"/></a>
+				</template>
+				<template v-else>
+					<a @click="toggleDeckMode(true)"><fa icon="columns"/></a>
+				</template>
 			</div>
-		</div>
-
-		<div class="nav dark">
 			<div>
 				<a @click="dark"><template v-if="$store.state.device.darkmode"><fa icon="moon"/></template><template v-else><fa :icon="['far', 'moon']"/></template></a>
 			</div>
@@ -85,6 +81,7 @@ import MkDriveWindow from './drive-window.vue';
 import MkMessagingWindow from './messaging-window.vue';
 import MkGameWindow from './game-window.vue';
 import contains from '../../../common/scripts/contains';
+import { faNewspaper, faHashtag } from '@fortawesome/free-solid-svg-icons';
 
 export default Vue.extend({
 	i18n: i18n('desktop/views/components/ui.sidebar.vue'),
@@ -92,7 +89,8 @@ export default Vue.extend({
 		return {
 			hasGameInvitations: false,
 			connection: null,
-			showNotifications: false
+			showNotifications: false,
+			faNewspaper, faHashtag
 		};
 	},
 
@@ -278,44 +276,23 @@ export default Vue.extend({
 
 		> .nav.bottom
 			position absolute
-			bottom 128px
+			bottom 0
 			left 0
 
-		> .account
-			position absolute
-			bottom 64px
-			left 0
-			width $width
-			height $width
-			padding 14px
+			> .account
+				width $width
+				height $width
+				padding 14px
 
-			> .menu
-				display none
-				position absolute
-				bottom 64px
-				left 0
-				background var(--desktopHeaderBg)
-
-			&:hover
-				> .menu
+				> *
 					display block
-
-			> *:not(.menu)
-				display block
-				width 100%
-				height 100%
-
-				> .avatar
-					pointer-events none
 					width 100%
 					height 100%
 
-		> .dark
-			position absolute
-			bottom 0
-			left 0
-			width $width
-			height $width
+					> .avatar
+						pointer-events none
+						width 100%
+						height 100%
 
 	> .notifications
 		position fixed