/* ---------------
 * ニュースセクション全体のスタイル
 * --------------- */
.news-section {
    max-width: 800px; /* 横幅 */
    margin: 50px auto; /* ページ中央に配置 */
    padding: 20px;
    font-family: 'Helvetica Neue', 'Arial', 'Hiragino Sans', 'Meiryo', sans-serif;
}

.news-section h2 {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 30px;
    color: #333;
}

/* ---------------
 * タブボタンのスタイル
 * --------------- */
.news-tabs {
    text-align: center;
    margin-bottom: 30px;
}

.tab-button {
    background: none;
    border: 1px solid #ccc;
    padding: 10px 20px;
    cursor: pointer;
    margin: 0 5px;
    border-radius: 5px;
    transition: all 0.3s; /* アニメーション効果 */
    font-size: 1rem;
}

.tab-button:hover {
    background-color: #f0f0f0;
}

.tab-button.active {
    background-color: #007bff; /* アクティブなタブの色 */
    color: white;
    border-color: #007bff;
}

/* ---------------
 * ニュースリストのスタイル
 * --------------- */
.news-item {
    display: flex;
    padding: 20px 0;
    border-bottom: 1px solid #eee;
}

.news-item-left {
    min-width: 120px;
}

.news-date {
    font-size: 0.9em;
    color: #666;
}

.news-category {
    display: inline-block;
    padding: 4px 10px;
    font-size: 0.8em;
    margin-top: 8px;
    border-radius: 3px;
    color: white;
    text-align: center;
}

/* カテゴリごとの色設定 */
.news-category.media {
    background-color: #28a745; /* メディア掲載 (緑) */
}

.news-category.press {
    background-color: #dc3545; /* お知らせ (赤) */
}

.news-title a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
    font-size: 1.1rem;
}

.news-title a:hover {
    color: #007bff; /* リンクホバー時の色 */
}
