header {position: relative;padding: 1rem 0; border-bottom: 1px solid #eee; z-index: 100;}
header h1 {display: flex; justify-content: center;}
header h1 a {height: 3rem; display: block; text-align: center;width: fit-content;}
header h1 a img {height: 100%;}
header > div {position: absolute; top:50%; transform: translateY(-50%); height: 1.8rem;}
header .open_nav { left: 1.5rem;}
header .back {right: 1.5rem;}
header div img {height: 100%;}

nav {display: none;position: absolute; left: 0; top:0; width: 70%; z-index: 150; background: #fff; height: 100vh;}
nav.on {display: block;}
nav h1 {height: 3rem; margin: 1rem 1.5rem 1rem 8rem;}
nav h1 img {height: 100%;}
nav ul {display:flex; flex-flow:column; margin-top: 5rem;}
nav ul li {}
nav ul li a {display: block; text-align: center; padding: 1rem 0; font-size:1.4rem; font-weight: bold; background-color: #f3f4f4; margin: 1rem 2.5rem; border-radius: 2rem;}
nav .close_nav {position: absolute; left: 1.5rem; top:1.5rem; height: 1.8rem;}
nav .close_nav img {height: 100%;}
.nav_bg {background: rgba(0,0,0,0.6); position: absolute; left: 0; top:0; width: 100%; height: 100vh; z-index: 140; display: none;}
.nav_bg.on {display: block;}

footer {position: fixed; width: 100%; height: 4rem; left: 0; bottom:0; border-top: 1px solid #ccc; background: #fff; z-index: 100;}
footer ul {display:flex;}
footer ul li {width: 50%; border-right: 1px solid #ccc;}
footer ul li:nth-child(3) a {font-size: 1.6rem; letter-spacing: -0.22rem; white-space: nowrap;}
footer ul li:last-child {border-right: 0;}
footer ul li a {display: block;text-align: center; line-height: 4rem; font-size:1.8rem; padding:0  .5rem}
footer ul li a.active {color:#464646; position: relative; background: linear-gradient(to top, #fff 50%, #98beee);}
footer ul li a.active::after {content: ""; width: 100%; height: .2rem; background-color: #1c559d; position: absolute; top: 0; left: 0;}