カテゴリ: Bootstrap 更新日: 2025/12/29

カラーパレット設計:プライマリ/セカンダリ/アクセントの作り方

カラーパレット設計:プライマリ/セカンダリ/アクセントの作り方
カラーパレット設計:プライマリ/セカンダリ/アクセントの作り方

先生と生徒の会話形式で理解しよう

生徒

「Bootstrapの色って、最初から青や緑が決まっていますよね。でも、自分の好きな色に変えてサイト全体を統一したいんです。」

先生

「その気持ちは大切ですね。色を統一することを『カラーパレット設計』と言って、Webサイトの印象を決める大事な要素なんですよ。」

生徒

「カラーパレットって難しそうですが、どうやって作ればいいんでしょう?」

先生

「難しく考えなくても大丈夫。まずは、プライマリカラー・セカンダリカラー・アクセントカラーという3つの役割を理解することから始めましょう。」

1. カラーパレット設計とは?

1. カラーパレット設計とは?
1. カラーパレット設計とは?

カラーパレットとは、Webサイトやアプリで使用する色の組み合わせのことです。デザインを統一し、見やすくするための「色のルールブック」と考えてください。Bootstrapには標準の色(ブルーやグリーンなど)が用意されていますが、そのまま使うと他のサイトと似た印象になってしまうことがあります。そこで、自分のブランドや目的に合わせて色を設計することが大切です。

例えば、青を基調としたサイトなら落ち着いた雰囲気に、オレンジを基調にすると元気で親しみやすい雰囲気になります。このように色は訪問者の印象を大きく左右するので、初心者でも最初に取り組んでおきたいポイントです。

2. プライマリカラーの決め方

2. プライマリカラーの決め方
2. プライマリカラーの決め方

プライマリカラーとは、サイト全体の顔になるメインの色です。ロゴやブランドカラーがある場合は、その色をプライマリカラーに設定すると良いでしょう。ボタンやリンク、見出しなどに使われ、訪問者が「このサイトはこの色」という印象を持つ大切な役割を担います。

Bootstrapでは、.btn-primary.text-primary などに使われる色がプライマリカラーです。これを自分好みに変えることで、オリジナリティのあるデザインが完成します。


<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">

<style>
.btn-primary {
    --bs-btn-bg: #ff6600;
    --bs-btn-border-color: #ff6600;
    --bs-btn-hover-bg: #e65c00;
    --bs-btn-hover-border-color: #e65c00;
}
</style>

<button class="btn btn-primary">メインボタン</button>
ブラウザ表示

この例では、プライマリカラーをオレンジに変更しています。クリック時やホバー時の色も設定すると、自然で一貫性のある動きになります。

3. セカンダリカラーの役割

3. セカンダリカラーの役割
3. セカンダリカラーの役割

セカンダリカラーとは、プライマリカラーを引き立てる補助的な色です。背景や区切り線、カードなどのパーツに使うとバランスが取りやすくなります。例えば、プライマリカラーをオレンジにした場合、セカンダリカラーにはグレーやブルーを使うと落ち着きが出ます。


<style>
.btn-secondary {
    --bs-btn-bg: #006699;
    --bs-btn-border-color: #006699;
    --bs-btn-hover-bg: #005580;
    --bs-btn-hover-border-color: #005580;
}
</style>

<button class="btn btn-secondary">セカンダリボタン</button>
ブラウザ表示

ここでは、セカンダリカラーをブルー系に設定しています。オレンジ(プライマリ)とブルー(セカンダリ)は補色関係なので、視覚的にわかりやすくまとまりやすい配色です。

4. アクセントカラーの使い方

4. アクセントカラーの使い方
4. アクセントカラーの使い方

アクセントカラーは、注目させたい部分にだけ使う色です。警告や強調に利用される赤や、成功を意味する緑などが代表例です。使いすぎると全体がごちゃごちゃしてしまうため、ポイントでの使用が鉄則です。


<style>
.btn-success {
    --bs-btn-bg: #33cc66;
    --bs-btn-border-color: #33cc66;
    --bs-btn-hover-bg: #29a35a;
    --bs-btn-hover-border-color: #29a35a;
}
</style>

<button class="btn btn-success">アクセントボタン</button>
ブラウザ表示

この例では、緑色をアクセントカラーとして設定しています。フォームの送信ボタンや成功メッセージに使うと、ユーザーに「うまくいった」と直感的に伝わります。

5. 配色戦略のコツ

5. 配色戦略のコツ
5. 配色戦略のコツ

カラーパレットを設計する際は、次のようなルールを意識するとバランスが取れます。

  • プライマリカラーは「全体の印象を決める色」なので、ブランドや目的に合ったものを選ぶ
  • セカンダリカラーは「調整役」。プライマリを邪魔せずに支える色にする
  • アクセントカラーは「強調のためだけに」少量だけ使う
  • 背景色や文字色とのコントラストを意識して、読みやすさを優先する

