@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;
  }
}