#i-athlete .sec_find-shops {
  position: relative;
  perspective: 600px;
  background: url("/cms/contents/brand/i_athlete/img/bg_find-shops_pc.webp")
    center top / cover no-repeat;
  overflow: hidden;

  @media (width <= 740px) {
    background-image: url("/cms/contents/brand/i_athlete/img/bg_find-shops_sp.webp");
  }

  .bg {
    position: absolute;
    left: 50%;
    opacity: 0.15;
    z-index: -1;
    background: url("/cms/contents/brand/i_athlete/img/fig_grid.svg") center top;
    background-size: 1000px;
    width: 180%;
    height: 70%;

    @media (width <= 740px) {
      background-size: 360px;
      height: 40%;
    }

    &::after {
      position: absolute;
      left: 0;
      width: 100%;
      height: 90%;
      content: "";
    }

    &.is-top {
      top: -1px;
      transform: translateX(-50%) rotateX(-80deg);
      transform-origin: center top;

      @media (width <= 740px) {
        transform: translateX(-50%) rotateX(-90deg);
      }

      &::after {
        bottom: 0;
        background: linear-gradient(180deg, #ffffff00 0%, #eeeeeeff 100%);
      }
    }

    &.is-bottom {
      bottom: 0;
      transform: translateX(-50%) rotateX(80deg);
      transform-origin: center bottom;

      @media (width <= 740px) {
        transform: translateX(-50%) rotateX(90deg);
      }

      &::after {
        top: 0;
        background: linear-gradient(180deg, #d9d9d9ff 0%, #ffffff00 100%);
      }
    }
  }

  .inner {
    display: grid;
    justify-items: center;
    container-type: inline-size;
    margin-inline: auto;
    padding-top: min(113px, calc(113 / var(--max-w) * 100vw));
    padding-bottom: min(120px, calc(120 / var(--max-w) * 100vw));
    max-width: var(--max-w-px);

    @media (width <= 740px) {
      padding-block: calc(85 / var(--design-w-sp) * 100vw);
    }
  }

  p img {
    width: calc(368 / var(--max-w) * 100cqw);

    @media (width <= 740px) {
      width: calc(219 / var(--design-w-sp) * 100vw);
    }
  }

  .links {
    display: flex;
    column-gap: calc(30 / var(--max-w) * 100cqw);
    margin-top: calc(127 / var(--max-w) * 100cqw);

    @media (width <= 740px) {
      row-gap: calc(15 / var(--design-w-sp) * 100vw);
      flex-direction: column;
    }

    img {
      width: calc(390 / var(--max-w) * 100cqw);

      @media (width <= 740px) {
        width: calc(285 / var(--design-w-sp) * 100vw);
      }
    }
  }
}
