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

#tokuhan_container {
    max-width: 900px;
    margin: 0 auto;
    font-size: 18px;
    font-weight: 400;
}

#tokuhan_container section { margin-bottom: 100px;}

.ib { display: inline-block;}

.line {
    margin-top: 0;
    margin-bottom: 100px;
}

.sp_only { display: none;}

.tokuhan_catch {
    font-weight: 700;
    font-size: 1.5em;
    text-align: center;
    line-height: 1.7;
    margin-bottom: 20px;
}

#tokuhan_top h1, #tokuhan_top h1 img,
#tokuhan_top .brand_list, #tokuhan_top .brand_list img,
#tokuhan_top .caution { width: 100%;}

#tokuhan_top .caution {
    font-size: 0.8em;
    text-align: center;
    line-height: 1.5;
    padding: 20px 0;
    background-color: #f4f4f4;
}

#tokuhan_top .brand_list {
    margin-top: 50px;
    margin-bottom: 50px;
}

#outline dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 50px;
}

#outline dt, #outline dd {
    padding-top: 15px;
    padding-bottom: 15px;
    margin-bottom: 10px;
}

#outline dt { 
    width: 25%;
    font-weight: 500;
    color: #007896;
    background-color: #e1f4f9;
    display: flex;
    justify-content: center;
    align-items: center;
}

#outline dd { 
    width: 70%;
    padding-left: 15px;
}

#outline dt ,#outline dd p { font-size: 1em;}

#outline dd p { margin-bottom: 15px;}

#outline dd p:last-of-type { margin-bottom: 0;}

#outline .map {
    width: 100%;
    margin: 0 auto;
    aspect-ratio: 16 / 9;
}

#outline .map iframe {
    width: 100%;
    height: 100%;
}

#outline .parking {
    font-size: 1.3em;
    font-weight: 700;
}

#park .park_catch {
    font-weight: 700;
    font-size: 2em;
    text-align: center;
    line-height: 1;
    margin-bottom: 20px;
}

#park .park_intro {
    text-align: center;
    font-size: 1em;
    line-height: 1.6;
    margin-bottom: 30px;
}

#park .park_mainimg p:first-of-type {
    width: 100%;
    text-align: center;
    background-color: #78aa0d;
    color: #fff;
    font-size: 1em;
    line-height: 1.6;
    padding: 20px 0;
}

#park .park_mainimg p:first-of-type span { 
    font-size: 160%;
    font-weight: 700;
}

#park .park_mainimg a,
#park .kojitu_link li > a { 
    display: block;
    transition: all .2s;
}

#park .park_mainimg a:hover { opacity: .7;}

#park .park_mainimg a, #park .park_mainimg img,
#park .kojitu_link li > a img { 
    display: block;
    width: 100%;
}

#park .kojitu_link li > a { margin-bottom: 20px;}

#park .park_mainimg img { margin-bottom: 30px;}

#park .park_mainimg p:last-of-type {
    text-align: center;
    font-size: 1em;
    line-height: 1.6;
    margin-bottom: 90px;
}

#park .kojitu_link ul {
    width: 80%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#park .kojitu_link li { width: 45%;}

#park .kojitu_link li > a,
#park .kojitu_link li div { width: 100%;}

#park .kojitu_link li div p {
    font-size: 1em;
    line-height: 1.5;
    margin-bottom: 25px;
}

#park .kojitu_link li div a {
    display: block;
    width: 100%;
    text-align: center;
    background-color: #bdc3c7;
    transition: all .2s;
    padding: 20px 0;
}

#park .kojitu_link li div a:hover {
    background-color: #4d4c4c;
    color: #fff;
    opacity: 1;
}

/* --------------- responsive --------------- */

@media screen and (max-width:1000px) {
    #tokuhan_container { 
        width: 80%;
        font-size: 16px;
    }
}

@media screen and (max-width:800px) {
    #tokuhan_container { 
        width: 90%;
        font-size: 14px;
    }
}

@media screen and (max-width:600px) {
    #tokuhan_container section, .line { margin-bottom: 70px;}

    .sp_only { display: block;}

    .tokuhan_catch { font-size:3.7vw;}

    #tokuhan_top .caution { 
        font-size: 3vw;
        padding: 20px 0;
    }

    #outline dt, #outline dd { width: 100%;}

    #outline dt ,#outline dd p,
    #park .park_intro,
    #park .park_mainimg p:first-of-type { font-size: 4.5vw;}

    #park .park_mainimg p:last-of-type { 
        font-size: 4vw;
        margin-bottom: 60px;
    }

    #outline dt {
        border-bottom: none;
        padding-bottom: 20px;
        padding-top: 20px;
        text-align: center;
    }

    #outline dt br { display: none;}

    #outline dd { 
        padding-top: 0;
        padding-bottom: 50px;
        padding-left: 0;
        margin-bottom: 0;
    }

    #outline dd p { text-align: center;}

    #outline .parking { font-size: 5.5vw;}

    #outline .parking span { font-size: 70%;}

    #outline .parking span span { font-size: 100%;}

    #outline .map { aspect-ratio: 1 / 1;}

    #park .park_catch { font-size:7vw;}

    #park .kojitu_link ul {
        width: 70%;
        flex-direction: column;
        align-items: center;
    }

    #park .kojitu_link li {width: 100%;}

    #park .kojitu_link li:first-child { margin-bottom: 70px;}

    #park .kojitu_link li div p { margin-bottom: 15px;}

    #park .kojitu_link li > a { margin-bottom: 15px;}

    #park .kojitu_link li div p,
    #park .kojitu_link li div a { font-size: 3.5vw;}

    #park .kojitu_link li div p br { display: none;}

    #park .kojitu_link li div a { padding: 30px 0;}

}