@charset "utf-8";

.l-footer * {
    font-family: var(--default-font);
    color: var(--font-color-default);
}

.l-footer {
    padding: 79px 0 0;
    background-color: #E8EAED;
}
.l-footer a:hover {
    opacity: 1;
}
    .footer__inner {
        display: block;
        width: 100%;
    }
        .footer__upper {
            display: flex;
            justify-content: center;
            padding-bottom: 60px;
            border-bottom: 1px solid #DADCE0;
        }
            .footer__left {
                width: 410px;
                border-right: 1px solid #DADCE0;
                padding: 0 20px 0 0;
            }
                .footer__logo {
                    width: 162px;
                    margin-bottom: 29px;
                }
                .footer__sns-list {
                    display: flex;
                    justify-content: flex-end;
                    gap: 14px;
                }
                    .footer__sns-item {
                        width: 28px;
                        height: 28px;
                    }
                    .footer__sns-item a {
                        transition: .3s;
                        display: block;
                    }
                    .footer__sns-item a:hover {
                        transform: translateY(-5px);
                    }
                        .footer__sns-item img {
                            width: 100%;
                        }
                    .footer__info-title {
                        font-size: 13px;
                        font-weight: 400;
                        letter-spacing: 0.06em;
                        margin-bottom: 8px;
                    }
                    .footer__info-text {
                        font-size: 13px;
                        letter-spacing: 0.06em;
                    }
            .footer__middle {
                width: 379px;
                padding: 0;
                border-right: 1px solid #DADCE0;
            }
                .footer__link-list {
                    display: flex;
                    flex-direction: column;
                    gap: 11px;
                    margin-bottom: 18px;
                    padding-left: 129px;
                }
                    .footer__link-item a {
                        font-size: 13px;
                        letter-spacing: 0.06em;
                        position: relative;
                    }
                    .footer__link-item a:before,
                    .footer__lower-row a:before {
                        background: #474747;
                        content: '';
                        width: 100%;
                        height: 1px;
                        position: absolute;
                        left: 0;
                        bottom: -5px;
                        transform-origin: left top;
                        transform: scale(0, 1);
                        transition: transform .3s;
                    }
                    .footer__link-item a:hover::before,
                    .footer__lower-row a:hover:before {
                        transform-origin: left top;
                        transform: scale(1, 1);
                    }

            .footer__right {
                width: 351px;
                padding-left: 132px;
            }
                .footer__contact-list {
                    display: flex;
                    flex-direction: column;
                    gap: 11px;
                    margin-bottom: 40px;
                }
                    .footer__contact-item.is-contact a {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        gap: 8px;
                        font-size: 15px;
                        font-weight: 600;
                        color: var(--font-color-blue);
                        background-color: #FFFFFF;
                        border: 1px solid var(--background-color-blue);
                        border-radius: 4px;
                        width: 218px;
                        height: 50px;
                        transition: .3s;
                    }
                    .footer__contact-item.is-contact a:hover {
                        background-color: var(--background-color-blue);
                        border: 1px solid var(--background-color-blue);
                        color: #fff;
                    }
                        .footer__contact-item.is-contact a::before {
                            content: '';
                            background: url(/images/top/icon_footer-mail.webp) no-repeat center center;
                            display: block;
                            width: 26px;
                            height: 20px;
                            transition: .3s;
                        }
                        .footer__contact-item.is-contact a:hover:before {
                            background: url(/images/top/icon_footer-mail-on.webp) no-repeat center center;
                        }
                    .footer__contact-item.is-tel {
                        font-size: 24px;
                        font-weight: 600;
                        display: flex;
                        align-items: center;
                        gap: 9px;
                    }
                        .footer__contact-item.is-tel::before {
                            content: '';
                            background: url(/images/top/icon_footer-tel.webp) no-repeat center center;
                            display: block;
                            width: 20px;
                            height: 20px;
                        }
                    .footer__contact-item.is-time {
                        font-size: 12px;
                    }

        .footer__lower {
            width: 1140px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            padding: 14px 0;
        }
            .footer__lower-row {
                font-size: 12px;
                letter-spacing: 0.06em;
            }
                .footer__lower-row a {
                    font-size: 12px;
                    letter-spacing: 0.06em;
                    position: relative;
                }
            .footer__copy {
                font-size: 12px;
            }