.block-genre-page--header-freespace {
  grid-area: 1 / 1 / auto / 3;
}

.pane-left-menu,
.pane-main {
  grid-row: 2 / 3;
  margin-top: 0px;
}

.pane-right-menu {
  grid-row: 3 / 4;
}

@media screen and (min-width: 768px) {
  .wrapper {
    padding-top: 80px;
  }
}

nav.sub_header.sh_kipling {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  max-width: 1400px;
  margin: 0px auto;
}

h1.sh_h1 {
  grid-column: 2 / 3;
  text-align: center;
  margin-bottom: 0px;
  display: flex;
  justify-content: center;
  padding: 15px 0px;

  & img {
    height: 50px;
    width: auto;
  }
}

.sh_links {
  grid-column: 3 / 4;
  justify-content: right;
  align-items: center;
  display: flex;
  gap: 30px;
  font-size: 18px;

  & a {
    text-decoration: none;
  }

  & a.genre_current {
    font-weight: bold;
    pointer-events: none;
  }
}

header .ff-bottom {
  display: none;
}

@media screen and (max-width: 768px) {
  h1.sh_h1 {
    margin-top: 0px;

    & img {
      height: 30px;
      width: auto;
    }
  }

  .sh_links {
    position: absolute;
    right: 0px;
    top: -45px;

    & a:last-child {
      display: none;
    }
  }
}

.block-genre-page--header-freespace {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  & header .ff-bottom {
    margin-bottom: 15px;
  }

  a:has(.bnr_text) {
    text-decoration: none;
  }

  p.bnr_text {
    margin-top: 10px;
  }
}

#splide_main {
  margin-bottom: 60px;

  .splide:not(.is-overflow) .splide__pagination {
    display: inline-flex;
  }

}

.block-goods-list--pager-bottom.block-goods-list--pager.pager {
  display: none;
}

.block-top-event--header {
  margin-top: 0px;
}

#allitems.block-top-event--header {
  margin-top: 120px;
}

.block-genre-page--goods {
  border-width: medium;
  border-style: none;
  border-color: currentcolor;
  border-image: none;
  padding: 0px;
  margin-top: 120px;
}

dl.block-goods-list--sort-order-items {
  display: none;
}

.block-top-event--goods {
  margin-bottom: 0px;
}

.block-cart-i--items li {
  margin-bottom: 30px;
}

.event_viewall {
  margin: 30px auto 120px;
}

#_rcmdjp_display_1 {
  margin-bottom: 120px;
}

#splide_contents {
  margin-bottom: 60px;

  & a {
    text-decoration: none;

    & .bnr_h3 {
      font-size: 14px;
      margin-bottom: 0;
    }
  }
}

.brand_sns {
  background: rgb(250, 250, 250);
  padding: 45px 120px;

  & .brand_sns_wrap {
    background-color: rgb(255, 255, 255);
    padding: 15px 30px 45px;
    border-radius: 15px;

    & ul.brand_sns_list {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 30px;

      & li {
        width: 60px;
      }

      & a {
        display: inline-block;
      }

      & svg {
        width: 50px;
        height: 50px;
        fill: rgb(0, 0, 0);
      }
    }
  }
}

.pane-topic-path {
  grid-column: 1 / 3;
}

@media screen and (max-width: 768px) {
  main.pane-main {
    padding-top: 0px !important;
  }

  .splide__pagination {
    bottom: -1.5em;
  }

  .block-top-event--goods {
    margin-bottom: 60px;

    & .block-thumbnail-t {
      overflow-x: scroll;
    }

    & .block-thumbnail-t--items {
      display: grid;
      grid-template-rows: repeat(2, 1fr);
      grid-auto-flow: column;
      grid-auto-columns: 40vw;
      margin-top: 0px;
      gap: 0px 15px;
    }

    & .block-thumbnail-t--items li {
      width: 40vw;
      padding: 0px !important;
    }
  }

  #reco01 {
    overflow-x: scroll !important;
    margin-bottom: 120px;

    &>p {
      width: 100vw;
      font-size: 17px!important;
    }

    &>p:after {
      top: 45px!important;
    }

    & ul {
      grid-template-rows: repeat(2, 1fr);
      grid-auto-flow: column;
      grid-auto-columns: 40vw;
      gap: 0px 15px;
      display: grid !important;
      padding-left: 15px !important;
      overflow-x: scroll !important;

      & li {
        width: 40vw;
      }
    }
  }

  .block-genre-page--goods {
    margin-top: 0px;
    margin-bottom: 60px;
  }

  .block-goods-list--sort-order-items,
  .block-goods-list-naviframe--bottom.block-goods-list-naviframe {
    display: none;
  }

  .brand_sns {
    padding: 30px 30px 45px;

    & .brand_sns_wrap {
      & ul.brand_sns_list {
        gap: 15px;

        & li {
          width: 45px;
        }

        & a {
          display: inline-block;
        }

        & svg {
          width: 45px;
          height: 45px;
          fill: rgb(0, 0, 0);
        }
      }
    }
  }
}