@charset "UTF-8";

/**
 * footer
 */

#footer {
  background-color: var(--c2);
  position: relative;
  margin-top: 280px;
}

#footer::before {
  content: "";
  height: 160px;
  width: 100%;
  position: absolute;
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
  background-color: var(--c2);
  left: 0;
  bottom: calc(100% - 1px);
}

.footer_description {
  text-align: center;
  color: #fff;
  font-family: var(--go);
  font-size: 1.6rem;
  font-weight: 700;
}

.footer_info {
  width: 100%;
  background: #fff;
  margin-top: 64px;
  padding-top: 32px;
  padding-bottom: 45px;
  h2 {
    text-align: center;
    img {
      margin: 0 auto;
    }
  }
  .footer_menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 15px;
    .footer_navi {
      .footer_navi_menu {
        text-align: center;
        a {
          text-decoration: none;
          color: var(--c2);
          font-size: 2rem;
          border-right: 1px solid var(--c2);
          font-weight: 700;
          padding: 2px 12px;
          font-family: var(--go);
        }
        a:last-child {
          border-right: none;
        }
      }
      .footer_navi_menu_sub {
        margin-top: 20px;
      }
    }
  }
}

.copyright {
  padding: 24px 0;
  text-align: center;
  color: #fff;
  font-family: var(--go);
  font-size: 1.6rem;
}

/* side buttons */

.side_buttons {
  position: fixed;
  top: 20%;
  right: 0;
  z-index: 100;
  display: flex;
  flex-flow: column;
  gap: 0;
  background: #e97d3a;
  border-radius: 16px 0 0 16px;
  padding: 8px;
  a {
    text-align: center;
    color: #fff;
    text-decoration: none;
    font-size: 1rem;
    padding: 12px 4px;
    width: 60px;
    border-top: 2px solid #fff;
    img {
      margin: 0 auto;
      display: block;
    }
    span {
      margin-top: 3px;
      display: block;
    }
  }
  a:first-child {
    border-top: none;
  }
}

@media screen and (max-width: 1110px) {
}
@media screen and (max-width: 740px) {
  .side_buttons {
    width: 100%;
    top: auto;
    bottom: 0;
    flex-flow: unset;
    flex-wrap: wrap;
    border-radius: 16px 16px 0 0;
    a {
      width: calc(100% / 3);
      border-top: none;
      border-left: 2px solid #fff;
      font-size: 1.4rem;
      padding: 4px;
      img {
        max-width: 32px;
      }
    }
    a:first-child {
      border-left: none;
    }
    .footer_info {
      .footer_menu {
        .footer_navi {
          .footer_navi_menu_sub {
            margin-top: 0;
          }
        }
      }
    }
  }

  .footer_description {
    padding-top: 16px;
    font-size: 3.8vw;
  }
  .footer_info {
    margin-top: 40px;
    padding-top: 40px;
    padding-bottom: 48px;
    .footer_menu {
      margin-top: 16px;
      .footer_navi {
        container-type: inline-size;
        width: 100%;
        a {
          font-size: 5cqw;
          width: 100%;
          display: block;
          text-align: center;
        }
      }
    }
  }
  .copyright {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 639px) {
}
@media screen and (max-width: 500px) {
}
