@charset "utf-8";

/*--------------------
Footer Common
--------------------*/

#footer {
  background: #808088;
  color: #fff;
  font-size: 12px;
  padding: 60px 0;
}

#footer a {
  color: #fff;
  text-decoration: none;
}

#footer a:hover {
  text-decoration: underline;
}

/*--------------------
Footer Logo
--------------------*/

#footer-logo {
  display: none;
}

/*--------------------
#Footer Main
--------------------*/

#footer-main {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}

#footer-info {
  font-size: 14px;
  line-height: 1.3;
  list-style: none;
}

#footer-info > li {
  margin-bottom: 8px;
}

#footer-info .sosial {
  display: flex;
  align-items: center;
}

#footer-info .sosial .fa {
  margin-right: 10px;
  font-size: 30px;
}

#footer-main dl {
  margin-bottom: 30px;
}

#footer-main dt {
  font-weight: bold;
  margin-bottom: 8px;
}

#footer-main dd {
  margin-bottom: 5px;
}

#footer-apply,
#footer-case,
#footer-document {
  font-weight: bold;
}

#footer-case,
#footer-document {
  margin-bottom: 18px;
}

/*--------------------
#Footer Mark
--------------------*/

#footer-mark {
  text-align: right;
}

#footer-mark .p-mark {
  background-color: #fff;
  margin-right: 1px;
  padding: 8px 8px 7px;
}

#footer-mark .pci-dss {
  background-color: #fff;
  padding: 7px 16px 6px;
}

/*--------------------
#Footer Sub
--------------------*/

#footer-sub {
  border-top: 1px solid #9f9faf;
  margin-top: 20px;
}

.footer-sub-logo {
  background: none;
  margin-top: 20px;
  text-align: center;
}

.footer-sub-logo a {
  background: none;
}

.footer-sub-nav {
  display: flex;
  justify-content: center;
  list-style: none;
  margin-top: 30px;
  opacity: 0.5;
}

.footer-sub-nav li:not(:last-of-type) {
  border-right: 1px solid #a3a4ab;
  margin-right: 13px;
  padding-right: 13px;
}

.footer-sub-sns {
  display: none;
}

.footer-sub-copy {
  display: block;
  margin-top: 13px;
  opacity: 0.5;
  text-align: center;
}

@media (max-width: 959px) {

  /*--------------------
  Footer Common
  --------------------*/

  .responsive #footer {
  padding: 0;
}

.responsive #footer a {
  color: #e6e5e7;
}

.responsive #footer .cb {
  width: 100%;
}

  /*--------------------
  Footer Logo
  --------------------*/

  .responsive #footer-logo {
    display: flex;
    height: 80px;
    align-items: center;
    justify-content: center;
  }

  /*--------------------
  #Footer Main
  --------------------*/

  .responsive #footer-main {
      display: block;
      margin-bottom: 0;
    }

    .responsive #footer-main > div:first-of-type {
      display: none;
    }

    .responsive #footer-main dl,
    .responsive #footer-case,
    .responsive #footer-document,
    .responsive #footer-apply {
      border-bottom: 1px solid #56575b;
      border-top: 1px solid #a3a4ab;
      margin-bottom: 0;
    }

    .responsive #footer-main dl.expand {
      padding-bottom: 16px;
    }

    .responsive #footer-service.expand {
      background-color: #6d6d75;
      border-top: 1px solid #56575b;
      padding-top: 16px;
    }

    .responsive #footer-main dt,
    .responsive #footer-case,
    .responsive #footer-document,
    .responsive #footer-apply {
      font-size: 16px;
      line-height: 50px;
      min-height: 50px;
      margin-bottom: 0;
      padding-left: 20px;
      position: relative;
      z-index: 0;
    }

    .responsive #footer-main dt a,
    .responsive #footer-case a,
    .responsive #footer-document a,
    .responsive #footer-apply a {
      z-index: 0;
      display: block;
      height: 50px;
      color: #fff;
    }

    .responsive #footer-main dt::after,
    .responsive #footer-case::after,
    .responsive #footer-document::after,
    .responsive #footer-apply::after {
      position: absolute;
      top: 0;
      right: 20px;
      content: "\f055";
      font-family: "FontAwesome";
    }

    .responsive #footer-service dt::after {
      content: "";
    }

    .responsive #footer-case::after,
    .responsive #footer-document::after,
    .responsive #footer-apply::after {
      content: "\f054";
    }

    .responsive #footer-main dl:not(#footer-service).expand dt::after {
      content: "\f056";
    }

    .responsive #footer-main dd {
      display: none;
      position: relative;
    }

    .responsive #footer-main dd::before {
      position: absolute;
      left: 40px;
      content: "\f105";
      font-family: "FontAwesome";
    }

    .responsive #footer-main dl.expand dd {
      display: block;
      min-height: 36px;
      margin-bottom: 0;
      padding-left: 56px;
      font-size: 14px;
      line-height: 36px;
    }

    /* Hover */

    .responsive #footer-main dt:hover,
    .responsive #footer-case:hover,
    .responsive #footer-document:hover,
    .responsive #footer-apply:hover {
      cursor: pointer;
      background: #8e8e98;
    }

    .responsive #footer-main dt a:hover,
    .responsive #footer-case a,
    .responsive #footer-document a,
    .responsive #footer-apply a {
      text-decoration: none;
    }

    .responsive #footer-service dt:hover {
      background: none;
    }

    .responsive #footer-main dd:hover {
      background: #8e8e98;
    }

    .responsive #footer-service dd:hover {
      background: #7b7b84;
    }

    .responsive #footer-main dd a:hover {
      text-decoration: none;
    }

  /*--------------------
  #Footer Mark
  --------------------*/

  .responsive #footer-mark {
    display: none;
  }

  /*--------------------
  #Footer Sub
  --------------------*/

  .responsive #footer-sub {
      margin-top: 0;
      padding: 32px 20px;
      border-top: 1px solid #a3a4ab;
    }

    .responsive .footer-sub-logo {
      display: none;
    }

    .responsive .footer-sub-nav {
      margin-top: 0;
      opacity: 1;
      font-size: 11px;
      flex-wrap: wrap;
      justify-content: flex-start;
    }

    .responsive .footer-sub-nav li {
      margin-bottom: 16px;
      line-height: 1;
    }

    .responsive .footer-sub-sns {
      display: flex;
      margin: 16px 0 32px;
      justify-content: center;
    }

    .responsive #footer-sub .footer-sub-sns a {
      display: flex;
      width: 48px;
      height: 48px;
      margin: 0 8px;
      color: #7f7f86;
      border-radius: 50%;
      background: #b2b3b7;
      font-size: 24px;
      justify-content: center;
      align-items: center;
    }

    .responsive .footer-sub-copy {
      opacity: 1;
      color: #e6e5e7;
      font-size: 10px;
    }

    /* Hover */

    .responsive #footer-sub .footer-sub-sns a:hover {
      background: #cbccd0;
      text-decoration: none;
    }
  }