/* footer */
.footer {
    /* width: calc(100% - var(--main-margin) * 2); */
    width: 100%;
    text-align: center;
    padding: 4em 1em;
    background-color: #f9f9f9;
}

@media (max-width:767px) {
    .footer {
        padding: 4em 1.5em;
    }
}

.footer-inner {
    max-width: 1200px;
    margin: 0 auto 4em;
}

.footer-inner .box-left {
    width: 25%;
    padding: .5em;
}

.footer-inner .box-right {
    width: 75%;
    text-align: left;
}

@media (max-width:767px) {
    .footer-inner .box-left {
        width: 100%;
    }

    .footer-inner .box-right {
        width: 100%;
    }
}

.footer .logo {
    display: block;
    max-width: 240px;
    margin: .5em auto 1.5em;
}

.footer .tagline {
    display: block;
    width: 100%;
    text-align: center;
    font-size: min(.9em, 3.5vw);
    margin: 1em auto 3em;
}

.footer .sns-wrp {
    margin-top: 0;
}

.footer .sns-followus {
    display: block;
    width: 100%;
    text-align: center;
    font-size: min(.9em, 3.5vw);
    margin: 1em auto;
}

.footer .iso-logo {
    max-width: 180px;
    margin: 3em auto 1em;
}

.footer .iso-logo img {
    width: 100%;
    height: auto;
}

.footer .iso-logo figcaption {
    display: block;
    font-size: min(.8em, 3vw);
    padding: .5em 0;
}

.footer .footer-nav {
    width: 100%;
    font-size: min(.9em, 3.5vw);
    display: flex;
    justify-content: end;
    flex-wrap: wrap;
}

@media screen and (max-width:767px) {
    .footer .footer-nav {
        justify-content: space-between;
    }
}

.footer .footer-menu {
    width: 22%;
}

@media screen and (max-width:767px) {
    .footer .footer-menu {
        width: 46%;
    }
}

.footer .footer-submenu {
    font-size: min(.8em, 3vw);
    padding: 2em 0;
    gap: 2em;
}


.footer .menu-item span,
.footer .menu-item a {
    display: block;
    padding: .5em 0;
    color: var(--main_color);
    transition: all .3s;
}

.footer .menu-item a:hover {
    color: var(--brand-color);
}

@media screen and (max-width:767px) {
    .footer .menu-item a {
        font-size: 12px;
    }
}

.footer .menu-item .menu-heading {
    display: block;
    width: 100%;
}

@media screen and (max-width:767px) {

    .footer .menu-item.menu-heading-no-child a,
    .footer .menu-item .menu-heading {
        border-bottom: 1px solid var(--main_subcolor);
        padding: 1vw 0;
        margin: 1vw auto;
    }
}

.footer .menu-item .sub-menu {
    font-size: .95em;
    padding-left: 1em;
    margin-bottom: 1em;
}

.footer .corporatelogo-wrp {
    text-align: center;
}

.footer .corporatelogo-wrp .corporatelogo {
    display: block;
    max-width: 130px;
    margin: 4em auto 2.5em;
}

/* contact */
.footer-contact-wrp {
    text-align: center;
    border-top: 1px solid var(--main_subcolor);
    padding: 4em 1em;
}

.footer-contact-wrp .contact-title {
    font-size: min(2.5em, 6.5vw);
    line-height: 1.2;
    color: var(--text-color);
    margin: 0;
}

.footer-contact-wrp .contact-title.en {
    font-weight: 300;
    letter-spacing: -.025em !important;
}

.footer-contact-wrp .contact-lead {
    font-size: min(.95em, 3.5vw);
    line-height: 1.5;
    color: var(--text-color-l);
}

.footer-contact-wrp .contact-btn {
    margin: 2em auto;
    width: 100%;
    color: var(--main_color);
    max-width: 360px;
    position: relative;
    padding: 1.5em 3.5em;
}

.footer-contact-wrp .contact-btn .en {
    font-weight: 600 !important;
}

.copyright {
    display: block;
    text-align: center;
    font-size: 11px;
    padding: 2em 0;
}