@charset "UTF-8";
/* ============================================================
 *
 * ホーム
 *
 * ============================================================ */
/* ------------------------------------------------------------
 * ピックアップスライダー
 * ------------------------------------------------------------ */
.pickup {
  padding-inline: var(--page-gap);
}

.pickupSlider {
  max-inline-size: 87.5rem;
  margin-block-end: clamp(1.25rem, 0.5127rem + 2.2727vw, 1.875rem);
  margin-inline: auto;
}

.pickupItem {
  display: flex;
  line-height: 1.6;
}
.pickupItem a {
  display: flex;
  flex-direction: column;
  inline-size: 100%;
  color: inherit;
  text-decoration: none;
}
.pickupItem a.is-hover .pickupItem_pic img {
  scale: 1.2;
}
.pickupItem a.is-hover .pickupItem_heading span {
  background-size: 100% 0.0625rem;
}

.pickupItem_heading {
  font-size: clamp(1.375rem, 0.6377rem + 2.2727vw, 2rem);
  font-weight: 700;
}
.pickupItem_heading span {
  background: linear-gradient(90deg, currentcolor 100%, transparent 0) no-repeat;
  background-position: left bottom;
  background-size: 0% 0.0625rem;
  transition: background-size 0.3s ease-in-out;
}

.pickupItem_pic {
  display: flex;
  align-items: center;
  justify-content: center;
  order: -1;
  aspect-ratio: 3/2;
  overflow: hidden;
  border-radius: var(--border-radius-m);
}
.pickupItem_pic img {
  inline-size: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.pickupItem_pic img {
  transition: scale 0.2s ease-out;
}

.pickupItemCategoryList {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-block-start: 1.875rem;
}

.pickupItemCategoryList_item {
  display: block;
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
  font-size: clamp(1rem, 0.8525rem + 0.4545vw, 1.125rem);
  font-weight: 700;
  color: #fff;
  background-color: #555;
}

.e-tagList:is(.pickupItem .e-tagList) {
  margin-block-start: 1.25rem;
}

.pickupSlider:has(:not(.splide__slide:nth-of-type(2))) .splide__controller {
  display: none;
}
.pickupSlider:has(.splide__slide:nth-of-type(2)) .splide__controller {
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  justify-content: center;
  margin-block-start: 1.25rem;
}
.pickupSlider .splide__pagination {
  display: flex;
}
.pickupSlider .splide__pagination li button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 2.5rem;
  aspect-ratio: 1;
}
.pickupSlider .splide__pagination li button::before {
  inline-size: 1.25rem;
  aspect-ratio: 1;
  content: "";
  background-color: #dfdfdf;
  border-radius: var(--border-radius-infinity);
}
.pickupSlider .splide__pagination li button::before {
  transition: background-color 0.2s ease-out;
}
.pickupSlider .splide__pagination li button:is(.is-hover, .is-active)::before {
  background-color: #003685;
}
.pickupSlider .splide__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 2.5rem;
  aspect-ratio: 1;
  background-color: #dfdfdf;
  border-radius: var(--border-radius-infinity);
}
.pickupSlider .splide__toggle {
  transition: background-color 0.2s ease-out;
}
.pickupSlider .splide__toggle svg {
  inline-size: 40%;
  fill: #000;
}
.pickupSlider .splide__toggle.is-hover {
  background-color: #003685;
}
.pickupSlider .splide__toggle.is-hover svg {
  fill: #fff;
}
/* ------------------------------------------------------------
 * タグから探す
 * ------------------------------------------------------------ */
.tag .e-tagList {
  margin-inline: -10px;
}
.tag .e-tagList_item a,
.tag .e-tagList_item > span {
  padding: 0.625rem;
}@media not all and (max-width: 50rem) {
  .pickupItem {
    position: relative;
    display: flex;
  }
  .pickupItem::before {
    inline-size: clamp(22.5rem, -19.1667rem + 83.3333vw, 53.75rem);
    aspect-ratio: 3/2;
    content: "";
  }
  .pickupItem a {
    flex: 1;
    justify-content: center;
    margin-inline-start: clamp(1.875rem, 0.2083rem + 3.3333vw, 3.125rem);
  }
  .pickupItem_pic {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: clamp(22.5rem, -19.1667rem + 83.3333vw, 53.75rem);
  }
}@media (max-width: 50rem) {
  .pickupItem_heading {
    margin-block-start: 1.25rem;
  }
  .pickupItem_pic {
    order: -1;
  }
  .pickupItemCategoryList {
    margin-block-start: 1.25rem;
  }
}
