/* 秋の健康応援フェア（contents/autumn-fair-2026/）
   Shared header, footer, buttons, section headings and product cards use style.css. */

.fair-page .site-footer { margin-top: 160rem; }
.fair { padding-bottom: 8rem; }

/* Fair top: hero */
.fair-hero {
  position: relative;
  padding: 96rem 80rem 104rem;
  overflow: hidden;
  background: linear-gradient(160deg, #f5fafc 0%, #e8f0f3 100%);
  text-align: center;
}
.fair-hero::before {
  content: "";
  position: absolute;
  inset: 24rem;
  border: 1px solid #7096a366;
  pointer-events: none;
}
.fair-hero__en {
  color: var(--color-display);
  font: 400 90rem/1.2 var(--font-display);
  white-space: nowrap;
}
.fair-hero h1 {
  margin-top: 16rem;
  font-size: max(28px, 56rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .04em;
}
.fair-hero__period {
  display: inline-block;
  margin-top: 32rem;
  padding: 8rem 32rem;
  border-radius: var(--radius-pill);
  background: var(--color-blue);
  color: #fff;
  font-size: max(14px, 18rem);
  line-height: 1.8;
}
.fair-hero__lead {
  margin-top: 40rem;
  font-size: max(16px, 22rem);
  line-height: 2;
}
.fair-hero__lead strong {
  color: var(--color-blue);
  font-weight: 700;
}

/* Fair top: about */
.fair-about { margin-top: 160rem; }
.fair-about__text {
  margin-top: 40rem;
  text-align: center;
  line-height: 2;
}
.fair-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36rem;
  margin-top: 96rem;
  padding: 0;
  list-style: none;
}
.fair-step {
  position: relative;
  padding: 72rem 40rem 48rem;
  background: #fff;
  box-shadow: 0 10rem 15rem #0000000d, 0 0 0 1px #7096a326;
  text-align: center;
}
.fair-step__number {
  position: absolute;
  top: -49rem;
  left: 0;
  width: 100%;
  font: 400 80rem/98rem var(--font-display);
}
.fair-step__en {
  color: var(--color-blue);
  font: 400 max(14px, 18rem)/1.4 var(--font-display);
}
.fair-step h3 {
  margin-top: 8rem;
  color: var(--color-blue);
  font-size: max(18px, 24rem);
  line-height: 1.5;
}
.fair-step p:not(.fair-step__en) {
  margin-top: 16rem;
  text-align: left;
  line-height: 2;
}
.fair-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40rem;
  margin-top: 64rem;
  padding: 40rem 56rem;
  border: 1px solid #06c75566;
  background: #f3fcf6;
}
.fair-line p { line-height: 2; }
.fair-line strong { font-weight: 700; }
#main .button--line {
  flex-shrink: 0;
  width: 320rem;
  color: #fff;
  background: #06c755;
}

