@charset "utf-8";

/* =========================================================
  partner page
========================================================= */
.partner-page {
  position: relative;
  isolation: isolate;
  padding-top: min(5.1389vw, 74px);
  padding-bottom: clamp(160px, 16.6667vw, 240px);
  overflow: hidden;
}

.partner-page.top-pattern-bg::before {
  top: min(36.1111vw, 520px);
}

.partner-page::after {
  content: "";
  position: absolute;
  z-index: -3;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.08);
  pointer-events: none;
}

.partner-page__backgrounds {
  position: absolute;
  z-index: -1;
  inset: 0;
  width: min(100%, 1440px);
  margin-inline: auto;
  pointer-events: none;
}

.partner-page__background {
  position: absolute;
  left: 50%;
  width: min(100vw, 1440px);
  max-width: none;
  height: auto;
  transform: translateX(-50%);
}

.partner-page__background--01 {
  top: min(64.9306vw, 935px);
}

.partner-page__background--02 {
  top: min(150.3472vw, 2165px);
}


/* =========================================================
  small PC
========================================================= */
@media screen and (max-width: 1200px) {
  .partner-page__background--01 {
    top: 870px;
  }

  .partner-page__background--02 {
    top: 2020px;
  }
}

/* =========================================================
  tablet / small PC
========================================================= */
@media screen and (max-width: 1024px) {
  .partner-page {
    padding-top: var(--header-height);
    padding-bottom: 160px;
  }

  .partner-page.top-pattern-bg::before {
    top: 450px;
  }

  .partner-page__background--01 {
    top: 800px;
  }

  .partner-page__background--02 {
    top: 1820px;
  }
}

/* =========================================================
  tablet portrait
========================================================= */
@media screen and (max-width: 900px) {
  .partner-page__background--01 {
    top: 760px;
  }

  .partner-page__background--02 {
    top: 1720px;
  }
}

/* =========================================================
  smartphone
========================================================= */
@media screen and (max-width: 767px) {
  .partner-page {
    padding-top: var(--header-height);
    padding-bottom: 24vw;
  }

  .partner-page.top-pattern-bg::before {
    top: 96vw;
  }

  .partner-page__backgrounds {
    display: none;
  }
}

/* =========================================================
  small smartphone
========================================================= */
@media screen and (max-width: 480px) {
  .partner-page {
    padding-bottom: 120px;
  }

  .partner-page.top-pattern-bg::before {
    top: 360px;
  }
}
