body {
    font-family: 'Noto Sans JP', sans-serif;
}

:root {
    --inner-w: 1200px;
    --main-color: #222;
    --en: 'Inter', sans-serif;
    --color-gray: #f9f8f8;
    --color-gray1: #f1eeea;
    --color-gray2: #efecec;
    --color-gray3: #eff1ec;
    --color-gray4: #f1f0ec;
}

.HeimD2 {
    color: var(--main-color);
}

.HeimD2 ul,
.HeimD2 li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.HeimD2 a {
    color: var(--main-color);
}

.sml {
    font-size: .8em;
}

.en {
    font-family: var(--en);
}

.sml7 {
    font-size: .7em;
}

.sml6 {
    font-size: .6em;
}

.sml5 {
    font-size: .5em;
}

.mbtm-2 {
    margin-bottom: 2em;
}

.mbtm-3 {
    margin-bottom: 3em;
}

.iblock {
    display: inline-block;
}

.sp {
    display: none;
}

.pc {
    display: block;
}

@media (max-width:767px) {
    .sp {
        display: block;
    }

    .pc {
        display: none;
    }
}


.flex {
    display: flex;
    flex-wrap: wrap;
}

.flex-between {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.flex-center {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.inner {
    width: 100%;
    max-width: var(--inner-w);
    position: relative;
    margin: auto;
    padding: 6em 1em;
    text-align: center;
}

@media (max-width:767px) {
    .inner {
        padding: 3em 1em;
    }
}

/* footer */
#footer {
    padding: 40px 0;
    background-color: #eeeeee;
}

#footer .logo {
    width: 80%;
    max-width: 350px;
    margin: 0 auto 2.5em;
}

#footer .inner {
    padding: 2em 1em;
}

#footer .footer_links li {
    margin: auto 10px;
    padding: 0 1em;
}

@media (max-width:767px) {
    #footer .footer_links li {
        width: 100%;
        margin-bottom: .5em;
    }
}

#footer .footer_links li a {
    font-size: min(.9em, 3.5vw);
    text-decoration: none;
}

#footer .footer_links li a:hover {
    text-decoration: underline;
}

.footer-copyright {
    font-size: 12px;
    text-align: center;
    padding: 40px 0 0;
}