No. 14

まちのしおり Town Almanac

地域フリーペーパーの誌面をWebに翻訳した高密度エディトリアル。パステルの『コーナー色』4色(桜=特集/空=店めぐり/若葉=催し/薄卵=コラム)が装飾でなく分類記号として機能し、雑誌の目次のようなファーストビューから始まる。写真もイラストも使わず、色面の耳付きタブと罫線だけで親しみのある高密度を作る。地域フリーペーパー・タウン誌・商店会や観光協会の情報サイトに。

まちのしおりのスクリーンショット

仕様

typographygothic-humanist
color-strategypastel
densitydense
layouteditorial
ornamentflat-minimal
motionstatic
moodwarm / wa
industrylocal-business / event / restaurant-food
架空企業架空・汐見町 月刊フリーマガジン「まちのしおり」Web版(2026年7月号)
license商用利用可・改変可・クレジット不要

検証記録

verified_at: 2026-07-11

公式パイプライン検証(Claude Code / sonnet subagent): 別セッションのagentに DESIGN.md + tokens.css のみを渡し、別業種=市立図書館『汐見市立図書館』で再生成(verification/public-library)→一発合格(MD改稿不要)。M PLUS 1p×Karla・コーナー4色の意味割当を業種文脈へ正しく再マッピング・「4用途以外にパステルを使わない」排他ルールの遵守・耳付きタブ・高密度の催しリストまで一致(tier-A 🔴0/🟡0)

DESIGN.md

DESIGN.mdtokens.css

https://3pt.co.jp/design-library/md/machi-shiori/DESIGN.md

# DESIGN.md — まちのしおり / machi-shiori

> **使い方**: このファイルをプロジェクトに置き、AIに
> 「DESIGN.md に従って◯◯のサイトを作って」と指示してください。
> ライセンス: 商用利用可・改変可・クレジット不要(AIっぽくないデザイン見本帳 / サードパーティートラスト)

## 1. コンセプト

地域フリーペーパーの誌面をWebに翻訳する。情報量は多いのに親しみがある——秘密は
パステルの「コーナー色」だ。特集・店・催し・コラムという誌面の区分けを、色面の
耳付きタブでそのまま分類記号にする。雑誌の目次のように、区分と見出しを一望できる
ページを作る。**高密度だが、事務的でも、うるさくもない**。パステルは飾りではなく
「どのコーナーの記事か」を一瞬で伝えるための機能色として使う。

**キーワード**: 誌面 / コーナー色 / 目次 / 親しみ / 高密度
**この見た目が向く場面**: 地域フリーペーパー、商店会・観光協会の情報サイト、
タウン誌のWeb版、自治会・地域コミュニティの月刊便り、イベント盛りだくさんの
ローカルメディア

## 2. タイポグラフィ

- 和文見出し: M PLUS 1p / ウェイト 700
- 和文本文: M PLUS 1p / ウェイト 400 / サイズ 14px / 行間 1.9 / 字間 0.01em
  (人文的で穏当な字面がこのテイストの核。**丸ゴシック系書体に置換しない**——
  「かわいい=丸ゴシック」の手癖を避けるための必須指定)
- 欧文・数字: Karla(日付・号数・価格・時刻・件数などの算用数字と欧文ラベルは
  必ずこちらで組む。日付・催しリストの数字は `font-feature-settings: "tnum" 1`
  で桁を揃える。**Inter に置換しない**)
- 見出しスケール: h1〜h3の**フォントサイズを大きくしすぎない**(コーナー見出し
  20px・記事見出し17px・小見出し15px 太字)。階層は「§4・§5のコーナー色タブ」
  との組み合わせで作る。見出し単体の級数で目立たせることを意図的にしない
  (swiss-precision のような大級数主役とは逆の選択。色面+級数の**併用**で階層化する)
- 特記: 号数・発行日は Karla の太字で 28〜40px 程度まで大きくしてよい(表紙の
  号数表記の慣習)。これは「ヒーロー特大見出し」ではなく雑誌の号数表記として許容する。
  本文中の強調は太字(700)のみで行い、下線強調は使わない(下線はリンクとホバー専用)

## 3. カラー

クリーム地+墨茶の文字に、**パステルのコーナー色4色**を分類記号として使う。

