.l-footer {
    background-color: #222;
    padding-top: 90px;
    padding-bottom: 45px
}

@media only screen and (max-width: 768px) {
    .l-footer {
        padding-top: 80px;
        padding-bottom: 140px
    }
}

@media only screen and (max-width: 768px) {
    .l-footerUtils {
        display: flex;
        flex-direction: column;
        align-items: center
    }
}

.l-footerLogo>a:focus svg {
    filter: brightness(0.8)
}

@media(hover) {
    .l-footerLogo>a:hover svg {
        filter: brightness(0.8)
    }
}

.l-footerLogo .logo {
    transition: .25s
}

@media only screen and (max-width: 768px) {
    .l-footerLogo .logo {
        width: 196px;
        height: 26px
    }
}

.l-footerLogo .logo path {
    fill: #fff
}

.l-footerSocialList {
    margin-top: 48px
}

@media only screen and (max-width: 768px) {
    .l-footerSocialList {
        margin-top: 39px
    }
}

.l-footerSocialList_link svg {
    transition: .25s
}

.l-footerSocialList_link:focus svg {
    filter: brightness(0.8)
}

@media(hover) {
    .l-footerSocialList_link:hover svg {
        filter: brightness(0.8)
    }
}

.l-footerInner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px
}

@media only screen and (max-width: 768px) {
    .l-footerInner {
        display: block
    }
}

.l-footerNavList {
    display: grid;
    grid-template-columns: repeat(4, auto)
}

@media only screen and (max-width: 768px) {
    .l-footerNavList {
        display: block;
        margin-top: 28px
    }
}

@media not screen and (max-width: 768px) {
    .l-footerNavList_item:nth-child(1) {
        margin-right: 73px
    }

    .l-footerNavList_item:nth-child(2) {
        margin-right: 48px
    }

    .l-footerNavList_item:nth-child(3) {
        margin-right: 73px
    }

    .l-footerNavList_item:last-child {
        grid-column: 4/5;
        grid-row: 2/3;
        margin-top: -155px
    }
}

@media only screen and (max-width: 768px) {
    .l-footerNavList_item {
        border-top: 1px solid hsla(0, 0%, 100%, .5);
        padding-top: 20px;
        padding-bottom: 20px
    }
}

.l-footerNavList_item__hasChild .l-footerNavList_link {
    position: relative;
    display: block;
    width: 100%;
    text-align: left
}

.l-footerNavList_item__hasChild .l-footerNavList_link::before {
    content: " ";
    width: 6px;
    height: 6px;
    display: block;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(135deg);
    transition: .25s;
    opacity: 0
}

@media only screen and (max-width: 768px) {
    .l-footerNavList_item__hasChild .l-footerNavList_link::before {
        opacity: 1
    }
}

.l-footerNavList_item__hasChild .l-footerNavList_link.is_active::before {
    transform: translateY(-50%) rotate(-45deg)
}

@media only screen and (max-width: 768px) {
    .l-footerNavList_item__hasChild .l-footerNavList_link {
        cursor: pointer
    }
}

.l-footerNavList_link {
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700
}

@media only screen and (max-width: 768px) {
    .l-footerNavList_link {
        display: block
    }
}

a.l-footerNavList_link:focus {
    opacity: .8
}

@media(hover) {
    a.l-footerNavList_link:hover {
        opacity: .8
    }
}

.l-footerNavChild {
    margin-top: 20px
}

@media only screen and (max-width: 768px) {
    .l-footerNavChild {
        display: none
    }
}

.l-footerNavChild_item:not(:first-child) {
    margin-top: 16px
}

.l-footerNavChild_link {
    color: #fff;
    font-size: 1.5rem
}

.l-footerNavChild_link:focus {
    opacity: .8
}

@media(hover) {
    .l-footerNavChild_link:hover {
        opacity: .8
    }
}

.l-footerBottom {
    display: flex;
    justify-content: space-between;
    margin-top: 66px
}

@media only screen and (max-width: 768px) {
    .l-footerBottom {
        flex-direction: column;
        justify-content: flex-start;
        margin-top: 20px
    }
}

.l-footerSimpleNav {
    display: flex
}

@media only screen and (max-width: 768px) {
    .l-footerSimpleNav {
        flex-wrap: wrap;
        row-gap: 24px
    }
}

.l-footerSimpleNav_item:not(:last-child) {
    margin-right: 20px
}

.l-footerSimpleNav_link {
    color: #fff;
    font-size: 1.3rem
}

.l-footerSimpleNav_link:focus {
    opacity: .8
}

@media(hover) {
    .l-footerSimpleNav_link:hover {
        opacity: .8
    }
}

.l-footerSimpleNav_link[target=_blank] {
    padding-right: 26px;
    background-image: url("/wp/wp-content/themes/fujioh-pro/assets/images/common/icon_blank_wh.svg");
    background-repeat: no-repeat;
    background-size: 14px auto;
    background-position: right bottom 3px
}

.l-footerCopyRight {
    color: #fff;
    font-size: 1.3rem
}

@media only screen and (max-width: 768px) {
    .l-footerCopyRight {
        font-size: 1.1rem;
        text-align: center;
        margin-top: 80px
    }
}

/* ---- GravityWorks追記 ---- */
.l-footerLogo {
    font-size: 1px;
}

.l-footerCopyRight {
    font-weight: 400;
}
/* ---- GravityWorks追記ここまで ---- */