@charset "utf-8";

.t_contact {
    border-bottom: 1px solid #b1b1b1;
}

.t_contact .inner {
    padding: 60px 0 160px;
}

.t_contact .sec-title {
    justify-content: flex-start;
    margin-bottom: 20px;
}

.t_contact .sec-head {
    margin-bottom: 20px;
}

.t_contact .sec-body {
    display: grid;
    grid-template-columns: 52% 1fr;
}

.t_contact .map {
    max-width: 768px;
    width: 85%;
    aspect-ratio: 768/582;
}

.t_contact .map div,
.t_contact .map iframe {
    width: 100%;
    height: 100%;
}

.t_contact .company-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.t_contact .company-info .item {
    display: grid;
    grid-template-columns: 40% 1fr;
    align-items: center;
    padding-bottom: 20px;
    border-bottom: 1px solid #c1c1c1;
}

.t_contact .company-info .morebtn {
    max-width: 342px;
    margin-left: 0;
    margin-right: auto;
}

.t_contact .company-info .detail,
.t_contact .company-info .detail a {
    display: flex;
    gap: 27px;
    align-items: center;
    transition: var(--default);
}

.t_contact .company-info .detail {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 16px;
    line-height: 2;
    color: #000;
}

.t_contact .company-info .detail a:hover {
    opacity: 50%;
}

.t_contact .company-info .ttl {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 16px;
    color: #00428e;
}

.t_contact .company-info .num {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: clamp(1.75rem, 1.568rem + 0.78vw, 2.5rem);
    color: #00428e;
}

.t_contact .morebtn:before {
    transform: translateX(-77%) translateY(-61%) rotate(101deg);
    -webkit-transform: translateX(-77%) translateY(-61%) rotate(101deg);
}

.t_contact .morebtn:hover:before {
    transform: translateX(-10%) translateY(-20%) rotate(75deg);
    -webkit-transform: translateX(-10%) translateY(-20%) rotate(75deg);
}

.footer {
    border-bottom: clamp(1.125rem, 0.913rem + 0.91vw, 2rem) solid #00428E;
}

.footer .inner {
    padding: 40px 0 30px;
}

.footer .sec-head {
    margin-bottom: 40px;
}

.footer .f-logo {
    max-width: 397px;
    width: 100%;
    margin: 0 auto;
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 16px;
    line-height: 2;
    color: #000;
}

.footer .f-logo a {
    transition: var(--default);
}

.footer .f-logo a:hover {
    opacity: 50%;
}

.footer .f-logo .column {
    display: flex;
}

.footer .f-menu {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.footer .f-menu .menu-item {
    padding: 0 32px;
    border-right: 1px solid #b2b2b2;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: clamp(0.938rem, 0.892rem + 0.19vw, 1.125rem);
    color: #000;
}

.footer .copy {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 16px;
    text-align: center;
    color: #2f2020;
}

@media (max-width: 1366px) {
    .footer .f-menu {
        flex-wrap: wrap;
        gap: 17px 0;
    }

    .footer .f-menu .menu-item {
        width: 20%;
        text-align: center;
    }

    .t_contact .sec-body {
        display: flex;
        flex-direction: column;
    }

    .t_contact .map {
        max-width: none;
        height: 300px;
        width: 100%;
    }
}



@media (max-width: 1023px) {
    .footer .f-menu .menu-item {
        width: auto;
    }
}

@media (max-width: 767px) {
    .t_trouble .inner {
        padding: 64px 0 40px;
    }

    .t_about .inner {
        padding: 40px 0 63px;
    }

    .t_service .inner {
        padding: 120px 0 80px;
    }


    .t_contact .inner {
        padding: 80px 0;
    }

    .t_contact .company-info .item {
        display: flex;
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
    }

    .t_contact .company-info .item {
        padding-bottom: 16px;
    }

    .t_contact .company-info {
        gap: 16px;
    }

    .t_contact .sec-body {
        gap: 24px;
    }

    .footer .f-menu {
        justify-content: flex-start;
    }

    .footer .f-menu .menu-item {
        padding: 0 20px;
    }

    .footer .f-menu .menu-item:first-child,
    .footer .f-menu .menu-item:nth-child(4n) {
        padding-left: 0;
    }
}