/*---------------------------------
footer
--------------------------------*/
/* スマホ用 580px以下に適用されるCSS */

/* .link__items */
footer .link__items {
  background-color: #F2F9FD;
}

footer .link__items .innr {
  padding: 0;
}

footer .link__items h3 {
  padding: 0.6em 0;
  margin: 0;
  text-align: center;
  color: #fff;
  background-color: #034577;
  font-size: 4.8vw;
}

/* .link__site */
footer .link__site {
  background-color: var(--main-color);
}

footer .link__site .innr {
  padding: 0;
}

footer .link__site .tb>div {
  text-align: center;
}

footer .link__site .home {
  width: 100%;
}

footer .link__site .site {
  width: 100%;
}

footer .link__site .site ul {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

footer .link__site .site ul li {
  list-style: none;
  width: 50%;
}

footer .link__site a {
  color: #ffffff;
  font-size: 4vw;
  font-weight: bold;
  border-bottom: solid 1px rgba(255, 255, 255, 0.15);
  display: block;
  padding: .8em 0;
}

footer .link__site .site ul li:nth-of-type(odd) a {
  border-right: solid 1px rgba(255, 255, 255, 0.15);
}

/* .footer__cnt */
footer .footer__cnt .tb {
  border-bottom: 1px solid #EFEFEF;
}

footer .footer__cnt .tb>div {
  text-align: center;
}

footer .footer__cnt .logo {
  padding: 9.6vw 0 0 0;
}

footer .footer__cnt .logo img {
  width: 42.666vw;
}

footer .footer__cnt .address dl,
footer .footer__cnt .address dd {
  padding: 0;
  margin: 0;
}

footer .footer__cnt .address dt {
  font-size: 4vw;
  font-weight: bold;
  padding-bottom: .4em;
}

footer .footer__cnt .address dd {
  font-size: 3.466vw;
}

footer .footer__cnt .pagetop {
  display: flex;
  justify-content: right;
  margin-bottom: -5.333vw;
  margin-right: -2.666vw;
}

footer .footer__cnt .pagetop a {
  background-color: var(--main-color);
  width: 12.266vw;
  height: 12.266vw;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

footer .footer__cnt .pagetop a::before {
  content: "";
  display: block;
  width: 2.666vw;
  height: 2.666vw;
  border-top: 1px solid white;
  border-right: 1px solid white;
  transform: rotate(-45deg);
  margin-bottom: -1.333vw;
}


footer .footer__cnt .copyrights {
  padding: 6.4vw 0 18.666vw;
  text-align: center;
  font-size: 2.933vw;
  color: #757575;
}

/* Tablet用 581px以上に適用されるCSS */
@media (min-width: 581px) {

  /* .link__items */
  footer .link__items .innr {
    padding: 0 30px;
  }

  footer .link__items h3 {
    font-size: 1.125rem;
  }

  /* .link__site */
  footer .link__site a {
    font-size: .9375rem;
  }

  /* .footer__cnt */
  footer .footer__cnt .tb {
    display: table;
    width: 100%;
    border-bottom: 1px solid #EFEFEF;
  }

  footer .footer__cnt .tb>div {
    display: table-cell;
    text-align: left;
    vertical-align: middle;
  }

  footer .footer__cnt .logo {
    width: 35%;
    padding: 1em 0;
  }

  footer .footer__cnt .logo img {
    width: 95%;
  }

  footer .footer__cnt .address {
    width: 60%;
  }

  footer .footer__cnt .address dt {
    font-size: 1rem;
  }

  footer .footer__cnt .address dd {
    font-size: .8125rem;
  }

  footer .footer__cnt .pagetop {
    display: inherit;
    margin: 0;
  }

  footer .footer__cnt .pagetop a {
    width: 46px;
    height: 46px;
  }

  footer .footer__cnt .pagetop a::before {
    width: 10px;
    height: 10px;
    margin-bottom: -5px;
  }

  footer .footer__cnt .copyrights {
    padding: 2em 0;
    font-size: .6875rem;
  }
}

/* PC用 981px以上に適用されるCSS */
@media (min-width: 981px) {

  /* .link__items */
  footer .link__items .innr {
    padding: 0 50px;
  }

  /* .link__site */
  footer .link__site .innr {
    padding: 0 50px;
  }

  footer .link__site .tb {
    display: table;
    width: 100%;
  }

  footer .link__site .tb>div {
    display: table-cell;
    vertical-align: middle;
  }

  footer .link__site .home {
    width: 16%;
  }

  footer .link__site .site {
    width: 50%;
    padding: .8em 0;
  }

  footer .link__site .site ul li {
    width: 33%;
  }

  footer .link__site a {
    font-size: .9375rem;
    border-right: solid 1px rgba(255, 255, 255, 0.15);
    border-bottom: inherit;
    padding: .4em 0;
  }

  footer .link__site .home a {
    border-left: solid 1px rgba(255, 255, 255, 0.15);
    border-bottom: inherit;
    padding: 1.6em 0;
  }

  /* .footer__cnt */
  footer .footer__cnt .logo img {
    width: 326px;
  }

}