@charset "UTF-8";
/* ====================================================
common layout style
==================================================== */
/* ====================================================
header
==================================================== */
header .logo {
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  margin-left: min(2rem, 20px);
  width: min(19.5rem, 195px);
}
@media print, screen and (max-width: 768px) {
  header .logo {
    margin-left: 0;
    width: 12rem;
  }
}

header .nav_main > ul > li.li_blue {
  border: none;
}

header .nav_main > ul > li .sub {
  z-index: 10;
}

.li_liteblue {
  background-color: #3a80d4;
  color: #fff;
}
.li_liteblue > a:before {
  display: none;
}

footer {
  background-image: none;
}
footer .footer_top {
  min-height: min(98rem, 980px);
  padding: min(8rem, 80px) 0 min(65rem, 650px);
  background-image: url(../images/common/bg_footer.jpg);
  background-size: cover;
  background-position: bottom center;
  background-repeat: no-repeat;
  padding-right: min(5rem, 50px);
  padding-left: min(5rem, 50px);
}
@media print, screen and (max-width: 768px) {
  footer .footer_top {
    min-height: auto;
    padding: 4rem 0 20rem;
  }
}
footer .footer_bottom {
  background-color: #fff;
  color: #000;
  padding: min(4rem, 40px) min(5rem, 50px);
  font-size: 16px;
}
@media print, screen and (max-width: 768px) {
  footer .footer_bottom {
    padding: 2rem 2rem;
    font-size: 1.3rem;
  }
}
footer .footer_bottom .copyright {
  order: 1;
}
footer .footer_l {
  flex-basis: 40%;
}
footer .footer_l .tel {
  margin-top: min(3rem, 30px);
  font-size: 28px;
}
@media print, screen and (max-width: 768px) {
  footer .footer_l .tel {
    font-size: 2rem;
  }
}
footer .footer_l .address {
  font-size: 16px;
  margin-top: min(2rem, 20px);
}
@media print, screen and (max-width: 768px) {
  footer .footer_l .address {
    font-size: 1.3rem;
    margin-top: 1rem;
  }
}
footer .nav_footer > ul {
  column-count: 2;
  column-gap: min(12rem, 120px);
}
footer .nav_footer > ul > li {
  break-inside: avoid;
  margin-bottom: min(5.4rem, 54px);
  border: none;
  font-size: 16px;
  padding: 0 0;
}
footer .nav_footer > ul > li > a {
  display: block;
  padding-bottom: min(1.6rem, 16px);
  border-bottom: 1px solid #fff;
}
footer .nav_footer > ul > li .sub li a {
  font-size: 16px;
  display: block;
  padding: min(0.5rem, 5px) 0;
}
footer .nav_footer > ul > li .sub li a:before {
  content: "・";
}

.totop {
  right: 0;
}
