@charset "UTF-8";
/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
** ＜20周年記念 スペシャルクーポンページ＞
**
** ▼ こちらのスタイルシートには、ページ固有のスタイルを記述してください。▼
** ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */
/**
 * グリッドレイアウト
 * ---------------------------------------- */
.grid--special-coupon .grid__item {
  display: grid;
}

/**
 * クーポン
 * ---------------------------------------- */
.coupon {
  background-color: var(--clr-black);
}

.coupon__inner {
  border: 1px solid #9d8227;
}

.coupon__line {
  border-top: 1px solid var(--clr-white);
  border-bottom: 1px solid var(--clr-white);
}

/**
 * ボタンブロック（クーポンコード）
 * ---------------------------------------- */
.coupon-button {
  display: flex;
  justify-content: center;
  width: 100%;
  background: linear-gradient(to bottom, #9d8227 0%, #9d8227 99%, #78631e 100%);
}

.coupon-button__text {
  font-family: var(--ff-secondary) !important;
  font-weight: var(--fw-semibold);
  color: var(--clr-white);
}

/**
 * ボタンブロック（店舗一覧）
 * ---------------------------------------- */
.counter-button {
  position: relative;
  display: flex;
  justify-content: center;
  padding-top: 12px;
  padding-right: 26px;
  padding-bottom: 12px;
  padding-left: 26px;
  background-color: var(--clr-black);
}

.counter-button::after {
  content: '';
  position: absolute;
  background-color: var(--clr-white);
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  top: 50%;
  transform: translateY(-50%);
}

.counter-button__text {
  font-family: var(--ff-secondary) !important;
  font-weight: var(--fw-semibold);
  color: var(--clr-white);
}

/**
 * ラベルブロック（見出し）
 * ---------------------------------------- */
.heading-label {
  position: relative;
  display: flex;
  justify-content: center;
  background-color: #363636;
  border-bottom: 2px solid #959676;
  overflow: hidden;
}

/**
 * ボックスブロック（フロー）
 * ---------------------------------------- */
.flow-box {
  padding-right: 30px;
  padding-left: 30px;
  border-top: 2px solid #959676;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.15);
  background-image: url('/contents/20th/special_cp/img/bg_20th_special_coupon_guide_ec_01.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
}

/**
 * ポップアップライブラリ（SweetAlert2）
 * ---------------------------------------- */
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm) {
  background: linear-gradient(to bottom, #9d8227 0%, #9d8227 99%, #78631e 100%) !important;
}

/**
 * PC
 * ---------------------------------------- */
@media screen and (min-width: 769px) {
  .grid--special-coupon .grid__item {
    grid-template-columns: 103px 1fr;
    column-gap: 24px;
  }

  .grid--special-coupon .grid__item:not(:first-child) {
    margin-top: 4px;
  }

  .mv.-special-coupon {
    background-image: url('/contents/20th/special_cp/img/bg_20th_special_coupon_mv_pc_01.jpg');
    background-position: center center;
  }

  .mv.-special-coupon .mv__copy {
    justify-content: flex-start;
    padding-top: 85px;
    padding-right: initial;
    padding-bottom: 85px;
    padding-left: initial;
  }

  .coupon {
    padding-top: 7px;
    padding-right: 7px;
    padding-bottom: 7px;
    padding-left: 7px;
  }

  .coupon__inner {
    padding-top: 17px;
    padding-right: 17px;
    padding-bottom: 17px;
    padding-left: 17px;
  }

  .coupon__line {
    margin-top: 15px;
    padding-top: 12px;
    padding-right: 8px;
    padding-bottom: 12px;
    padding-left: 8px;
  }

  .coupon-button {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .counter-button {
    min-width: 462px;
  }

  .counter-button::after {
    right: 26px;
    width: 14px;
    height: 20px;
  }

  .counter-button__text {
    font-size: var(--txt-20);
  }

  .heading-label {
    padding-top: 3px;
    padding-bottom: 5px;
  }

  .flow-box {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/**
 * SP
 * ---------------------------------------- */
@media screen and (max-width: 768px) {
  .grid--special-coupon .grid__item {
    grid-template-columns: 1fr;
  }

  .grid--special-coupon .grid__item:not(:first-child) {
    margin-top: 8px;
  }

  .image-sp-special-cp {
    width: 23%;
  }

  .coupon {
    padding-top: 4px;
    padding-right: 4px;
    padding-bottom: 4px;
    padding-left: 4px;
  }

  .coupon__inner {
    padding-top: 11px;
    padding-right: 10px;
    padding-bottom: 4px;
    padding-left: 10px;
  }

  .coupon__line {
    margin-top: 2px;
    padding-top: initial;
    padding-right: initial;
    padding-bottom: initial;
    padding-left: initial;
    border-bottom: initial;
  }

  .coupon-button {
    padding-top: 7px;
    padding-bottom: 7px;
  }

  .coupon-button__text {
    font-size: var(--txt-12);
  }

  .counter-button {
    min-width: initial;
    width: 100%;
  }

  .counter-button::after {
    right: 12px;
    width: 14px;
    height: 16px;
  }

  .heading-label {
    padding-top: 2px;
    padding-bottom: 2px;
  }

  .heading-label::after {
    width: 64px;
    height: 64px;
  }

  .flow-box {
    padding-top: 20px;
    padding-right: 35px;
    padding-bottom: 35px;
    padding-left: 35px;
  }

  div:where(.swal2-container) h2:where(.swal2-title) {
    font-size: var(--txt-22) !important;
  }

  div:where(.swal2-container) div:where(.swal2-html-container) {
    font-size: var(--txt-16) !important;
  }
}
