footer {
	background:#0071c5;
	clear:both;
}
footer .nav .sns-wrapper {
    width:100%;
    background:rgba(255,255,255,0.6);
    transition:0.4s;
}
footer .nav .sns-wrapper.static {
    background:rgba(255,255,255,0);
}
footer .nav {
	background:rgba(0,0,0,0.1);
	padding:0;
	height:68px;
    overflow:hidden;
    position:relative;
}
footer .nav dl {
	padding:0;
	margin:0;
	float:left;
}
footer .nav dl dt {
	display:inline-block;
	color:#fff;
	font-size:120%;
	padding:23px 20px 20px 0;
}
footer .nav .sns-wrapper dt {
    color:#000;
}
footer .nav .sns-wrapper.static dt {
    color:#fff;
}
footer .nav dl dd {
	display:inline-block;
	padding:0;
	margin:0;
}
footer .nav dl dd ul {
	display:inline-block;
	padding:0;
	margin:0;
}
footer .nav dl dd ul li {
	display:inline-block;
	padding:15px 5px;
	margin:0;
}
footer .nav dl dd ul li img {
	vertical-align:middle;
    width:40px;
    height:40px;
}
footer .nav dl dd ul li a {
	display:block;
	width:40px;
	height:40px;
}

footer .nav ul.footer-menu {
	display:table;
	height:68px;
	margin:0 0 0 auto;
	padding:0;
}
footer .nav ul.footer-menu li {
	display:inline-block;
	padding:0;
	margin:0;
}
footer .nav ul.footer-menu li a {
	display:table-cell;
	vertical-align:middle;
	text-align:center;
	color:#fff;
	padding:10px;
	width:160px;
	height:68px;
	border-left:solid 1px rgba(255,255,255,0.5);
    font-size:1.1em;
}
footer .nav ul.footer-menu li a:hover {
	background:#B34A14;
}
footer .nav ul.footer-menu li a.top {
	width:68px;
	background:rgba(0,0,0,0.1);
    padding:20px 0;
}
footer .nav ul.footer-menu li a.top:hover {
	background:#B34A14;
}
footer .nav ul.footer-menu li a.top img {
	vertical-align:top;
}

footer .sitemap {
	clear:both;
}
footer .sitemap dl {
	background:rgba(0,0,0,0.1);
}
footer .sitemap dt {
	background:rgba(0,0,0,0.1);
	padding:10px 20px;
	margin:0;
	color:#fff;
	font-size:1.2em;
}
footer .sitemap dd {
	padding:0;
	margin:0;
}
footer .sitemap ul {
	margin:0;
	padding:0;
}
footer .sitemap ul li {
	display:inline;
	margin:0;
	padding:0;
}
footer .sitemap ul li a {
	display:block;
	color:#fff;
	padding:10px 20px 10px 40px;
	background:url("../_img/arrow_white.svg") 20px center no-repeat;
	background-size:6px 6px;
}
footer .sitemap ul li a:hover {
	background:#B34A14 url("../_img/arrow_white.svg") 20px center no-repeat;
	background-size:6px 6px;
}

footer address {
	background:url("../_img/footer/symbol.svg") left top no-repeat;
	background-size:34px 40px;
	margin:0;
	padding:10px 10px 40px 50px;
	color:#fff;
}

/** system4 2018 （日本語）**/
footer.system4-2018 {
    background:none;
    padding-top:20px;
}
footer.system4-2018 .nav {
	padding:0;
    background:none;
    position:fixed;
    right:0;
    bottom:0;
    z-index:100;
}
footer.system4-2018 .nav dl {
	padding:0 10px 0 20px;
    height:68px;
    background:rgba(255,255,255,0.6);
}
footer.system4-2018 .nav dl dt {
    color:#000;
}
footer.system4-2018 .nav dl dd ul li {
    padding-bottom:0;
}
footer.system4-2018 .nav ul.footer-menu li a.top {
	background:#0065b1;
    border:none;
}

footer.system4-2018 .sitemap dl {
	background:none;
}

footer.system4-2018 address {
    float:left;
    margin-left:20px;
    margin-top:15px;
    padding-bottom:20px;
}

/** Media Query **/
@media only screen and (max-width : 768px) {
    footer .sitemap ul.g4 {
        width: calc(((100% / 12) * 4) - 20px) !important;
    }
}

@media only screen and (max-width : 640px) {
	footer .nav {
		height:auto;
	}
	footer .nav dl {
		float:none;
	}
    footer .nav .sns-wrapper dl dt {
    	display:block;
    	padding:23px 0 0 0;
    }
	footer .nav ul.footer-menu {
		margin:0;
		width:100%;
		height:auto;
		display:block;
	}
	footer .nav ul.footer-menu li {
		display:block;
	}
	footer .nav ul.footer-menu li a {
		display:block;
		height:auto;
		width:100%;
		border:none;
		border-top:solid 1px #0071c5;
		padding:20px;
	}
	footer .nav ul.footer-menu li a.top {
		position:fixed;
        bottom:0;
        right:0;
        height:68px;
        border:none;
        background:#0065b1;
	}
    footer .sitemap ul.g4 {
        width: 100% !important;
    }
	footer .sitemap dd ul li a {
		padding:20px 20px 20px 40px;
	}
	footer address {
		background:url("../_img/footer/symbol.svg") center top no-repeat;
        background-size:34px 40px;
		padding:60px 20px 20px 20px;
		text-align:center;
		display:block;
	}
    
    footer.system4-2018 {
        padding-bottom:80px;
    }
    footer.system4-2018 .nav {
        width:100%;
    }
    footer.system4-2018 .nav dl {
        padding:0;
    }
    footer.system4-2018 .nav dl dd {
        display:block;
        text-align:right;
        padding-right:90px;
    }
    footer.system4-2018 .nav ul.footer-menu li a.top {
		display:block;
        position:fixed;
        right:0;
        bottom:0;
	}
    
    footer.system4-2018 address {
        float:none;
        margin-left:0;
    }
}

@media print {

}