header > .inner.hd_top > .flex_center {
    padding-right: 10px; 
}

.flex_footer {
    display: block;
    width: 100vw;
    margin: 0;
    padding: 0;
    position: fixed;
    bottom: 0;
    background-color: #fff;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
}

footer {
    padding: 15px 0 210px;
}

@media screen and (max-width: 940px) {
    #main {
        margin-top: clamp(179px, 22.5vw, 21.4vw);
    }
}

@media screen and (max-width: 768px) {
    header {
        padding: 2% 0 0;
    }
    header .inner {
        width: 95%;
        margin: 0 auto;
    }
    #headerImg {
        width: auto;
        max-height: 25px;
    }

    header > .inner.hd_top > .flex_center {
        display: flex;
        width: 100%;
        justify-content: center;
    }

    header .hd_top {
        padding: 0 0 6px;
    }

    #main {
        /* margin-top: calc(31.95vw); */
        margin-top: clamp(26.15vw, 31.95vw, 28.45vw);
        margin-top: 0;
    }

    .inner.flex.flex_between.hd_top.flex-start.pc {
        display: block;
    }

    .inner.flex.flex_between.hd_top.flex-start.pc .online {
        display: none;
    }

    header .hd_time {
        margin: 0 auto 0 5px;
        max-width: 100%;
    }
    footer {
        padding: 15px 0 110px;
    }
    .flex_footer {
        max-width: 100%;
        margin: 0;
        padding: 0;
        position: fixed;
        bottom: 0;
        background-color: #fff;
    }
    .clinic {
        padding: 8vw 0;
    }
    header .hd_tel a {
        width: auto;
        padding: 0 5px;
        max-height: 17vw;
    }
    .hd_tel a img {
        max-height: 100%;
    }
    .hd_tel a:last-child {
        max-height: 8.5vw;
        object-fit: cover;
    }
    .hd_tel a:last-child img {
        /* max-height: 100%; */
    }
}