@charset "UTF-8";
/*------------------------------------------
  footer-01
------------------------------------------*/
.footer-01 {position: relative; clear: both;}
.footer-01 .btn-pagetop {line-height: .6;}
.footer-01 .btn-pagetop a {display: block; color: #fff; text-align: center; font-size: 30px; font-size: 3rem;}
.footer-01 .footer-contents {margin: 2% auto; align-items: flex-start; -webkit-justify-content: space-between; justify-content: space-between;}
.footer-01 .footer-info {width: 30%; position: relative;}
.footer-01 .footer-info img {max-height: 120px;}
.footer-01 .footer-info p {margin: 1em auto;}
.footer-01 .footer-info p:last-child {margin-bottom: 0;}
.footer-01 .footer-info .txt02 a, .footer-01 .footer-info .txt03 span {display: block; vertical-align: middle; color: #fff;}
.footer-01 .footer-menu {width: 65%; text-align: center;}
.footer-01 .footer-menu {padding-bottom: 4em; position: relative; font-size: 13px; font-size: 1.3rem;}
.footer-01 .footer-menu .ft-nav {-webkit-justify-content: space-between; justify-content: space-between; list-style-type: none; padding-left: 0;}
.footer-01 .footer-menu .ft-nav:before{content:""; display: block; width:24%; order:1;}
.footer-01 .footer-menu .ft-nav:after{content:""; display: block; width:24%;}
.footer-01 .footer-menu .ft-nav li {position: relative; width: 24%; padding-left: 15px; margin-bottom: 1em; text-align: left; box-sizing: border-box;}
.footer-01 .footer-menu .ft-nav li:before {content: "ー"; line-height: 1; color: #fff; position: absolute; top: 5px; left: 0;}
.footer-01 .footer-menu .ft-nav li a {color: #fff;}
.footer-01 .footer-menu .ft-nav li .sub-menu {list-style-type: none; padding-left: 0;}
.footer-01 .footer-menu .ft-nav li .sub-menu li {width: 100%; margin-bottom: 5px;}
.footer-01 .footer-menu .ft-nav li .sub-menu a {color: #fff; padding-left: 10px;}
.footer-01 .footer-menu .ft-nav li a:hover, .footer-01 .footer-menu .ft-nav li .sub-menu a:hover {opacity: 1;}
.footer-01 .footer-menu .ft-suvnav {position: absolute; bottom: 0; right: 0;}
.footer-01 .footer-menu .ft-suvnav li {display: inline-block; margin-left: 1em;}
.footer-01 .footer-menu .ft-suvnav a {color: #fff;}
.footer-01 .footer-map {margin-top: 1em; position: absolute; bottom: 1.5rem; right: 0;}
.footer-01 .footer-map a {display: block; float: right;}
.footer-01 .footer-map .map-icon {width: 50px; border-radius: 50%; display: inline-block; color: #fff; text-align: center; box-sizing: border-box;}
.footer-01 .footer-map .map-icon i {line-height: 50px; font-size: 24px; font-size: 2.4rem;}
.footer-01 .footer-map a:hover .map-icon {background: #fff !important; background: #fff; opacity: 1; }
.footer-01 .footer-copyright {position: relative; text-align: center; font-size: 12px; font-size: 1.2rem; padding-bottom: 1%;}
.footer-01 .sp-footer-menu {display: none; text-align: center;}

@media only screen and (max-width: 1024px) {
  .footer-01 .footer-menu .ft-nav {display: none;}
}
@media only screen and (max-width: 768px) {
  .footer-01 .footer-contents {-webkit-justify-content: center; justify-content: center;}
  .footer-01 .footer-info img {margin-top: 20px;}
  .footer-01 .footer-info {order: 1; width: 100%; text-align: center;}
  .footer-01 .footer-menu {order: 3; width: 100%; margin: 0; padding: 2em;}
  .footer-01 .footer-map {order: 2; width: 100%; text-align: center; position: static;}
  .footer-01 .footer-map a {float: none; padding-left: 0; display: inline-block;}
  .footer-01 .footer-menu .ft-suvnav {position: static;}
}
@media only screen and (max-width: 480px) {
  .footer-01 {padding-bottom: 60px;}
  .footer-01:before, .footer-01:after {content: none;}
  .footer-01 .footer-menu {padding-bottom: 1em;}
  .footer-01 .sp-footer-menu {display: block; border-top: 1px solid #fff; border-bottom: 1px solid #fff; background: #fff; position: fixed; right: 0; bottom: 0; width: 100%; z-index: 20;}
  .footer-01 .sp-footer-menu .menu-list {list-style-type: none; padding-left: 0;}
  .footer-01 .sp-footer-menu .menu-item {width: 25%; height: 45px; text-align: center; display: table; border-left: 1px solid #fff; position: relative; box-sizing: border-box;}
  .footer-01 .sp-footer-menu .menu-item a, .footer-01 .sp-footer-menu .menu-item span {display: table-cell; vertical-align: middle; background: #333; color: #fff; font-size: 10px; font-size: 1rem;}
  .footer-01 .sp-footer-menu .menu-item i {display: block; font-size: 16px; font-size: 1.6rem; margin-bottom: 1px;}
}