Primary
ネイビーブルー。見出し・CTA・リンクなど、ブランドを最も強く伝える要素に使う。
- Token
- HEX
- RGB
白背景で 12.09:1 AAA
galactus.co.jp
デザインの「内訳」も、公開しています。
ギャラクタスは、制作費の内訳を隠さないことを大切にしています。同じように、このWebサイトを形づくる色・文字・余白・部品のルールと、その理由をここに公開します。並んでいる値と部品はすべて、実際のサイトのソースコードからビルドのたびに自動で描画されたものです。
01Principles
ギャラクタスが大切にしている6つのバリュー(行動指針)は、デザインの判断基準でもあります。シンボルマークの六角形が6つのバリューを表しているように、このデザインシステムも6つの原則を骨格にしています。
Frontier Spirit開拓者精神
CSSカスタムプロパティ、clamp() による流体タイポグラフィ、:has() セレクタ、CSS Grid。モダンブラウザが備えた新しい標準機能を積極的に取り入れ、少ないコードで柔軟な表現をつくります。
しくみを見るAmbition向上心
デザインシステムに完成はありません。トークンを1か所変えれば、全ページとこのドキュメントが次のビルドで同時に更新される。改善し続けられる構造そのものを、品質の一部と考えています。
自動生成のしくみCommon Good公共の利益
年齢や環境、使う道具が違っても情報に届くように。文字と背景のコントラスト、見出しの構造、色だけに頼らない表現を、設計の段階から組み込みます。
アクセシビリティRationality合理性
色・文字サイズ・余白・角丸・影は、あらかじめ定めたスケールからだけ選びます。その場の感覚で決めた数値を置かないことで、誰がどのページをつくっても同じ判断にたどり着けます。
25色・10段階・18段階Complianceルール遵守
独自の仕組みに頼りすぎず、HTMLの意味づけとCSSの標準仕様に沿って組み立てます。標準に従うことが、ブラウザや支援技術の進化の恩恵をそのまま受けられる、いちばん確かな方法だからです。
見出しの設計Thoughtfulness思いやり
日本語の本文は行間を2.0と広くとり、見出しには約物を詰めるプロポーショナル組み(palt)を効かせます。詰まりすぎず、間延びもしない。内容だけに集中できる文字組みを目指しています。
和文の組版02Brand
「小規模ながら、パートナーとして安心して仕事を任せられるWeb制作会社」。ロゴはその姿を、モダンで洗練されていながら安定感のある形で表しています。色も書体も、この印象から逆算して選ばれています。
--color-primary(#113275)として、すべてのブランド表現の基調になっています。文章の書き方のルールは、ライティングガイドラインとして別のページで公開しています。
03Color
ネイビーを基調に、状態の変化を伝えるシアン、注意を促すレッドをブランドカラーとしています。シアンは地の明るさに応じて2つの濃さを使い分けます。すべての色は名前の付いたトークンで管理し、カラーコードを直接書くことはありません。チップや値をクリックするとコピーできます。
ネイビーブルー。見出し・CTA・リンクなど、ブランドを最も強く伝える要素に使う。
白背景で 12.09:1 AAA
深いシアン。ホバー・フォーカスなど状態の変化と、面積の小さなアクセントに使う。白・グレーの地なら文字にも使える。
白背景で 4.84:1 AA
明るいシアン。ネイビーなど濃い地の上でだけ使うセカンダリ。
プライマリの上で 4.98:1 AA
レッド。必須表示・エラーなど、注意を促す場面に限って使う。
白背景で 4.83:1 AA
文字に使う3段階のグレー。純粋な黒は使わず、情報の重要度に応じて濃さを下げていきます。
本文と見出しの標準色。純黒より一段やわらかい #333。
白背景で 12.63:1 AAA
補足・キャプションなど、本文より一段弱めたいテキスト。
白背景で 5.74:1 AA
プレースホルダーやメタ情報。本文の読み物には使わない。
白背景で 2.85:1 基準未満
枠線と罫線の2段階。ふだんの区切りやカード・入力欄の輪郭は控えめな Border で。料金プランの表のように、囲んだ情報を一段強く見せたいときだけ Border Strong を使います。
標準の罫線。区切り線、カードや入力欄の輪郭に使う。
料金プランの表など、囲んだ情報を一段強く見せたい枠と罫線に使う。
面に使う3色。グレーや淡い青の地に白いカードを重ねることで、境界線に頼らず情報のまとまりをつくります。
カード・入力欄・ボタンの面。
ページやセクションの地。白い面を浮かび上がらせる。
強調したいセクションや、選択中・展開中の状態の地。
料金パッケージの紹介ページだけに使う識別色です。サイト全体の配色とは切り離して管理し、ほかの用途には流用しません。
04Typography
和文にNoto Sans JP、欧文と数字にOutfit。癖の少ない2書体を組み合わせ、画面の大きさに応じて10段階の文字サイズを使い分けます。
和文の本文と見出し。ひらがなの懐が広く、小さなサイズでも文字がつぶれにくい書体です。
あいうえお アイウエオ 想いとWebのパワーで届けよう
欧文・数字・英字のラベル。ロゴタイプと同じ、幾何学的な骨格を持つ書体です。
ABCDEFGHIJKLM abcdefghijklm 0123456789
--font-family-ja'Local Noto Sans JP', 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "MS PGothic", "MS Pゴシック", sans-serif--font-family-en'Outfit', sans-serif--font-family-gothicYuGothic, "ヒラギノ角ゴ ProN W3", "Lucida Grande", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, "MS Pゴシック", sans-serif
文字サイズはブレークポイントごとに決めた値へ自動で切り替わります(@include fsz('lg')、またはクラス .fsz-lg)。画面幅を選ぶと、それぞれの大きさで確認できます。
Design System
想いとWebのパワーで
キービジュアルの見出し
ページセクションの見出し
H3相当の見出しに使うサイズ
H4相当の見出しに使うサイズです
ボックスのタイトルや、強調したい一文に使うサイズです
本文の標準サイズ。スマートフォンでも14pxを下回らないように設計し、長い文章でも無理なく読み進められるようにしています。
補足やキャプション、カードの説明文など、本文より一歩引いた情報に使うサイズです。
タグ・日付・注記などのメタ情報に使う、最小のサイズです。
ブレークポイントで段階的に切り替える方法とは別に、画面幅に合わせて連続的に変化させる指定も用意しています(@include fsz-fluid('xl'))。スライダーで画面幅を動かすと、実際に適用される大きさを計算します。
clamp(3rem, 4vw + 1.5rem, 4rem) clamp(2.25rem, 3vw + 1rem, 3rem) clamp(1.75rem, 2vw + 1rem, 2.25rem) clamp(1.5rem, 1.5vw + 1rem, 2rem) clamp(1.125rem, 1.5vw + 0.5rem, 1.5rem) clamp(1rem, 1vw + 0.75rem, 1.25rem) clamp(0.875rem, 0.5vw + 0.7rem, 1.125rem) clamp(0.875rem, 0.3vw + 0.75rem, 1rem) clamp(0.75rem, 0.2vw + 0.7rem, 0.875rem) 0.75rem 文字の大きさに対する行の高さの比率。帯の1本が1行分の高さです。
050-3700-4132
小さな会社だからこそ、できることがある。
大阪市阿倍野区を拠点に、全国のお客様のホームページ制作と運用をお手伝いしています。小さなチームだからこそ、意思決定が速く、密なコミュニケーションがとれます。
大阪市阿倍野区を拠点に、全国のお客様のホームページ制作と運用をお手伝いしています。小さなチームだからこそ、意思決定が速く、密なコミュニケーションがとれます。
大阪市阿倍野区を拠点に、全国のお客様のホームページ制作と運用をお手伝いしています。小さなチームだからこそ、意思決定が速く、密なコミュニケーションがとれます。
「伝わる」Webサイトを、
いっしょにつくりましょう。
見出しには font-feature-settings: "palt" を指定し、かぎ括弧や句読点まわりの余分なすき間を詰めています。スイッチを切ると、詰めない状態と比べられます。
05Spacing
余白は4pxを最小単位にした18段階のスケールから選びます。さらに、小さな画面では自動で縮むように設計しているため、PCの値を1つ決めるだけで、すべての画面幅に適した余白になります。
100%PC(992px〜)
× 2/3タブレット(768px〜)
× 1/2スマホ(〜767px)
| トークン | PC | タブレット | スマホ | 実寸 |
|---|---|---|---|---|
| 4px | 3px | 2px | ||
| 8px | 5px | 4px | ||
| 12px | 8px | 6px | ||
| 16px | 11px | 8px | ||
| 24px | 16px | 12px | ||
| 32px | 21px | 16px | ||
| 40px | 27px | 20px | ||
| 48px | 32px | 24px | ||
| 64px | 43px | 32px | ||
| 80px | 53px | 40px | ||
| 96px | 64px | 48px | ||
| 128px | 85px | 64px | ||
| 156px | 104px | 78px | ||
| 192px | 128px | 96px | ||
| 256px | 171px | 128px | ||
| 384px | 256px | 192px | ||
| 512px | 341px | 256px |
@include mt(80) と書くと、ビルド時に次のCSSへ展開されます。単位は rem で出力するため、ブラウザの文字サイズ設定を大きくしている方には、余白も比例して広がります。HTMLから直接使う場合は .mt80 のようなユーティリティクラスも用意しています。
SCSS
.section {
@include mt(80);
} 出力されるCSS
.section {
margin-top: 2.5rem; /* 40px */
}
@media screen and (min-width: 768px) {
.section { margin-top: 3.3125rem; } /* 53px */
}
@media screen and (min-width: 992px) {
.section { margin-top: 5rem; } /* 80px */
} 06Shape & Depth
角丸は控えめに、影はネイビーを帯びたやわらかい多層シャドウで。純粋な黒の影を使わないことで、画面全体がブランドカラーの空気をまといます。
4px
ボタン・入力欄・小さなカード
8px
カード・パネル・開閉部品
12px
料金やチケットなど主役のパネル
50%
アイコン・アバター・円形バッジ
カードの静止状態・ヘッダー
ホバー時の浮き上がり・浮遊するパネル
チケット・料金など主役のカード
リンクになるカードやボタンは、ホバーとフォーカスで translateY(-2px) だけ持ち上がり、影が --shadow-md に深まります(@mixin lift)。大げさに動かさず、「押せる」ことを手触りで伝えます。
07Motion
動きの長さは --transition: .3s にそろえ、目的に応じて2種類のイージングを使い分けます。動きは飾りではなく、変化を理解してもらうための説明です。
要素の出現・移動・開閉など、画面の中で何かが「落ち着く」動き。
ボタンのホバーなど、押せることを手触りとして伝えたい小さな動き。わずかに行き過ぎてから戻ります。
08Layout
6つのブレークポイントと、12列のCSSグリッドで組み立てます。とくに768px(タブレット)と992px(PC)の2点は、文字サイズと余白が切り替わる主要な境目です。
いまの画面幅:—
| 名前 | 想定する画面 | 画面幅 | コンテナ幅 | ミックスイン |
|---|---|---|---|---|
| xs | スマホ(縦) | 0〜575px | 画面幅に追従 | (基準) |
| sm | スマホ(横) | 576〜767px | 540px | @include mq(sm) |
| md | タブレット | 768〜991px | 720px | @include mq(md) |
| lg | ノートPC | 992〜1199px | 960px | @include mq(lg) |
| xl | デスクトップ | 1200〜1399px | 1140px | @include mq(xl) |
| xxl | ワイド | 1400px〜 | 1320px | @include mq(xxl) |
.grid の中で .grid-col-{数} を指定します。.grid-col-md-6 のようにブレークポイント名を挟むと「その幅以上」で適用されるモバイルファーストの設計です。ブラウザの幅を変えると、下の例が組み替わります。
12 → md 6 → lg 412 → md 6 → lg 412 → lg 46 → lg 36 → lg 9<div class="grid">
<div class="grid-col-12 grid-col-md-6 grid-col-lg-4">…</div>
<div class="grid-col-12 grid-col-md-6 grid-col-lg-4">…</div>
<div class="grid-col-12 grid-col-lg-4">…</div>
</div> 09Icons
アイコンはGoogleの「Material Symbols(Outlined)」に統一しています。下の155種類は、サイトのCSSとページから実際に使われているものを自動で集計した一覧です。数字は使用箇所の数。クリックで名前をコピーできます。
<!-- HTML:装飾のアイコンは読み上げ対象から外す -->
<span class="icon material-symbols-outlined" aria-hidden="true">schedule</span>
// SCSS:疑似要素に付ける
.example {
@include mIconBefore(schedule);
} 10Imagery
画像は、言葉だけでは伝わらないものを届けるための素材です。用途ごとに比率を決め、書き出し方と代替テキストのルールをそろえることで、表示を速く保ち、どんな環境でも内容が伝わるようにしています。
用途ごとに縦横比を固定し、どんな画像が入っても枠の形が崩れないようにしています(CSS の aspect-ratio と object-fit: cover で切り抜き)。写っているのは、サイトに実際に掲載している最新の素材です。
制作実績のスクリーンショット
.works_box .pic
記事ページのアイキャッチ
.post_eyecatch .pic
SNSで共有されるOGP画像(1200×630px)
ogImage
トップページのサービス紹介
.front-services_box_pic LP一覧のサムネイル・アイコン類
.front-lp_box .pic public/assets/img/<ページ名>/ に、ページ単位でまとめます。<img> には必ず width と height を書きます。読み込み中にレイアウトがずれる(CLS)のを防ぐためです。loading="lazy" で遅延読み込みします。ページを開いてすぐ目に入る画像は遅延させません。ogImage に指定します。指定がないページには共通の画像が使われます。画像が見えない方には、altに書いた文章がそのまま読み上げられます。「何が写っているか」と「なぜそこにあるか」を、10〜20字ほどで伝えます。
Do
alt="制作実績「〇〇」のスクリーンショット"写っているものと文脈を短く。実績カードはタイトルを使って自動で生成しています。alt=""本文で説明済みの装飾的な画像は空にして、読み上げを飛ばしてもらいます。Don't
alt="画像"「画像」「写真」だけでは、何も伝わりません。alt="IMG_0123.jpg"ファイル名は意味を持ちません。<!-- 内容を伝える画像:width / height と alt を必ず書く -->
<img src="/assets/img/services/creative/corporate.jpg" width="1120" height="400" alt="コーポレートサイト制作のイメージ">
<!-- 画面の下のほうにある画像は遅延読み込み -->
<img src="/assets/img/<ページ名>/photo.jpg" width="600" height="400" alt="打ち合わせの様子" loading="lazy">
<!-- 装飾だけの画像は alt を空に -->
<img src="/assets/img/<ページ名>/decoration.svg" width="120" height="120" alt=""> 11Buttons
行動を促すための部品です。1つの画面でいちばん大切な行動にだけメインボタンを使い、それ以外はアウトラインやテキストリンクに格下げして、迷わせない優先順位をつくります。
お問い合わせや資料請求など、そのページで最も重要な行動に。ホバーとフォーカスでセカンダリに変わり、わずかに浮き上がります。
.btn 128 .btn-default 87 <a href="/contact/" class="btn btn-default">無料で相談する</a> メインボタンと並べる二番手の選択肢や、補助的な行動に。
.btn 128 .btn-skelton 9 <a href="/works/" class="btn btn-skelton">制作実績を見る</a> ネイビーなど濃い背景の上で使う反転ボタン。ホバーで地の色と反転します。
.btn 128 .btn-white 5 <a href="/download/" class="btn btn-white">サービス資料を受け取る</a> 文字を読む前に、何が起きるボタンなのかをアイコンで伝えます。送信・PDF・ダウンロード・外部リンクの4種類。
.btn-contact 37 .btn-pdf .btn-download 10 .btn-external <a href="/contact/" class="btn btn-default btn-contact">お問い合わせ</a>
<a href="/download/" class="btn btn-default btn-pdf">会社案内(PDF)</a>
<a href="/download/" class="btn btn-default btn-download">資料をダウンロード</a>
<a href="https://g.page/galactus_llc" class="btn btn-default btn-external" target="_blank" rel="noopener">Googleマップで見る</a> 標準は幅280px(PCでは300px)。限られたスペースには小さいボタン、フォームの送信などには幅いっぱいのボタンを使います。
.btn-small 1 .btn-full <a href="/faq/" class="btn btn-default btn-small">よくある質問</a>
<a href="/estimate/" class="btn btn-default btn-full">見積もりを依頼する</a> 複数のボタンはリストで並べ、狭い画面では自動で折り返します。
.btns_list 8 <ul class="btns_list">
<li><a href="/contact/" class="btn btn-default">無料で相談する</a></li>
<li><a href="/estimate/" class="btn btn-skelton">見積もりを依頼する</a></li>
</ul> 12Links
ページの内外へ移動するための部品です。矢印の付いた円形バッジで「押せること」を示し、外部サイトへのリンクは別のアイコンで区別します。
文末や一覧に置く、矢印付きのリンク。外部サイトへのリンクは別ウィンドウのアイコンに切り替わります。
.link 184 .link_external 12 <a href="/services/" class="link">サービス一覧</a>
<a href="https://g.page/galactus_llc" class="link link_external" target="_blank" rel="noopener">Googleマップ</a> 本文中の、クラスを持たないリンクには下線と矢印が自動で付きます。原稿をそのまま流し込んでも、リンクであることが伝わります。
p a:not([class]) 制作の進め方は制作の流れのページで、工程ごとにご紹介しています。
<p>制作の進め方は<a href="/flow/">制作の流れ</a>のページで、工程ごとにご紹介しています。</p> 関連ページへの導線をまとめて並べるときに。PCでは2列・3列に広げられます。
.links_list 19 .links_list-3 11 <ul class="links_list links_list-3">
<li><a href="/company/" class="link">会社情報</a></li>
<li><a href="/company/features/" class="link">私たちの特長</a></li>
<li><a href="/company/philosophy/" class="link">経営理念</a></li>
<li><a href="/flow/" class="link">制作の流れ</a></li>
<li><a href="/services/price/" class="link">料金</a></li>
<li><a href="/faq/" class="link">よくあるご質問</a></li>
</ul> フォームや資料など、特に目立たせたい導線に使う横長のリンク。
.link_bnr 25 <a href="/estimate/" class="btn link_bnr">
<span class="icon material-symbols-outlined" aria-hidden="true">calculate</span>
<p>お見積もり依頼フォーム<small>お見積もりは無料です</small></p>
</a> スマートフォンではタップでそのまま発信できます。受付時間を必ず添えます。
.tel_box 7 <a href="tel:050-3700-4132" class="tel_box">
<span class="number">050-3700-4132</span>
<span class="reception">(受付:平日 10:00~19:00)</span>
</a> 13Boxes
情報をひとまとまりにして見せる、もっとも基本的な入れ物です。リンクになるボックスは枠線がプライマリになり、右下の三角形で押せることを示します。
タイトルと説明文の間に短い罫線を入れ、情報の階層を示します。リンクにすると、ホバーで浮き上がり罫線が色づきます。
.box 617 .box_title 330 .box_desc 239 少数精鋭のチーム
各分野のプロと連携しながら、制作工程の80%以上を社内で完結させています。
私たちの特長
リンクになるボックスは、枠線の色と右下の三角形で押せることを示します。
<div class="box">
<p class="box_title">少数精鋭のチーム</p>
<p class="box_desc">各分野のプロと連携しながら、制作工程の80%以上を社内で完結させています。</p>
</div>
<a href="/company/features/" class="box">
<p class="box_title">私たちの特長</p>
<p class="box_desc">リンクになるボックスは、枠線の色と右下の三角形で押せることを示します。</p>
</a> 特長やサービスの紹介に。アイコンが内容を先に伝え、文章を読む負担を軽くします。
.box-icon 286 <div class="box box-icon">
<span class="icon material-symbols-outlined" aria-hidden="true">forum</span>
<div class="content">
<p class="box_title">密なコミュニケーション</p>
<p class="box_desc">常時1〜2名の担当ディレクターが、制作から運用まで伴走します。</p>
</div>
</div>
<a href="/flow/" class="box box-icon">
<span class="icon material-symbols-outlined" aria-hidden="true">route</span>
<div class="content">
<p class="box_title">制作の流れ</p>
<p class="box_desc">リンクの場合は、ホバーでアイコンも色が変わります。</p>
</div>
</a> 説明文がないときは :has() で判定して、小さな画面では縦積み、PCでは横並びのコンパクトな形に自動で切り替わります。
.box-icon 286 <a href="/services/creative/" class="box box-icon">
<span class="icon material-symbols-outlined" aria-hidden="true">language</span>
<div class="content"><p class="box_title">Webサイト制作</p></div>
</a>
<a href="/services/operation/" class="box box-icon">
<span class="icon material-symbols-outlined" aria-hidden="true">build</span>
<div class="content"><p class="box_title">保守・運用</p></div>
</a>
<a href="/services/marketing/" class="box box-icon">
<span class="icon material-symbols-outlined" aria-hidden="true">insights</span>
<div class="content"><p class="box_title">マーケティング支援</p></div>
</a> 左右を括弧のような罫線で囲み、セクションの締めくくりの一言を際立たせます。
.box-message 29 <div class="box-message">
<p>ご相談・お見積もりは無料です。<br>まずはお気軽にお問い合わせください。</p>
</div> 料金の条件や補足など、読み飛ばされては困る注意事項をまとめます。
.box-notes 26 ※ 料金はすべて税抜で表示しています。
※ 内容は予告なく変更となる場合があります。
<div class="box-notes">
<p>※ 料金はすべて税抜で表示しています。</p>
<p>※ 内容は予告なく変更となる場合があります。</p>
</div> ページの中で、ひとつの話題をまとまりとして見せたいときの白い面。
.section_inner 53 小さなチームだからこそ、大手に比べて費用を抑えられ、対応もスピーディで柔軟です。
<div class="section_inner">
<p class="lead">小さなチームだからこそ、大手に比べて費用を抑えられ、対応もスピーディで柔軟です。</p>
</div> 14Cards
記事や実績の一覧に使うカードです。下のブログ記事と制作実績はデモ用の作り物ではありません。WordPressに登録された最新の記事を、本番と同じコンポーネントでビルド時に描画しています。
アイキャッチ・タイトル・日付・カテゴリで構成。最新の3件を、本番の一覧ページと同じコンポーネントで表示しています。
.blog_post_boxBlogCard.astro---
import BlogCard from '@/components/BlogCard.astro';
import { getBlogPosts } from '@/lib/wordpress';
const posts = await getBlogPosts();
---
<ul class="blog_archive_list">
{posts.map((post) => <li><BlogCard post={post} /></li>)}
</ul> スクリーンショットの右上にカテゴリ、下にジャンルとタグ。最新の3件を表示しています。
.works_boxWorksCard.astro---
import WorksCard from '@/components/WorksCard.astro';
import { getWorks } from '@/lib/wordpress';
const works = await getWorks();
---
<ul class="works_archive_list">
{works.map((work) => <li><WorksCard work={work} /></li>)}
</ul> トップページで、お客様の悩みから解決策へ案内するカード。右下の三角形は @mixin linkBox で付与しています。
.front-solution_box 12 <div class="grid">
<div class="grid-col-6 grid-col-lg-3"><a class="front-solution_box" href="/solutions/choosing-partner/"><span>Web制作会社の選び方がわからない</span></a></div>
<div class="grid-col-6 grid-col-lg-3"><a class="front-solution_box" href="/solutions/osaka-local/"><span>大阪近辺で会って話せる制作会社がいい</span></a></div>
<div class="grid-col-6 grid-col-lg-3"><a class="front-solution_box" href="/solutions/budget-friendly/"><span>予算に合った提案がほしい</span></a></div>
<div class="grid-col-6 grid-col-lg-3"><a class="front-solution_box" href="/solutions/renewal/"><span>古いホームページをリニューアルしたい</span></a></div>
</div> 15Headings
見出しの見た目はクラスで決まり、HTMLの見出しレベル(h1〜h6)とは独立しています。文書の構造として正しいレベルを選んだうえで、デザインとしてふさわしいクラスを組み合わせます。
シンボルマークと同じ六角形を先頭に置いた、ページの中でもっとも大きな見出し。
.page_section_title 248 <h2 class="page_section_title">ホームページ制作</h2> data-title-en の英字が自動で上に入ります。セクションの切り替わりをはっきり見せたい場面に。
.page_section_title-en 24 <h2 class="page_section_title-en" data-title-en="Our Services">
<span class="ja">サービス一覧</span>
</h2> 大きな英字を背景に敷き、日本語の見出しを重ねたトップページ専用の見出し。
.front-section_title 8 <h2 class="front-section_title" data-title-en="About Us">
<span class="ja">私たちについて</span>
</h2> 下線のアクセントで区切る小見出し。番号付きとアイコン付きのバリエーションがあります。
.section_title_h3 290 .numbered 88 <h3 class="section_title_h3">制作の進め方</h3>
<h3 class="section_title_h3 numbered" data-number="01">ヒアリング</h3>
<h3 class="section_title_h3">
<span class="icon material-symbols-outlined" aria-hidden="true">schedule</span>制作期間の目安
</h3> 左の縦線で示す、本文に近い階層の見出し。
.section_title_h4 466 .numbered 88 <h4 class="section_title_h4">対応できるサイトの種類</h4>
<h4 class="section_title_h4 numbered" data-number="02">企画・設計</h4> 短いダッシュを添えた、もっとも控えめな見出し。
.section_title_h5 9 <h5 class="section_title_h5">お支払いについて</h5> 16Text & Lists
文章を読みやすく整えるための部品です。箇条書きは項目数が多いほど効果を発揮し、手順は番号とステップで順序をはっきり示します。
セクションの冒頭で、続く内容の要点を伝える文章。
.lead 125 ホームページの制作から保守・運用、マーケティング支援まで。
大阪・阿倍野からワンストップでサポートします。
<p class="lead">ホームページの制作から保守・運用、マーケティング支援まで。<br>大阪・阿倍野からワンストップでサポートします。</p> 下線と色で、言葉そのものを印象づけたいときに。
.catch 21 想いとWebのパワーで届けよう
<p class="catch">想いと<span>Webのパワー</span>で届けよう</p> 順序のない項目を並べる、もっとも基本的なリスト。
.list-disc 70 <ul class="list-disc">
<li>コーポレートサイト</li>
<li>ECサイト</li>
<li>採用サイト</li>
<li>LP(ランディングページ)</li>
</ul> 特長や含まれる内容など、「満たしていること」を示すリスト。
.list-check 111 <ul class="list-check">
<li>制作工程の80%以上を社内で完結</li>
<li>常時1〜2名の担当ディレクターが伴走</li>
<li>公開後の保守・運用までご相談可能</li>
</ul> 工程や手順を、番号付きのステップと矢印で順に示します。
.flow_list 23 .step_box 14 現状の分析と課題の抽出から、Webサイトによる解決策をご提案します。
キックオフミーティングで前提条件を共有し、ヒアリングを行います。
サイトマップとワイヤーフレームで、構造と内容を具体化します。
<ol class="flow_list">
<li>
<div class="step_box" data-number="01">
<h3 class="step_box_title">提案・契約</h3>
<p class="step_box_description">現状の分析と課題の抽出から、Webサイトによる解決策をご提案します。</p>
</div>
</li>
<li>
<div class="step_box" data-number="02">
<h3 class="step_box_title">準備</h3>
<p class="step_box_description">キックオフミーティングで前提条件を共有し、ヒアリングを行います。</p>
</div>
</li>
<li>
<div class="step_box" data-number="03">
<h3 class="step_box_title">企画・設計</h3>
<p class="step_box_description">サイトマップとワイヤーフレームで、構造と内容を具体化します。</p>
</div>
</li>
</ol> 本文に添える小さな補足。
.notes 46 ※ 大阪近郊であれば、無料でご訪問いたします。
<p class="notes">※ 大阪近郊であれば、無料でご訪問いたします。</p> 17Tables
項目と内容を対応づけて見せる部品です。2列の情報は定義リスト、3列以上は表を使います。表は狭い画面で横スクロールに切り替わります。
会社概要のように、項目名と内容が1対1で対応する情報に。
.dl-table 68 <dl class="dl-table">
<dt>社名</dt><dd>合同会社ギャラクタス(GALACTUS LLC)</dd>
<dt>設立</dt><dd>2018年7月2日</dd>
<dt>所在地</dt><dd>大阪府大阪市阿倍野区昭和町2-19-24 青葉ビル7C号室</dd>
<dt>事業内容</dt><dd>Webサイトの企画・制作・運用サポート</dd>
</dl> 年月と出来事を、縦線で区切って時系列に並べます。
.history_dl 1 <dl class="history_dl">
<dt>2016年</dt><dd>代表の溝口が独立し、Web制作事務所「GALACTUS」を開業</dd>
<dt>2018年</dt><dd>大阪市阿倍野区に拠点を移し、合同会社ギャラクタスを設立</dd>
<dt>現在</dt><dd>新規制作・リニューアルで300サイト以上に携わる</dd>
</dl> 3列以上の比較に。下の表の数値も、このサイトのブレークポイント設定から自動で生成しています。
.table 2 .table_wrapper 1 | ブレークポイント | 画面幅 | コンテナ幅 |
|---|---|---|
| xs | 0〜575px | 画面幅に追従 |
| sm | 576〜767px | 540px |
| md | 768〜991px | 720px |
| lg | 992〜1199px | 960px |
| xl | 1200〜1399px | 1140px |
| xxl | 1400px〜 | 1320px |
<div class="table_wrapper">
<table class="table">
<thead>
<tr><th scope="col">ブレークポイント</th><th scope="col">画面幅</th><th scope="col">コンテナ幅</th></tr>
</thead>
<tbody>
<tr><td>xs</td><td>0〜575px</td><td>画面幅に追従</td></tr>
<tr><td>sm</td><td>576〜767px</td><td>540px</td></tr>
<tr><td>md</td><td>768〜991px</td><td>720px</td></tr>
<tr><td>lg</td><td>992〜1199px</td><td>960px</td></tr>
<tr><td>xl</td><td>1200〜1399px</td><td>1140px</td></tr>
<tr><td>xxl</td><td>1400px〜</td><td>1320px</td></tr>
</tbody>
</table>
</div> 18Disclosure
情報量の多いページで、必要な人に必要な情報だけを開いて見せるための部品です。下の例はクリックで実際に開閉できます。
質問をクリックすると回答が開きます。サイト内でもっとも多く使われている開閉部品です。
.faq_box 116 お見積もりは無料で承っております。正式にご依頼いただいた時点で、着手金のご請求となります。
大阪近郊であれば無料でお伺いいたします。場所によっては、お電話・メール・オンラインでのご対応とさせていただきます。
<dl class="faq_box">
<dt class="faq_box_q"><span class="faq_box_title">見積もりは無料ですか?</span></dt>
<dd class="faq_box_a"><p>お見積もりは無料で承っております。正式にご依頼いただいた時点で、着手金のご請求となります。</p></dd>
</dl>
<dl class="faq_box">
<dt class="faq_box_q"><span class="faq_box_title">打ち合わせに来てもらえますか?</span></dt>
<dd class="faq_box_a"><p>大阪近郊であれば無料でお伺いいたします。場所によっては、お電話・メール・オンラインでのご対応とさせていただきます。</p></dd>
</dl> 枠で囲んだ、独立した開閉部品。
.accordion_dl 4 個人・法人、規模、業種・業態を問わず承っております。中小規模の企業や個人事業・商店のお客様から、特に多くのご依頼をいただいています。
<dl class="accordion_dl">
<dt class="accordion_dl_title">どんなWebサイトの制作が可能ですか?</dt>
<dd class="accordion_dl_content"><p>個人・法人、規模、業種・業態を問わず承っております。中小規模の企業や個人事業・商店のお客様から、特に多くのご依頼をいただいています。</p></dd>
</dl> HTML標準の details 要素を使った開閉部品。JavaScriptなしで、キーボードでも操作できます。
.details 149 .details_title 149 .details_content 150 社会で決められた法律、取引において定めた契約、社内の制度や規則。さまざまなルールに気を配りながら仕事をすることを大切にしています。
<details class="details">
<summary class="details_title">ルール・制度の厳守にこだわる</summary>
<div class="details_content">
<p>社会で決められた法律、取引において定めた契約、社内の制度や規則。さまざまなルールに気を配りながら仕事をすることを大切にしています。</p>
</div>
</details> 読み物の中に、補足のコラムを折りたたんで差し込みます。
.column_box 68 事務所は大阪市阿倍野区の昭和町にあります。大阪府内・近郊であれば訪問いたします。事務所へのご来訪や、オンラインでのお打ち合わせも可能です。
<dl class="column_box">
<dt class="column_box_title">事務所はどこ?会って話せるの?</dt>
<dd>
<p>事務所は大阪市阿倍野区の昭和町にあります。大阪府内・近郊であれば訪問いたします。事務所へのご来訪や、オンラインでのお打ち合わせも可能です。</p>
</dd>
</dl> 同じ階層の情報を切り替えて見せます。PCでは左に見出し、右に内容が並びます。
.tab_wrapper 1 .tab_index_button 4 .tab_content_item 4 嘘偽りのない正直な仕事がモットーです。必要・不要、できる・できないをはっきりお伝えする、誠実なコミュニケーションを大切にしています。
Webサイトは、商品やサービスの魅力を伝えるメディアとして無限の可能性を持っています。Webの活用で大きな飛躍を望める中小企業・個人事業を応援します。
お客様を、プロジェクトをともに進める二人三脚のパートナーと考えています。外注先ではなく、Web担当のパートナーとして接していただくのが理想です。
<div class="tab_wrapper">
<div class="tab_index">
<ul class="tab_index_list">
<li><button type="button" data-target="#ds-tab-01" class="tab_index_button active">仕事に対する考え方</button></li>
<li><button type="button" data-target="#ds-tab-02" class="tab_index_button">Web制作に対する考え方</button></li>
<li><button type="button" data-target="#ds-tab-03" class="tab_index_button">お客様に対する考え方</button></li>
</ul>
</div>
<div class="tab_content">
<div id="ds-tab-01" class="tab_content_item active">
<p>嘘偽りのない正直な仕事がモットーです。必要・不要、できる・できないをはっきりお伝えする、誠実なコミュニケーションを大切にしています。</p>
</div>
<div id="ds-tab-02" class="tab_content_item">
<p>Webサイトは、商品やサービスの魅力を伝えるメディアとして無限の可能性を持っています。Webの活用で大きな飛躍を望める中小企業・個人事業を応援します。</p>
</div>
<div id="ds-tab-03" class="tab_content_item">
<p>お客様を、プロジェクトをともに進める二人三脚のパートナーと考えています。外注先ではなく、Web担当のパートナーとして接していただくのが理想です。</p>
</div>
</div>
</div> 19Forms
お問い合わせや見積もり依頼など、成果に直結する部品です。必須・任意を色だけでなく文字でも示し、ラベルと入力欄を必ず関連づけます。送信はContact Form 7と連携しています。
PCでは項目名と入力欄を左右に、スマートフォンでは縦に並べます。
.form_wrapper .form-dl 1 .wpcf7-text 1 .required .optional <div class="form_wrapper">
<form class="contact-form wpcf7-form" novalidate>
<dl class="form-dl">
<dt><label for="ds-name">お名前<span class="required">必須</span></label></dt>
<dd>
<span class="wpcf7-form-control-wrap">
<input type="text" id="ds-name" class="wpcf7-form-control wpcf7-text" placeholder="例:山田 太郎" autocomplete="name">
</span>
</dd>
<dt><label for="ds-company">会社名<span class="optional">任意</span></label></dt>
<dd>
<span class="wpcf7-form-control-wrap">
<input type="text" id="ds-company" class="wpcf7-form-control wpcf7-text" placeholder="例:株式会社〇〇" autocomplete="organization">
</span>
</dd>
<dt><label for="ds-service">ご相談の種類<span class="optional">任意</span></label></dt>
<dd>
<span class="wpcf7-form-control-wrap">
<select id="ds-service" class="wpcf7-form-control wpcf7-select">
<option value="">- 選択してください -</option>
<option>ホームページの新規制作</option>
<option>リニューアル</option>
<option>保守・運用</option>
</select>
</span>
</dd>
<dt><label for="ds-message">お問い合わせ内容<span class="required">必須</span></label></dt>
<dd>
<span class="wpcf7-form-control-wrap">
<textarea id="ds-message" class="wpcf7-form-control wpcf7-textarea" rows="5" placeholder="ご相談内容をご記入ください"></textarea>
</span>
</dd>
</dl>
<div class="privacy-acceptance">
<span class="wpcf7-form-control-wrap">
<span class="wpcf7-form-control wpcf7-acceptance">
<span class="wpcf7-list-item">
<label>
<input type="checkbox" name="ds-privacy" value="1">
<span class="wpcf7-list-item-label"><a href="/privacy/">プライバシーポリシー</a>に同意します</span>
</label>
</span>
</span>
</span>
</div>
<p class="form-submit">
<button type="submit" class="btn btn-default wpcf7-submit">送信する</button>
</p>
</form>
</div> 選択肢は行全体がクリックできる大きな面にし、選んだ項目は色と枠線で示します。
.wpcf7-checkbox 1 .wpcf7-list-item 1 <form class="wpcf7-form" novalidate>
<dl class="form-dl">
<dt><label for="ds-topic-1">ご希望のサービス<span class="optional">任意</span></label></dt>
<dd>
<span class="wpcf7-form-control-wrap">
<span class="wpcf7-form-control wpcf7-checkbox">
<span class="wpcf7-list-item first"><label><input type="checkbox" id="ds-topic-1" name="ds-topic[]" value="ホームページ制作" checked><span class="wpcf7-list-item-label">ホームページ制作</span></label></span>
<span class="wpcf7-list-item"><label><input type="checkbox" name="ds-topic[]" value="保守・運用"><span class="wpcf7-list-item-label">保守・運用</span></label></span>
<span class="wpcf7-list-item"><label><input type="checkbox" name="ds-topic[]" value="Webマーケティング支援"><span class="wpcf7-list-item-label">Webマーケティング支援</span></label></span>
</span>
</span>
</dd>
</dl>
</form> 枠線の色に加えて、何をすればよいかを文章で伝えます。エラー文は入力欄と関連づけ、読み上げにも対応させます。
.wpcf7-not-valid .wpcf7-not-valid-tip <form class="wpcf7-form" novalidate>
<dl class="form-dl">
<dt><label for="ds-email">メールアドレス<span class="required">必須</span></label></dt>
<dd>
<span class="wpcf7-form-control-wrap">
<input type="email" id="ds-email" class="wpcf7-form-control wpcf7-text wpcf7-not-valid" value="info@example" aria-invalid="true" aria-describedby="ds-email-tip">
<span class="wpcf7-not-valid-tip" id="ds-email-tip">メールアドレスを正しい形式で入力してください。</span>
</span>
</dd>
</dl>
</form> 20Theming
料金パッケージの紹介ページは、それぞれの識別色をまといます。しくみはシンプルで、ページのURLから自動でクラスが付き、そのクラスがトークンを1つ差し替えるだけ。部品側のCSSには手を入れていません。
/services/package/starter/ custom-starter src/lib/page-classes.ts が付与 --custom-color: var(--color-pkg-starter) 応用プライマリごと差し替えた場合(このページだけの表示例)
料金とプラン
トークンを1つ変えるだけで、見出し・アイコン・リンクの色がそろって切り替わります。
21Accessibility
「だれにとっても使えること」は、あとから足す機能ではなく、部品の設計そのものに組み込むものだと考えています。このシステムで実践していることをまとめました。
各色のコントラスト比をビルドのたびに計算し、WCAGの基準と照らし合わせてカラーの見本に表示しています。
カラー必須項目は赤い色に加えて「必須」の文字で、リンクは色に加えて矢印や下線で示します。色の見え方が異なる方にも、同じ情報が届きます。
フォーム見出しのデザインはクラスで決まり、h1〜h6のレベルとは独立しています。見た目の都合で見出しの階層を崩す必要がありません。
見出しアイコンのように意味を持たない装飾には aria-hidden を付け、スクリーンリーダーの読み上げをじゃましないようにしています。
アイコンボタンはマウスのホバーと同じ変化を、キーボードでフォーカスしたときにも返します。どの操作方法でも、いま選んでいる場所がわかります。
ボタンこのページは、OSで「視差効果を減らす」などの設定をしている方には、アニメーションを止めて表示します。
動き22Architecture
デザインシステムのドキュメントは、更新が止まった瞬間から実装とズレ始めます。そこでこのページには値を書き写さず、サイトと同じソースコードをビルド時に読み込んで描画しています。トークンを1か所直せば、全ページとこのページが同時に変わります。
01Tokens
79tokens
foundation/_tokens.scss 色・文字・余白などの値を、CSSカスタムプロパティとして一元管理
02Mixins
39mixins
foundation/mixin/ ブレークポイントに応じた文字サイズや余白を、ひと言で書けるようにする道具
03Components
62SCSS files
layout/ · object/ FLOCSSで整理した部品とユーティリティ。ページはクラスを付けるだけで組み立てられる
04Pages
114templates
src/pages/ Astroで静的に書き出すページ。記事はヘッドレスWordPressからビルド時に取得
サイト全体の技術構成と公開の流れサイトアーキテクチャ
Work with us
ギャラクタスは、大阪・阿倍野のWeb制作会社です。このサイトと同じように、ひとつひとつの判断に理由を持ちながら、ホームページの制作から保守・運用までお手伝いしています。