Knowledge OS Product Design System

Phase 3
UI Design System

Knowledge OSの画面を、誰が実装しても同じ品質にするための UI設計ルールです。 レイアウト、余白、文字、色、コンポーネントの使い方を定義し、 人間の開発者とAI開発支援ツールが共通の判断基準を持てる状態を つくります。

DOCUMENT Knowledge OS Design Principles v1.0.0
PHASE Phase 3 — UI Design System
AUDIENCE Developer / Designer / AI

Introduction

この章の役割

UI Design Systemは、見た目を整えるためだけのルールではありません。 Knowledge OSを使う人が、画面ごとに新しい操作方法を覚えなくても よい状態をつくるための共通言語です。

同じ役割のボタンは、どの画面でも同じ形、同じ位置、同じ言葉で 表現します。同じ種類の情報は、同じカード、同じ文字サイズ、 同じ余白で表示します。

UI Design Systemの目的は、 「きれいな画面」ではなく「迷わない製品」をつくることです。 デザインの独自性よりも、理解しやすさ、一貫性、安心感を優先します。

対象者

開発者

Knowledge OSの標準構成(VueをUIフレームワーク、Tauriをデスクトップアプリ基盤とする)で 画面を実装する際の基準として使用します。 Reactなど他のUIフレームワークを使用する場合も、 本Design Principlesの命名・状態設計・UIルールを維持します。

デザイナー

新しい画面、機能、コンポーネントを設計する際の判断基準として 使用します。

AI開発支援ツール

Cursor、Claude Code、Codexなどに実装を依頼するときの 制約条件として使用します。

この章で定義するもの

01 — Foundation

1 UIの基本方針

Knowledge OSのUIは、業務資料を扱う一般企業向けの製品です。 日常的にITを使う人だけでなく、パソコン操作が得意ではない人、 高齢者、初めて製品に触れる人も対象とします。

UI設計の7原則

1. 一画面一目的

画面を開いた瞬間に、何をする画面なのか分かるようにします。

2. 資料を主役にする

装飾やAIの存在感ではなく、利用者が扱う資料と情報を 中心に配置します。

3. 操作を予測できる

同じ見た目の要素には、常に同じ操作結果を持たせます。

4. 重要度を見た目で示す

文字サイズ、余白、色、位置によって情報の優先順位を 表現します。

5. 色だけに頼らない

成功、警告、エラーは、色に加えてアイコンと文章で 意味を伝えます。

6. 迷ったらシンプルにする

選択肢や装飾を追加するより、不要なものを減らします。

7. AIより利用者が主導する

AIが勝手に処理を進めず、提案、確認、実行の順番を守ります。

判断に迷ったとき 「初めて使う60代の利用者が、説明を読まずに操作できるか」を 判断基準にします。

02 — Layout

2 レイアウト

Knowledge OSの画面は、原則として 「ナビゲーション」「ページヘッダー」「メインコンテンツ」 の3領域で構成します。

基本構造

資料
登録した資料を確認・整理します
メインコンテンツ

ページヘッダー

ページ上部には、原則として次の順番で情報を配置します。

  1. ページタイトル
  2. 画面の目的を説明する補助文
  3. その画面で最も重要な操作ボタン
項目 配置 ルール
ページタイトル 左上 名詞を基本とし、短くする
補助文 タイトルの直下 この画面でできることを一文で示す
主要操作 右上 ボタンは原則1つまで

良い例

資料

登録した資料を確認・整理します。

右上に「資料を追加」ボタンを1つ配置する。

悪い例

ナレッジマネジメントセンター

「新規」「追加」「アップロード」「AI登録」の 4つのボタンを同時に表示する。

コンテンツ幅

用途 最大幅 使用例
通常画面 1280px 資料一覧、検索結果、ダッシュボード
入力画面 840px 設定、資料登録、初回セットアップ
読み物画面 760px ヘルプ、利用規約、説明文
ダイアログ 480〜720px 確認、編集、選択

03 — Grid

3 グリッド

画面内の要素を感覚で配置せず、12カラムグリッドを基準にします。 ただし、利用者にグリッドの存在を感じさせる必要はありません。

デスクトップ

項目
カラム数 12
ガター 24px
左右余白 32px以上
最大コンテンツ幅 1280px

代表的な分割

12カラム

一覧、詳細、入力フォームなど、1つの内容に集中する画面。

8+4カラム

メイン資料と、関連情報・操作パネルを並べる画面。

6+6カラム

2つの情報を比較する画面。左右の重要度が同じ場合に使用。

カード一覧

