@charset "utf-8";

/***********************************************************
////////////////////////////////////////////////////////////

@ DESKTOP

////////////////////////////////////////////////////////////
***********************************************************/

/**************************************
    base
**************************************/

body {
    color: #000000;
    font-size: 13pt;
    font-family: "Noto Sans JP", "Kosugi Maru", "Sawarabi Gothic", sans-serif;
    line-height: 1.5;
    letter-spacing: 0.05rem;
    background-color: #f2efe7;
    margin: 0 auto;
}

a {
    text-decoration: none;
}
a:link {
    color: #000000;
}
a:visited {
    color: #000000;
}
a:hover {
    color: #555555;
}

img {
    width: 100%;
}
a:hover img {
    opacity: 0.8;
}

#wrap {
    max-width: 1280px;
    margin: 0 auto;
    background-color: #fff;
    color: #000;
    line-height: 1.5;
    width: 100%;
    margin: 0 auto;
}

.content {
    max-width: 1000px;
    margin: 0 auto;
}

.inner {
    padding: 0 20px;
    container-type: inline-size;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

/**************************************
    top
**************************************/

#top {
    position: relative;
}

/**************************************
    map
**************************************/

#map {
    margin-bottom: 5vw;
}

/**************************************
    event
**************************************/

#event {
    margin-bottom: 2vw;
}
#event .title {
    margin-bottom: 2cqw;
}
#event .list {
    display: flex;
    gap: 2cqw 0;
    flex-wrap: wrap;
    justify-content: space-between;
}
#event .list .item {
    width: 49%;
    padding: 0 2cqw 2cqw;
    background-color: #f2efe7;
}
#event .list .item.pc_col3 {
    width: 32%;
}
#event .list .item p {
    color: #fff;
    font-size: 1.6cqw;
    font-weight: 700;
    text-align: center;
    background-color: #666;
    margin-bottom: 2cqw;
    padding: 0.1em 0;
}
#event .list .item p.pink {
    background-color: #e73463;
}
#event .list .item p.blue {
    background-color: #2c4198;
}
#event .list .item div {
    margin-bottom: 1cqw;
}
#event .list .item a {
    display: block;
    width: 60%;
    margin: 0 auto;
}
#event .list .item.pc_col3 a {
    width: 100%;
}

/**************************************
    stamp
**************************************/

#stamp {
    margin-bottom: 5vw;
}

/**************************************
    support
**************************************/

#support {
    margin-bottom: 5vw;
}
#support .list {
    display: flex;
    gap: 3cqw;
    justify-content: center;
    padding: 20px 0;
    border-bottom: 1px solid #231815;
}
#support .list dl {
    max-width: 980px;
    display: flex;
    gap: 12px;
    align-items: center;
}
#support .list dl dt {
    width: 3cqw;
    font-size: 1.2cqw;
    font-weight: 700;
}
#support .list dl dd {
    flex: 1;
}
#support .list dl dd ul {
    display: flex;
    gap: 1cqw 3cqw;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
}
#support .list dl dd ul li {
    width: 22%;
}

/**************************************
    info
**************************************/

#info {
    position: relative;
    padding-bottom: 5vw;
}
#info .contact {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
    padding: 0 0 3%;
    align-items: flex-start;
}
#info .contact .label {
    padding: 0.5em 3%;
    margin-right: 2%;
    border: solid 1px #000;
}
#info .contact .links {
    font-size: 110%;
}
#info .contact .links .tel {
    font-size: 150%;
    font-weight: 700;
}
#info .contact .links .mail {
    font-weight: 700;
}
#info .note {
    font-size: 70%;
    text-align: center;
}
#info .note:not(:last-child) {
    margin-bottom: 2.0em;
}


/***********************************************************
////////////////////////////////////////////////////////////

@ MOBILE

////////////////////////////////////////////////////////////
***********************************************************/

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

    /**************************************
        base
    **************************************/

    body {
        font-size: 4.2vw;
    }

    a:hover img {
        opacity: 1.0;
    }

    .inner {
        padding: 0 8vw;
    }
    .inner.sp_wide {
        padding: 0 0;
    }

    .sp {
        display: block;
    }

    .pc {
        display: none;
    }

    /**************************************
        top
    **************************************/

    #top {
        margin-bottom: 10vw;
    }

    /**************************************
        map
    **************************************/

    #map {
        margin-bottom: 10vw;
    }

    /**************************************
        event
    **************************************/

    #event {
        margin-bottom: 10vw;
    }
    #event .title {
        margin-bottom: 6cqw;
    }
    #event .list {
        gap: 6cqw;
    }
    #event .list .item {
        width: 100%;
        padding: 0 6cqw 6cqw;
    }
    #event .list .item.pc_col3 {
        width: 100%;
    }
    #event .list .item p {
        font-size: 5cqw;
        margin-bottom: 6cqw;
        padding: 0.2em 0;
    }
    #event .list .item div {
        margin-bottom: 6cqw;
    }
    #event .list .item a {
        width: 100%;
    }

    /**************************************
        stamp
    **************************************/

    #stamp {
        margin-bottom: 10vw;
    }

    /**************************************
        support
    **************************************/

    #support {
        margin-bottom: 10vw;
    }
    #support .list {
        gap: 5cqw 2cqw;
        flex-wrap: wrap;
        border: none;
        justify-content: space-between;
        padding: 2cqw 0;
    }
    #support .list dl {
        width: 100%;
        flex-flow: column;
    }
    #support .list dl.sp_half {
        width: 48%;
    }
    #support .list dl dt {
        color: #fff;
        text-align: center;
        background-color: #9FA0A0;
        width: 100%;
        font-size: 3.5cqw;
        padding: 0.1em 0;
    }
    #support .list dl dd p {
        padding: 0 16%;
    }
    #support .list dl dd ul {
        justify-content: center;
        gap: 4cqw 3cqw;
    }
    #support .list dl dd ul li {
        width: 30%;
    }

    /**************************************
        info
    **************************************/

    #info {
        text-align: center;
        padding-bottom: 10vw;
    }
    #info .contact .label {
        font-size: 90%;
        width: 100%;
        padding: 0.2em 3%;
        margin: 0 0 1em;
    }
    #info .note {
        text-align: left;
    }

}