.footer-2019 {
  width: 100%;
  position: relative; }
  .footer-2019 * {
    box-sizing: border-box; }
  .footer-2019 p, .footer-2019 li, .footer-2019 a {
    font-family: "\FF2D\FF33\20\FF30\30B4\30B7\30C3\30AF", Osaka, Arial, Helvetica, sans-serif; }
  .footer-2019 .nav__inner {
    background-color: #ededed;
    width: 100%;}
    @media only screen and (max-width: 540px) {
      .footer-2019 .nav__inner {
        height: auto; } }
  .footer-2019 .nav__banner-sp {
    background-color: #f5f5f5;
    padding: 30px 0; }
    @media only screen and (min-width: 541px) {
      .footer-2019 .nav__banner-sp {
        display: none; } }
    .footer-2019 .nav__banner-sp .banner-box {
      width: 90%;
      height: 77px;
      margin: 0 auto;
      border: 2px solid #ededed;
      background-color: #fff;
      text-align: center; }
      .footer-2019 .nav__banner-sp .banner-box a{
        display: block;
        width: 100%;
        height: 100%;
        position: relative;
      }
      .footer-2019 .nav__banner-sp .banner-box .banner {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        display: block;
        width: 60%;
        margin: 0 auto; }
        .footer-2019 .nav__banner-sp .banner-box .banner__text {
          color: #0066ba;
          font-size: 18px;
          font-weight: bold;
          padding-top: 15px; }
        .footer-2019 .nav__banner-sp .banner-box .banner__subText {
          color: #000;
          font-size: 12px; }
      .footer-2019 .nav__banner-sp .banner-box .icon-outlink {
        position: absolute;
        bottom: 10px;
        right: 10px;
        width: 3.880597014925373%; }
    .footer-2019 .nav__banner-sp .banner-box:not(:first-child) {
      margin-top: 20px; }
  .footer-2019 .nav__list {
    max-width: 1180px;
    margin: 0 auto;
    text-align: left;
    font-size: 0.8rem; }
    @media only screen and (min-width: 1180px){
      .footer-2019 .nav__inner {
        height: 60px;
      }
      .footer-2019 .nav__list {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-content: center;
        -ms-flex-line-pack: center;
        align-content: center;
        height: 60px;
      }
      .footer-2019 .nav__list li{
        margin-right: 1.8%;
      }
      .nav__inner--2-line {
        height: 80px !important;
      }
      .nav__list--2-line {
        height: 80px !important;
        align-content: space-around !important;
        justify-content: space-between;
        flex-wrap: wrap;
        padding: 15px 0;
      }
    }
    @media only screen and (min-width: 541px) and (max-width: 1200px) {
      .footer-2019 .nav__list {
        padding: 15px 20px;
      }
      .footer-2019 .nav__list li{
        display: inline-block;
        vertical-align: middle;
        padding: 10px 0;
        margin-right: 2%;
      }
    }
    @media only screen and (min-width: 541px) and (max-width: 768px) {
      .footer-2019 .nav__list {
        padding-left: 20px; } }
    @media only screen and (max-width: 540px) {
      .footer-2019 .nav__list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .footer-2019 .nav__list li {
      font-size: 0.8rem;
      /* margin-right: 2.9661016949152543%; */
      -webkit-align-self: center;
          -ms-flex-item-align: center;
              align-self: center;
      color: #000; }
      @media only screen and (max-width: 540px) {
        .footer-2019 .nav__list li {
          -webkit-align-self: auto;
              -ms-flex-item-align: auto;
                  align-self: auto;
          border-top: 1px solid #fff;
          border-bottom: 1px solid #fff;
          background-color: #ededed;
          padding: 20px 0; } }
      .footer-2019 .nav__list li .arrow {
        background: url("../images/common/arrow_blue.png") center center no-repeat;
        background-size: contain;
        width: 14px;
        height: 5px;
        padding-bottom: 6px; }
      .footer_navi__item{
        display: table-cell;
        vertical-align: middle;
      }
      .footer-2019 .nav__list li .footer_navi__text {
        line-height: 1.2;
        padding-left: 5px;
      }
      .footer-2019 .nav__list li a {
        display: table;
        width: 100%;
        text-decoration: underline;
        color: #000; }
        @media only screen and (max-width: 540px) {
          .footer-2019 .nav__list li a {
            padding: 0 20px; } }
  .footer-2019 .copyright-box {
    height: 20px;
    margin: 0 auto;
    text-align: center;
    padding-top: 20px;
    font-size: 12px;
    padding-bottom: 20px; }
    @media only screen and (min-width: 541px) and (max-width: 768px) {
      .footer-2019 .copyright-box {
        padding-bottom: 40px; } }
    @media only screen and (max-width: 540px) {
      .footer-2019 .copyright-box {
        font-size: 10px;
        text-align: left;
        height: 30px;
        padding-left: 20px;
        padding-bottom: 40px; } }

.totop-sp {
  background: #0066ba;
  text-align: center; }
  @media only screen and (min-width: 541px) {
    .totop-sp {
      display: none; } }
  .totop-sp p a {
    color: #fff;
    display: block;
    padding: 10px;
    font-size: 14px;
    text-decoration: none; }
  .totop-sp span {
    position: relative;
    padding-left: 20px; }
  .totop-sp span::before {
    content: "";
    left: -2px;
    margin: auto;
    position: absolute;
    top: 3px;
    background: url("../images/common/footer_totopbtn.png") center center no-repeat;
    width: 27px;
    height: 13px;
    background-size: contain; }

.toTopBtn {
  position: absolute;
  bottom: 0;
  right: 0; }
  @media only screen and (min-width: 541px) and (max-width: 768px) {
    .toTopBtn {
      display: none; } }
  @media only screen and (max-width: 540px) {
    .toTopBtn {
      display: none; } }
  .toTopBtn__inner {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%; }
  .toTopBtn span {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    border-style: solid;
    border-width: 0 0 79px 79px;
    border-color: transparent transparent #000000 transparent;
    width: 0;
    height: 0;
    display: block; }
  .toTopBtn a {
    /* position: absolute; */
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block; }
  .toTopBtn img {
    position: absolute;
    top: 44px;
    left: -25px;
    width: 13px;
    height: 22px;
    z-index: 2; }

.sp-menu__nolink {
  display: block;
  padding: 15px 20px;
  color: #000;
  text-decoration: none;
  line-height: 1.4;
  font-size: 13px; }