画面幅 列数 カード最小幅
1200px以上 3〜4列 260px
768〜1199px 2列 280px
767px以下 1列 自動
カードを小さくしすぎない 4列に収めるために文字やボタンを小さくすることは禁止します。 列数を減らし、カードの読みやすさを優先してください。

こう使う

04 — Spacing

4 スペーシング

Knowledge OSでは、余白を装飾ではなく情報整理の手段として 使用します。関係の近い情報は近づけ、異なる情報は離します。

基本単位

余白は原則として4px単位で設計します。 日常的には8px、12px、16px、24px、32px、48pxを使用します。

Token 主な用途
space-1 4px アイコンと文字の微調整
space-2 8px ラベルと入力欄、ボタン内の要素
space-3 12px 小さな要素間
space-4 16px カード内の関連要素
space-6 24px カード内余白、フォーム項目間
space-8 32px セクション間
space-12 48px 大きなセクションの区切り
space-16 64px ページ上部、主要ブロック間

フォームの余白

こう使う

良い使い方

「氏名」と入力欄は近づけ、 「連絡先」セクションとの間は大きく空ける。

悪い使い方

すべての要素を同じ16px間隔で並べ、 情報のまとまりが分からなくなる。

余白に迷ったら、詰めるより広げる。 高齢者や視力の低い利用者にとって、密集した画面は 操作ミスの原因になります。

05 — Card

5 カード

カードは、関連する情報や操作をひとまとまりとして見せるために 使用します。画面を区切るためだけにカードを乱用してはいけません。

基本仕様

項目 標準値
背景 #FFFFFF
境界線 1px / Neutral 200
角丸 12px
内側余白 24px
原則なし。浮遊要素のみ使用
カード間隔 16〜24px

カードの種類

Information Card

資料、案件、設定内容など、情報を表示するカードです。

Action Card

「資料を取り込む」など、1つの操作を開始するカードです。

Status Card

接続状況、処理結果、システム状態を示すカードです。

Summary Card

件数や重要情報を短く要約して示すカードです。

クリック可能なカード

カード全体をクリックできる場合は、次の条件を満たします。

カード内の構造

  1. アイコンまたは種類
  2. タイトル
  3. 補足情報
  4. 状態または更新日時
  5. 必要な場合のみ操作

良い例

相続手続きの進め方.pdf

PDF・12ページ

更新:2026年7月10日

悪い例

タイトル、説明、タグ、更新者、更新日、AI評価、 5個のボタンを1枚のカードに詰め込む。

こう使う

06 — Typography

6 Typography

文字はKnowledge OSで最も重要なUI要素です。 装飾的なフォントではなく、読みやすさと日本語表示の安定性を 優先します。

フォントファミリー

font-family:
  -apple-system,
  BlinkMacSystemFont,
  "Segoe UI",
  "Noto Sans JP",
  "Hiragino Kaku Gothic ProN",
  "Yu Gothic",
  Meiryo,
  sans-serif;

OS標準フォントを優先し、追加フォントのインストールを 前提にしません。

文字サイズ

用途 サイズ 太さ 行間
画面タイトル 28〜32px 700 1.35
セクション見出し 22〜24px 700 1.4
カード見出し 17〜18px 600〜700 1.5
本文 16px 400 1.7
ボタン 15〜16px 600〜700 1.4
補助文字 14px 400 1.6
最小文字 13px 400 1.5
禁止事項 通常の説明文、日時、入力補助文を12px以下にしないでください。 情報を収めるために文字を小さくすることは禁止します。

見出し

本文

補助文字

補助文字は、入力例、更新日時、任意項目、操作の補足などに 使用します。重要な情報を補助文字だけで伝えてはいけません。

良い例

保存先フォルダ

取り込んだ資料を保存する場所です。

悪い例

※この設定を変更すると既存のインデックス情報との 不整合が発生する可能性があります。

数字と日時

07 — Colors

7 Colors

Knowledge OSの色は、製品の装飾ではなく、 操作の優先度と状態を伝えるために使用します。

基本カラー

Primary
#2563EB
Success
#15803D
Warning
#B45309
Error
#B91C1C

Primary

Primaryは、主要操作、選択状態、リンク、フォーカス状態に 使用します。

Token 用途
primary-50 #EFF6FF 選択背景、通知背景
primary-100 #DBEAFE ホバー背景
primary-500 #3B82F6 補助的な青
primary-600 #2563EB 主要ボタン、リンク
primary-700 #1D4ED8 ホバー、強調

Neutral