たとえば、プライマリをオレンジ、セカンダリをブルー、アクセントを緑に設定した場合、見出しや重要なボタンにオレンジ、補助的なパーツにブルー、完了メッセージに緑を使うと、まとまりのあるサイトになります。

6. 実際のカラーパレット例

6. 実際のカラーパレット例
6. 実際のカラーパレット例

ここからは、実際にカラーパレットを反映させるサンプルコードを紹介します。単純に:rootに色を定義しただけでは、Bootstrapのボタンには反映されません。なぜなら、ボタンには専用のCSS変数(--bs-btn-bgなど)が割り当てられているからです。そのため、プライマリ・セカンダリ・アクセントを使うには、それぞれのボタン用変数も上書きしてあげる必要があります。


<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">

<style>
/* プライマリ(オレンジ) */
.btn-primary {
    --bs-btn-bg: #ff6600;
    --bs-btn-border-color: #ff6600;
    --bs-btn-hover-bg: #e65c00;
    --bs-btn-hover-border-color: #e65c00;
    --bs-btn-active-bg: #cc5200;
    --bs-btn-active-border-color: #cc5200;
}

/* セカンダリ(ブルー) */
.btn-secondary {
    --bs-btn-bg: #006699;
    --bs-btn-border-color: #006699;
    --bs-btn-hover-bg: #005580;
    --bs-btn-hover-border-color: #005580;
    --bs-btn-active-bg: #004466;
    --bs-btn-active-border-color: #004466;
}

/* アクセント(グリーン) */
.btn-success {
    --bs-btn-bg: #33cc66;
    --bs-btn-border-color: #33cc66;
    --bs-btn-hover-bg: #29a35a;
    --bs-btn-hover-border-color: #29a35a;
    --bs-btn-active-bg: #208c4d;
    --bs-btn-active-border-color: #208c4d;
}
</style>

<button class="btn btn-primary">プライマリ</button>
<button class="btn btn-secondary">セカンダリ</button>
<button class="btn btn-success">アクセント</button>
ブラウザ表示

このように、各ボタン専用の変数を上書きすることで、Bootstrap標準の色から自分のカラーパレットに切り替えることができます。

7. ダークモードに合わせたパレット切り替え

7. ダークモードに合わせたパレット切り替え
7. ダークモードに合わせたパレット切り替え

さらに便利なのが「ダークモード対応」です。最近のサイトやアプリでは、ライトモードとダークモードを切り替えるのが当たり前になっています。そのため、カラーパレットもモードごとに用意しておくと、より見やすく使いやすいデザインになります。

方法はシンプルで、[data-theme="dark"]などの属性を利用して変数を切り替えるだけです。ユーザーがダークモードに切り替えると、ボタンの色も自動で変化します。


<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">

<style>
/* ライトモード */
.btn-primary {
    --bs-btn-bg: #ff6600;
    --bs-btn-border-color: #ff6600;
}
.btn-secondary {
    --bs-btn-bg: #006699;
    --bs-btn-border-color: #006699;
}
.btn-success {
    --bs-btn-bg: #33cc66;
    --bs-btn-border-color: #33cc66;
}

/* ダークモード */
[data-theme="dark"] .btn-primary {
    --bs-btn-bg: #ffaa66;
    --bs-btn-border-color: #ffaa66;
}
[data-theme="dark"] .btn-secondary {
    --bs-btn-bg: #3399cc;
    --bs-btn-border-color: #3399cc;
}
[data-theme="dark"] .btn-success {
    --bs-btn-bg: #66ff99;
    --bs-btn-border-color: #66ff99;
}
</style>

<div data-theme="light" class="p-3">
    <button class="btn btn-primary">プライマリ</button>
    <button class="btn btn-secondary">セカンダリ</button>
    <button class="btn btn-success">アクセント</button>
</div>

<div data-theme="dark" class="p-3 mt-3">
    <button class="btn btn-primary">プライマリ(Dark)</button>
    <button class="btn btn-secondary">セカンダリ(Dark)</button>
    <button class="btn btn-success">アクセント(Dark)</button>
</div>
ブラウザ表示

この例では、data-theme="dark" が付いている要素の中では、少し明るめの色に切り替わるようにしています。ダークモードでは背景が暗いので、ボタンの色も少し鮮やかにすると読みやすくなります。

これで、カラーパレットをライトモードとダークモード両方に対応させることができ、現代的なWebサイトのデザインに近づけます。

まとめ

まとめ
まとめ

カラーパレット設計の全体像を振り返ろう

この記事では、Bootstrapを使ったWebサイトや管理画面のデザインにおいて、 とても重要な「カラーパレット設計」について学びました。 カラーパレット設計とは、単に色を選ぶ作業ではなく、 サイト全体の印象や使いやすさ、信頼感を左右する設計そのものです。 プライマリカラー、セカンダリカラー、アクセントカラーという 三つの役割を明確に分けて考えることで、 デザインに一貫性が生まれ、見やすく迷いにくい画面構成を実現できます。

