@charset "utf-8";
/* CSS Document */

footer {overflow: hidden; position: relative;}
footer div.bg {height: 25rem; overflow: hidden; position: relative;}
footer div.bg::before {content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: var(--primary-color); z-index: -2;}
footer div.bg::after {content: ""; position: absolute; width: 100%; height: 100%; background: rgba(0, 0, 0, 1) url("../img/26478295_l.jpg") center center / 160rem no-repeat; z-index: -1; opacity: 0.8; background-blend-mode: lighten;}
footer nav.fnav {display: flex; width: var(--page-inner-box-width); margin: 0 auto; padding: 5rem 0; position: relative;}
footer nav.fnav #logo img {width: 8rem;}

/*  footer navigartion  */
footer nav.fnav > ul {justify-content: space-between; position: relative; margin: 2.5rem 0 0 3rem;}
footer nav.fnav ul li {padding-left: 7rem;}
footer nav.fnav ul li a {font-size: 1.7rem; color: #000;}

/*  sub-list  */
footer nav.fnav ul li ul li {padding-left: 0.2rem; padding-top: 0.2rem;}
footer nav.fnav ul li ul li:nth-of-type(1) {padding-top: 0.4rem;}
footer nav.fnav ul li ul li a {font-size: 1.2rem; color: #666;}

footer #copyright {color: #000; position: relative; width: 100%; padding: 3rem 0 1rem; margin: 0 auto; text-align: center; font-size: 1.2rem;}

/* responsive */
/* PC：950px〜1200px　TAB：768(600)px〜834px SP：375(360)px〜414px */
@media (min-width: 1200px){
.bg::after {background-size: 100%;}
}
@media screen and (max-width: 1149px) {
footer nav.fnav {width: 90vw;}
}
@media screen and (max-width: 1099px) {
footer nav.fnav #logo {}
footer nav.fnav ul > li {padding-left: 5rem;}
}
@media screen and (max-width: 949px) {
footer nav.fnav #logo {width: 40%; margin: 0 auto;}
footer nav.fnav #logo img {display: block; margin: 0 auto;}
footer nav.fnav > ul {width: fit-content; width: 60%; margin: 0 auto; padding: 0 0 20px;}
footer nav.fnav ul {flex-direction: column; height: auto;}
footer nav.fnav ul li {margin-bottom: 1em; padding-left: 1em;}
footer nav.fnav ul li a::before {content: none;}
footer nav.fnav ul li ul li {display: inline;}
}
@media screen and (max-width: 799px) {
}

@media screen and (max-width: 599px) {
footer #copyright p {font-size: 0.8em;}
footer nav.fnav ul li ul li {display: block; margin-bottom: 0.2em; padding-top: 0;}
footer nav.fnav ul li ul li:nth-last-of-type(1) {margin-bottom: 0.4em;}
}

@media screen and (max-width: 414px) {
footer nav.fnav {flex-direction: column; align-items: center;}
footer nav.fnav > ul {margin: 40px auto 0;}
}

/* ------------------ pagetop ------------------ */
.pagetop {display: none; z-index: 300; position: fixed; bottom: 15px; right: 15px; margin: 0; box-shadow: 0 0 3px 0px #c7c7c7;}
.pagetop a {display: block; background-color: #0000004a; text-align: center; color: #fff; font-size: 12px; text-decoration: none; padding: 16px 14px; filter: alpha(opacity=80); -moz-opacity: 0.8; opacity: 0.8; border: 1px solid #fff; border-radius: 5px; text-shadow: 0 0 3px #c7c7c7;}
.pagetop a:hover {background-color: #1a1a1a;}
.pagetop a img {width: 16px;}