Token 用途
neutral-0 #FFFFFF カード背景
neutral-50 #F8FAFC ページ背景、サイドバー
neutral-100 #F1F5F9 ホバー背景
neutral-200 #E2E8F0 境界線
neutral-500 #64748B 補助文字
neutral-700 #334155 本文
neutral-900 #0F172A 見出し

Success

保存完了、接続成功、正常状態など、処理が完了したことを 伝えるために使用します。

資料を保存しました 「資料一覧を見る」から内容を確認できます。

Warning

処理は続行できるものの、確認や注意が必要な状態に使用します。

この資料は文字を正しく読み取れない可能性があります 登録後に内容を確認してください。

Error

処理を完了できなかった場合や、入力の修正が必要な場合に 使用します。

資料を保存できませんでした 保存先フォルダを確認して、もう一度お試しください。

色の使用ルール

08 — Components / Button

8 ボタン

ボタンは「何が起きるか」を明確に示す操作要素です。 ボタンの見た目は、操作の重要度と危険度に合わせます。

ボタンの種類

種類 用途 使用数
Primary 画面の最重要操作 原則1つ
Secondary 戻る、キャンセル、補助操作 必要な数だけ
Ghost 軽い操作、詳細表示 控えめに使用
Danger 削除、初期化、解除 危険操作のみ

サイズ

サイズ 高さ 用途
Large 48px 初回設定、主要フロー
Medium 44px 標準
Small 36px テーブル内、補助操作
標準ボタンは44px以上 高齢者やタッチ操作を考慮し、通常画面では高さ44px未満の ボタンを使用しません。

ラベル

ボタンのラベルは、原則として 「対象+動詞」または 「動詞」にします。

良い例

  • 資料を追加
  • 保存する
  • 検索する
  • 設定を確認
  • もう一度試す

悪い例

  • OK
  • 実行
  • 処理
  • 送信
  • 次へ

「次へ」は、次に何が起きるか明らかな連続フォームのみ 使用できます。可能な限り「内容を確認」「登録を完了」のように 具体的にします。

アイコン付きボタン

無効状態

ボタンを無効にする場合は、利用者が理由を理解できるようにします。

処理中

こう使う

資料登録画面 右下にPrimaryの「資料を登録」、 左側にSecondaryの「キャンセル」を配置します。
避ける配置 「保存」「登録」「確定」の3つのPrimaryボタンを 横並びにしないでください。

09 — Components / Tag

9 タグ

タグは、資料の分類、状態、属性を短く示すために使用します。 長い説明や主要操作には使用しません。

相続 契約書 確認済み 2026年度

用途

仕様

項目
高さ 28〜32px
左右余白 10〜12px
角丸 999pxまたは8px
文字サイズ 13〜14px
最大文字数 全角12文字程度

タグとステータスの違い

タグは分類を示します。ステータスは現在の状態を示します。

タグ

相続、契約書、社内資料、顧客A

ステータス

未確認、処理中、確認済み、エラー

こう使う

禁止事項 画面内に10種類以上のタグ色を使用しないでください。 色の意味を覚える必要があるUIは、Knowledge OSには適しません。

10 — Components / Dialog

10 ダイアログ

ダイアログは、利用者の現在の作業を一時的に中断し、 確認や短い入力を求める場合に使用します。

使用してよい場面

使用しない場面

構造

  1. タイトル
  2. 何が起きるかを説明する本文
  3. 必要な場合のみ入力欄
  4. Secondaryボタン
  5. PrimaryまたはDangerボタン

この資料を削除しますか?

「相続手続きの進め方.pdf」を削除します。 削除した資料は元に戻せません。

ボタン配置

デスクトップでは、左にキャンセル、右に実行ボタンを置きます。 モバイルでは縦並びも許可します。

削除確認

削除確認では「本当によろしいですか?」だけを表示してはいけません。 削除対象と結果を具体的に説明します。

良い例

「顧客A」タグを削除します。 このタグが付いた資料自体は削除されません。

悪い例

削除します。よろしいですか?

閉じ方

11 — Components / Empty State

11 Empty State

Empty Stateは、単に「データがありません」と伝える場所では ありません。利用者が次に何をすればよいかを案内する画面です。

Empty Stateの構造

  1. やさしいアイコンまたは簡単なイラスト
  2. 現在の状態を示す見出し
  3. 次にできることを説明する文章
  4. 主要操作ボタン
  5. 必要な場合のみ補助リンク
📄

まだ資料が登録されていません

Word、PDF、画像などの資料を登録すると、 内容を検索したり整理したりできます。

Empty Stateの種類

初回利用

まだデータがない理由と、最初の操作を説明します。

検索結果なし