プライマリカラーはサイトの「顔」となる色で、 ボタンやリンク、重要な見出しなどに使われます。 セカンダリカラーはそのプライマリを引き立てる補助役として、 背景やカード、サブボタンなどに使われます。 そしてアクセントカラーは、 成功メッセージや注意喚起など、 ユーザーの目を引きたいポイントだけに限定して使う色です。 この役割分担を意識するだけで、 初心者でもプロっぽい配色に近づけるようになります。

Bootstrapとカラーパレットの相性

Bootstrapはもともと標準のカラーテーマが用意されているため、 何も設定しなくてもすぐに見栄えの良い画面を作れます。 しかし、そのまま使い続けると、 他のBootstrapサイトと似た印象になりやすいという特徴もあります。 そこで重要になるのが、 ボタンやコンポーネントごとに用意されている CSS変数を上書きして、 自分専用のカラーパレットを反映させる方法です。

記事内で紹介したように、 --bs-btn-bg--bs-btn-border-color などの変数を使えば、 プライマリ・セカンダリ・アクセントの色を まとめてコントロールできます。 これにより、 後から色を変更したくなった場合でも、 CSSを一つずつ修正する必要がなくなります。 色の管理がしやすくなることは、 サイト運用やデザイン変更の負担を大きく減らしてくれます。

まとめとして確認するカラーパレット反映例

ここで、今回学んだ考え方を整理するために、 プライマリ・セカンダリ・アクセントを 明確に分けて定義したサンプルコードを振り返ります。 このように色の役割を決めておくことで、 ボタンやUI全体に統一感が生まれます。


<style>
/* プライマリ */
.btn-primary {
    --bs-btn-bg: #ff6600;
    --bs-btn-border-color: #ff6600;
    --bs-btn-hover-bg: #e65c00;
}

/* セカンダリ */
.btn-secondary {
    --bs-btn-bg: #006699;
    --bs-btn-border-color: #006699;
    --bs-btn-hover-bg: #005580;
}

/* アクセント */
.btn-success {
    --bs-btn-bg: #33cc66;
    --bs-btn-border-color: #33cc66;
    --bs-btn-hover-bg: #29a35a;
}
</style>

<button class="btn btn-primary">プライマリ</button>
<button class="btn btn-secondary">セカンダリ</button>
<button class="btn btn-success">アクセント</button>
ブラウザ表示

このような形でカラーパレットを整理しておくと、 ページ数が増えてもデザインが崩れにくくなります。 また、ダークモード対応のように テーマを切り替える場合でも、 同じ構造のまま色だけを差し替えられるため、 現代的で柔軟なWebデザインを実現できます。 色を感覚だけで選ぶのではなく、 役割ごとに設計する意識がとても大切です。

先生と生徒の振り返り会話

生徒

「今まで色はなんとなく選んでいましたが、 プライマリやアクセントという役割で考えると、 すごく整理しやすくなりました。」

先生

「それがカラーパレット設計の一番大事なポイントですね。 色に役割を持たせることで、 デザインに一貫性が生まれます。」

生徒

「Bootstrapのボタンも、 変数を上書きするだけで こんなに印象が変わるのは驚きでした。」

先生

「今回学んだカラーパレット設計を意識すれば、 どんなサイトでも応用できます。 ぜひ自分だけの配色ルールを作ってみてください。」

カテゴリの一覧へ
新着記事
New1
Bootstrap
Bootstrapのガターをマスター!g-0〜g-5とgx/gyの使い分けコツ
New2
CSS
CSSグリッド完全解説!auto-fitとauto-fillの違いとレスポンシブ設計での正しい使い分け
New3
Bootstrap
Bootstrapブレークポイントの設計図!sm/md/lg/xlの選び方と実務基準
New4
CSS
CSSグリッド入門!grid-areaで名前付き領域を使ったレイアウトの作り方をやさしく解説
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSグリッドレイアウト完全入門!display: grid の基本と使い方を初心者向けにやさしく解説
No.2
Java&Spring記事人気No2
CSS
CSSでテキストの折り返しを完全解説!初心者でもわかる基本と注意点
No.3
Java&Spring記事人気No3
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.4
Java&Spring記事人気No4
CSS
CSSの複数セレクタ指定を完全解説!初心者でもわかるカンマ区切りの使い方
No.5
Java&Spring記事人気No5
CSS
CSSのフレックスボックスで要素を左右に寄せる方法を完全ガイド!初心者でもわかるjustify-content: space-between
No.6
Java&Spring記事人気No6
CSS
CSSフレックスボックス完全解説|Gridとの違いとFlexboxが得意なレイアウトパターンを初心者向けに理解しよう
No.7
Java&Spring記事人気No7
CSS
CSS Flexbox入門!display: flexの基本と適用方法を初心者向けに解説
No.8
Java&Spring記事人気No8
CSS
CSSの斜体文字を完全解説!初心者でもわかるfont-style: italicの使い方