Senastra

Design System

一人の開発者が作るすべてのプロダクトに、統一された美しさと使いやすさを。 ミニマルで機能的、そして一目であなたの作品だと分かるデザイン。

v1.0.0 2026.04 Web / Desktop / Landing
Philosophy

デザイン哲学

すべてのプロダクトに共通する4つの原則。これらを守ることで、 技術やプラットフォームが変わっても「Senastraのプロダクトだ」と感じてもらえる。

引き算の美学

余分を削ぎ落とし、本質だけを残す。余白は情報であり、沈黙は雄弁。認知負荷を下げ、ユーザーがタスクに集中できる空間を作る。

一貫した構造

色・文字・余白・角丸のルールを全プロダクトで共有する。フォントは2種、アクセントカラーは1色。ルールが少ないほど統一感は強くなる。

即時のフィードバック

すべての操作に応答する。ホバー・クリック・成功・エラー。静かだが確実な反応が信頼を築く。マイクロインタラクションは控えめに、しかし必ず。

誰にも開かれた設計

WCAG AA以上のコントラスト。ライト/ダーク両対応。キーボード操作。モーション低減。美しさとアクセシビリティは対立しない。

Color

カラーシステム Off-white Dark Mode

ライトテーマは純白ではなくオフホワイト(#FAFAF9)を採用。長時間の利用でも目に優しく、洗練された印象を与える。 ダークテーマはほぼ純黒(#0C0C10)にわずかなブルーを含ませ、冷たくなりすぎない暗色に。 アクセントのIndigoはブランドの署名。

Accent — Brand Indigo
50
#EDEDFB
100
#D8D8F6
200
#B4B4EE
300
#8A8AE4
400
#6E6EE0
500 (primary)
#5B5BD6
600
#4848C4
700
#3636A0
Neutral
50
#FAFAFA
100
#F4F4F6
200
#E8E8EC
300
#D0D0D8
500
#787888
700
#363644
900
#111118
950
#0C0C10
Status
Success
#2BB87A
Warning
#D4891E
Error
#C93B1A
Info
#2563EB
テーマ比較
Light
見出しテキスト
補助テキストの例文です。オフホワイトの背景で目に優しい。
Dark
見出しテキスト
補助テキストの例文です。深い暗色でコンテンツが引き立つ。
Typography

タイポグラフィ

UIテキストには Inter、コードには JetBrains Mono。 日本語は Hiragino Sans / Yu Gothic UI にフォールバック。 明確な階層差で視線を誘導し、認知負荷を減らす。

--text-display 80px Aa あ
--text-hero 64px Aa あ
--text-5xl 48px Aa あ
--text-4xl 36px Heading XL
--text-3xl 30px Heading Large
--text-2xl 24px Heading Medium
--text-xl 20px Heading Small
--text-lg 18px Sub-heading text
--text-base 15px Body text. 本文テキストのサンプルです。
--text-sm 13px Secondary text / サブテキスト
--text-xs 12px Caption / キャプション
Monospace 13px const x = "code";
Spacing

スペーシング 4px Grid

4pxベースグリッド。すべての余白・パディングはこのスケールから選ぶ。 一貫した間隔がプロダクト全体にリズムと秩序を生む。

--space-1
4px
--space-2
8px
--space-3
12px
--space-4
16px
--space-6
24px
--space-8
32px
--space-12
48px
--space-16
64px
--space-20
80px
--space-24
96px
--space-32
128px
Radius

角丸

角丸はコンポーネントごとに適切なサイズを使い分ける。 小さい要素には小さな角丸、大きな要素にはより丸みを。

none
0px
sm
4px
md
8px
lg
12px
xl
16px
2xl
24px
full
pill
Shadow

シャドウ

控えめで上品な影。浮遊感は最小限に、レイヤーの重なりを伝える程度に。

xs
sm
md
lg
xl
2xl
Motion

モーション Micro-interaction

マイクロインタラクションは控えめに、しかし確実に。 すべてのインタラクティブ要素にフィードバックを設定する。 prefers-reduced-motion でアニメーションを無効化。

Ease Out
150ms ease-out
Spring
400ms spring
Bounce
300ms bounce

ホバーしてアニメーションを確認

Components

UIコンポーネント Feedback

全プロダクトで共有する基本コンポーネント。 ホバー・フォーカス・無効の各状態を必ず定義し、操作のフィードバックを確保する。

Buttons

Primary は画面に1つ。Secondary / Ghost は補助的操作に。

Inputs

フォーカス時にアクセントカラーのリングでフィードバック。エラー状態も明確に。

ログインに使用するメールアドレス
プロジェクト名は2文字以上必要です

Cards

ホバーで微かに浮き上がり、クリッカブルであることを伝える。

Analytics Dashboard
リアルタイムデータの可視化。チャートとテーブルで状態を把握。
File Converter
ローカルファイルの一括変換。ドラッグ&ドロップ操作。
Landing Page
プロダクトの第一印象を決めるページ。

Badges

Default Accent Success Warning Error

Alerts

操作結果を明確に伝えるフィードバック。問題発生時は原因と対処法を具体的に。

変更が保存されました。
セッションがまもなく期限切れになります。
接続に失敗しました。ネットワークを確認してください。
Guidelines

デザインガイドライン

プロダクト間の統一感を保つためのDo / Don't。 リサーチ資料のベストプラクティスとアンチパターンに基づく。

✓ Do

余白を惜しまず取る。情報を詰め込みすぎない。余白はデザインに落ち着きと高級感を与え、可読性を向上させる。

✕ Don't

画面を要素で埋め尽くさない。「スペースがもったいない」と考えて余白を潰すと、認知負荷が跳ね上がりユーザーの離脱を招く。

✓ Do

すべてのインタラクションにフィードバックを返す。ホバー・クリック・成功・エラー、すべての状態をデザインする。ユーザーは常にシステムの状態を把握できるべき。

✕ Don't

反応のないボタンを作らない。クリックしても見た目が変わらないUIは、ユーザーに「動いているのか?」という不安を与える。

✓ Do

デザイントークンを介して色・サイズを参照する。ハードコードせずCSS変数(var(--color-accent))を使うことで、テーマ切替やリブランドに柔軟に対応。

✕ Don't

色やサイズをマジックナンバーで指定しない。#5B5BD6をコード中に散りばめると、後から変更する際に漏れが発生し統一が崩れる。

✓ Do

WCAG AA以上のコントラスト比を確保する。テキストと背景のコントラスト比4.5:1以上。美しさとアクセシビリティは両立できる。

✕ Don't

見た目のために視認性を犠牲にしない。薄いグレー文字を淡い背景に載せるのはおしゃれに見えても、多くのユーザーにとって読みづらい。

✓ Do

レスポンシブを最初から設計する。モバイル→タブレット→デスクトップの順にブレークポイントを検討し、どのデバイスでも一貫した快適さを提供する。

✕ Don't

固定幅レイアウトだけで作らない。ランディングページは特に多様なデバイスからアクセスされる。ピンチ操作が必要なUIは離脱要因になる。

Usage

使い方

CSSファイルを読み込み、変数を参照するだけ。フレームワークや技術スタックに依存しない。

<!-- HTML --> <link rel="stylesheet" href="design-tokens.css">
/* CSS */ .card {   background: var(--color-surface);   border: 1px solid var(--color-border);   border-radius: var(--radius-card);   padding: var(--card-padding); }
/* ダークモード切替: JS */ document.documentElement.dataset.theme = 'dark';
Checklist

リリース前チェックリスト

新しいプロダクトやページをリリースする前に確認する8項目。