@charset "UTF-8";
/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
** ＜20周年記念 PREMIUM SELECTION 20＞
**
** ▼ こちらのスタイルシートには、ページ固有のスタイルを記述してください。▼
** ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */
/**
 * セクション
 * ---------------------------------------- */
.section--bg-light-blue {
  background-color: var(--clr-light-blue);
}

.section--bg-premium {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

/**
 * 見出し（下線）
 * ---------------------------------------- */
.heading--bottom-line {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--clr-black);
}

/**
 * 見出しラベル
 * ---------------------------------------- */
.heading-label {
  position: relative;
  background-color: #2c357d;
}

.heading-label::after {
  content: '';
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  background-image: url('/contents/20th/premium_selection/img/img_premium_20th_logo_01.png');
  background-repeat: no-repeat;
  background-size: contain;
}

.heading-label__sub,
.heading-label__main {
  color: var(--clr-white);
  line-height: var(--lh-small);
}

/**
 * 見出しラベル（グラデーション）
 * ---------------------------------------- */
.heading-gradation-label {
  font-weight: var(--fw-semibold);
  background: linear-gradient(to right, rgba(151, 129, 52, 1) 0%, rgba(193, 178, 93, 1) 20%, rgba(229, 221, 129, 1) 50%, rgba(193, 179, 94, 1) 80%, rgba(151, 129, 52, 1) 100%);
  clip-path: polygon(0 0, 100% 0, 94% 50%, 100% 100%, 0 100%, 6% 50%, 0 0);
}

.heading-gradation-label__value {
  line-height: var(--lh-small);
  letter-spacing: 0.01em;
}

/**
 * カード（セレクト）
 * ---------------------------------------- */
.select-card {
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: var(--clr-white);
}

.select-card__image {
  display: flex;
  justify-content: center;
}

.select-card__heading {
  margin-top: 14px;
  padding-bottom: 3px;
  border-bottom: 1px solid var(--clr-primary);
  font-size: var(--txt-15);
  font-weight: var(--fw-medium);
  text-align: center;
}

.select-card__text {
  margin-top: 14px;
}

.select-card__box {
  display: flex;
  align-items: center;
  column-gap: 11px;
  margin-top: 14px;
}

.select-card__badge {
  padding-top: 2px;
  padding-right: 10px;
  padding-bottom: 2px;
  padding-left: 10px;
  background-color: #2c357d;
}

.select-card__badgeText {
  color: var(--clr-white);
}

.select-card__label {
  margin-top: 14px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 3px;
  background-color: var(--clr-gold);
  padding-top: 4px;
  padding-right: 3px;
  padding-bottom: 4px;
  padding-left: 3px;
}

.select-card__labelText {
  font-weight: var(--fw-medium);
}

.select-card__labelPrice {
  font-size: var(--txt-28);
  font-weight: var(--fw-medium);
  line-height: var(--lh-small);
}

.select-card__brand,
.select-card__product {
  font-size: var(--txt-15);
  word-break: break-all;
}

.select-card__brand {
  margin-top: 14px;
}

.select-card__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 4px;
  color: var(--clr-primary);
  margin-top: 14px;
  padding-bottom: 2px;
  border-bottom: 1px solid var(--clr-primary);
}

.select-card__link::after {
  content: '';
  display: inline-block;
  background-color: var(--clr-gold);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

/* ホバー */
.select-card__link:hover {
  color: var(--clr-primary);
}

/**
 * 店舗別厳選ラインナップ（SP閲覧時のカルーセル）
 * ---------------------------------------- */
.select-card-carousel .splide__pagination__page.is-active {
  background: #bababa;
  opacity: 1;
  transform: initial;
}

/**
 * メインビジュアル
 * ---------------------------------------- */
.premium-mv {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

/**
 * アンカーリンク
 * ---------------------------------------- */
.anchor {
  position: relative;
  background-color: var(--clr-white);
  padding-top: 4px;
  padding-right: 4px;
  padding-bottom: 4px;
  padding-left: 4px;
}

.anchor__inner {
  display: flex;
  justify-content: center;
  padding-top: 11px;
  padding-bottom: 11px;
  border: 1px solid var(--clr-gold);
}

.anchor__text {
  display: inline-flex;
  align-items: center;
  column-gap: 4px;
  line-height: var(--lh-small);
}

.anchor__text::after {
  content: '';
  display: inline-block;
  background-color: var(--clr-black);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: relative;
  top: 1px;
}

/**
/* ボタン
-------------------------------------------- */
.premium-button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 8px;
  background-color: #7f7f7f;
  color: var(--clr-white);
  padding-top: 16px;
  padding-right: 16px;
  padding-bottom: 16px;
  padding-left: 16px;
  text-align: center;
}

.premium-button::before,
.premium-button::after {
  content: '';
}

.premium-button::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid var(--clr-white);
}

.premium-button::after {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background-color: var(--clr-white);
}

/* ホバー */
.premium-button:hover {
  color: var(--clr-white);
}

/**
 * PC
 * ---------------------------------------- */
