デザインの様式を、動くデモ・効く理由・実装で踏んだ罠つきで解剖する図鑑。
様式名: フラットデザイン / 価格表
「壊れた例」を押すと、この様式が成立しなくなる条件を実物で見られます。
| 対象 | 文字色 | 背景 | 実効背景 | 比 | 判定 |
|---|---|---|---|---|---|
| 見出し・プラン名(白カード) | #111827 | #ffffff | #ffffff | 17.74:1 | AA 合格 |
| 機能テキスト(白カード) | #374151 | #ffffff | #ffffff | 10.31:1 | AA 合格 |
| 推奨カード 白文字(紺地) | #ffffff | #1e3a8a | #1e3a8a | 10.36:1 | AA 合格 |
| 推奨カード サブ文字(紺地) | #c7d2fe | #1e3a8a | #1e3a8a | 6.94:1 | AA 合格 |
| サブテキスト(白カード) | #6b7280 | #ffffff | #ffffff | 4.83:1 | AA 合格(余裕なし) |
<!doctype html>
<html lang="ja"><head><meta charset="utf-8"><title>価格表(3プラン)デモ</title><style>
*{box-sizing:border-box;margin:0;padding:0}
:root{
--ink:#111827; --body:#374151; --sub:#6b7280;
--accent:#1e3a8a; --accent-sub:#c7d2fe; --line:#e5e7eb; --ok:#15803d;
}
body{background:#f7f8fa;color:var(--ink);min-height:340px;padding:26px 24px;
font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
.head{text-align:center;margin-bottom:18px}
.head h3{font-size:18px;font-weight:700}
.head p{font-size:12px;color:var(--sub);margin-top:2px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}
.plan{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 18px;position:relative}
/* 推奨は「色・バッジ・枠・少し大きく」の複数手段で強調する。色だけに頼らない */
.plan.rec{background:var(--accent);color:#fff;border-color:var(--accent);
transform:scale(1.03);box-shadow:0 10px 30px rgba(30,58,138,.25)}
.badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:#fff;
color:var(--accent);border:2px solid var(--accent);font-size:10px;font-weight:800;
letter-spacing:.08em;padding:3px 12px;border-radius:999px}
.name{font-size:13px;font-weight:700;letter-spacing:.04em}
.plan.rec .name{color:#fff}
.price{margin:8px 0 4px;font-size:30px;font-weight:800;letter-spacing:-.02em}
.price small{font-size:12px;font-weight:600;color:var(--sub)}
.plan.rec .price small{color:var(--accent-sub)}
.tagline{font-size:12px;color:var(--body);line-height:1.7;min-height:34px}
.plan.rec .tagline{color:var(--accent-sub)}
ul{list-style:none;margin:14px 0;border-top:1px solid var(--line);padding-top:14px}
.plan.rec ul{border-top-color:rgba(255,255,255,.25)}
li{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.6;margin-bottom:9px;color:var(--body)}
.plan.rec li{color:#fff}
/* 機能の有無は色だけにしない:✓/− のアイコン形状+文字で示す */
li .ic{width:15px;height:15px;flex:none;margin-top:1px}
li.off{color:var(--sub)}
.plan.rec li.off{color:var(--accent-sub)}
li.off .ic{color:var(--sub)}
.cta{display:block;text-align:center;margin-top:6px;font-size:13px;font-weight:700;
padding:11px;border-radius:9px;text-decoration:none;min-height:44px}
.cta.solid{background:var(--accent);color:#fff}
.cta.ghost{border:1.5px solid var(--accent);color:var(--accent)}
.plan.rec .cta{background:#fff;color:var(--accent)}
.cta:focus-visible{outline:3px solid #fff;outline-offset:2px}
.plan:not(.rec) .cta:focus-visible{outline-color:var(--accent)}
@media(max-width:640px){.grid{grid-template-columns:1fr}.plan.rec{transform:none}}
</style></head><body>
<div class="head"><h3>料金プラン</h3><p>いつでも変更・解約できます</p></div>
<div class="grid">
<div class="plan">
<div class="name">STARTER</div>
<div class="price">¥0<small> /月</small></div>
<p class="tagline">個人の練習・お試しに。</p>
<ul>
<li><svg class="ic" viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M6.5 11.5 3 8l1-1 2.5 2.5L12 4l1 1z"/></svg>プロジェクト 3件</li>
<li><svg class="ic" viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M6.5 11.5 3 8l1-1 2.5 2.5L12 4l1 1z"/></svg>基本エクスポート</li>
<li class="off"><svg class="ic" viewBox="0 0 16 16" aria-hidden="true"><rect x="3" y="7.2" width="10" height="1.6" fill="currentColor"/></svg><span>チーム共有 なし</span></li>
</ul>
<a class="cta ghost" href="#">無料で始める</a>
</div>
<div class="plan rec">
<div class="badge">おすすめ</div>
<div class="name">PRO</div>
<div class="price">¥1,280<small> /月</small></div>
<p class="tagline">仕事で使うならこれ。</p>
<ul>
<li><svg class="ic" viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M6.5 11.5 3 8l1-1 2.5 2.5L12 4l1 1z"/></svg>プロジェクト 無制限</li>
<li><svg class="ic" viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M6.5 11.5 3 8l1-1 2.5 2.5L12 4l1 1z"/></svg>高解像度エクスポート</li>
<li><svg class="ic" viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M6.5 11.5 3 8l1-1 2.5 2.5L12 4l1 1z"/></svg>チーム共有 5人</li>
</ul>
<a class="cta" href="#">PRO を選ぶ</a>
</div>
<div class="plan">
<div class="name">TEAM</div>
<div class="price">¥3,800<small> /月</small></div>
<p class="tagline">組織で管理したい方へ。</p>
<ul>
<li><svg class="ic" viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M6.5 11.5 3 8l1-1 2.5 2.5L12 4l1 1z"/></svg>PRO の全機能</li>
<li><svg class="ic" viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M6.5 11.5 3 8l1-1 2.5 2.5L12 4l1 1z"/></svg>権限管理・監査ログ</li>
<li><svg class="ic" viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M6.5 11.5 3 8l1-1 2.5 2.5L12 4l1 1z"/></svg>優先サポート</li>
</ul>
<a class="cta ghost" href="#">TEAM を選ぶ</a>
</div>
</div>
</body></html>