| 役割 | 値 | 使用比率の目安 |
|---|---|---|
| 背景(ベース) | #fbf8f0(クリーム) | 60% |
| 背景(コーナー外の区画替え) | #f4efe1 | — |
| テキスト(主・墨茶) | #3c3833 | 30% |
| テキスト(弱・墨茶の弱色) | #6f665a | — |
| コーナー色:桜(特集) | #f2cdd0 | 分類タブ・面積小 |
| コーナー色:空(店めぐり) | #cbe0ee | 分類タブ・面積小 |
| コーナー色:若葉(今月の催し) | #d6e6c8 | 分類タブ・面積小 |
| コーナー色:薄卵(連載コラム) | #f4e3b8 | 分類タブ・面積小 |
| 罫線(ヘアライン) | #e6ddc9 | — |
| 罫線(強調・マストヘッド下等) | #3c3833 | — |

- 配色ルール: **パステル4色は必ず「コーナー分類」の意味を持たせて使う。**
  対応関係は固定——桜=特集/空=店めぐり/若葉=今月の催し/薄卵=連載コラム。
  この4用途以外にパステルを使わない(無意味な装飾色面・背景の帯・区切り線の
  彩色などへの流用は禁止)。1ページに同じコーナー色が複数箇所出るのは、
  同一コーナーの見出しタブ・目次内タグ・記事内の小見出し帯など、**同じ分類を
  指し示す場合に限る**