/* Quiz list (fair top / other quizzes) */
.fair-list { margin-top: 160rem; }
.quiz-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24rem 32rem;
  margin-top: 64rem;
  padding: 0;
  list-style: none;
}
.quiz-link {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 32rem;
  height: 100%;
  min-height: 140rem;
  padding: 24rem 32rem;
  background: #fff;
  box-shadow: 0 0 15rem #0000001a;
  transition: transform var(--transition), box-shadow var(--transition), background-color var(--transition);
}
.quiz-link__day {
  display: grid;
  place-content: center;
  width: 92rem;
  height: 92rem;
  border-radius: 50%;
  background: var(--color-blue);
  color: #fff;
  font-family: var(--font-display);
  text-align: center;
  line-height: 1;
}
.quiz-link__day > span:first-child { font-size: max(11px, 14rem); }
.quiz-link__number { margin-top: 4rem; font-size: max(24px, 36rem); }
.quiz-link__date {
  display: block;
  color: var(--color-blue);
  font-size: max(13px, 14rem);
  line-height: 1.6;
}
.quiz-link__question {
  display: block;
  margin-top: 4rem;
  font-size: max(15px, 18rem);
  font-weight: 700;
  line-height: 1.7;
}
.quiz-link__status {
  justify-self: end;
  min-width: 64rem;
  color: var(--color-blue);
  font: 400 max(12px, 14rem)/1 var(--font-display);
  text-align: right;
}
.quiz-link__status--new {
  padding: 6rem 12rem;
  border-radius: var(--radius-pill);
  background: #e62b92;
  color: #fff;
  text-align: center;
}
a.quiz-link .quiz-link__status:not(.quiz-link__status--new)::after {
  content: "";
  display: inline-block;
  width: 24rem;
  height: 24rem;
  min-width: 16px;
  min-height: 16px;
  vertical-align: middle;
  background: url("../img/common/gallery-chevron.svg") center / contain no-repeat;
}
.quiz-link.is-current {
  background: #f0f6f8;
  box-shadow: inset 0 0 0 2px var(--color-blue);
}
.quiz-link.is-locked {
  background: #f4f6f7;
  box-shadow: none;
  color: #8a9599;
}
.quiz-link.is-locked .quiz-link__day { background: #b8c4c8; }
.quiz-link.is-locked .quiz-link__date { color: inherit; }
.quiz-link.is-locked .quiz-link__question { font-weight: 500; }

/* Quiz article */
.quiz {
  width: min(100%, 1100rem);
  margin-inline: auto;
}
.quiz__header { text-align: center; }
.quiz__day {
  color: var(--color-blue);
  font: 400 max(40px, 72rem)/1.1 var(--font-display);
}
.quiz__date {
  margin-top: 8rem;
  font-size: max(13px, 14rem);
}
.quiz__question {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 16rem;
  margin-top: 48rem;
  font-size: max(21px, 34rem);
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
}
.quiz__question-mark {
  flex-shrink: 0;
  color: var(--color-blue);
  font: 400 1.4em/1 var(--font-display);
}
.quiz__instruction {
  margin-top: 40rem;
  text-align: center;
  font-size: max(14px, 16rem);
}
.quiz-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32rem;
  margin-top: 24rem;
}
.quiz-choice {
  display: flex;
  align-items: center;
  gap: 24rem;
  width: 100%;
  min-height: max(88px, 128rem);
  padding: 24rem 32rem;
  border: 2px solid var(--color-blue);
  border-radius: 16rem;
  background: #fff;
  font-size: max(17px, 22rem);
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
  box-shadow: 0 6rem 0 #7096a340;
  transition: background-color var(--transition), color var(--transition), transform var(--transition), box-shadow var(--transition);
}
.quiz-choice__label {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: max(44px, 64rem);
  height: max(44px, 64rem);
  border-radius: 50%;
  background: var(--color-blue);
  color: #fff;
  font: 400 max(22px, 30rem)/1 var(--font-display);
  transition: background-color var(--transition), color var(--transition);
}
.quiz-choice[aria-pressed="true"] {
  background: var(--color-blue);
  color: #fff;
  box-shadow: 0 2rem 0 #7096a340;
  transform: translateY(4rem);
}
.quiz-choice[aria-pressed="true"] .quiz-choice__label {
  background: #fff;
  color: var(--color-blue);
}

/* Answer accordion: collapsed only after fair.js is ready (content stays visible without JS). */
.quiz-answer {
  display: grid;
  grid-template-rows: 1fr;
  scroll-margin-top: 120rem;
}
/* Focus moves here for screen readers only; the region itself is not interactive. */
.quiz-answer:focus { outline: none; }
/* Animate only when opening (no collapse animation on page load). */
.quiz.is-ready .quiz-answer.is-open { transition: grid-template-rows 500ms ease; }
.quiz-answer__inner {
  min-height: 0;
  overflow: hidden;
}
.quiz.is-ready .quiz-answer:not(.is-open) { grid-template-rows: 0fr; }
.quiz.is-ready .quiz-answer:not(.is-open) .quiz-answer__inner { visibility: hidden; }
.quiz-answer__body {
  scroll-margin-top: 120rem;
  margin-top: 56rem;
  padding: 48rem 64rem 56rem;
  border-top: 4rem solid var(--color-blue);
  background: #f5fafc;
}
/* Answer, movie, coupon and shop all fade in together after a choice is made. */
.quiz.is-ready .quiz-answer.is-open .quiz-answer__inner > * { transition: opacity 500ms ease 100ms, transform 500ms ease 100ms; }
.quiz.is-ready .quiz-answer:not(.is-open) .quiz-answer__inner > * {
  opacity: 0;
  transform: translateY(-16rem);
}
.quiz-answer__en {
  color: var(--color-blue);
  font: 400 max(16px, 20rem)/1.4 var(--font-display);
  letter-spacing: .1em;
}
.quiz-answer__result {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8rem 16rem;
  margin-top: 16rem;
  font-size: max(20px, 28rem);
  font-weight: 700;
  line-height: 1.5;
}
.quiz-answer__result .quiz-choice__label {
  width: max(40px, 56rem);
  height: max(40px, 56rem);
  font-size: max(20px, 26rem);
}
.quiz-answer__text {
  margin-top: 24rem;
  padding-top: 24rem;
  border-top: 1px solid #7096a366;
}
.quiz-answer__text p { line-height: 2; }
.quiz-answer__text p + p { margin-top: 1em; }

