/* events.css */

/* イベント一覧セクションの基本スタイル */
.events-list-section {
    padding: 40px 20px;
    /* 上下の余白と左右のパディング */
    max-width: 1200px;
    /* 最大幅 */
    margin: 0 auto;
    /* 中央寄せ */
    text-align: center;
    /* タイトルなどを中央寄せ */
}


/* イベントカードのグリッドレイアウト */
.events-list-flex {
    display: flex;
    /* Flexboxを使用 */
    flex-wrap: wrap;
    /* 子要素を折り返す */
    gap: 30px;
    /* カード間の間隔 */
    justify-content: center;
    /* 中央寄せ */
    align-items: stretch;
    /* 高さを揃える */
}

/* イベントカードのスタイル */
.event-card {
    background-color: #fff;
    /* 背景色 */
    border-radius: 12px;
    /* 角丸 */
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    /* 影 */
    padding: 30px;
    /* 内側のパディング */
    display: flex;
    /* Flexboxで内容を配置 */
    flex-direction: column;
    /* 縦方向に並べる */
    justify-content: space-between;
    /* 上下端に配置 */
    align-items: flex-start;
    /* 左寄せ */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    /* ホバー時のアニメーション */
    text-align: left;
    /* テキストを左寄せ */
    flex: 1 1 300px;
    max-width: 350px;
}

.event-card:hover {
    transform: translateY(-8px);
    /* 少し上に移動 */
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.15);
    /* 影を強調 */
}

.event-card__title {
    font-size: 1.6em;
    /* タイトルサイズ */
    color: #e27d00;
    /* オレンジ系の文字色 */
    margin-bottom: 15px;
    /* 下の余白 */
    font-weight: bold;
    /* 太字 */
    line-height: 1.4;
}

.event-card__date {
    font-size: 0.95em;
    /* 日付のサイズ */
    color: #666;
    /* 日付の文字色 */
    margin-bottom: 15px;
    /* 下の余白 */
}

.event-card__description {
    font-size: 1em;
    /* 説明文のサイズ */
    color: #555;
    /* 説明文の文字色 */
    line-height: 1.6;
    margin-bottom: 25px;
    /* 下の余白 */
    flex-grow: 1;
    /* スペースを埋める */
}

.event-card__link {
    display: inline-block;
    /* インラインブロック要素 */
    background-color: #4299e1;
    /* 青系の背景色 */
    color: #fff;
    /* 文字色 */
    padding: 12px 25px;
    /* パディング */
    border-radius: 8px;
    /* 角丸 */
    text-decoration: none;
    /* 下線なし */
    font-weight: bold;
    /* 太字 */
    transition: background-color 0.3s ease;
    /* ホバー時のアニメーション */
    align-self: flex-end;
    /* 右下に配置 */
}

.event-card__link:hover {
    background-color: #3182ce;
    /* ホバー時の背景色 */
}

/* スマートフォン向け調整 */
@media (max-width: 767px) {
    .events-list-section {
        padding: 30px 15px;
    }

    .events-list-section__title {
        font-size: 2em;
        margin-bottom: 30px;
    }

    .events-list-flex {
        gap: 20px;
    }

    .event-card {
        padding: 25px;
        flex: 1 1 100%;
        /* スマホでは1列に */
        max-width: none;
    }

    .event-card__title {
        font-size: 1.4em;
    }
}