> cat /works/corporate-redesign/README.md

title:コーポレートサイト フルリニューアル
year:2026
role:Direction / Design / Frontend
category:受託開発
stack:Next.jsReactTypeScriptTailwind CSSZodResend

リノベーション事業を展開する企業のコーポレートサイトを、現在の事業内容に合わせてフルリニューアルしたプロジェクトです。もともとWordPressで構築・運用されていたサイトを、ヒアリングによる課題整理から情報設計・デザイン・実装、さらにドメイン移管・DNS切り替え・運用保守まで一気通貫で担当しました。

技術面ではNext.js 16のApp Routerを採用し、施工事例の動的ルーティングやResendによるお問い合わせフォーム、Zodによるバリデーションを実装。それに加えて、ユーザー導線の設計やレスポンシブ対応、アクセシビリティの改善など、コーディングの枠を超えたサイト全体の体験設計にも深く関わりました。

技術スタック

カテゴリツール選定理由
フレームワークNext.js 16 (App Router)RSC・SSG対応でパフォーマンスとSEOを両立
フロントReact 19 / TypeScript / Tailwind CSS v4型安全かつユーティリティファーストで高速開発
デプロイVercelGit連携で自動デプロイ・エッジネットワーク・Serverless Functions一体型
メール送信ResendモダンなAPI設計・独自ドメイン送信対応・無料枠で十分
スパム対策ハニーポット + バリデーション + レート制限 + Content-Length 早期拒否外部サービス不要で不正送信対策を維持
セキュリティnext.config.mjs ヘッダー (HSTS, Permissions-Policy等)外部依存なしでセキュリティヘッダーを一元管理
画像高解像度化NanoBananaPro事業内容ページの背景画像をAIアップスケーリング
バリデーションZod 4 (v4/classic)サーバー/クライアント共用・TypeScript親和性が高い
ユーティリティclsx + tailwind-merge条件付きクラス結合・Tailwind競合解消
アニメーションtw-animate-cssTailwind CSS v4対応のアニメーションユーティリティ
アイコンLucide React軽量・Tree-shakeable・アイコン数が豊富
LintESLint 9 + eslint-config-nextNext.js公式推奨構成
パッケージマネージャnpmNode.js標準・追加ツール不要

構成

├── app/
│   ├── page.tsx            # トップページ
│   ├── layout.tsx          # 共通レイアウト(ヘッダー・フッター・OGP)
│   ├── globals.css         # グローバルスタイル
│   ├── error.tsx           # エラーバウンダリ
│   ├── not-found.tsx       # 404ページ
│   ├── robots.ts           # robots.txt 生成
│   ├── sitemap.ts          # サイトマップ生成
│   ├── contact/
│   │   └── page.tsx        # お問い合わせページ
│   ├── privacy/
│   │   └── page.tsx        # プライバシーポリシー
│   ├── works/
│   │   ├── page.tsx        # 施工事例一覧
│   │   ├── loading.tsx     # ローディングUI
│   │   └── [slug]/
│   │       └── page.tsx    # 施工事例詳細(動的ルーティング)
│   └── api/
│       └── contact/
│           └── route.ts    # お問い合わせ送信(Serverless Function)
├── components/             # UIコンポーネント
├── hooks/                  # カスタムフック
├── lib/                    # 設定・ユーティリティ・バリデーション
└── public/                 # 静的アセット