/* 共通コンポーネントに特有のスタイルを反映 */
.yadonohitokushu #page_info {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media (max-width: 768px) {
  .yadonohitokushu .pageTopLink.sp a {
    padding-top: 2px;
  }
}
/* // 共通コンポーネントに特有のスタイルを反映 */
html {
  --custom-rem: calc(100vw * 10 / 375); /* font-sizeとmv__imageのレスポンシブ用に使用 */
  scroll-behavior: smooth;
}
.mv {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 1000px;
  height: 340px;
  background-image: url("../images/mv_bg.png");
  background-position: center;
  background-size: 950px 340px;
}
.mv__image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.coupon {
  width: 950px;
  padding-block: 64px 48px;
  margin: 0 auto;
}
.coupon-group {
  background-image: url("../images/content_bg.svg");
  background-repeat: no-repeat;
}
.coupon-group:nth-of-type(n + 2) {
  margin-top: 64px;
}
.coupon-group__header {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  color: #42382a;
  text-align: center;
}
.coupon-group__header::before {
  display: block;
  width: 80px;
  height: 15px;
  content: "";
  background-image: url("../images/shurikens.svg");
}
.coupon-list {
  display: flex;
  gap: 4px;
  margin-top: 16px;
}
.coupon-item {
  width: 100%;
  max-width: 314px;
  padding: 16px 22px 20px;
  font-size: 0;
  background-color: #f7f5f3;
}
.coupon-item:nth-of-type(1) {
  border-radius: 16px 0 0 16px;
}
.coupon-item:nth-of-type(3) {
  border-radius: 0 16px 16px 0;
}
.coupon-item__text {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  color: #333;
}
.coupon-item__title {
  margin-bottom: 8px;
  text-align: center;
  letter-spacing: 1.1px;
}
.coupon-item__title-marker {
  background: linear-gradient(transparent 50%, #fff156 50%);
}
.coupon-item__title-strong {
  font-size: 24px;
}
.coupon-item__title-orange {
  color: #f85b05;
}
.coupon-item__link {
  position: relative;
  display: inline-block;
  font-size: 0;
}
.coupon-item__link:hover {
  opacity: 0.6 !important;
}
.coupon-item__price-text {
  position: absolute;
  top: 14px;
  left: 50%;
  width: 100%;
  letter-spacing: 1.1px;
  text-align: center;
  transform: translateX(-50%);
}
.coupon-item__price-text-strong {
  font-size: 27px;
  color: #f50000;
}
.coupon-item__note {
  margin-top: 8px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  color: #333;
}
@media (max-width: 768px) {
  .mv {
    min-width: initial;
    height: calc(var(--custom-rem, 1rem) * 27.2);
    background-repeat: repeat-x;
    background-position: center;
    background-size: auto 100%;
  }
  .mv__image {
    position: initial;
    width: 100%;
    height: auto;
    transform: none;
  }
  .coupon {
    width: 100%;
    padding-block: 40px 24px;
  }
  .coupon-group {
    padding-inline: 24px;
    background-position: center 0;
  }
  .coupon-group__header {
    font-size: 28px;
  }
  .coupon-list {
    flex-direction: column;
  }
  .coupon-item {
    max-width: initial;
    padding-inline: 24px;
  }
  .coupon-item:nth-of-type(1) {
    border-radius: 16px 16px 0 0;
  }
  .coupon-item:nth-of-type(3) {
    border-radius: 0 0 16px 16px;
  }
  .coupon-item__link {
    display: block;
  }
  .coupon-item__image {
    width: 100%;
    height: auto;
  }
  .coupon-item__price-text {
    top: 50%;
    font-size: 4.8vw;
    transform: translate(-50%, -92%);
  }
  .coupon-item__price-text-strong {
    font-size: 7.2vw;
  }
}
