@charset "UTF-8";

/* --------------------------------
概要テキストセクション
-------------------------------- */
.page-header-img-wrap {
    max-width: 100%;
    height: auto;
    max-height: 1500px;
    overflow: hidden;
    position: relative;
}

.page-header-img-wrap img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    transform: translateY(-12%);
    object-position: center top;
}

.event-summary-section {
    padding: 150px 0 50px;
    text-align: center;
}

.event-summary-section .container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
}


.event-summary-title {
    font-size: var(--size-xl);
    font-weight: bold;
    color: var(--text-color);
    margin-bottom: 20px;
}

.event-summary-text {
    font-size: 2rem;
    color: var(--text-color);
    line-height: 1.6;
    margin: 0 auto;
    max-width: 600px;
}


/*media Queries 767px
----------------------------------------------------*/
@media (max-width: 767px) {
    .event-summary-section {
        padding: 80px 15px 15px;
    }

    /* 概要テキストのフォントサイズ調整 */
    .event-summary-title {
        word-break: keep-all;
        font-size: clamp(24px, 6vw, var(--size-lg));
    }

    .event-summary-text {
        font-size: clamp(14px, 4vw, var(--size-md));
    }
}





/* --------------------------------
年間行事：季節ブロック
-------------------------------- */

.event-list-wrapper {
    margin-bottom: 150px;
}

.event-season-block {
    max-width: 900px;
    width: 100%;
    margin: 0 auto 80px;
    padding: 30px 80px;
    background-color: #fff;
    border-radius: 10px;
    position: relative;

}

/* 画像とリストのコンテナ */
.event-content-wrap {
    display: flex;
    flex-direction: column;
}


/* 画像のデザイン */
.event-img-wrap {
    width: 90%;
    max-width: 900px;
    margin: 0 auto 60px;

    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.event-img-wrap img {
    display: block;
    width: 100%;
    height: auto;
}

/* --------------------------------
季節の文字オーバーレイ（春）
-------------------------------- */
.season-overlay-wrap {
    position: absolute;
    top: 0;
    right: 0;
    width: 150px;
    height: 150px;
    background-image: url('../../img/event_01.png');
    background-size: contain;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translate(20%, -20%);
    z-index: 10;
}

.season-text {
    font-size: var(--size-3xl);
    font-weight: bold;
    color: #fff;
    margin: 0;
}


/* --------------------------------
月ごとの行事リスト
-------------------------------- */
.event-month-row {
    display: flex;
    align-items: flex-end;
    margin-bottom: 20px;
    padding-bottom: 5px;
    border-bottom: 1px dotted #ccc;
}

.month-num {
    /* 4, 5, 6 の数字 */
    font-size: var(--size-3xl);
    font-weight: bold;
    color: #F780A7;
    line-height: 1;
    margin: 0 15px 0 0;
    display: flex;
    align-items: flex-end;
    position: relative;
    transform: translateY(5px);
}

.month-unit {
    font-size: var(--size-lg);
    font-weight: normal;
    margin-left: 3px;
    color: #F780A7;
    line-height: 1;
    position: relative;
    transform: translateY(-7px);
}

.event-details {
    /* 行事内容 */
    font-size: var(--size-md);
    color: var(--text-color);
    margin: 0;
    line-height: 1.5;
}

/*media Queries 767px
----------------------------------------------------*/
@media (max-width: 767px) {
    .event-list-wrapper {
        margin-bottom: 50px;
    }

    /* 季節の文字オーバーレイ（春） */
    .season-overlay-wrap {
        width: 90px;
        height: 90px;
        transform: translate(10%, -60%);
    }

    .season-text {
        font-size: var(--size-2xl);
        color: #fff;
    }

    /* リストブロックのパディング調整 */
    .event-season-block {
        padding: 20px;
    }

    /*画像下の余白調整 */
    .event-img-wrap {
        margin: 0 auto 60px;
    }

    /*月ごとの行事リストの調整 */
    .month-num {
        font-size: var(--size-2xl);
        transform: translateY(3px);
    }

    .month-unit {
        font-size: var(--size-md);
        transform: translateY(-4px);
    }

    .event-details {
        font-size: 1.4rem;
        text-align: left;
    }

    /* 概要テキストのフォントサイズ調整 */
    .event-summary-title {
        word-break: keep-all;
        font-size: clamp(24px, 6vw, var(--size-lg));
    }

    .event-summary-text {
        font-size: clamp(14px, 4vw, var(--size-md));
    }
}


/* --------------------------------
★春固有のスタイル
-------------------------------- */

.event-season-spring .event-schedule-content {
    padding-left: 80px;
}

/*media Queries 767px
----------------------------------------------------*/
@media (max-width: 767px) {

    .event-season-spring .event-schedule-content {
        padding-top: 20px;
        padding-left: 30px;
        padding-right: 20px;
    }
}




/* --------------------------------
★夏固有のスタイル
-------------------------------- */

.event-season-summer .month-num,
.event-season-summer .month-unit {
    color: #4A90E2;

}

/* 季節の文字オーバーレイの背景画像 */
.season-summer-overlay {
    background-image: url('../../img/event_02.png');
    right: auto;
    left: 0;
    transform: translate(-20%, -20%);
}

.event-season-summer .season-text {
    color: #fff;
}

.event-season-summer .event-schedule-content {
    padding-left: 80px;
}

/*media Queries 767px
----------------------------------------------------*/
@media (max-width: 767px) {

    .season-summer-overlay {
        right: auto;
        left: 0;
        transform: translate(-10%, -60%);
    }

    .event-season-summer .event-schedule-content {
        padding-top: 20px;
        padding-left: 30px;
        padding-right: 20px;
    }
}


/* --------------------------------
★秋固有のスタイル
-------------------------------- */

.event-season-autumn .month-num,
.event-season-autumn .month-unit {
    color: #E9967A;
}

/* 季節の文字オーバーレイの背景画像（春と同様、右側配置） */
.season-autumn-overlay {
    background-image: url('../../img/event_03.png');
    right: 0;
    left: auto;
    transform: translate(20%, -20%);
}

.event-season-autumn .season-text {
    color: #fff;
}

.event-season-autumn .event-schedule-content {
    padding-left: 80px;
}


/*media Queries 767px
----------------------------------------------------*/
@media (max-width: 767px) {
    .season-autumn-overlay {
        transform: translate(10%, -60%);
    }

    .event-season-autumn .event-schedule-content {
        padding-top: 20px;
        padding-left: 30px;
        padding-right: 20px;
    }
}




/* --------------------------------
★冬固有のスタイル
-------------------------------- */

.event-season-winter .month-num,
.event-season-winter .month-unit {
    color: #9370DB;
}

/* 季節の文字オーバーレイの背景画像 */
.season-winter-overlay {
    background-image: url('../../img/event_04.png');
    right: auto;
    left: 0;
    transform: translate(-20%, -20%);
}

.event-season-winter .season-text {
    color: #fff;
}

/* 行事リストの左パディング */
.event-season-winter .event-schedule-content {
    padding-left: 80px;
}


/*media Queries 767px
----------------------------------------------------*/
@media (max-width: 767px) {

    .season-winter-overlay {
        right: auto;
        left: 0;
        transform: translate(-10%, -60%);
    }

    .event-season-winter .event-schedule-content {
        padding-top: 20px;
        padding-left: 30px;
        padding-right: 20px;
    }

}