/* footer */
.footer {
  background-color: #add8e8;
  padding: 12.5rem 0;
  position: relative;
}

@media(max-width:768px) {
  .footer {
    padding: 8rem 0;
  }
}

.footer .common__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media(max-width:1100px) {
  .footer .common__inner {
    flex-direction: column;
    /*align-items: flex-start;*/
    row-gap: 6rem;
  }
}

.footer__logo {
  width: 22.8rem;
  height: 5.9rem;
}

@media(max-width:768px) {
  .footer__logo {
    min-width: 180px;
    min-height: 46px;
  }
}

.footer__list {
  display: grid;
  row-gap: 2rem;
}

@media(max-width:768px) {
  .footer__list {
    row-gap: 3rem;
  }
}

.footer__list-item {
  font-family: 'Zen Old Mincho', serif;
  font-size: max(14px, 1.5rem);
  font-weight: 700;
  letter-spacing: .075em;
  display: flex;
  column-gap: 4rem
}

@media(max-width:768px) {
  .footer__list-item {
    flex-direction: column;
    row-gap: 1rem;
  }
}

.footer__list-item dt {
  width: max(65.2px, 7rem);
}

.footer__list-item dd a {
  pointer-events: none;
}

@media(max-width:768px) {
  .footer__list-item dd a {
    pointer-events: all;
  }
}

.footer__nav {
  display: flex;
  column-gap: 4rem;
  transform: translateX(2rem);
}

@media(max-width:1100px) {
  .footer__nav {
    transform: none;
  }
}

@media(max-width:768px) {
  .footer__nav {
    display: none;
  }
}

.footer__nav-list {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}

.footer__nav-list:nth-of-type(2) {
  border-left: solid 1px #727272;
  padding-left: 4rem;
}

.footer__nav-item {
  font-family: 'Zen Old Mincho', serif;
  font-size: max(14px, 1.6rem);
  font-weight: 700;
  letter-spacing: .075em;
  white-space: nowrap;
}

.footer__nav-item a {
  display: block;
  padding: 5px 0;
  transition: .3s;
}

.footer__nav-item:hover a {
  color: #999;
}

.copy {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .05em;
  color: #363636;
  position: absolute;
  transform: translateY(100%);
  right: 0;
  bottom: -7rem;
}

@media(max-width:1600px) {
  .copy {
    right: 5%;
  }
}

@media(max-width:768px) {
  .copy {
    font-size: 14px;
    position: static;
  }
}

.pagetop {
  display: block;
  width: 10rem;
  height: 10rem;
  position: absolute;
  right: 0;
  bottom: 0;
  overflow: hidden;
  transition: .3s;
}

@media(min-width:769px) {
  .pagetop:hover {
    opacity: .7;
  }
}

@media(max-width:768px) {
  .pagetop {
    min-width: 70px;
    min-height: 70px;
  }
}