/* style.css */

/* 基本的なリセットと共通スタイル */
body {
    margin: 0;
    font-family: 'Arial', sans-serif; /* 一般的なフォントを指定 */
    line-height: 1.6; /* 行の高さを調整して読みやすく */
    color: #333; /* 基本的な文字色 */
    background-color: #f4f4f4; /* 薄い背景色で目に優しく */
}

*, *::before, *::after {
    box-sizing: border-box; /* paddingやborderを要素の幅・高さに含める */
}

a {
    text-decoration: none; /* リンクの下線を削除 */
    color: #007bff; /* リンクのデフォルト色 */
}

a:hover {
    text-decoration: underline; /* ホバー時に下線を表示 */
}

/* ヘッダー */
header {
    background-color: #0056b3; /* ブランドカラーをイメージした濃い青 */
    color: #fff; /* 文字色を白に */
    padding: 15px 20px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 影をつけて立体感を出す */
}

header h1 {
    margin: 0;
    font-size: 2em; /* ヘッダーのタイトルを大きく */
}

/* メインコンテンツエリア */
main {
    padding: 20px;
    max-width: 1000px; /* コンテンツの最大幅を制限して見やすく */
    margin: 20px auto; /* 中央寄せ */
    background-color: #fff; /* メインコンテンツの背景は白 */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* 影 */
    border-radius: 8px; /* 角を丸く */
}

/* 各セクションの基本的なスタイル */
section {
    margin-bottom: 40px; /* セクション間の余白 */
    padding: 20px;
    border-bottom: 1px solid #eee; /* セクションの下に区切り線 */
}

section:last-child {
    border-bottom: none; /* 最後のセクションには区切り線をつけない */
}

h2, h3, h4 {
    color: #0056b3; /* 見出しの色をブランドカラーに合わせる */
    margin-top: 0;
    margin-bottom: 20px;
}

h2 {
    font-size: 1.8em;
    text-align: center; /* メイン見出しは中央寄せ */
}

h3 {
    font-size: 1.5em;
    border-left: 5px solid #007bff; /* 左側に線を引く */
    padding-left: 10px;
}

h4 {
    font-size: 1.2em;
    margin-bottom: 10px;
    color: #555;
}

p {
    margin-bottom: 15px;
}

/* ヒーローセクション */
.hero {
    text-align: center;
    padding: 40px 20px;
    background-color: #e9f7ff; /* 薄い青の背景色 */
    border-radius: 8px;
    margin-bottom: 40px; /* mainのpaddingと合わせて調整 */
}

.hero h2 {
    font-size: 2em;
    color: #0056b3;
    margin-bottom: 20px;
}

.hero .hero-image {
    margin-top: 20px;
    /* 画像のスタイリングが必要な場合はここに */
}


/* 厳選4社紹介リスト */
.company-list ul {
    list-style: none; /* リストのデフォルトの黒丸を消す */
    padding: 0;
    display: grid; /* Gridレイアウトを使用 */
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* レスポンシブなカラム設定 */
    gap: 20px; /* 要素間の隙間 */
}

.company-list li {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* ホバー時のアニメーション */
}

.company-list li:hover {
    transform: translateY(-5px); /* 少し上に移動 */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* 影を濃く */
}

.company-list li a {
    display: block; /* aタグをブロック要素にして全体をリンク化 */
    padding: 20px;
    color: #333; /* 文字色をデフォルトに戻す */
    text-decoration: none; /* 下線はなし */
}

.company-list li a:hover {
     text-decoration: none; /* ホバー時も下線なし（親要素で制御） */
}


.company-list h4 {
    margin-top: 0;
    color: #0056b3;
    border-bottom: 2px solid #eee; /* 下線 */
    padding-bottom: 10px;
}

.company-list p {
    font-size: 0.9em;
    color: #555;
    margin-bottom: 0;
}

/* フッター */
footer {
    text-align: center;
    padding: 20px;
    margin-top: 40px;
    background-color: #333;
    color: #fff;
    font-size: 0.9em;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    header h1 {
        font-size: 1.5em;
    }

    .hero h2 {
        font-size: 1.5em;
    }

    h3 {
        font-size: 1.3em;
    }

    main {
        padding: 10px;
        margin: 10px auto;
    }

    section {
        padding: 15px;
        margin-bottom: 30px;
    }

    .company-list ul {
        grid-template-columns: 1fr; /* 1カラム表示に */
        gap: 15px;
    }
     .company-list li a {
        padding: 15px;
     }
}