@charset "UTF-8";

.l-footer {
    padding-block: 59px 20px;
    background: #FFFFFF;
    border-top: 1px solid #003088;
    width: 100%;
    z-index: 2;
    overflow: hidden;
    position: relative;
}
.l-footer * {
    color: unset;
}
    .footer__wrapper {
        display: flex;
        flex-direction: column;
        width: 1140px;
        margin: 0 auto;
        gap: 60px;
    }
        .footer__information {
            display: flex;
            justify-content: space-between;
        }
            .footer__corporate {
                display: flex;
                flex-direction: column;
                gap: 29px;
                width: 413px;
            }
                .footer__overview {
                    display: flex;
                    flex-direction: column;
                    gap: 11px;
                }
                    .footer__company-text {
                        color: #003088;
                        font-family: "Zen Old Mincho";
                        font-size: 26px;
                        font-weight: 700;
                        line-height: 1;
                        letter-spacing: 0.1em;
                    }
                    .footer__address {
                        color: #003088;
                        font-family: "Noto Sans JP";
                        font-size: 17px;
                        font-weight: 400;
                        line-height: 1;
                        letter-spacing: 0.1em;
                    }
                .footer__btn-list {
                    display: flex;
                    gap: 10px;
                }
                        [class*="footer__btn-link--"] {
                            width: 200px;
                            height: 50px;
                            display: flex;
                            position: relative;
                            box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
                            align-items: center;
                            gap: 6px;
                            padding-left: 44px;
                        }
                        [class*="footer__btn-link--"]:hover {
                            opacity: 1;
                        }
                        .footer__btn-link--contact {
                            color: #003088;
                            background: #FFFFFF;
                            padding-left: 28px;
                        }
                        .footer__btn-link--contact:hover {
                            color: #FFFFFF;
                            background: #003088;
                            outline: 1px solid #FFFFFF;
                        }
                            .footer__btn-text {
                                font-family: "Noto Sans JP";
                                font-size: 15px;
                                font-weight: 400;
                                line-height: 140%;
                                letter-spacing: 0.1em;
                            }
                            .footer__btn-link--contact .footer__btn-text {
                                color: #003088;
                            }
                            .footer__btn-link--contact:hover .footer__btn-text {
                                color: #FFFFFF;
                            }
                        .footer__btn-link--reserve {
                            color: #FFF;
                            background: #008ACF;
                        }
                        .footer__btn-link--reserve:hover {
                            color: #008ACF;
                            background: #FFF;
                            outline: 1px solid #008ACF;
                        }
                            .footer__btn-link--reserve .footer__btn-text {
                                color: #FFF;
                            }
                            .footer__btn-link--reserve:hover .footer__btn-text {
                                color: #008ACF;
                            }
                            .footer__btn .footer__btn-arrow {
                                position: absolute;
                                top: 0;
                                bottom: 0;
                                margin: auto;
                                right: 24px;
                            }
                .footer__links-group {
                    display: grid;
                    grid-template-columns: 66px 99px 99px;
                    width: 321px;
                    gap: 18px 29px;
                }
                        .footer__link {
                            color: #003088;
                            font-family: "Noto Sans JP";
                            font-size: 15px;
                            font-weight: 400;
                            line-height: 1.4;
                            letter-spacing: 0.1em;
                            position: relative;
                        }
                        .footer__link::after {
                            content: "";
                            position: absolute;
                            background: #003088;
                            width: 100%;
                            height: 1px;
                            left: 0;
                            bottom: -3px;
                            transform-origin: left top;
                            transform: scale(0, 1);
                            transition: transform .3s;
                        }
                        .footer__link:hover {
                            opacity: 1;
                        }
                        .footer__link:hover::after {
                            transform: scale(1, 1);
                            transition: transform .3s;
                        }
        .footer__bottom {
            display: flex;
            justify-content: space-between;
        }
            .footer__copyright {
                color: #003088;
                font-family: "Noto Sans JP";
                font-size: 13px;
                font-weight: 400;
                line-height: 1.5;
            }
            .footer__bottom-list {
                display: flex;
                gap: 40px;
            }
                .footer__bottom-link {
                    color: #003088;
                    font-family: "Noto Sans JP";
                    font-size: 13px;
                    font-weight: 400;
                    line-height: 1.5;
                    position: relative;
                }
                .footer__bottom-link::after {
                    content: "";
                    position: absolute;
                    background: #003088;
                    width: 100%;
                    height: 1px;
                    left: 0;
                    bottom: -3px;
                    transform-origin: left top;
                    transform: scale(0, 1);
                    transition: transform .3s;
                }
                .footer__bottom-link:hover {
                    opacity: 1;
                }
                .footer__bottom-link:hover::after {
                    transform: scale(1, 1);
                    transition: transform .3s;
                }