@charset "utf-8";



.bg-1 {
    position: relative;
    margin-bottom: 200px;
}

.bg-1::after {
    content: "";
    display: block;
    width: 100%;
    height: 90px;
    background: url(../images/wave111_1919x90.png)no-repeat center center /100% 90px;

    bottom: -90px;
    left: 0;
    position: absolute;
}

h2 {
    padding: 60px 0 100px;
    text-align: center;

}

h2 img {
    max-width: 100%;
    height: auto;
    background-position: cover;
}

.inner-1 {
    max-width: 1100px;
    width: 100%;
    text-align: center;
    margin: 0 auto;
}


h3 {
    display: inline-block;
    font-family: 'nikumaru', sans-serif;
    font-size: 36px;
    letter-spacing: 0.4rem;
    color: #ff8182;
    position: relative;
    margin: 0 auto;
}

h3::after {
    content: '';
    width: 83px;
    height: 85px;
    background: url(../images/title_83x85.png) no-repeat left bottom;
    left: 0;
    bottom: 10px;
    position: absolute;
    transform: translateX(-100%);
}


/* ----------------------------- */

.content-area h3 {
    margin: 0 0 80px;
}

.content-area dt {
    font-family: 'corp', "M PLUS Rounded 1c", sans-serif;
    font-weight: bold;
    font-size: 32px;
    color: #f79a70;
    letter-spacing: 0.5rem;
    margin-bottom: 10px;
}

.content-area dd {
    line-height: 2;
    font-weight: bold;
}

.content-area .flex,
.content-item {
    align-items: center;
    justify-content: space-between;
    height: 300px;
    position: relative;
}

.content-area .flex img {
    position: absolute;
    top: -50px;
    right: 0;
    z-index: -2;
}

.content-item {
    display: flex;
    flex-direction: row-reverse;
}

.content-item img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
}

.content-item dt,
.content-area .flex dt {
    content: "";
    /* width: 107px; */
    /* height: 137px; */
    background: url(../images/sub_images/hoiku_titele_107x137.png) no-repeat left top;
    padding-left: 50px;
    padding-top: 80px;
    /* position: absolute; */
    z-index: -1;
    transform: translateX(-50px);
}





.content-area .flex dl {
    padding-left: 160px;

}

.content-item dl {
    padding-right: 160px;

}



/* ----------------------------------- */


.daily-area h3 {
    margin: 250px 0 80px;
}

.daily-area .flex {
    gap: 50px;
}



.year-area h3 {
    margin: 250px 0 80px;
}

.year-area .flex {
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
    margin-bottom: 30px;
}


.year-area .flex img {
    max-width: 300px;
    height: auto;
}



@media screen and (max-width: 768px) {

    .bg-1::after {
        content: "";
        display: block;
        width: 100%;
        height: 90px;
        background: url(../images/wave111_1919x90.png)no-repeat right center;

        bottom: -90px;
        left: 0;
        position: absolute;
    }

    h2 {
        padding: 60px 0 0;
        text-align: center;
    }

    h2 img {
        max-width: 100%;
        height: 180px;
        object-fit: cover;
        /* padding-top: 60px; */
    }

    h3 {
        font-size: 24px;
    }

    .content-area h3{
        margin-bottom: 40px;
    }

    .content-area .flex,
    .content-area .content-item {
        flex-direction: column;
        gap: 40px;
        /* 上下の間隔を調整 */
        margin-bottom: 60px;
        height: auto;
        /* PC用の固定高さを解除 */
        position: static;
        /* PC用のpositionをリセット */
        align-items: center;
        /* 画像とテキストを中央揃え */
    }

    .content-area .flex dl,
    .content-area .content-item dl {
        width: 100%;
        /* テキストブロックの幅をコンテナいっぱいに広げます */
        text-align: center;
        /* テキストを中央揃えに戻します */
        padding: 0;
        /* PC用のpaddingをリセット */
    }

    .content-item dt,
    .content-area .flex dt {
        display: inline-block;
        background: url(../images/sub_images/hoiku_titele_107x137.png) no-repeat left top;
        padding-left: 30px;
        padding-top: 30px;
        background-size: 50px 60px;
        /* position: absolute; */
        z-index: -1;
        transform: translateX(-15px);
    }



    .content-area dt {
        font-size: 20px;
        /* スマホ用にフォントサイズを調整 */
        letter-spacing: 0.1em;
        /* 文字間隔を調整 */
        line-height: 1.5;
        /* 行間を調整 */
    }

    .content-area dd {
        font-size: 14px;
        /* スマホ用にフォントサイズを明示的に指定 */
    }

    .content-area .flex img,
    .content-area .content-item img {
        position: static;
        /* PC用のabsolute配置を解除 */
    }

    /* PC表示で設定した画像の位置調整(transform)をリセット */
    .content-area>div img {
        /* !importantを付けて、PC用の個別指定を確実に上書きします */
        transform: none !important;
    }

    /* デイリープログラム & 年間行事 */

    .daily-area h3 {
        margin: 100px 0 80px;
    }

    .daily-area .flex {
        flex-direction: column;
        gap: 20px;
        align-items: center;
        /* 中央揃えにするため追加 */
    }

    .year-area .flex {
        flex-direction: column;
        /* 縦並びに変更 */
        align-items: center;
        /* 中央揃えにする */
        gap: 20px;
    }

    /* 年間行事セクション下の余白を調整 */
    .year-area {
        padding-bottom: 100px;
        /* PC用の500pxの余白をスマホ用にリセット */
    }

    /* hoikuページ内の画像 */
    .content-area img {
        width: 100%;
        max-width: 300px;
        /* 画像が広がりすぎないように最大幅を狭める */
        height: auto;
    }

    .daily-area img {
        width: 100%;
        max-width: 100%;
        /* 画像が広がりすぎないように最大幅を狭める */
        height: auto;
    }

    .year-area h3 {
        margin: 100px 0 80px;
    }

    .year-area .flex img {
        width: 100%;
        /* 1列表示にする */
        max-width: 300px;
        /* 画像が広がりすぎないように最大幅を狭める */
    }






}