/*
 * Phase 2A shell compatibility styles.
 * Source: systemadvance/style.css lines 6-28, 197-265, 397-541,
 * 781-795, 832-961, 1156-1169, and 1352-1361.
 * Rules are intentionally retained without modernization.
 */
body { margin: 0; padding: 0; font-size: 15px; font-family: 'Noto Sans JP', sans-serif; line-height: 20px; }
body > .systemadvance-shell-header { background-color: rgba(0,0,0,.80); min-height: 100px; position: fixed; top: 0; z-index: 99; left: 0; right: 0; }
footer { background-color: #2f2f2f; color: #fff; clear: both; padding-top: 20px; }
.clear { clear: both; }
.nav_list li a, .side_list li a { transition: all .3s ease; }
.foot-build .footlogo { margin: 20px auto 0; display: block; padding-bottom: 0; height: 30px; }
.foot-build .copyright { color: #fff; text-align: center; font-size: .89rem; margin: 30px 0 10px; padding: 0 0 20px; display: block; }
.page_top { position: fixed; bottom: 30px; right: 30px; width: 55px; height: 55px; border-radius: 50%; color: #fff; font-size: 20px; text-decoration: none; background: #2a6684; text-align: center; line-height: 55px; }
.breadcrumbs { background-color: #e1e1e1; min-height: 40px; color: #373737; }
.breadcrumbs a { text-decoration: none; color: #464646; }
.footersite-map ul { list-style: none; padding: 0; margin: 0; }
.footersite-map ul a { color: #fff; text-decoration: none; }
.footersite-map .mapmenu { margin: 0 0 15px; }
.footersite-map .mapmenu li a, .footersite-map .mapmenu ul li a { display: block; }
.bannerbox { display: block; }
.bannerbox img { width: 100%; height: auto; }
.side-menu h2 { height: 40px; line-height: 40px; border-left: 8px solid #2a6684; color: #373737; font-size: .95rem; padding-left: 15px; }
.side_list { margin: 0; padding: 0; list-style: none; }
.side_list li { border-bottom: 1px solid #e6e6e6; }
.side_list li a { box-sizing: content-box; height: 20px; line-height: 20px; padding: 8px; display: block; color: #373737; text-decoration: none; font-weight: 500; }
.side_list li a:hover { color: #fff; background-color: #373737; }
.side-menu li ul { margin-bottom: 20px; list-style: none; padding: 0; }
.side-menu li ul li { border-bottom: 1px dotted #444; padding: 0; }
.side-menu li ul li a { font-size: .78rem; line-height: 15px; height: 15px; padding: 8px; font-weight: 400; }
.footbannerbox { display: none; }
.footbannerbox img { width: 100%; height: auto; }
@media screen and (min-width: 1025px) {
	.heading_body, .foot-build { width: 1200px; margin-left: auto; margin-right: auto; }
	.heading_body #rogoarea { float: left; width: 400px; }
	.heading_body #rogoarea h1 { margin: 0; padding: 20px 20px 5px; }
	.heading_body #rogoarea .discrupt { margin: 5px 0 10px; color: #fff; font-size: .74rem; }
	.nav_list { margin: 0; padding: 0; list-style: none; }
	.nav .nav_list li { display: inline-block; text-align: center; border-left: 1px solid #fff; margin: 0 -4px 0 0; list-style: none; padding: 0; }
	.nav .nav_list li a { color: #fff; text-align: center; text-decoration: none; display: block; padding: 45px 24px 45px 20px; margin: 0; }
	.nav .nav_list li a:hover { background-color: #fbfbfb; color: #212121; }
	.nav .nav_list li .sub-menu { display: none; }
	.nav .nav_list li:hover .sub-menu { display: inline; z-index: 99; position: absolute; background-color: rgba(0,0,0,.80); padding-left: 0; text-align: left; }
	.nav .nav_list li .sub-menu li { display: flex; float: none; height: 60px; position: relative; border-left: none; width: 250px; margin-right: 0; left: 0; }
	.nav .nav_list li .sub-menu li a { padding: 10px 0 10px 30px; line-height: 40px; width: 100%; text-align: left; }
	.side-menu { float: left; width: 200px; margin-left: 0; }
	.footersite-map .mapmenu { float: left; width: 25%; }
	.footersite-map .mapmenu ul { padding: 0 0 0 10px; }
	.footersite-map .mapmenu li, .footersite-map .mapmenu ul li { margin: 5px 0; }
	.footersite-map .mapmenu li a, .footersite-map .mapmenu ul li a { padding: 5px; }
	.footersite-map .mapmenu li a:hover, .footersite-map .mapmenu ul li a:hover { background-color: #fff; color: #373737; }
}
@media only screen and (max-width: 1024px) {
	.breadbody { width: 96%; margin-left: auto; margin-right: auto; font-size: .65rem; line-height: 40px; }
	.nav { position: fixed; right: -320px; top: 0; width: 300px; height: 100vh; padding-top: 60px; background-color: #525252; transition: all .6s; z-index: 200; overflow-y: auto; }
	#rogoarea h1 img { width: 200px; height: auto; margin: 0 auto; display: block; padding-top: 10px; }
	.heading_body #rogoarea .discrupt { color: #fff; font-size: .83rem; text-align: center; margin: 0 0 20px; padding: 0; }
	.hamburger { position: absolute; right: 20px; top: 20px; width: 40px; height: 40px; cursor: pointer; z-index: 300; }
	.nav .nav_list { margin: 0; padding: 0; list-style: none; }
	.hamburger_border { position: absolute; left: 5px; width: 30px; height: 2px; background-color: #fff; transition: all .6s; }
	.hamburger_border_top { top: 12px; }
	.hamburger_border_center { top: 20px; }
	.hamburger_border_bottom { top: 28px; }
	.black_bg { position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; z-index: 100; background-color: #333; opacity: 0; visibility: hidden; transition: all .6s; cursor: pointer; }
	.nav-open .nav { right: 0; }
	.nav-open .black_bg { opacity: .8; visibility: visible; }
	.nav-open .hamburger_border_top { transform: rotate(45deg); top: 20px; }
	.nav-open .hamburger_border_center { width: 0; left: 50%; }
	.nav-open .hamburger_border_bottom { transform: rotate(-45deg); top: 20px; }
	.nav .nav_list li { border-bottom: 1px dotted #bcbcbc; }
	.nav .nav_list li a { color: #fff; text-decoration: none; padding: 15px; display: block; }
	.nav .nav_list li .sub-menu { margin-bottom: 15px; }
	.nav .nav_list li .sub-menu li { list-style: none; border-bottom: none; }
	.footersite-map { width: 98%; margin-left: auto; margin-right: auto; }
	.footersite-map .mapmenu { float: left; width: 25%; }
	.footersite-map .mapmenu ul { padding: 0 0 0 10px; }
	.footersite-map .mapmenu li, .footersite-map .mapmenu ul li { margin: 5px 0; }
	.footersite-map .mapmenu li a, .footersite-map .mapmenu ul li a { padding: 5px; }
	.footbannerbox { display: inline; }
	.footbannerbox img { width: 100%; height: auto; max-width: 680px; margin: 10px auto 20px; }
}
@media only screen and (max-width: 756px) {
	.side-menu { display: none; }
	.footersite-map .mapmenu { float: none; width: 98%; }
	.footersite-map .mapmenu li, .footersite-map .mapmenu ul li { border-bottom: 1px dotted #fff; }
	.footersite-map .mapmenu li a, .footersite-map .mapmenu ul li a { text-align: center; }
	.footbannerbox img { max-width: 360px; }
}