検索条件を変更する方法を案内します。

フィルター結果なし

フィルター解除ボタンを表示します。

文言例

状態 見出し 操作
資料なし まだ資料が登録されていません 資料を追加
検索結果なし 一致する資料が見つかりませんでした 検索条件を消す
タグなし まだタグがありません タグを作成
履歴なし まだ操作履歴がありません ボタンなし
避ける表現 「No Data」「0件」「データなし」だけを中央に表示しないでください。

12 — Components / Loading

12 Loading

Loadingは、システムが止まっているのではなく、 処理を続けていることを利用者に伝えるためのUIです。

処理時間別の表示

予想時間 表示方法
0〜1秒 原則として表示しない
1〜3秒 ボタン内スピナー
3〜10秒 スピナー+処理内容
10秒以上 進捗表示+キャンセル可否+説明

文言

良い例

  • 資料を読み込んでいます…
  • 文字を抽出しています…
  • 検索結果をまとめています…
  • 保存しています…

悪い例

  • Loading...
  • AI処理中
  • しばらくお待ちください
  • Processing...

AI処理のLoading

AI処理では、「AIが考えています」ではなく、 利用者の資料に対して何をしているかを説明します。

Skeleton

一覧や詳細画面の初期表示では、レイアウトの形を維持する Skeletonを使用できます。

進捗表示

複数ファイルの登録など、処理件数が分かる場合は、 「3 / 10件」のように具体的な進捗を示します。

例:複数資料の取り込み 10件中3件を登録しています。現在: 「契約書_2026年7月.pdf」

こう使う

14 — Components / Form

14 入力フォーム

フォームは、利用者にシステムの都合を押し付けないように 設計します。必要な情報だけを、自然な順番で入力できるようにします。

入力欄

項目 標準値
高さ 44〜48px
角丸 10px
左右余白 14〜16px
境界線 1px / Neutral 300
フォーカス Primary色のリング

ラベル

エラー表示

エラーは、フォーム上部にまとめるだけでなく、 問題のある入力欄の直下にも表示します。

保存先フォルダを選択してください 資料を保存するフォルダが設定されていません。

エラー文の書き方

良い例

ファイル名を入力してください。

悪い例

入力値が不正です。Error 400。

保存

16 — Responsive

16 レスポンシブ設計

Knowledge OSはデスクトップ利用を中心としますが、 小型ノートPCやタブレットでも主要操作を継続できるようにします。

ブレークポイント

名称 主な対象
Mobile 〜767px スマートフォン
Tablet 768〜1023px タブレット、小型画面
Desktop 1024〜1439px 一般的なPC
Wide 1440px〜 大型モニター

縮小時の優先順位

  1. 主要な情報を残す。
  2. 補助情報を折りたたむ。
  3. 複数列を1列にする。
  4. ボタンを縦並びにする。
  5. ナビゲーションをドロワーにする。
禁止事項 画面を狭くするために、文字、ボタン、入力欄を 極端に小さくしないでください。

テーブル

小さい画面では、横スクロール、重要列のみ表示、 カード形式への切り替えを使い分けます。

17 — Accessibility

17 アクセシビリティ

Knowledge OSは、高齢者、視力の低い人、マウス操作が難しい人も 利用する可能性があります。アクセシビリティは追加対応ではなく、 基本品質として扱います。

最低要件

コントラスト

通常文字は、背景とのコントラスト比4.5:1以上を目安とします。 大きな文字でも、薄すぎる色は使用しません。

フォーカス

アイコン

アニメーション

「使える人を増やす」のではなく、 「使えない理由を減らす」。 これがKnowledge OSのアクセシビリティ方針です。

18 — Icons & Illustration

18 アイコンとイラスト

アイコンは、文章を置き換えるものではなく、 意味を素早く理解するための補助として使用します。

アイコンの基本

推奨アイコン

機能 表現
追加
検索 虫眼鏡
削除 ごみ箱
編集 鉛筆
設定 歯車
資料 書類
フォルダ フォルダ
成功 丸の中のチェック
警告 三角形の中の感嘆符
エラー 丸の中の感嘆符

イラスト

イラストは、初回案内、Empty State、セットアップ完了など、 利用者の不安をやわらげる場面に限定して使用します。

19 — Feedback

19 操作結果の伝え方

利用者が操作した後は、「処理されたのか」「次に何をすべきか」が 分かるフィードバックを返します。

Toast

軽い成功通知には、画面端に一時表示するToastを使用できます。

Inline Message

入力エラーや特定領域の問題は、その場所に近い Inline Messageを使用します。

Banner

