@charset "UTF-8";

.footer {
    position: relative;
    background-color: #1A6BB3;
    z-index: 10;
}

.t_contact {
    position: absolute;
    top: -72%;
    width: 100%;

}

.t_contact .inner {
    margin: 0 7%;
    padding: 0;
}

.t_contact .inner .sec-title {
    margin-bottom: 24px;
    text-align: center;
}

.t_contact .inner .sec-body {
    padding: 56px 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0px 3px 16px rgba(1, 30, 57, 0.1);
}

.t_contact .inner .sec-body .item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.t_contact .inner .sec-body .item .num {
    font-family: "Outfit", sans-serif;
    font-weight: 700;
    font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
    text-align: center;
    color: #005aaa;

}

.t_contact .inner .sec-body .item .main {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
    text-align: center;
    color: #001e39;
}

.t_contact .inner .sec-body .item .column {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.t_contact .inner .sec-body .item .tellink {
    display: flex;
    align-items: center;
    gap: 10px;
}


.t_contact .inner .sec-body .item .tellink p {
    font-family: "Outfit", sans-serif;
    font-weight: 700;
    font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
    text-align: center;
    color: #005aaa;
    transition: .4s ease;
}

.t_contact .inner .sec-body .item .tellink p:hover {
    opacity: 50%;
}

.footer-contents .inner {
    padding: 137px 0 24px;
    margin: 0 7%;

}

.footer-contents .inner .top {
    display: flex;
    justify-content: space-between;
    padding-bottom: 56px;
    border-bottom: 1px solid #FFF;
}

.footer-contents .inner .menu-left .f_logo {
    display: block;
    max-width: 140px;
    width: 100%;
    margin-bottom: 24px;
}

.footer-contents .inner .menu-left .item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 16px;
}

.footer-contents .inner .menu-left .item:last-child {
    margin-bottom: 0;
}

.footer-contents .inner .menu-left .item .ttl {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    color: #fff;
}

.footer-contents .inner .menu-left .item .detail {
    font-size: clamp(0.75rem, 0.72rem + 0.13vw, 0.875rem);
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    color: #fff;
}

.footer-contents .inner .f-menu {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 80px;
}

.footer-contents .inner .f-menu .menu-line {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer-contents .inner .f-menu .menu-line .child {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-contents .inner .f-menu .menu-line .child .menu-item {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #fff;
}

.footer-contents .inner .f-menu .menu-item {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #fff;
}

.footer-contents .inner .copy {
    padding-top: 24px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 12px;
    text-align: right;
    color: #fff;

}

@media (max-width: 960px) {
    .t_contact {
        top: -60%;
    }

    .t_contact .inner .sec-title {
        margin-bottom: 16px;
    }

    .t_contact .inner .sec-body {
        padding: 24px 0;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 48px;
    }

    .t_contact .inner .sec-body .item {
        gap: 8px;
    }

    .footer-contents .inner {
        padding-top: 250px;
    }

    .footer-contents .inner .top {
        display: flex;
        flex-direction: column-reverse;
        padding-bottom: 40px;
        gap: 80px;
    }

    .footer-contents .inner .menu-left .f_logo {
        max-width: 92px;
    }



    .footer-contents .inner .copy {
        text-align: left;
    }
}

@media (max-width: 767px) {
    .footer-contents .inner {
        padding-top: 140px;
    }

    .footer-contents .inner .f-menu {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    .footer-contents .inner .f-menu .menu-line {
        gap: 24px;
    }

    .footer-contents .inner .f-menu .menu-item {
        text-align: center;
    }
}

.gjs-dashed .t_contact {
    position: relative;
    top: 0;
}