/* Movie inside the ANSWER box: answer → explanation → movie in one flow. */
.quiz-answer__movie {
  margin-top: 40rem;
  padding-top: 32rem;
  border-top: 1px solid #7096a366;
}
.quiz-answer__movie-title {
  display: flex;
  align-items: baseline;
  gap: 16rem;
  color: var(--color-blue);
  font-size: max(17px, 20rem);
  font-weight: 700;
  line-height: 1.5;
}
.quiz-answer__movie-title [lang="en"] {
  font: 400 max(14px, 16rem)/1 var(--font-display);
  letter-spacing: .1em;
}
.quiz-video {
  position: relative;
  aspect-ratio: 16 / 9;
  margin-top: 20rem;
  background: #e8f0f3;
}
.quiz-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.quiz-video__placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--color-blue);
}
.quiz-video__note {
  margin-top: 16rem;
  font-size: 14px;
  line-height: 1.8;
}

/* Coupon → Amazon in one section. */
.fair-offer {
  /* Gold–brown accents to match the gold frame (instead of the site blue). */
  --offer-gold: #c9a24a;
  --offer-brown: #8a6a1f;
  --offer-brown-dark: #6e5418;
  --offer-light: #fbf5e4;
  margin-top: 120rem;
  padding: 72rem 80rem 80rem;
  border: 5rem solid transparent;
  border-image: linear-gradient(120deg, #b9902f 0%, #f8e9a8 28%, #dfbd4b 52%, #fff4c5 76%, #b9902f 100%) 1;
  background: linear-gradient(180deg, #fffdf4 0%, #fff 60%);
  box-shadow: 0 15rem 15rem #0000001a;
  text-align: center;
}
.fair-offer__sub {
  color: var(--offer-brown);
  font-size: max(15px, 20rem);
  font-weight: 700;
  line-height: 1.6;
}
.fair-offer__title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24rem;
  margin-top: 8rem;
  font-size: max(22px, 36rem);
  font-weight: 700;
  line-height: 1.5;
}
/* Speech-bubble slashes on both sides: ＼ title ／ */
.fair-offer__title::before,
.fair-offer__title::after {
  content: "";
  flex-shrink: 0;
  width: 2px;
  height: 1.3em;
  background: var(--offer-brown);
  transform: rotate(-25deg);
}
.fair-offer__title::after { transform: rotate(25deg); }
.fair-offer__br { display: none; }
.fair-offer__lead {
  margin-top: 56rem;
  font-weight: 700;
  line-height: 1.8;
}
.fair-offer__lead::before {
  content: "";
  display: block;
  width: max(20px, 28rem);
  height: max(20px, 28rem);
  margin: 0 auto 16rem;
  background: var(--offer-gold);
  -webkit-mask: url("../img/common/gallery-chevron.svg") center / contain no-repeat;
  mask: url("../img/common/gallery-chevron.svg") center / contain no-repeat;
  transform: rotate(90deg);
}
.fair-offer .coupon { border-color: var(--offer-gold); }
.fair-offer .coupon__code { background: var(--offer-light); color: var(--offer-brown-dark); }
.fair-offer .coupon__copy { border-color: var(--offer-brown); color: var(--offer-brown-dark); }
.fair-offer .product-card__body { border-top-color: var(--offer-gold); }
.fair-offer .product-card__brand { border-color: var(--offer-brown); color: var(--offer-brown); }
.fair-offer .button--blue { background: var(--offer-brown); }
@media (hover: hover) {
  .fair-offer .coupon__copy:hover { border-color: var(--offer-brown); background: var(--offer-brown); color: #fff; }
  .fair-offer .button--blue:hover { background: var(--offer-brown-dark); }
}
.fair-offer .product-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 460rem));
  justify-content: center;
  margin-top: 32rem;
}
.fair-offer .product-card { min-height: 0; text-align: left; }
#main .fair-offer__store {
  display: flex;
  width: min(100%, 500px);
  min-height: 70px;
  margin: 20rem auto 0;
  font-size: max(16px, 18rem);
}