システム全体の状態、接続切れ、更新案内などは、 画面上部のBannerで示します。

Local AI Runtimeに接続できません 接続を確認するか、クラウドAIを使用してください。

成功通知

保存や登録が完了したら、完了した対象を具体的に示します。

良い例

「相続手続きの進め方.pdf」を登録しました。

悪い例

成功しました。

エラー通知

エラーでは、原因、影響、次の操作の3点をできる範囲で示します。

PDFの内容を読み取れませんでした ファイルは登録されています。画像として登録するか、 別のPDFをお試しください。

20 — AI Implementation Rules

20 AI・開発者向け実装ルール

新しい画面や機能を実装するときは、このDesign Systemを 個別画面の都合より優先します。

AIに実装を依頼するときの共通指示

Knowledge OS Design Principles v1.0.0に従って実装してください。

必須条件:
- 一画面一目的を守る
- 一般利用者向けのやさしい日本語を使用する
- 専門用語や英語を画面上に出さない
- 本文は16px以上
- 主要ボタンは44px以上
- Primaryボタンは1画面につき原則1つ
- 余白は4px単位で設計する
- カード角丸は12pxを基本とする
- 色だけで状態を表現しない
- Loadingには処理内容を表示する
- エラーには解決方法を表示する
- Empty Stateには次の操作を表示する
- AIの回答には根拠資料を表示する
- 既存コンポーネントを優先して再利用する
- 新しい独自UIパターンを勝手に追加しない

新規コンポーネントを作る条件

次のすべてを満たす場合のみ、新規コンポーネントを作成します。

  1. 既存コンポーネントでは目的を達成できない。
  2. 複数画面で再利用する見込みがある。
  3. 利用者が既存の操作方法から予測できる。
  4. アクセシビリティ要件を満たす。
  5. 使用方法をDesign Systemへ追記できる。

禁止する実装

デザイントークン例

:root {
  /* Colors */
  --color-primary-50: #eff6ff;
  --color-primary-600: #2563eb;
  --color-primary-700: #1d4ed8;

  --color-success-50: #f0fdf4;
  --color-success-700: #15803d;

  --color-warning-50: #fffbeb;
  --color-warning-700: #b45309;

  --color-error-50: #fef2f2;
  --color-error-700: #b91c1c;

  --color-admin-50: #f5f3ff;
  --color-admin-700: #6d28d9;

  --color-neutral-0: #ffffff;
  --color-neutral-50: #f8fafc;
  --color-neutral-100: #f1f5f9;
  --color-neutral-200: #e2e8f0;
  --color-neutral-500: #64748b;
  --color-neutral-700: #334155;
  --color-neutral-900: #0f172a;

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;

  /* Radius */
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 999px;

  /* Typography */
  --font-size-xs: 13px;
  --font-size-sm: 14px;
  --font-size-md: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 24px;
  --font-size-page-title: 30px;

  /* Control */
  --control-height-sm: 36px;
  --control-height-md: 44px;
  --control-height-lg: 48px;
}

コンポーネント命名

コード上の名称は、役割が分かる英語名を使用します。 画面上の表示は日本語にします。

役割 推奨コンポーネント名
主要ボタン PrimaryButton
資料カード DocumentCard
空状態 EmptyState
状態表示 StatusBadge
確認ダイアログ ConfirmDialog
検索欄 SearchInput

UIテキストの管理

21 — Usage Examples

21 画面別の使い方

ホーム画面

資料一覧

資料詳細

AI回答画面

設定画面

初回セットアップ

22 — Review Checklist

22 実装チェックリスト

新しい画面やコンポーネントを完成と判断する前に、 以下を確認します。

画面構成

レイアウトと余白

文字

ボタンと操作

状態表示

アクセシビリティ

AI機能

Closing

UIは、利用者と製品の約束です

利用者は、ボタンの色、文字の大きさ、余白、配置から、 次に何が起きるかを無意識に予測しています。

画面ごとにルールが変わると、利用者は毎回考えなければなりません。 一貫したUIは、操作を覚えやすくするだけでなく、 製品への安心感と信頼をつくります。

Knowledge OSのUIは、 利用者に考えさせるためではなく、 利用者が本来の仕事に集中するために存在します。

最終判断基準

  1. 初めて見た人が、目的を理解できるか。
  2. 次に押す場所が分かるか。
  3. 操作した結果が分かるか。
  4. 失敗しても、戻り方が分かるか。
  5. 高齢者でも文字と操作が見やすいか。
  6. 資料よりAIや装飾が目立っていないか。
  7. 他の画面と同じルールで動いているか。