- パステル面の上の文字は必ず墨茶 `--color-ink`(#3c3833)を使う。パステルの
  彩度を上げて「甘く」しない。地はクリーム、文字は墨茶でコントラストを確保する
  のが本テイストの一貫ルール(後述の実測値を参照)
- 4色を同一画面内で隣接させる場合も、面積はタブ・タグ程度の小面積に抑える。
  ページ全体の主役はあくまでクリーム地+墨茶文字であり、パステルは「案内標識」
  の役割にとどめる
- 信号色トリオ(赤・黄・緑)を状態表現として使わない。純白・純黒を使わない

### コントラスト実測値(WCAG)

| 文字色 | 背景 | 比率 | 判定 |
|---|---|---|---|
| 墨茶 #3c3833 | クリーム #fbf8f0 | 10.95:1 | AA/AAA適合 |
| 墨茶 #3c3833 | 桜 #f2cdd0 | 7.98:1 | AA/AAA適合 |
| 墨茶 #3c3833 | 空 #cbe0ee | 8.55:1 | AA/AAA適合 |
| 墨茶 #3c3833 | 若葉 #d6e6c8 | 8.87:1 | AA/AAA適合 |
| 墨茶 #3c3833 | 薄卵 #f4e3b8 | 9.15:1 | AA/AAA適合 |
| 墨茶弱色 #6f665a | クリーム #fbf8f0 | 5.31:1 | AA適合(本文サイズで使用可) |

墨茶1色をすべてのコーナー色・クリーム地・区画替え地に対して両方向で実測し、
すべて4.5:1を上回ることを確認した。**文字色はコーナー色に応じて変えない**
(墨茶で統一することが可読性とテイストの一貫性を両立させる)。

## 4. レイアウト・余白

- コンテンツ最大幅: 1180px / 誌面段組は**2〜3カラム**を基本とする(セクション
  ごとに段数を変えてよい。特集は2カラム、店めぐりは2カラム、催しリストは
  1カラムの詰まったリスト)
- 密度の作り方: セクション間の余白は最小限(上下 48〜64px)。行間 1.9 と
  ヘアライン罫線のリズムで情報を仕切る。余白の広さで高級感を演出しない
- コーナー見出しの型: 各コーナーの頭に**色面の耳付きタブ**を置く(§5・§9参照)。
  タブはコーナー色の地に墨茶文字。耳(タブの上に飛び出す小さな台形の凸部)は
  雑誌のインデックスタブを模し、そのコーナーの「めくりしろ」を示す
- 今月の催し: **日付順の詰まったリスト**(1行1件)。日付は Karla・等幅数字で
  左端に揃え、右にコーナー名を持たず本文と同じ墨茶で件名・会場を続ける
  (このセクション内はすべて若葉タブの配下にあるため、行ごとの再彩色はしない)
- 店めぐり: 段組の誌面として組む。**写真は使わない**。各店は「店名・見出し・
  本文・一言地図(徒歩の目印を文章で示す1〜2行)」の順で構成し、文章と
  一言道案内だけで場所を伝える
- 配布場所一覧: 4つのコーナーのいずれにも属さない「奥付・実務情報」として扱う。
  **コーナー色を割り当てない**(分類色の排他ルールにより、コーナーでない
  区画にパステルを使わない)。地色は `--color-bg-alt` の区画替えのみで表現する
- ヒーローの型外し: **雑誌の表紙ではなく「目次」から始める。** ページ最上部
  (マストヘッドの直下)は号数・発行日・今月の見出し一覧(コーナー色のタグ付き)
  で構成する。中央寄せの特大キャッチコピーやボタンを置かない。目次の各項目は
  該当セクションへのアンカーリンクとして機能させ、実務的な導線を兼ねる

## 5. コンポーネントの質感

- ヘッダー・ナビゲーション: マストヘッド(クリーム地・墨茶文字、下端に2px
  `--color-line-strong` の罫線)にロゴ文字列と号数・発行日を横並びで置く。
  その下の目次セクションの各項目リンクがナビを兼ねるため、独立したグローバル
  ナビ(複数リンクの横並びバー)は置かない。目次項目・本文内リンクはホバー時に
  **そのリンクが属するコーナー色の下線**が現れる(下線色以外の変化はさせない。
  背景色や太字への変化を足さない)
- 角丸: 0px(全要素直角。丸くしない——picture-book系との差別化の核) / 影:
  一切使わない(box-shadow禁止) / 境界線: 通常 1px solid `--color-line`、
  区画の強い境界(マストヘッド下、セクション区切りの最初の罫線)は
  1〜2px solid `--color-ink`
- コーナー見出し(耳付きタブ): `.corner-head` は該当コーナー色の背景・墨茶
  文字・角丸なし。疑似要素 `::before` でタブ上部に**台形の「耳」**を
  `clip-path: polygon()` で作る(実装は§9参照)。耳の形は同一コーナー内で
  常に同じ台形寸法を使う。影・グラデーションを耳につけない
- カード的要素: **角丸カード+影の3カラムfeatureカードを作らない。** 情報の
  まとまりはすべて「コーナー色タブの下に続く罫線区切りの誌面」または
  「1行1件の詰まったリスト(催し)」で表現する
- 目次タグ: 目次内の各見出し行の先頭に、該当コーナー色の小さな正方形スウォッチ
  (8×8px、角丸なし)+コーナー名ラベルを置く。スウォッチは「めくりしろ」の
  予告として機能し、装飾ではない
- フォーム要素: 本デモに入力フォームは置かない(配布場所一覧・お問い合わせは
  静的なテキスト情報として提示する)
- 画像の扱い: 写真・イラスト・図版を一切使わない(§7参照)。誌面はすべて
  文字・色面・罫線で構成する
- アクセント色(コーナー色)の適用範囲: §3・§4で定めた「コーナー見出しタブ・
  目次内スウォッチ・そのコーナー配下の小見出し帯・そのコーナー内リンクの
  ホバー下線」の4用途に厳密に限定する。配布場所一覧・フッター・マストヘッドには
  コーナー色を使わない

## 6. モーション

- 量: **static(動きを使わない)**
- 許される最小の動き: リンクホバー時の下線表示のみ(0.12s ease、色は
  そのリンクが属するコーナー色)。それ以外の要素にホバーの変化を付けない
- 使わない動き: スクロール連動フェード、パララックス、数字のカウントアップ、
  カルーセル、マーキー、タイプライター、カードの持ち上がり(translateY)。
  「動き=リッチ」「かわいい=動く」という手癖をここでは明確に否定する

## 7. 写真・イラスト・図版

- 写真・イラスト・アイコン・SVG線画を含め、**図版を一切使わない**(排他)。
  店めぐりの位置情報も地図画像でなく文章の「一言地図」で示す。装飾は
  §5の色面(コーナー色タブ・スウォッチ)と1px罫線だけで作る
- ロゴ・見出し内の記号的要素も、すべてタイポグラフィ(Karla の号数表記、
  M PLUS 1p の和文)と罫線・色面の組み合わせで表現し、絵柄を描かない

## 8. 禁止事項(must not)

- Inter / Roboto / Arial / 丸ゴシック系書体をデフォルトで使わない(M PLUS 1p /
  Karla で組む。「かわいい=丸ゴシック+角丸+絵文字」という手癖をこのテイストは
  明確に否定する)
- グラデーションを一切使わない(背景・文字・タブすべて)。box-shadow を使わない
- border-radius を使わない(常に0。角丸カードを一切作らない。丸くしないことが
  picture-book-warm 等の丸い手描き系との差別化の核)
- パステル4色(桜・空・若葉・薄卵)を「コーナー分類」以外の目的で使わない
  (無意味な装飾帯・背景ブロック・ランダムな彩色を禁止。対応は固定——
  桜=特集/空=店めぐり/若葉=催し/薄卵=コラム)
- パステル面の上の文字色を墨茶 `#3c3833` 以外に変えない(彩度の高い色文字や
  白文字を乗せて「甘く」しない)
- 写真・イラスト・絵文字・既製アイコンセット・自作SVG線画を一切使わない
  (§7参照。装飾は色面と1px罫線のみ)
- 中央寄せの定型ヒーロー(特大見出し+サブコピー+ボタン2つ)を作らない。
  ファーストビューは必ず「号数・発行日・コーナー色タグ付きの目次」から始める
- スクロール連動アニメ・フェードイン・数字カウントアップ・カルーセルを使わない
  (motion: static を厳守)
- 純白 #ffffff・純黒 #000000 を使わない
- 信号色トリオ(赤・黄・緑)を状態表現に使わない

## 9. 実装ノート

```css
/* tokens.css — この変数セットをそのまま使うこと */
:root {
  --color-bg: #fbf8f0;
  --color-bg-alt: #f4efe1;
  --color-ink: #3c3833;
  --color-ink-soft: #6f665a;
  --color-line: #e6ddc9;
  --color-line-strong: #3c3833;
  --corner-tokushu: #f2cdd0;   /* 桜 — 特集 */
  --corner-mise: #cbe0ee;      /* 空 — 店めぐり */
  --corner-moyoshi: #d6e6c8;   /* 若葉 — 今月の催し */
  --corner-column: #f4e3b8;    /* 薄卵 — 連載コラム */
  --font-heading: "M PLUS 1p";
  --font-body: "M PLUS 1p";
  --font-latin: "Karla";
  --space-unit: 8px;
  --radius: 0;
  --max-width: 1180px;
  --gutter: 20px;
  --cols: 12;
}
```

```css
/* コーナー見出し(耳付きタブ)— このテイストの核となる視覚要素 */
.corner-head {
  position: relative;
  display: inline-block;
  background: var(--corner-color);   /* 呼び出し側で --corner-color を指定 */
  color: var(--color-ink);
  padding: 8px 20px 8px 16px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 15px;
}
.corner-head::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 18px;
  width: 28px;
  height: 8px;
  background: var(--corner-color);
  clip-path: polygon(12% 100%, 0 0, 100% 0, 88% 100%);
}
/* 呼び出し例 */
/* .sec-feature  { --corner-color: var(--corner-tokushu); } */
/* .sec-shops    { --corner-color: var(--corner-mise); } */
/* .sec-events   { --corner-color: var(--corner-moyoshi); } */
/* .sec-columns  { --corner-color: var(--corner-column); } */
```

```css
/* 目次のコーナー色スウォッチ */
.toc-tag {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--corner-color);
  margin-right: 8px;
  vertical-align: middle;
}
```

```css
/* リンクホバー: コーナー色の下線のみ(唯一許されるモーション) */
a { color: var(--color-ink); text-decoration: none; }
.sec-feature a:hover  { text-decoration: underline; text-decoration-color: var(--corner-tokushu); text-decoration-thickness: 2px; }
.sec-shops a:hover    { text-decoration: underline; text-decoration-color: var(--corner-mise); text-decoration-thickness: 2px; }
.sec-events a:hover   { text-decoration: underline; text-decoration-color: var(--corner-moyoshi); text-decoration-thickness: 2px; }
.sec-columns a:hover  { text-decoration: underline; text-decoration-color: var(--corner-column); text-decoration-thickness: 2px; }
```

- フォント読み込み:
  `https://fonts.googleapis.com/css2?family=Karla:wght@400;500;700&family=M+PLUS+1p:wght@400;700&display=swap`
- 本文の font-family は `var(--font-body), var(--font-latin), sans-serif` の順。
  日付・号数・価格など算用数字を含む語は `.num { font-family: var(--font-latin);
  font-feature-settings: "tnum" 1; }` で括り、桁を揃える
- レイアウトは `display: grid; grid-template-columns: repeat(12, 1fr); gap:
  var(--gutter);` を基本コンテナに敷く。誌面段組は `column-count` または
  グリッドの列指定で2〜3カラムに分ける。今月の催しリストは1カラムの
  `<ol>`/`<table>` で組み、日付セルを `.num` で揃える
- 判定は実際の祖先背景色で行う。クラス名を安全リストとして固定しない
  (例えば `.corner-head` という名のまま `--corner-color` に任意の色を渡せば
  分類の意味は崩れる。**実装側は必ず4色のいずれかを、対応する4コーナーにのみ
  割り当てること**)
- 最小限の vanilla JS(アンカーリンクのスムーススクロール抑制=ブラウザ標準
  ジャンプのみ、フレームワーク不可)以外のスクリプトは書かない。演出目的の
  JS(スクロール連動・カウントアップ等)は書かない