@charset "UTF-8";
footer#sitefoot {
    text-align: center;
    padding-bottom: 5em;
}
#sitefoot {
    color: #fff;
    text-shadow: 0 0 3px #000;
    background-color: #000;
    background-image: url(/share/im/append/bg-foot.jpg);
    background-position: center center;
    background-size: cover;
    border-top: solid 1em #000;
}

/**/
#sitefoot .head {
    text-align: center;
    margin-bottom: 5em;
}
	#sitefoot .lgm-wrap {
        text-align: center;
        padding: 5em 0;
    }
		#sitefoot a.lgm {
            
        }
		#sitefoot a.lgm > img {
    width: 150px;
}
	#sitefoot .head .copytitle {
    font-size: 2.1em;
    font-weight: 500;
    line-height: 1.5em;
    margin: 0;
    margin-top: -0.6em;
    font-family: var(--font-ge1);
    letter-spacing: 0.02em;
}
		#sitefoot .head .copytitle .lang-jp {
    display: block;
    font-size: 0.46em;
    font-family: var(--font-g1);
    font-weight: 500;
    margin-top: 0.5em;
    letter-spacing: 0.08em;
    opacity: 1.0;
}
@media only screen and (max-width: 720px) {
    footer#sitefoot {
        padding-bottom: 3.5em;
    }
    #sitefoot {
        background-color: #161828;
        background-size: 158% auto;
        background-position: center top;
    }
    #sitefoot .head {
        margin-bottom: 13vw;
    }
    #sitefoot .lgm-wrap {
        padding: 2.5em 0;
    }
    #sitefoot a.lgm > img {
        width: 30vw;
    }
    #sitefoot .head .copytitle {
        font-size: 4.8vw;
        margin-top: -0.6em;
    }
    #sitefoot .head .copytitle .lang-jp {
        font-size: 2.6vw;
    }
}

/**/
#sitefoot .elm  {
    border: solid 1px rgba(255, 255, 255, 0.20);
    border-left: none;
    border-right: none;
    padding-top: 2.5em;
    padding-bottom: 2.5em;
}

/**/
#sitefoot .menus {
    display: flex;
    justify-content: space-between;
    text-align: left;
    margin: 0 -1.5em;
    margin-bottom: -0.5em;
}
    #sitefoot .menus > ul {
        width: auto;
        padding: 0 1.5em;
    }
        #sitefoot .menus > ul > li {
            display: block;
            font-size: 0.8em;
            line-height: 1.6em;
            margin-bottom: 1em;
        }
        #sitefoot .menus ul h4 {
            font-size: 1.1em;
            font-family: var(--font-ge2);
            letter-spacing: 0.06em;
            text-transform: uppercase;
            margin-bottom: 1.0em;
        }
        #sitefoot .menus ul a {
            display: block;
            color: #fff;
            font-size: inherit;
            line-height: inherit;
        }
        #sitefoot .menus ul a:hover {
            color: rgba(255, 255, 255, 0.7);
        }
        #sitefoot .menus ul li a {
            position: relative;
            padding-left: 1.5em;
            background-position: left center;
            background-size: auto 0.91em;
        }
            #sitefoot .menus ul li a::before {
                content: url(/share/im/nv_arrow-white.svg);
                display: inline-block;
                position: absolute;
                top: 0.14em;
                left: 0;
                width: 1em;
                height: 1em;
                opacity: 0.30;
            }
            #sitefoot .menus ul li a:hover::before {
                opacity: 0.6;
            }

@media only screen and (max-width: 720px) {
    #sitefoot .menus {
        justify-content: flex-start;
        flex-direction: column;
        margin: 0;
    }
    #sitefoot .menus > ul {
        width: 100%;
        margin: 0;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 1.5em;
    }
    #sitefoot .menus ul h4 {
        width: 100%;
        font-size: 4vw;
    }
    #sitefoot .menus > ul > li {
        width: 50%;
        font-size: 3.2vw;
    }
    #sitefoot .menus > ul[data-group="service"] > li {
        width: 100%;
    }
}

/**/	
#sitefoot small {
    font-size: 0.8em;
    font-family: var(--font-ge1);
    color: rgba(255, 255, 255, 0.32);
    letter-spacing: 0.02em;
    display: block;
    margin-top: 5em;
}

/**/
#sitefoot .controls {
	position: fixed;
	z-index: 1;
}
#sitefoot .pagetop {
	display: inline-block;
	position: fixed;
	z-index: 10;
	right: 0;
	padding-right: 2em;
	padding-bottom: 2.6em;
	/*bottom: 44px;*/ /* fallback for enviroment can't use calc & env function */
	/*bottom: calc(env(safe-area-inset-bottom) + 44px);*/
	bottom: 0;
	opacity: 0.0;
	transform: translateY(-2em);
	transition: all 1s;
	transition-delay: inherit;
}
#sitefoot .pagetop > img {
	width: 2em;
	height: auto;
}
[data-ispagescrolled="true"] #sitefoot .pagetop {
	opacity: 1.0;
	transform: translateY(0em);
}

