@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Readex+Pro:wght@200&family=Roboto:wght@400;500;700;900&display=swap');


#topics_path::before {
    display: none;
}

#kv {
    /* width: 1360px; */
    max-width: 1600px;
    /* height: 480px; */
    height: calc(100vw * 0.3529411764705883);
    max-height: 565px;
    background-image: url(/town_guide/assets/img/fig_kv.avif);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
    overflow: hidden;
    margin-inline: auto;
    position: relative;
}

@media screen and (max-width: 1024px) {
    #kv {
        width: 1024px;
        height: 361.4117647058824px;
        max-width: initial;
        min-height: initial;
    }
}


#kv h2 {
    text-align: center;
    margin-top: 40px;
}

#container {
    padding-bottom: 100px;
}

#sec_01 {

    & figure {
        margin-top: 50px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 70px 30px;
    }

    & figure img:nth-child(1) {
        width: 624px;
    }

    & figure img:nth-child(2) {
        width: 515px;
    }

    & figure img:nth-child(3) {
        width: 576px;
    }

}

#sec_map {

    & div.ttl {
        display: flex;
        justify-content: space-between;
        align-items: center;

    }

    & div.ttl p {}

    & div.ttl span {
        color: #FFD57B;
    }

}

/* 淵野辺のオススメスポット */

#sec_spot {

    & div.wrap h4 {
        font-size: var(--fs20);
        text-align: center;
        background: #F2EFED;
        border-radius: 5px;
        font-weight: 400;
        margin-top: 34px;
    }

    & div.wrap:not(:first-of-type) {
        margin-top: 110px;
    }

    & ul.list_spot {
        display: flex;
        flex-wrap: wrap;
        gap: 34px 48px;
        margin-top: 40px;
    }

    & ul.list_spot li {
        width: 544px;

    }

    & ul.list_spot figure {
        height: 368px;
        overflow: hidden;
        border-radius: 6px;
    }

    & ul.list_spot p {
        font-size: var(--fs18);
        margin-top: 0.4em;
        margin-bottom: 0;
    }











    /*  */
}

/*  */

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

    #kv {
        width: 100vw;
        /* height: calc(100vw * 0.3529411764705883); */
        height: calc(100vw * 0.7058823529411766);
        background-size: cover;
        background-position: 50% 0;
    }

    #kv h2 {
        margin-top: 6vw;
        width: 20vw;
        margin-inline: auto;
    }

    #kv h2 img {
        width: 100%;
        height: auto;
    }

    #container {
        padding-bottom: 12vw;
    }

    #sec_01 {
        & figure {
            margin-top: 50px;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            gap: 70px 30px;

            margin-top: 6vw;
            margin-left: -6vw;
            gap: 0;
            width: 100vw;
            align-items: flex-start;
        }

        & figure img:nth-child(1) {
            width: 100vw;
            margin-bottom: 2vw;
        }

        & figure img:nth-child(3),
        & figure img:nth-child(2) {
            width: 50vw;
        }

    }

    #sec_map {
        & div.ttl {
            display: block;
        }

        & div.ttl p {
            margin-top: 1em;
        }
    }

    #map {
        width: 100vw;
        height: 50vh;
        overflow: hidden;
        margin-left: -6vw;
        overflow: auto;
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
    }

    #map img {
        width: 200vw;
        height: auto;
        display: block;
    }

    #sec_spot {
        & div.wrap h4 {
            margin-top: 6vw;
            font-size: 4.0625vw;
            /* 13px */
        }

        & ul.list_spot {
            display: block;
            margin-top: 6vw;
        }

        & ul.list_spot li {
            width: 100%;
        }

        & ul.list_spot li:not(:first-child) {
            margin-top: 4vw;
        }

        & ul.list_spot figure {
            height: auto;
        }

        & ul.list_spot p {
            font-size: 3.75vw;
            /* 12px */
            text-align: center;
        }

        & div.wrap:not(:first-of-type) {
            margin-top: 12vw;
        }


    }

    /* #sec_spot */










    /*  */
}

/* sp */





































/*  */