@media screen and (min-width: 769px) {
  #contents {
    padding-bottom: initial;
  }

  .section--bg-premium {
    background-image: url('/contents/20th/premium_selection/img/bg_premium_pc_01.jpg');
  }

  .heading-head {
    width: 100%;
    max-width: 725px;
    margin-right: 90px;
    margin-left: 197px;
  }

  .heading-label {
    align-items: center;
    column-gap: 15px;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 30px;
  }

  .heading-label__inner {
    display: flex;
    column-gap: 15px;
    justify-content: center;
    align-items: center;
    padding-top: 7px;
    padding-bottom: 7px;
    border-top: 1px solid var(--clr-white);
    border-bottom: 1px solid var(--clr-white);
  }

  .heading-label__sub {
    font-size: var(--txt-28);
  }

  .heading-label__main {
    font-size: var(--txt-32);
  }

  .heading-label::after {
    left: -105px;
    width: 148px;
    height: 148px;
  }

  .heading-label__subText {
    font-size: var(--txt-28);
  }

  .heading-gradation-label {
    font-size: var(--txt-32);
    padding-right: 65px;
    padding-left: 65px;
  }

  .heading-gradation-label__value {
    font-size: var(--txt-44);
  }

  .premium-mv {
    background-image: url('/contents/20th/premium_selection/img/img_mv_bg_01.jpg');
    background-position: center left;
  }

  .premium-mv__inner {
    display: flex;
    justify-content: flex-start;
    max-width: 1015px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 34px;
    padding-bottom: 31px;
  }

  .premium-mv__copy {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .anchor {
    padding-top: 4px;
    padding-right: 4px;
    padding-bottom: 4px;
    padding-left: 4px;
  }

  .anchor__text {
    font-size: var(--txt-20);
  }

  .anchor__text::after {
    width: 20px;
    height: 16px;
  }

  .select-card {
    padding-right: 10px;
    padding-left: 10px;
    width: calc(100% / 3 - 11px);
  }

  .select-card-carousel .splide__track {
    overflow: visible;
  }

  .select-card-carousel.splide.is-initialized:not(.is-active) .splide__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 16px;
    row-gap: 16px;
  }

  .select-card__product {
    margin-top: 14px;
  }

  .select-card__link::after {
    width: 20px;
    height: 20px;
  }

  .premium-button {
    min-width: 530px;
  }

  .premium-button::after {
    width: 16px;
    height: 18px;
  }
}

/**
 * SP
 * ---------------------------------------- */
@media screen and (max-width: 768px) {
  .section--bg-premium {
    background-image: url('/contents/20th/premium_selection/img/bg_premium_sp_01.jpg');
  }

  .premium-mv {
    margin-top: 24px;
  }

  .premium-mv__copy img {
    width: 100%;
  }

  .anchor__text::after {
    width: 18px;
    height: 14px;
  }

  .heading-label {
    width: 89%;
    margin-left: auto;
  }

  .heading-label::after {
    left: -50px;
    width: 74px;
    height: 74px;
  }

  .heading-label__inner {
    display: grid;
    justify-items: flex-start;
    padding-top: 2px;
    padding-right: 16px;
    padding-bottom: 5px;
    padding-left: 35px;
  }

  .heading-label__sub,
  .heading-label__main {
    display: block;
  }

  .heading-label__sub {
    display: flex;
    align-items: center;
    column-gap: 7px;
    width: 100%;
  }

  .heading-label__sub::after {
    content: '';
    display: block;
    background-color: var(--clr-white);
    width: 100%;
    height: 1px;
  }

  .heading-label__subText {
    flex-shrink: 0;
    font-size: var(--txt-12);
  }

  .heading-label__main {
    margin-top: 5px;
    font-size: var(--txt-18);
  }

  .heading-gradation-label {
    font-size: var(--txt-25);
    padding-right: 50px;
    padding-left: 50px;
  }

  .heading-gradation-label__value {
    font-size: var(--txt-35);
  }

  .select-card {
    padding-right: 16px;
    padding-left: 16px;
  }

  .select-card-carousel .splide__arrow--prev {
    left: 10px;
  }

  .select-card-carousel .splide__arrow--next {
    right: 10px;
  }

  .select-card-carousel .splide__arrow {
    background-color: #d9d9d9;
    width: 26px;
    height: 40px;
    top: 77px;
    transform: initial;
    border-radius: initial;
  }

  .select-card-carousel .splide__arrow svg {
    display: none;
  }

  .select-card-carousel .splide__arrow::before,
  .select-card-carousel .splide__arrow::after {
    content: '';
    position: absolute;
    top: calc(50% - 0.75px);
    width: 20px;
    height: 1.5px;
    border-radius: 9999px;
    background-color: var(--clr-white);
  }

  .select-card-carousel .splide__arrow--next::before,
  .select-card-carousel .splide__arrow--next::after {
    right: 6px;
    transform-origin: calc(100% - 1px) 50%;
  }

  .select-card-carousel .splide__arrow--next::before {
    transform: rotate(45deg);
  }

  .select-card-carousel .splide__arrow--next::after {
    transform: rotate(-45deg);
  }

  .select-card-carousel .splide__arrow--prev::before,
  .select-card-carousel .splide__arrow--prev::after {
    left: 6px;
    transform-origin: 1px 50%;
  }

  .select-card-carousel .splide__arrow--prev::before {
    transform: rotate(-45deg);
  }

  .select-card-carousel .splide__arrow--prev::after {
    transform: rotate(45deg);
  }

  .select-card-carousel .splide__pagination {
    position: static;
    margin-top: 16px;
  }

  .select-card-carousel .splide__pagination__page {
    background: var(--clr-white);
  }

  .select-card__product {
    margin-top: 8px;
  }

  .select-card__link::after {
    width: 14px;
    height: 16px;
  }

  .premium-button {
    width: 100%;
  }

  .premium-button::after {
    width: 12px;
    height: 14px;
  }
}
