@charset "utf-8";

.t_cta {
    position: relative;
}

.t_cta .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

.t_cta .inner {
    padding: 100px 0 190px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.t_cta .inner .sec-head {
    max-width: 701px;
    width: 53%;
}

.t_cta .sec-head .tit-en,
.t_cta .sec-head .tit-ja {
    color: #FFF;
}

.t_cta .sec-head .tit-ja {
    font-size: clamp(0.75rem, 0.7rem + 0.25vw, 1rem);
    margin-bottom: 0;
}

.t_cta .sec-head .tit-en {
    font-size: clamp(2rem, 1.65rem + 1.75vw, 3.75rem);
    padding-bottom: 0;
    margin-bottom: 19px;
    margin-top: -5px;
}

.t_cta .sec-head .tit-en::after {
    content: none;
}

.t_cta .sec-head {
    padding-bottom: 0;
    gap: 0;
}

.t_cta .sec-head::after {
    content: none;
}

.t_cta .sec-head .desc p {
    color: #FFF;
    font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem);
    line-height: 2;
}

.t_cta .morebtn {
    max-width: 613px;
    width: 46%;
}

.t_cta .morebtn a {
    padding: 40px 37px 40px 43px;
    background-color: transparent;
    border: 1.3px solid #FFF;
    border-radius: 100px;
}

.t_cta .morebtn:hover a {
    background-color: #1E2939;
    border-color: #FFF;
}

.t_cta .morebtn a .arrow {
    width: clamp(2.313rem, 1.625rem + 3.44vw, 5.75rem);
}

.t_cta .morebtn a .arrow img {
    filter: brightness(2);

}

.t_cta .morebtn a .link-text {
    font-weight: 500;
    font-size: clamp(1rem, 0.8rem + 1vw, 2rem);
    color: #fff;
}


.footer {
    background-color: #1E2939;
}

.footer .inner {
    padding: 134px 0 34px;
    display: grid;
    grid: 15% 1fr;
    gap: 107px 0;
}

.footer .copy {
    grid-column: 1/3;
}

.footer .f_logo {
    display: block;
    width: 98px;
    height: auto;
}

.footer .sec-left {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer .sec-left .mail-text {
    font-family: var(--sans);
    font-weight: 400;
    font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    color: #fff;
}

.footer .sec-right {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 10%;
}

.footer .sec-right .item {
    color: #FFF;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.footer .sec-right .item:nth-child(2) {
    gap: 20px;
}

.footer .sec-right .item a {
    font-weight: 400;
    font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
    color: #fff;
}

.footer .copy {
    text-align: center;
    font-family: var(--sans);
    font-weight: 400;
    font-size: clamp(0.75rem, 0.725rem + 0.13vw, 0.875rem);
    color: #fff;
}

@media (max-width: 1024px) {
    .t_cta .inner {
        width: 80%;
        padding: 40px 0;
        flex-direction: column;
        gap: 40px;
        align-items: flex-start;
    }

    .t_cta .morebtn {
        width: 100%;
    }

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

    .footer .sec-left {
        align-items: center;
    }

    .footer .sec-right {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .footer .f_logo {
        width: 72px;
    }

    .t_cta .inner .sec-head {
        width: 100%;
    }

    .footer .sec-right {
        display: grid;
        grid-template-areas: "menu01 menu02"
            "menu03 .";
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 0;
    }

    .footer .sec-right .item:first-child {
        grid-area: menu01;
    }

    .footer .sec-right .item:nth-child(2) {
        grid-area: menu03;
    }

    .footer .sec-right .item:nth-child(3) {
        grid-area: menu02;
    }

    .t_cta .morebtn a {
        padding: 22px 23px;
    }

    .footer .inner {
        gap: 45px;
    }

    .footer .sec-right .item {
        gap: 30px;
    }
}