ミニマルでクリーンな個人サイト。装飾を最小限に抑え、テキストコンテンツを主役にする。余白を広くとり、低密度で読みやすさを優先した静的なデザイン。ライトテーマのみで、ダークモードは使用しない。
キーワード: ミニマル、クリーン、ライト、コンテンツファースト、静的
主な特徴:
- 単一カラム(最大幅 720px)の中央揃えレイアウト
- 影やグラデーション、アニメーション(色遷移以外)を使わないフラットデザイン
- 言語は日本語(
lang="ja") - ゼロ JS がデフォルト。インタラクションは vanilla JS の
<script>で最小限に実装する
- Teal Accent (
#007a9e): リンク、アクセントカラー。アクティブ状態のナビゲーション、タグのテキスト色、ホバー時のアイコンボーダーに使用
- Deep Teal-Dark (
#113340): 本文テキスト、アイコンのデフォルト色。黒より柔らかく、落ち着いた印象を与える - Divider (
border-divider,color-mix(in srgb, var(--color-foreground) 50%, transparent)): 区切り線、リスト行の下ボーダー、フットノート上部の罫線。foreground を半透明にして主張を抑える
- Pure White (
#ffffff): ページ背景。サーフェスの階層分けはせず、白一色で統一する - Ice Blue (
#e8f0f2): インラインコードの背景色。本文中のコード片を控えめに区別する
現時点では Danger / Warning / Success の定義なし。必要になった場合に追加する。
src/styles/global.css の @theme ブロックで定義。新しい色が必要な場合はここに追加する。
フォントファミリー: system-ui, sans-serif(OS 標準のゴシック体にフォールバック)。OGP 画像生成のみ Noto Sans JP を使用。
| Role | Size | Weight | 備考 |
|---|---|---|---|
| Display | text-5xl (3rem) | 700 | ページ見出し。中央揃え |
| Heading 1 | text-4xl (2.25rem) | 700 | メイン見出し(名前等) |
| Heading 2 | text-3xl (1.875rem) | 700 | ブログ記事タイトル |
| Heading 3 | text-2xl (1.5rem) | 700 | セクション見出し |
| Body Large | text-lg (1.125rem) | 600 | ブログ一覧のタイトル |
| Body | text-lg (1.125rem) | 600-700 | ナビリンク |
| Body Date | text-base (1rem) | 700 | ブログ一覧の日付 |
| Body Small | text-sm (0.875rem) | 400 | タグ、補足テキスト |
- 本文の行間:
leading-relaxed(1.625)でゆったりした読み心地 - 見出しの行間: Tailwind デフォルト
- 字間: ナビリンクのみ
tracking-wideで上品な広がり。それ以外は normal - 日付の数字:
tabular-numsで等幅数字による桁揃え
- テキストリンク: 下線なし。200ms の色遷移でホバー時に Teal Accent (
#007a9e) へ変化 - ナビリンク: セミボールド、やや広い字間。アクティブ状態は Teal Accent、非アクティブは Deep Teal-Dark
- 透明背景に Teal Accent のテキストと薄いボーダー(
border-primary/30) - 完全な丸角(pill-shaped)、コンパクトなパディング
flex-wrapで折り返し配置
- 固定高さ、やや大きな丸角(
rounded-xl) - 薄いグレーボーダー。ホバー時にボーダーが濃くなり背景が淡いグレーに変化
- 左側にテキスト(タイトル + 説明 + URL)、右側にサムネイル画像
- 40x40px の円形、極めて薄いボーダー(
border-foreground/15) - ホバー時にボーダーとアイコン色が Teal Accent へ 200ms で遷移
- 下ボーダーで区切るフラットなリスト
- デスクトップ: 日付(左固定幅)とタイトル(右)を横並び
- モバイル: 縦積みに切り替え
- デスクトップ: 右寄せの横並びリンク + RSS アイコン
- モバイル: ハンバーガーメニューで開閉するドロワー
- 影やエレベーションなし。フラットなまま
- 最大幅: 768px(
max-w-3xl)で中央揃え - 水平パディング:
px-6(モバイル:px-4)
Tailwind v4 のデフォルトスペーシングを使用。
| 用途 | Value |
|---|---|
| コンポーネント間の小余白 | gap-2 (8px) |
| ナビリンク間隔 | gap-6 (24px) |
| セクション間余白 | mb-8 ~ mb-12 |
- 全ページ単一カラムレイアウト
- BIOGRAPHY ページはセクションを
flex flex-col gap-y-8で縦積みし、px-16で内側の余白を追加
- ブレークポイント:
md: 768px(Tailwind v4 デフォルト) - デスクトップファースト: デフォルトスタイルがデスクトップ向け。モバイル向けは
max-md:で上書き - 横並び要素はモバイルで縦積みに切り替え(
max-md:flex-col) - テキストサイズはモバイルで 1 段階小さく(例:
text-5xl→max-md:text-4xl) - タッチターゲット: ハンバーガーメニュー
w-8 h-8、アイコンボタンh-10 w-10
- Tailwind CSS のユーティリティクラスで直接スタイリングする
- 定義済みのカラートークン(
foreground,primary,divider等)を使う proseクラス(@tailwindcss/typography)をブログ記事本文に使う- ホバーエフェクトは
transition-colors duration-200で色変化のみにする - リンクは下線なし (
no-underline) にする
- ダークモードのスタイルを追加しない
- 影 (
box-shadow)、グラデーション、アニメーション(色遷移以外)を使わない - CSS-in-JS やランタイム CSS ライブラリを使わない
client:*ディレクティブでクライアントサイドフレームワークを読み込まない- インラインスタイル (
style属性) は使わない(OGP テンプレートを除く)
Primary Color: #007a9e (Teal Accent)
Text Color: #113340 (Deep Teal-Dark)
Background: #ffffff (Pure White)
Inline Code BG: #e8f0f2 (Ice Blue)
Divider: color-mix(in srgb, foreground 50%, transparent)
Font: system-ui, sans-serif
Body Line Height: leading-relaxed (1.625)
Max Width: 768px (max-w-3xl)
Shadows: なし
Size: 1200x630
Background: #ffffff
Accent Bar: #007a9e, height 8px (上部)
Title: #113340, bold, center, 動的サイズ (52/44/36px)
Site Name: #007a9e, right-bottom, 24px
Font: Noto Sans JP