CSS UI・Webデザイン集 | Webサイト基本構成:コーポレートサイト

Web APP CSS
スポンサーリンク
スポンサーリンク

コーポレートサイトの基本構成とデザインの考え方

コーポレートサイトは、企業の信頼性を高め、ユーザーに事業内容やビジョンを正しく伝えるための「会社の顔」となるWebサイトです。基本構成としては、ファーストビューで惹きつけるメインビジュアル、企業の強みを伝える事業内容(Service)、最新情報を発信するお知らせ(News)、そして問い合わせへと誘導するコンタクト(Contact)セクションが不可欠です。プログラミング初心者の方がまず押さえるべきポイントは、HTMLで意味のある構造(セマンティックなマークアップ)を作り、CSSやSCSSで美しく保守性の高い装飾を施すことです。

コーポレートサイトを構成する主要パーツの設計

Webサイト全体の骨組みを理解するために、代表的な4つのパーツの役割を確認しましょう。

  • ヘッダー(Header):サイト全体で共通するロゴやグローバルナビゲーションを配置し、ユーザーが迷わず目的のページへ移動できるようにします。
  • メインビジュアル(Main Visual):ページを開いた瞬間に飛び込んでくる領域で、キャッチコピーや印象的な画像を用いて企業のコンセプトを一目で伝えます。
  • カード型レイアウト(Service/News):複数の情報を整理して並べる際に多用され、視認性とデザイン性を両立させます。
  • フッター(Footer):コピーライトやサイトマップ、SNSリンクなどを配置し、ページの終着点としての役割を果たします。

実務で役立つHTMLとCSS・SCSSのコード実装

それでは、コーポレートサイトの代表的なセクションである「メインビジュアル」と「サービス紹介(カード型)」を例に、実際のコードを見ていきましょう。CSSだけでなく、効率的なスタイリングが可能なSCSSコードも併せて解説します。

メインビジュアルの実装例

メインビジュアルは、背景画像の上にテキストを重ねるデザインが主流です。

HTML

<!-- HTML構造 -->
<section class="main-visual">
  <div class="main-visual__inner">
    <h2 class="main-visual__title">未来を創る、テクノロジーの力</h2>
    <p class="main-visual__text">私たちは革新的なソリューションで企業の成長を支援します。</p>
    <a href="#contact" class="main-visual__button">お問い合わせ</a>
  </div>
</section>
HTML

CSS

/* CSSコード */
.main-visual {
  position: relative;
  height: 80vh;
  background-image: url('images/hero-bg.jpg');
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #ffffff;
}

.main-visual::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}

.main-visual__inner {
  position: relative;
  z-index: 2;
  max-width: 800px;
  padding: 0 20px;
}

.main-visual__title {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.main-visual__text {
  font-size: 1.1rem;
  margin-bottom: 30px;
}

.main-visual__button {
  display: inline-block;
  padding: 15px 30px;
  background-color: #0056b3;
  color: #ffffff;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.main-visual__button:hover {
  background-color: #003d82;
}
CSS

SCSS

/* SCSSコード */
.main-visual {
  position: relative;
  height: 80vh;
  background: {
    image: url('images/hero-bg.jpg');
    size: cover;
    position: center;
  }
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #ffffff;

  &::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
  }

  &__inner {
    position: relative;
    z-index: 2;
    max-width: 800px;
    padding: 0 20px;
  }

  &__title {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 20px;
  }

  &__text {
    font-size: 1.1rem;
    margin-bottom: 30px;
  }

  &__button {
    display: inline-block;
    padding: 15px 30px;
    background-color: #0056b3;
    color: #ffffff;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.3s ease;

    &:hover {
      background-color: #003d82;
    }
  }
}
SCSS

カード型レイアウト(サービス紹介)の実装例

企業が提供するサービスを分かりやすく並べるために、FlexboxやGridを使ったカード型レイアウトを用います。

HTML

<!-- HTML構造 -->
<section class="service">
  <div class="service__inner">
    <h2 class="service__heading">Service</h2>
    <div class="service__list">
      <div class="service__card">
        <h3 class="service__title">Web開発事業</h3>
        <p class="service__description">最新の技術を用いたモダンなWebサイトやアプリケーションの開発を行います。</p>
      </div>
      <div class="service__card">
        <h3 class="service__title">UI/UXデザイン</h3>
        <p class="service__description">ユーザービリティを追求し、成果につながる直感的なデザインを提供します。</p>
      </div>
      <div class="service__card">
        <h3 class="service__title">マーケティング支援</h3>
        <p class="service__description">データに基づいた戦略的なアプローチで集客と売上向上をサポートします。</p>
      </div>
    </div>
  </div>
</section>
HTML

SCSS

/* SCSSコード(BEM記法とネストの活用) */
.service {
  padding: 80px 20px;
  background-color: #f8f9fa;

  &__inner {
    max-width: 1000px;
    margin: 0 auto;
  }

  &__heading {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 50px;
    color: #333333;
  }

  &__list {
    display: flex;
    gap: 30px;
    justify-content: space-between;

    @media (max-width: 768px) {
      flex-direction: column;
    }
  }

  &__card {
    background-color: #ffffff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    flex: 1;
    transition: transform 0.3s ease;

    &:hover {
      transform: translateY(-5px);
    }
  }

  &__title {
    font-size: 1.25rem;
    margin-bottom: 15px;
    color: #0056b3;
  }

  &__description {
    font-size: 0.95rem;
    color: #666666;
    line-height: 1.6;
  }
}
SCSS

実務における重要ポイントの深掘り

プログラミング初心者が実務の現場でつまずきやすいポイントや、ワンランク上のコーディングを実現するための要点を解説します。

BEM記法による命名規則の徹底

先ほどのコード例でも使用しているBEM(Block, Element, Modifier)は、クラス名の衝突を防ぎ、コードの保守性を飛躍的に高める命名規則です。

  • Block(ブロック):独立した機能を持つ固まり(例: .service
  • Element(エレメント):ブロックを構成するパーツ(例: __card__title
  • Modifier(モディファイア):状態やバリエーションを表す(例: --primary--large

このルールを徹底することで、「どのスタイルがどの要素に効いているのか」がひと目で分かるようになり、複数人での開発がスムーズになります。

SCSSのメリットを最大限に活かすネストと変数

CSSの記述量を減らし、メンテナンス性を高めるためにSCSSの機能を使いこなしましょう。例えば、カラーコードやブレイクポイントを変数として定義しておくと、後からデザインの変更があった際も一箇所の修正だけで全体に反映させることができます。

SCSS

/* 変数の定義例 */
$primary-color: #0056b3;
$text-color: #333333;
$bg-light: #f8f9fa;

/* メディアクエリの管理もスッキリ記述可能 */
$breakpoint-md: 768px;
SCSS

このように、プロパティやセレクタを効率的に管理することで、コードの可読性が劇的に向上し、プロフェッショナルなWeb制作が可能になります。

タイトルとURLをコピーしました