/* shift + command + H */
/* control + shift + C */
@charset "UTF-8";
.menu-text-normal {
    /* 320:14 - 1920:16 */
    --fsize: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    color: #fff;
    font-size: var(--fsize);
    font-weight: 400;
    letter-spacing: 0.05em;
}

.menu-title-normal {
    /* 320:17 - 1920:22 */
    --fsize: clamp(1.063rem, 1rem + 0.31vw, 1.375rem);
    color: #fff;
    font-size: var(--fsize);
    font-weight: 400;
    letter-spacing: 0.05em;
}
/* -------------------------------------------------------------------------------- */
.footer_include {    
    position: absolute;
    width: 100%;
}

/* -------------------------------------------------------------------------------- */
.footer_include .footer__inner {
    --menu-item-space: calc(var(--fsize));
    --logo-h: calc(var(--fsize) * 1.8);

    /* 1024:20 - 1920:60 */
    --menu-list-space: calc(var(--fsize) * 1);
    position: relative;
    width: 100%;
    height: var(--footer-h);
    background: var(--color-purple);

    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

.footer_include .footer__inner .inner__con {
    position: relative;
    width: 100%;
    height: 100%;
    max-width: var(--footer-max-width);
    padding: 45px 0 0 var(--footer-padding-side);
    margin: 0 auto;

    display: flex;
    flex-direction: column;
}

.footer_include .footer__inner .inner__con .con__logo {
    flex: 0 0 auto;
    aspect-ratio: 112 / 29;
    height: var(--logo-h);
}

.footer_include .footer__inner .inner__con .con__logo > a > img {
    height: 100%;
    width: auto;
}

.footer_include .footer__inner .inner__con .con__body {
    flex: 1;
    margin-top: calc(var(--fsize) * 3);
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
}

.footer_include .footer__inner .inner__con .con__body .body__left {
    padding-bottom: 2%;
    flex: 1;
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.footer_include .footer__inner .inner__con .con__body .body__left .left__menu {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
}

.footer_include .footer__inner .inner__con .con__body .body__left .left__menu .menu__list:not(:first-child) {
    margin-left: var(--menu-list-space);
}

.footer_include .footer__inner .inner__con .con__body .body__left .left__menu .menu__list .list__item:first-child {
    margin-bottom: calc(var(--menu-item-space) * 2);
}

.footer_include .footer__inner .inner__con .con__body .body__left .left__menu .menu__list .list__item:nth-of-type(n+3) {
    margin-top: calc(var(--menu-item-space));
}

.footer_include .footer__inner .inner__con .con__body .body__left .left__menu .menu__list .list__item:first-child.space-none {
    margin-bottom: 0;
}

.footer_include .footer__inner .inner__con .con__body .body__left .left__copyright {
    position: relative;
    display: flex;
    flex-direction: row;

    color: #fff;
    font-size: calc(var(--fsize) * 0.95);
    line-height: calc(var(--fsize) * 1.6);

}

.footer_include .footer__inner .inner__con .con__body .body__right {
    flex: 0 0 auto;
    width: calc(var(--fsize) * 35);
    position: relative;
    padding-right: var(--footer-padding-side);
    
    background: url(../images/common/footer-bg.svg) no-repeat;
    background-position: bottom right;
    background-size: calc(var(--fsize) * 25);
}

.footer_include .footer__inner .inner__con .con__body .body__right .right__title {
    position: relative;
    display: flex;
    flex-direction: column;

    /* font-size: calc(var(--fsize) * 1.8); */
    font-size: calc(var(--fsize) * 1.7);
    color: var(--color-aqua);
}

.footer_include .footer__inner .inner__con .con__body .body__right .right__title > span:first-child {
    margin-bottom: calc(var(--fsize) * 0.8);
}

.footer_include .footer__inner .inner__con .con__body .body__right .right__social {
    margin-top: calc(var(--fsize) * 1.5);
    position: relative;
    display: flex;
    flex-direction: row;
}

.footer_include .footer__inner .inner__con .con__body .body__right .right__social .social__btn {
    width: calc(var(--fsize) * 3);
    aspect-ratio: 1/1;
}

.footer_include .footer__inner .inner__con .con__body .body__right .right__social .social__btn:not(:first-child) {
    margin-left: calc(var(--fsize) * 1.2);
}


.footer_include .footer__inner .inner__con .con__body .body__left .left__menu .menu__list.is-notwork {
    pointer-events: none;
    opacity: 0.3;
}

@media screen and (min-width:320px) {
    .menu-text-normal {
        --fsize: 14px;
    }

    .menu-title-normal {
        --fsize: 16px;
    }

    .footer_include .footer__inner {
        --logo-h: calc(var(--fsize) * 2.1);
        --menu-list-space: calc(var(--fsize) * 2);
    }

    .footer_include .footer__inner .inner__con .con__body .body__left .left__menu .menu__list .list__item:first-child {
        --fsize: 19px;
    }
    
    /* ------------------------------------------------------------------------- */
    .footer_include .footer__inner .inner__con {
        padding: 45px 0 0 var(--footer-padding-side);
    }

    .footer_include .footer__inner .inner__con .con__body {
        margin-top: calc(var(--fsize) * 3.5);
        flex-direction: column;
        justify-content: initial;
    }

    .footer_include .footer__inner .inner__con .con__body .body__left {
        padding-bottom: calc(var(--fsize) * 2.5);
    }

    .footer_include .footer__inner .inner__con .con__body .body__left .left__menu {
        flex-direction: column;
    }

    .footer_include .footer__inner .inner__con .con__body .body__left .left__menu .menu__list:not(:first-child) {
        margin-left: 0;
        margin-top: var(--menu-list-space);
    }

    .footer_include .footer__inner .inner__con .con__body .body__left .left__menu .menu__list .list__item:first-child {
        margin-bottom: calc(var(--menu-item-space) * 1);
    }

    .footer_include .footer__inner .inner__con .con__body .body__left .left__copyright {
        flex-direction: column;
        margin-top: calc(var(--fsize) * 4);

        font-size: calc(var(--fsize) * 0.9);
    }

    .footer_include .footer__inner .inner__con .con__body .body__right {
        width: 100%;
        height: calc(var(--fsize) * 27);
        background-position: bottom right;
        background-size: calc(var(--fsize) * 18);
    }

    .footer_include .footer__inner .inner__con .con__body .body__right .right__title {
        font-size: calc(var(--fsize) * 1.5);
    }

    .footer_include .footer__inner .inner__con .con__body .body__right .right__social {
        margin-top: calc(var(--fsize) * 3);
    }

    .footer_include .footer__inner .inner__con .con__body .body__right .right__social .social__btn:not(:first-child) {
        margin-left: calc(var(--fsize) * 1);
    }
}
@media screen and (min-width:360px) {}
@media screen and (min-width:390px) {}
@media screen and (min-width:414px) {}
@media screen and (min-width:500px) {}
@media screen and (min-width:768px) {}
@media screen and (min-width:1024px) {
    .menu-text-normal {
        /* 1024:14 - 1920:16 */
        --fsize: clamp(0.875rem, 0.732rem + 0.22vw, 1rem);

    }

    .menu-title-normal {
        /* 1024:16 - 1920:20 */
        --fsize: clamp(1rem, 0.714rem + 0.45vw, 1.25rem);

    }

    .footer_include .footer__inner {
        --logo-h: calc(var(--fsize) * 1.8);
        --menu-list-space: calc(var(--fsize) * 2);
    }

    .footer_include .footer__inner .inner__con .con__body .body__left .left__menu .menu__list .list__item:first-child {
        --fsize: clamp(1rem, 0.714rem + 0.45vw, 1.25rem);
    }
    
    /* ------------------------------------------------------------------------- */
    .footer_include .footer__inner .inner__con {
        padding: 45px 0 0 var(--footer-padding-side);
    }

    .footer_include .footer__inner .inner__con .con__body {
        margin-top: calc(var(--fsize) * 3);
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
    }
    
    .footer_include .footer__inner .inner__con .con__body .body__left .body__left {
        padding-bottom: 25px;
    }

    .footer_include .footer__inner .inner__con .con__body .body__left .left__menu {
        flex-direction: row;
    }

    .footer_include .footer__inner .inner__con .con__body .body__left .left__menu .menu__list:not(:first-child) {
        margin-left: var(--menu-list-space);
        margin-top: 0;
    }

    .footer_include .footer__inner .inner__con .con__body .body__left .left__menu .menu__list .list__item:first-child {
        margin-bottom: calc(var(--menu-item-space) * 2);
    }

    .footer_include .footer__inner .inner__con .con__body .body__left .left__copyright {
        flex-direction: row;
        margin-top: 0;

        font-size: calc(var(--fsize) * 0.95);
    }

    .footer_include .footer__inner .inner__con .con__body .body__right {
        width: calc(var(--fsize) * 25);
        height: initial;
        background-position: bottom right;
        background-size: calc(var(--fsize) * 15);
    }

    .footer_include .footer__inner .inner__con .con__body .body__right .right__social {
        margin-top: calc(var(--fsize) * 1);
    }

    .footer_include .footer__inner .inner__con .con__body .body__right .right__social .social__btn:not(:first-child) {
        margin-left: calc(var(--fsize) * 1.2);
    }
}

@media screen and (min-width:1280px) {

    .footer_include .footer__inner .inner__con .con__body .body__right {
        width: calc(var(--fsize) * 25);
        background-size: calc(var(--fsize) * 14.5);
    }

    .footer_include .footer__inner .inner__con .con__body .body__right .right__title {
        font-size: calc(var(--fsize) * 1.5);
    }
}
@media screen and (min-width: 1440px) {
    .footer_include .footer__inner .inner__con .con__body .body__right {
        width: calc(var(--fsize) * 29);
        background-size: calc(var(--fsize) * 19);
    }
}
@media screen and (min-width: 1680px) {}
@media screen and (min-width: 1920px) {
    .footer_include .footer__inner .inner__con .con__body .body__right {
        width: calc(var(--fsize) * 35);
        background-size: calc(var(--fsize) * 25);
    }
}

