@charset "utf-8";

.t_contact {
    background: url(/system_panel/uploads/images/20260122043330777203.jpg) no-repeat center/cover;
}

.t_contact .inner {
    padding: 20px 0 64px;
    position: relative;
}

.t_contact .inner .ttl-en {
    font-family: "Marcellus", serif;
    font-weight: 400;
    font-size: 80px;
    font-size: clamp(3.5rem, 3.118rem + 1.57vw, 5rem);
    letter-spacing: -0.05em;
    text-align: center;
    color: #fff;
}

.t_contact .inner .sec-catch {
    margin-bottom: 40px;
}

.t_contact .inner .sec-catch p {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 20px;
    font-size: clamp(0.875rem, 0.779rem + 0.39vw, 1.25rem);
    text-align: center;
    color: #fff;
}

.t_contact .inner .btnarea {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

.t_contact .inner .btnarea .link {
    max-width: 426px;
    width: 100%;
    border-radius: 54.5px;
    height: 109px;
    transition: .4s ease;
}

.t_contact .inner .btnarea .link:hover {
    opacity: 50%;
}

.t_contact .inner .btnarea .cta-tel {
    background: transparent;
    border: 3px solid #fff;
    display: grid;
    grid-template-columns: max-content auto;
    justify-content: center;
    align-items: center;
    padding: 12px 0;
}

.t_contact .inner .btnarea .cta-tel .icon {
    grid-area: 1 / 1 / 2 / 2;
    margin-right: 20px;
    width: clamp(0.875rem, 0.636rem + 0.98vw, 1.813rem);
    height: auto;
}

.t_contact .inner .btnarea .cta-tel .num {
    grid-area: 1 / 2 / 2 / 3;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 38px;
    font-size: clamp(1.5rem, 1.277rem + 0.92vw, 2.375rem);
    line-height: clamp(2.188rem, 1.869rem + 1.31vw, 3.438rem);
    color: #fff;

}

.t_contact .inner .btnarea .cta-tel .time {
    grid-area: 2 / 2 / 3 / 3;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 14px;
    font-size: clamp(0.688rem, 0.64rem + 0.2vw, 0.875rem);
    line-height: 1;
    text-align: right;
    color: #fff;
    margin-top: -4px;
}

.t_contact .inner .btnarea .cta-contact {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.t_contact .inner .btnarea .cta-contact p {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 32px;
    font-size: clamp(1.25rem, 1.059rem + 0.78vw, 2rem);
    line-height: clamp(1.813rem, 1.542rem + 1.11vw, 2.875rem);
    text-align: center;
    color: #4e4f54;
}

.footer .inner {
    padding: 64px 0;
    display: flex;
    align-items: flex-start;
    margin: 0 3%;
    position: relative;
}

.footer .inner .col-left {
    margin-right: 128px;
}

.footer .inner .col-left .f_logo {
    transition: .4s ease;
    display: block;
    max-width: 238px;
    width: 100%;
    margin-bottom: 16px;
}

.footer .inner .col-left .f_logo:hover {
    opacity: 50%;
}

.footer .inner .col-left .f_logo img {
    width: 100%;
}

.footer .inner .col-left .address, .footer .inner .col-left .tel {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 24px;
    text-align: left;
    color: #000;
}

.footer .inner .col-left .tel {
    display: flex;
    align-items: center;
}

.footer .inner .f-menu {
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-template-rows: repeat(4, 1fr);
    gap: 20px 40px;
}

.footer .inner .f-menu .menu-item {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1;
    text-align: left;
    color: #000;
    position: relative;
    padding-left: 32px;
    transition: .4s ease;
}

.footer .inner .f-menu .menu-item:hover {
    opacity: 50%;
}

.footer .inner .f-menu .menu-item::before {
    content: "";
    width: 14px;
    height: 4px;
    border-radius: 2px;
    background-color: #023684;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.footer .inner .col-right {
    margin-left: auto;
    margin-top: auto;
}

.footer .inner .col-right p {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1;
    text-align: right;
    color: #000;
}

@media (max-width: 1115px) {
    .footer .inner {
        flex-wrap: wrap;
        row-gap: 40px;
    }

    .footer .inner .col-right {
        margin: auto;
        text-align: center;
    }
}

@media (max-width: 960px) {

    .t_contact .inner .sec-catch {
        margin-bottom: 32px;
    }

    .t_contact .inner .btnarea .link {
        height: auto;
    }

    .t_contact .inner .btnarea .cta-tel .icon {
        margin-right: 6px;
    }

    .t_contact .inner .btnarea .cta-tel .time {
        margin-top: 0;
    }

    .t_contact .inner .btnarea .cta-contact p {
        padding: 16px 0;
    }

    .t_contact .inner {
        max-width: 80%;
        width: 100%;
        margin: auto;
        padding: 20px 0 32px;
    }

    .t_contact .inner .btnarea {
        gap: 16px;
        flex-direction: column;
    }

    .footer .inner {
        padding: 40px 0 20px;
        flex-direction: column;
        align-items: center;
    }

    .footer .inner .col-left {
        margin-right: 0;
    }
}

@media (max-width: 767px) {
    .footer .inner {
        margin: auto;
        max-width: 80%;
        width: 100%;
        align-items: flex-start;
        row-gap: 0;
    }

    .footer .inner .f-menu {
        display: flex;
        flex-direction: column;
        margin-bottom: 40px;
    }

    .footer .inner .col-left {
        margin-bottom: 56px;
    }
}