@charset "utf-8";

/* ------------------------------
  to B
  corporate / education
------------------------------ */

.footer {
  & .--tob-footernav {
    .m-link--line {
      text-decoration: underline;
      &:hover {
        text-decoration: none;
      }
    }
    & a {
      color: var(--color-wh);
    }
    & .l-inner--m {
      position: relative;
      width: min(1120px, 100%);
      margin: 0 auto;
    }
    & h3 {
      margin-bottom: var(--size-m);
      font-size: calc(var(--size-base) * 2.25);
    }
    & .m-logo {
      width: 180px;
    }
    & .footer--nav > ul {
      display: flex;
      justify-content: space-between;
      & > .__item ul {
        line-height: 1.75;
      }
    }
    & .footer--copyright {
      display: block;
      color: rgba(255, 255, 255, 0.6);
    }
  }
}

@media screen and (min-width: 768px) {
  .footer {
    & .--tob-footernav {
      &.l-area {
        padding: var(--size-max) 0;
      }
      & .l-inner--m {
        display: flex;
        justify-content: space-between;
      }
      & .footer--logo {
        width: 30%;
        & .footer--copyright {
          margin-top: var(--size-m);
        }
      }
      & .footer--nav {
        width: 70%;
        & .m-link--line,
        & .footer--copyright {
          font-size: calc(8px * 1.6);
        }
        & > ul > .__item {
          width: 33.33%;
          &:last-of-type {
            padding-left: var(--size-4l);
            border-left: 1px solid rgba(255, 255, 255, 0.3);
          }
        }
      }
    }
  }
}

@media screen and (max-width: 767px) {
  .footer {
    & .--tob-footernav {
      padding: var(--size-5l) var(--size-m) calc(var(--size-max) + 3em);
      & .l-inner--m {
        padding: 0;
      }
      & .m-logo {
        width: 160px;
        margin-bottom: var(--size-m);
      }
      & .m-link--line,
      & .footer--copyright {
        font-size: calc(7px * 1.6);
      }
      & .footer--nav {
        & > ul {
          flex-direction: column;
          & > .__item {
            margin-top: var(--size-2l);
            padding-top: var(--size-2l);
            border-top: 1px solid rgba(255, 255, 255, 0.3);
          }
          & .m-list {
            display: flex;
            flex-wrap: wrap;
            & .__item {
              width: 50%;
            }
          }
        }
      }
      & .footer--copyright {
        position: absolute;
        bottom: -2.5rem;
      }
    }
  }
}