
    /* ========================================
           ページヘッダー
        ======================================== */
        .page-header {
            background: linear-gradient(135deg, var(--primary-green), #4a9c3e);
            color: var(--white);
            padding: 3rem 0;
            text-align: center;
        }

        .breadcrumb {
            margin-bottom: 1rem;
            font-size: 0.9rem;
        }

        .breadcrumb a {
            color: rgba(255, 255, 255, 0.8);
            text-decoration: none;
        }

        .breadcrumb a:hover {
            color: var(--white);
        }

        .page-title {
            font-size: 2.5rem;
            margin: 1rem 0;
            font-weight: bold;
        }

        .page-subtitle {
            font-size: 1.2rem;
            opacity: 0.9;
        }

    /* 交互レイアウトセクション */
    .events-alternating {
        padding: 0;
        background: var(--white);
    }

    .event-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        min-height: 70vh;
        align-items: center;
    }

    .event-image {
        background-size: cover;
        background-position: center;
        height: 100%;
        min-height: 70vh;
        position: relative;
        overflow: hidden;
    }

    .event-image::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(45deg, rgba(0,0,0,0.2), rgba(0,0,0,0.1));
        z-index: 1;
    }

    .event-content {
        padding: 4rem;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        position: relative;
    }

    .event-number {
        font-size: 1rem;
        color: var(--primary-green);
        font-weight: 700;
        margin-bottom: 0.5rem;
        text-transform: uppercase;
        letter-spacing: 2px;
    }

    .event-title {
        font-size: 2.5rem;
        font-weight: 900;
        color: var(--primary-color);
        margin-bottom: 1rem;
        line-height: 1.2;
    }

    .event-subtitle {
        font-size: 1.1rem;
        color: var(--primary-green);
        font-weight: 600;
        margin-bottom: 2rem;
        padding: 0.5rem 1rem;
        background: rgba(54, 124, 43, 0.1);
        border-radius: 20px;
        display: inline-block;
    }

    .event-description {
        font-size: 1.1rem;
        line-height: 1.7;
        color: var(--dark-color);
        margin-bottom: 2rem;
    }

    .event-highlights {
        list-style: none;
        padding: 0;
        margin-bottom: 2rem;
    }

    .event-highlights li {
        padding: 0.5rem 0;
        position: relative;
        padding-left: 2rem;
        font-size: 1rem;
        color: var(--dark-color);
    }

    .event-highlights li::before {
        content: '✓';
        position: absolute;
        left: 0;
        color: var(--primary-green);
        font-weight: bold;
        font-size: 1.2rem;
    }

    .event-meta {
        display: flex;
        gap: 2rem;
        margin-bottom: 1.5rem;
        flex-wrap: wrap;
    }

    .meta-item {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.95rem;
        color: var(--secondary-color);
        font-weight: 600;
    }

    .meta-icon {
        width: 20px;
        height: 20px;
        background: var(--primary-green);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 0.8rem;
    }

    /* 各イベントの背景画像 */
    .kids-image {
        background-image: url('../images/event1.jpg');
    }

    .football-image {
        background-image: url('../images/event2.jpg');
    }

    .hayride-image {
        background-image: url('../images/event3.jpg');
    }

    .cattle-image {
        background-image: url('../images/event4.jpg');
    }

    .exchange-image {
        background-image: url('../images/event5.jpg');
    }

    /* 背景色のバリエーション */
    .event-row:nth-child(odd) .event-content {
        background: var(--white);
    }

    .event-row:nth-child(even) .event-content {
        background: var(--light-color);
    }

    /* 2日間縦並びスケジュール */
    .schedule-section {
        padding: 4rem 0;
        background: var(--primary-green);
        color: var(--white);
    }

    .schedule-days {
        display: flex;
        flex-direction: column;
        gap: 4rem;
    }

    .schedule-day {
        background: rgba(255, 255, 255, 0.05);
        padding: 2rem;
        border-radius: 20px;
    }

    .day-header {
        text-align: center;
        margin-bottom: 2rem;
        padding-bottom: 1rem;
        border-bottom: 2px solid var(--primary-yellow);
    }

    .day-title {
        font-size: 1.8rem;
        font-weight: 700;
        color: var(--primary-yellow);
        margin-bottom: 0.5rem;
    }

    .day-time {
        font-size: 1.1rem;
        opacity: 0.9;
    }

    .timeline-container {
        position: relative;
        margin: 2rem 0;
    }

    .timeline-hours {
        display: flex;
        justify-content: space-between;
        position: relative;
        margin-bottom: 2rem;
        padding: 0 1rem;
    }

    .timeline-hours::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        height: 3px;
        background: var(--primary-yellow);
        z-index: 1;
    }

    .hour-mark {
        background: var(--white);
        color: var(--primary-green);
        padding: 0.5rem 1rem;
        border-radius: 20px;
        font-weight: 700;
        font-size: 0.9rem;
        z-index: 2;
        position: relative;
        min-width: 70px;
        text-align: center;
    }

    .timeline-events {
        display: grid;
        grid-template-columns: repeat(7, 1fr);
        gap: 1rem;
        margin-top: 2rem;
    }

    .timeline-event {
        background: rgba(255, 255, 255, 0.1);
        padding: 1rem;
        border-radius: 10px;
        backdrop-filter: blur(10px);
        text-align: center;
        min-height: 100px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .timeline-event.continuous {
        grid-column: span 7;
        background: rgba(255, 222, 0, 0.2);
        border: 2px dashed var(--primary-yellow);
        margin-bottom: 1rem;
    }

    .event-time {
        font-size: 0.85rem;
        color: var(--primary-yellow);
        font-weight: 600;
        margin-bottom: 0.5rem;
    }

    .event-name {
        font-size: 0.95rem;
        font-weight: 700;
        margin-bottom: 0.5rem;
    }

    .event-capacity {
        font-size: 0.8rem;
        opacity: 0.9;
    }

    /* レスポンシブ対応 */
    @media (max-width: 768px) {
        .koryu-hero {
            height: 50vh;
            margin-top: 60px;
        }

        .koryu-hero-content h1 {
            font-size: 2rem;
        }

        .koryu-hero-content p {
            font-size: 1.1rem;
        }

        .event-row {
            grid-template-columns: 1fr;
            min-height: auto;
        }

        .event-image {
            min-height: 300px;
            order: 1;
        }

        .event-content {
            padding: 2rem;
            order: 2;
        }

        .event-title {
            font-size: 2rem;
        }

        .event-meta {
            gap: 1rem;
        }

        .timeline-hours {
            flex-wrap: wrap;
            gap: 0.5rem;
            justify-content: center;
        }

        .timeline-hours::before {
            display: none;
        }

        .timeline-events {
            grid-template-columns: 1fr;
            gap: 1rem;
        }

        .timeline-event.continuous {
            grid-column: span 1;
        }
    }

    @media (max-width: 576px) {
        .event-content {
            padding: 1.5rem;
        }

        .event-title {
            font-size: 1.8rem;
        }

        .event-meta {
            flex-direction: column;
            gap: 0.5rem;
        }

        .schedule-days {
            gap: 2rem;
        }

        .schedule-day {
            padding: 1.5rem;
        }
    }