.coupon {
  margin-top: 48rem;
  padding: 48rem 56rem 56rem;
  border: 2px dashed var(--color-blue);
  background: #fff;
  text-align: center;
}
.coupon__label { font-size: max(14px, 16rem); }
.coupon__code {
  display: inline-block;
  margin-top: 16rem;
  padding: 12rem 40rem;
  background: #f5fafc;
  font: 400 max(32px, 56rem)/1.3 var(--font-display);
  letter-spacing: .12em;
  user-select: all;
}
#main .coupon__copy {
  display: flex;
  width: min(100%, 360px);
  margin: 32rem auto 0;
}
.coupon__note {
  margin-top: 24rem;
  font-size: 14px;
  line-height: 1.8;
}

.fair-back {
  margin-top: 80rem;
  text-align: center;
}
#main .fair-back .button { width: min(100%, 400px); }

@media (hover: hover) {
  .quiz-choice:hover:not([aria-pressed="true"]) { background: #f0f6f8; transform: translateY(2rem); box-shadow: 0 4rem 0 #7096a340; }
  a.quiz-link:hover { transform: translateY(-3rem); box-shadow: 0 7rem 16rem #3e494c26; }
  #main .button--line:hover { background: #05b04b; }
}

@media (max-width: 1400px) {
  .fair-line { flex-direction: column; align-items: stretch; text-align: center; }
  #main .button--line { width: 100%; max-width: 400px; margin-inline: auto; }
}

@media (max-width: 1100px) {
  .fair-page .site-footer { margin-top: 76px; }
  .fair-hero { padding: 56px 32px 64px; }
  .fair-hero::before { inset: 12px; }
  .fair-hero__en { font-size: clamp(26px, 5.4vw, 52px); }
  .fair-hero__lead { font-size: 16px; }
  .fair-about, .fair-list { margin-top: 88px; }
  .fair-about__text { font-size: 14px; }
  .fair-steps { gap: 18px; margin-top: 64px; }
  .fair-step { padding: 48px 20px 28px; }
  .fair-step__number { top: -27px; font-size: 44px; line-height: 54px; }
  .fair-step p:not(.fair-step__en) { font-size: 14px; line-height: 1.9; }
  .fair-line { margin-top: 40px; padding: 24px; gap: 20px; }
  .fair-line p { font-size: 14px; }
  .quiz-list { gap: 16px; margin-top: 40px; }
  .quiz-link { gap: 16px; padding: 16px 20px; min-height: 96px; }
  .quiz-link__day { width: 64px; height: 64px; }
  .quiz-link__number { margin-top: 2px; }
  .quiz__question { margin-top: 32px; gap: 12px; }
  .quiz__instruction { margin-top: 32px; }
  .quiz-choices { gap: 16px; margin-top: 16px; }
  .quiz-choice { gap: 16px; padding: 16px 20px; border-radius: 12px; box-shadow: 0 5px 0 #7096a340; }
  .quiz-choice[aria-pressed="true"] { transform: translateY(3px); box-shadow: 0 2px 0 #7096a340; }
  .quiz-answer, .quiz-answer__body { scroll-margin-top: 92px; }
  .quiz-answer__body { margin-top: 40px; padding: 32px 24px 36px; border-top-width: 3px; }
  .quiz-answer__text p { font-size: 15px; line-height: 1.9; }
  .quiz-answer__movie { margin-top: 28px; padding-top: 24px; }
  .quiz-video { margin-top: 14px; }
  .fair-offer { margin-top: 64px; padding: 48px 32px 52px; border-width: 2px; }
  .fair-offer__lead { margin-top: 40px; }
  .coupon { margin-top: 32px; padding: 32px 20px 36px; }
  .coupon__code { padding: 8px 24px; }
  .coupon__note { text-align: left; }
  .fair-back { margin-top: 56px; }
}

@media (max-width: 800px) {
  .quiz-list { grid-template-columns: 1fr; }
  .fair-steps { grid-template-columns: 1fr; gap: 48px; max-width: 480px; margin-inline: auto; }
}

@media (max-width: 600px) {
  .fair-page .site-footer { margin-top: 56px; }
  .fair-hero { padding: 48px 20px 52px; }
  .fair-hero h1 { font-size: 26px; }
  .fair-hero__lead { font-size: 15px; text-align: left; }
  .fair-hero__lead br { display: none; }
  .fair-about, .fair-list { margin-top: 70px; }
  .fair-about__text { text-align: left; }
  .fair-about__text br { display: none; }
  .quiz-link { gap: 12px; padding: 14px 12px 14px 14px; }
  .quiz-link__day { width: 56px; height: 56px; }
  .quiz-link__number { font-size: 22px; }
  .quiz-link__status { min-width: 0; font-size: 11px; }
  .quiz-link__status--new { padding: 4px 8px; }
  .coupon { padding-inline: 12px; }
  .coupon__code { max-width: 100%; padding: 6px 12px; font-size: 28px; letter-spacing: .06em; overflow-wrap: anywhere; }
  .coupon__label { font-size: 13px; }
  .quiz__question { font-size: 20px; }
  .quiz-choices { grid-template-columns: 1fr; }
  .quiz-choice { min-height: 76px; font-size: 17px; }
  .fair-offer { margin-top: 48px; padding: 40px 16px 44px; }
  .fair-offer__sub { font-size: 14px; }
  .fair-offer__title { gap: clamp(8px, 3.6vw, 14px); font-size: clamp(16px, 5.1vw, 20px); }
  .fair-offer__title::before, .fair-offer__title::after { align-self: stretch; height: auto; margin-block: 4px; transform: rotate(-20deg); }
  .fair-offer__title::after { transform: rotate(20deg); }
  .fair-offer__br { display: initial; }
  .fair-offer__lead { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .quiz.is-ready .quiz-answer.is-open, .quiz.is-ready .quiz-answer.is-open .quiz-answer__inner > * { transition: none; }
}

/* Autumn visual: decorative vector foliage keeps headings selectable. */
.fair-hero { background: #fcf5e9 url('../img/fair/autumn-leaves.svg') center / cover no-repeat; color: #624732; }
.fair-hero::before { border-color: #be915c66; }
.fair-hero__en { color: #9a7044; font-size: clamp(20px, 5vw, 76rem); white-space: normal; letter-spacing: .06em; }
.fair-hero__period { background: #986238; }
.fair-hero__lead strong { color: #95602f; }
.fair-products { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 32px auto 0; max-width: 1000px; }
.fair-product { display: flex; align-items: center; gap: 20px; background: #fff; border: 1px solid #dfd8cc; padding: 28px; text-align: left; }
.fair-product:only-child { grid-column: 1 / -1; width: min(100%,640px); justify-self: center; }
.fair-product__image { width: 30%; max-height: 230px; object-fit: contain; }
.fair-product__body { flex: 1; min-width: 0; }
.fair-product__eyebrow { font-size: 12px; color: #6d7779; }
.fair-product h3 { font-size: 20px; margin: 8px 0 20px; }
.fair-product .button { width: 100%; font-size: 14px; padding: 12px; }
@media(max-width: 600px) {
 .fair-hero { background-size: auto 100%; }
 .fair-products { grid-template-columns: 1fr; }
 .fair-product { padding: 20px; gap: 16px; }
 .fair-product h3 { font-size: 18px; }
}

@media(max-width:600px) { .fair-hero { background-size: 100% 100%; } .fair-hero h1 { font-size: clamp(20px, 6vw, 28px); letter-spacing: 0; } }

/* User-created Figma banner, node 173:403. */
.fair-hero--image{padding:0;background:none;border:0;min-height:0}
.fair-hero--image img{width:100%;height:auto}

.fair-hero--image::before{content:none}

/* DAY10: the LINE guide is the main offer; the store link stays secondary. */
.fair-pdf--primary {
  margin-top: 120rem;
  padding: 72rem 80rem 80rem;
  border: 5rem solid transparent;
  border-image: linear-gradient(120deg, #2a8c55 0%, #c4e9bd 28%, #6ab979 52%, #d9f1d1 76%, #2a8c55 100%) 1;
  background: linear-gradient(180deg, #edf9ef 0%, #f8fff9 60%, #fff 100%);
  box-shadow: 0 15rem 15rem #143e2a1a;
  text-align: center;
}
.fair-pdf__sub { color: #277849; font-size: max(15px, 20rem); font-weight: 700; line-height: 1.6; }
.fair-pdf__title { margin-top: 8rem; color: #17683f; font-size: max(24px, 36rem); font-weight: 700; line-height: 1.6; }
.fair-pdf__br { display: none; }
.fair-pdf__text { max-width: 760rem; margin: 32rem auto 0; font-size: max(15px, 18rem); line-height: 1.9; }
.fair-pdf__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 400px);
  min-height: 70px;
  margin: 32rem auto 0;
  padding: 14px 28px;
  border-radius: var(--radius-pill);
  background: #008a3b;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
  text-decoration: none;
  transition: background-color var(--transition);
}
.fair-pdf__link:focus-visible { outline: 3px solid #17683f; outline-offset: 4px; }
.fair-day10-store { margin-top: 56rem; text-align: center; }
.fair-day10-store .fair-notice--sales { margin-top: 0; }
.fair-day10-store__link { display: inline-block; margin-top: 20px; color: var(--color-text); font-size: 14px; line-height: 1.8; text-decoration: underline; text-underline-offset: 4px; }
@media (hover: hover) {
  .fair-pdf__link:hover { background: #006f30; }
  .fair-day10-store__link:hover { color: #277849; }
}
@media (max-width: 1100px) {
  .fair-pdf--primary { margin-top: 64px; padding: 48px 32px 52px; border-width: 3px; }
  .fair-pdf__text { max-width: 650px; margin-top: 24px; font-size: 16px; }
  .fair-pdf__link { margin-top: 28px; }
  .fair-day10-store { margin-top: 36px; }
}
@media (max-width: 600px) {
  .fair-pdf--primary { margin-top: 48px; padding: 36px 20px 40px; }
  .fair-pdf__sub { font-size: 14px; }
  .fair-pdf__title { font-size: 24px; }
  .fair-pdf__br { display: initial; }
  .fair-pdf__text { font-size: 15px; text-align: left; }
  .fair-pdf__link { min-height: 60px; padding: 14px 12px; font-size: 16px; }
  .fair-day10-store { margin-top: 32px; }
}

/* Research context and sales guidance supplied for the quiz pages. */
.fair-notice {
  padding: 16px 20px;
  border: 1px solid #cbd9dd;
  background: #fff;
  font-size: 14px;
  line-height: 1.9;
  text-align: left;
}
.fair-notice--video { margin-top: 20px; }
.fair-notice--sales { margin-top: 72rem; background: #f8fafb; }
.fair-notice--sales + .fair-offer { margin-top: 24rem; }
.coupon__expires {
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.coupon__expires time { font-weight: 700; }
.coupon__expires time > span { display: inline-block; white-space: nowrap; }
.fair-coupon-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24rem;
  margin-top: 48rem;
  text-align: left;
}
.fair-coupon-product {
  min-width: 0;
  padding: 24px;
  border: 1px solid #d8c681;
  background: #fff;
}
.fair-coupon-product__summary {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}
.fair-coupon-product__summary > img { width: 88px; height: 110px; object-fit: contain; }
.fair-coupon-product__brand { color: var(--offer-brown); font-size: 12px; line-height: 1.6; }
.fair-coupon-product__summary h3 { margin-top: 4px; font-size: 18px; font-weight: 700; line-height: 1.6; }
.fair-coupon-product__price { margin-top: 8px; font-size: 14px; line-height: 1.6; }
.fair-coupon-product .coupon { margin: 0; padding: 20px 0 0; border: 0; border-top: 1px dashed var(--offer-gold); }
.fair-coupon-product .coupon__code { max-width: 100%; padding: 8px 12px; font-size: clamp(28px, 2.8vw, 40px); letter-spacing: .08em; overflow-wrap: anywhere; }
#main .fair-coupon-product .coupon__copy { width: 100%; min-height: 44px; height: auto; margin-top: 16px; padding: 10px 12px; font-size: 14px; }
#main .fair-coupon-product__purchase { display: flex; width: 100%; min-height: 48px; height: auto; margin-top: 20px; padding: 12px; font-size: 14px; }
@media (max-width: 1100px) {
  .fair-notice--sales { margin-top: 40px; }
  .fair-notice--sales + .fair-offer { margin-top: 20px; }
  .fair-coupon-products { gap: 20px; margin-top: 32px; }
}
@media (max-width: 900px) {
  .fair-coupon-products { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .fair-notice { padding: 14px 16px; }
  .fair-notice--sales { margin-top: 32px; }
  .fair-notice--sales + .fair-offer { margin-top: 16px; }
  .fair-coupon-product { padding: 20px 16px; }
  .fair-coupon-product__summary { grid-template-columns: 72px minmax(0, 1fr); gap: 12px; }
  .fair-coupon-product__summary > img { width: 72px; height: 90px; }
  .fair-coupon-product__summary h3 { font-size: 16px; }
}
