﻿#gl3-feature-sale {
  --paper:#ffffff; --ink:#262626; --emphasis:#262626; --action:#04beed;
  --accent:#1695bb; --line:#e5e5e5;
  isolation:isolate; position:relative; background:var(--paper); color:var(--ink);
  font:16px/1.65 "Noto Sans JP","Noto Sans CJK JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  text-align:left; overflow-wrap:anywhere;
}
#gl3-feature-sale *, #gl3-feature-sale *::before, #gl3-feature-sale *::after {box-sizing:border-box}
#gl3-feature-sale [hidden] {display:none!important}
#gl3-feature-sale :is(h1,h2,h3,p,ol) {margin:0}
#gl3-feature-sale p+p {margin-top:.4em}
#gl3-feature-sale h1, #gl3-feature-sale h2 {font-family:"Roboto","Noto Sans JP","Noto Sans CJK JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; color:#262626; font-weight:800; line-height:1.3}
#gl3-feature-sale h1 {font-size:clamp(29px,4vw,55px); letter-spacing:-.035em}
#gl3-feature-sale h1 span {font-size:1.19em}
#gl3-feature-sale h2 {font-size:clamp(24px,3vw,38px); text-align:center; margin-bottom:23px}
#gl3-feature-sale h2 span {color:var(--emphasis); font-size:1.22em}
#gl3-feature-sale h3 {font-size:19px; line-height:1.35}
#gl3-feature-sale img {display:block; width:100%; height:auto}
#gl3-feature-sale a {color:var(--ink)}
#gl3-feature-sale :is(a,button,summary):focus-visible {outline:3px solid #176b9b; outline-offset:3px}
#gl3-feature-sale [id] {scroll-margin-top:100px}
#gl3-feature-sale .wrap {width:min(1160px,calc(100% - 40px)); margin-inline:auto}
#gl3-feature-sale .nav {display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 0}
#gl3-feature-sale .nav div {display:flex; flex-wrap:wrap; gap:0 14px; justify-content:flex-end}
#gl3-feature-sale .nav a {display:inline-grid; place-items:center; min-height:44px; font-size:13px; font-weight:700; text-decoration:none}
#gl3-feature-sale .brand {font-size:24px; font-weight:850; color:var(--ink)}
#gl3-feature-sale .hero {position:relative; overflow:hidden; background:radial-gradient(ellipse at 78% 30%,#ffffff 8%,transparent 48%),linear-gradient(125deg,#f3f9fb,#ffffff 45%,#f3f9fb); border-block:1px solid #e5e5e5}
#gl3-feature-sale .hero-layout {position:relative; display:grid; grid-template-columns:1.25fr .85fr; align-items:center; gap:20px; padding-block:42px}
#gl3-feature-sale .hero-copy {z-index:1}
#gl3-feature-sale .hero-copy>p:not(.ribbon) {margin:12px 0}
#gl3-feature-sale .ribbon {display:inline-block; padding:5px 18px; background:var(--emphasis); color:white; font-size:13px; font-weight:800; letter-spacing:.10em; margin-bottom:12px}
#gl3-feature-sale .hero-art {position:relative; min-height:350px; align-self:stretch; display:grid; place-items:center}
#gl3-feature-sale .hero-art>img {position:absolute; width:66%; bottom:3%; right:-4%; object-fit:contain; filter:drop-shadow(0 8px 10px #26262625)}
#gl3-feature-sale .seal {position:absolute; top:9%; left:9%; width:58%; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1.08; border:4px double #1695bb; border-radius:50%; background:radial-gradient(circle at 32% 18%,#ffffff,#f3f9fb 68%,#04beed); box-shadow:0 9px 21px #1695bb26; color:#262626; font-weight:850}
#gl3-feature-sale .seal strong {font:800 clamp(35px,5.8vw,82px)/1.13 "Roboto","Noto Sans JP","Noto Sans CJK JP",Arial,sans-serif}
#gl3-feature-sale .seal b {font-size:clamp(18px,3vw,37px)}
#gl3-feature-sale .mascot {position:absolute; width:53%; bottom:-2%; left:-2%}
#gl3-feature-sale .motifs {position:absolute; inset:0; pointer-events:none}
#gl3-feature-sale .motif {position:absolute; width:clamp(30px,6vw,98px); opacity:.7}
#gl3-feature-sale .m0 {top:1%;left:0;transform:rotate(-26deg)}
#gl3-feature-sale .m1 {top:5%;right:2%;transform:rotate(22deg)}
#gl3-feature-sale .m2 {top:10%;right:15%;width:20%;opacity:.34}
#gl3-feature-sale .m3 {bottom:10%;right:5%;transform:rotate(30deg)}
#gl3-feature-sale .m4 {bottom:3%;left:2%;transform:rotate(-24deg)}
#gl3-feature-sale .m5 {bottom:5%;left:32%;opacity:.29}
#gl3-feature-sale .m6 {top:9%;left:42%;width:35px}
#gl3-feature-sale .m7 {bottom:12%;right:35%;width:36px}
#gl3-feature-sale .coupon-box {max-width:520px; margin-top:16px; border:1px solid #1695bb; border-radius:15px; background:#ffffff; box-shadow:0 5px 15px #1695bb1c}
#gl3-feature-sale .coupon-box summary {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; padding:10px 15px; color:var(--emphasis); font-weight:850; list-style:none}
#gl3-feature-sale .coupon-box summary::-webkit-details-marker {display:none}
#gl3-feature-sale .coupon-box summary b {font:800 clamp(29px,4vw,50px)/1 "Roboto","Noto Sans JP","Noto Sans CJK JP",Arial,sans-serif}
#gl3-feature-sale .coupon-box summary span {text-decoration:underline;text-underline-offset:4px}
#gl3-feature-sale .coupon-box[open] summary span {color:var(--ink)}
#gl3-feature-sale .ticket {border-top:1px dashed #1695bb; padding:12px 15px}
#gl3-feature-sale .ticket code {font-size:20px; font-weight:800; user-select:all; margin-right:8px}
#gl3-feature-sale .copy {min-height:44px; border:0; border-radius:8px; padding:0 13px; background:var(--action); color:var(--ink); font-weight:700; cursor:pointer}
#gl3-feature-sale .status {font-size:13px}
#gl3-feature-sale .fine {font-size:13px}
#gl3-feature-sale .timer {font-weight:800; color:var(--emphasis); font-variant-numeric:tabular-nums}
#gl3-feature-sale .actions {display:flex; flex-wrap:wrap; gap:9px}
#gl3-feature-sale .btn {min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:9px 14px; border-radius:999px; border:1px solid transparent; background:var(--action); color:var(--ink); text-align:center; text-decoration:none; line-height:1.4; font-family:inherit; font-size:14px; font-weight:750; cursor:pointer}
#gl3-feature-sale .outline {border-color:var(--accent); color:var(--ink); background:#ffffff}
#gl3-feature-sale .wine {background:var(--emphasis);color:white}
#gl3-feature-sale .greeting {display:flex; justify-content:center; padding:14px; text-align:center; color:var(--emphasis); border-bottom:1px solid var(--line)}
#gl3-feature-sale .greeting p {color:var(--ink); font-size:14px}
#gl3-feature-sale .section {padding-block:28px}
#gl3-feature-sale .eyebrow {font-size:12px; font-weight:800; color:#666666; letter-spacing:.10em; text-align:center; margin-bottom:6px}
#gl3-feature-sale .grid {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px}
#gl3-feature-sale .card {padding:14px; border:1px solid var(--line); border-radius:15px; background:#ffffff; box-shadow:0 3px 0 #e5e5e555}
#gl3-feature-sale .reasons .card, #gl3-feature-sale .finder .card {text-align:center}
#gl3-feature-sale .reasons span {font-size:25px; color:var(--accent)}
#gl3-feature-sale .reasons p, #gl3-feature-sale .steps p {font-size:14px; margin-top:5px}
#gl3-feature-sale .finder a {font-weight:800; text-decoration:none}
#gl3-feature-sale .finder small {display:block; font-weight:600}
#gl3-feature-sale .kit {display:flex; flex-direction:column; gap:7px}
#gl3-feature-sale .kit:first-child {border-color:#1695bb}
#gl3-feature-sale .kit:target {outline:3px solid var(--accent)}
#gl3-feature-sale .kit .eyebrow {margin:0; text-align:left}
#gl3-feature-sale .kit>p:not(.eyebrow) {font-size:14px}
#gl3-feature-sale .kit img, #gl3-feature-sale .prize img {aspect-ratio:15/11; object-fit:contain; border-radius:9px}
#gl3-feature-sale .price {margin-top:auto; line-height:1.4; padding-top:8px}
#gl3-feature-sale .price strong {font-size:clamp(23px,3vw,32px); color:var(--emphasis)}
#gl3-feature-sale .extras {margin-block:15px}
#gl3-feature-sale summary {padding:11px 14px; min-height:44px; cursor:pointer; font-weight:750}
#gl3-feature-sale .steps {padding:0; list-style:none; counter-reset:gl3step}
#gl3-feature-sale .steps li {counter-increment:gl3step}
#gl3-feature-sale .steps li::before {content:counter(gl3step); display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; margin-right:6px; background:#262626; color:white; font-size:13px}
#gl3-feature-sale .centered {text-align:center; margin-block:12px}
#gl3-feature-sale .lottery {background:#f3f9fb; border-block:1px solid var(--line)}
#gl3-feature-sale .gift-heading {text-align:center; margin-block:22px 10px}
#gl3-feature-sale .prizes {grid-template-columns:repeat(3,minmax(0,1fr))}
#gl3-feature-sale .prize {text-align:center}
#gl3-feature-sale .win {font-weight:800; color:var(--emphasis)}
#gl3-feature-sale .faq details {border-bottom:1px solid var(--line)}
#gl3-feature-sale .faq details p {padding:0 14px 13px}
#gl3-feature-sale .closing {text-align:center; padding:28px 16px; background:linear-gradient(105deg,#f3f9fb,#ffffff,#f3f9fb)}
#gl3-feature-sale .closing .actions {margin-top:10px; justify-content:center}
#gl3-feature-sale .mobile-cta, #gl3-feature-sale .title-break {display:none}
@keyframes gl3-leaf {0%{opacity:.75}45%{opacity:1}100%{opacity:0;transform:translate(24px,100px) rotate(92deg)}}
@keyframes gl3-kodama {45%{transform:translateY(-10px) rotate(-6deg)}}
#gl3-feature-sale.is-celebrating .motif {animation:gl3-leaf .75s ease-out}
#gl3-feature-sale.is-celebrating .mascot {animation:gl3-kodama .64s ease-in-out}
@media(max-width:700px) {
  #gl3-feature-sale .wrap {width:calc(100% - 24px)}
  #gl3-feature-sale .hero-layout {grid-template-columns:1fr; gap:0; padding-block:20px 12px}
  #gl3-feature-sale .hero-art {min-height:0; height:clamp(160px,47vw,240px); width:min(100%,420px); margin-inline:auto}
  #gl3-feature-sale .hero-art>img {width:56%; bottom:0; right:1%}
  #gl3-feature-sale .seal {top:5%; width:37%; left:20%}
  #gl3-feature-sale .mascot {width:38%; bottom:-8%; left:0}
  #gl3-feature-sale .seal span {font-size:12px}
  #gl3-feature-sale .grid {grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px}
  #gl3-feature-sale .prizes {grid-template-columns:1fr}
  #gl3-feature-sale .prize img {width:min(100%,260px); margin-inline:auto}
  #gl3-feature-sale .card {padding:10px}
  #gl3-feature-sale .section {padding-block:21px}
  #gl3-feature-sale .title-break {display:inline}
  #gl3-feature-sale .nav div {gap:0 8px}
  #gl3-feature-sale .nav a {font-size:11px}
  #gl3-feature-sale .brand {font-size:19px}
  #gl3-feature-sale .mobile-cta {position:sticky; bottom:0; display:flex; justify-content:space-between; align-items:center; gap:8px; padding:7px 12px calc(7px + env(safe-area-inset-bottom)); background:#ffffff; border-top:1px solid var(--line); z-index:3; font-size:13px}
  #gl3-feature-sale .motif {opacity:.42}
  #gl3-feature-sale .m2,#gl3-feature-sale .m5,#gl3-feature-sale .m7 {display:none}
}
@media(prefers-reduced-motion:reduce) {
  #gl3-feature-sale.is-celebrating :is(.motif,.mascot) {animation:none}
}
#gl3-feature-sale .coupon-box .close-label, #gl3-feature-sale .coupon-box[open] .open-label {display:none}
#gl3-feature-sale .coupon-box[open] .close-label {display:inline}
#gl3-feature-sale .coupon-box .open-label::before {
  content:""; display:inline-block; width:19px; height:19px; vertical-align:-3px; margin-right:5px;
  background:#1695bb; clip-path:polygon(48% 99%,46% 75%,20% 64%,5% 49%,0 25%,20% 19%,35% 9%,50% 17%,62% 7%,85% 15%,100% 31%,92% 54%,75% 69%,53% 76%,56% 100%);
}
#gl3-feature-sale .narrow-break {display:none}
@media(max-width:700px) {
  #gl3-feature-sale h1 {font-size:clamp(20px,6.6vw,32px)}
  #gl3-feature-sale .hero-copy>p:not(.ribbon) {margin:9px 0}
  #gl3-feature-sale .hero-copy>p:not(.ribbon):not(.timer) {font-size:14px}
}
@media(max-width:355px) {
  #gl3-feature-sale .narrow-break {display:inline}
}
@media(min-width:701px) {
  #gl3-feature-sale h1 {font-size:clamp(25px,3.05vw,43px)}
  #gl3-feature-sale .title-break {display:inline}
}

#gl3-feature-sale .hero-off {font-weight:800; color:var(--emphasis)}
#gl3-feature-sale .hero-off strong {font:800 clamp(26px,4vw,45px)/1.1 "Roboto","Noto Sans JP","Noto Sans CJK JP",Arial,sans-serif; white-space:nowrap}
#gl3-feature-sale .coupon-stage {
  position:relative; overflow:hidden; text-align:center; padding-block:35px;
  border-block:1px solid #e5e5e5; background:radial-gradient(ellipse at center,#ffffff,#f3f9fb);
}
#gl3-feature-sale .coupon-stage-inner {position:relative}
#gl3-feature-sale .coupon-stage h2 {margin-bottom:8px}
#gl3-feature-sale .coupon-stage .mascot {position:relative; width:110px; margin:0 auto -12px; inset:auto}
#gl3-feature-sale .coupon-stage .coupon-box {position:relative; margin:0 auto; max-width:420px}
#gl3-feature-sale .coupon-stage summary {justify-content:center; min-height:64px}
#gl3-feature-sale .coupon-stage .open-label::before {width:35px;height:35px;vertical-align:middle;margin-right:10px}
#gl3-feature-sale .coupon-stage .ticket .btn {margin-top:10px}
#gl3-feature-sale.is-celebrating .hero :is(.motif,.mascot) {animation:none}

#gl3-feature-sale .countdown-stage {
  padding:24px 0; text-align:center; color:#262626;
  background:radial-gradient(circle at 18% 22%,#04beed40 0 2px,transparent 3px),
             radial-gradient(circle at 83% 72%,#04beed50 0 2px,transparent 3px),
             radial-gradient(ellipse at center,#f3f9fb,#e5e5e5);
}
#gl3-feature-sale .countdown-stage h2 {color:#262626;margin-bottom:12px}
#gl3-feature-sale .countdown-stage .eyebrow {color:#666666}
#gl3-feature-sale .countdown-stage .fine {margin-top:10px}
#gl3-feature-sale .countdown-grid {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px;
  max-width:390px; margin-inline:auto; font-variant-numeric:tabular-nums;
}
#gl3-feature-sale .countdown-grid>div {
  display:grid; padding:7px 3px; border:1px solid #1695bb;
  border-radius:10px; background:#ffffff; color:#262626; line-height:1.25;
}
#gl3-feature-sale .countdown-grid strong {font-size:clamp(24px,6vw,38px)}
#gl3-feature-sale .countdown-grid span {font-size:12px}


/* Campaign type hierarchy uses the guideline Bold weight. */
#gl3-feature-sale :is(h1,h2,h3,.btn,.copy,.eyebrow,.ribbon,.seal,.brand) {font-weight:700}
#gl3-feature-sale :is(.hero-off strong,.seal strong,.price strong,.countdown-grid strong) {
  font-family:"Roboto","Noto Sans JP","Noto Sans CJK JP",Arial,sans-serif;
  font-weight:700;
}
#gl3-feature-sale .hero-off strong {font-size:clamp(34px,5.5vw,60px)}
#gl3-feature-sale .price strong {font-size:clamp(25px,3.4vw,36px)}
#gl3-feature-sale .hero-copy h1 {font-size:clamp(25px,3.15vw,44px)}
#gl3-feature-sale .hero-copy h1 span {font-size:1.17em}
@media(max-width:700px) {
  #gl3-feature-sale .hero-copy h1 {font-size:clamp(20px,6.55vw,32px)}
}
#gl3-feature-sale .hero-art .seal {z-index:1}
#gl3-feature-sale .hero-art .mascot {z-index:2}
@media(max-width:700px) {
  #gl3-feature-sale .hero-art .seal {left:12%; top:1%}
  #gl3-feature-sale .hero-art .mascot {width:34%; left:-3%}
}

/* A+ coupon artwork, scoped to the campaign section. */
#gl3-feature-sale .gl14-stage {background:radial-gradient(ellipse at center,#fff,#eef8fb);padding-block:30px}
#gl3-feature-sale .gl14-water {position:absolute;inset:-20% -20%;transform:rotate(-12deg);pointer-events:none;opacity:.046;color:#1695bb;font:700 clamp(54px,10vw,144px)/1.2 Arial,sans-serif;white-space:nowrap}
#gl3-feature-sale .gl14-water span {display:block}
#gl3-feature-sale .gl14-water span:nth-child(even) {transform:translateX(9%)}
#gl3-feature-sale .gl14-discount {font-weight:700}
#gl3-feature-sale .gl14-discount strong {font-size:clamp(24px,4vw,36px);white-space:nowrap}
#gl3-feature-sale .gl14-stage .coupon-box {max-width:750px;background:transparent;border:none;box-shadow:none}
#gl3-feature-sale .gl14-stage summary {display:block;padding:0;min-height:44px;color:#163b4b}
#gl3-feature-sale .gl14-stage summary :is(.open-label,.close-label) {background:#04beed;border-radius:999px;padding:12px 20px;text-decoration:none;line-height:1.3}
#gl3-feature-sale .gl14-stage summary .open-label::before {content:none}
#gl3-feature-sale .gl14-stage .coupon-box:not([open]) summary .open-label,
#gl3-feature-sale .gl14-stage .coupon-box[open] summary .close-label {display:inline-block}
#gl3-feature-sale .gl14-scene {display:block;position:relative;isolation:isolate;width:min(100%,650px);aspect-ratio:600/385;margin:4px auto 3px}
#gl3-feature-sale .gl14-box {width:100%;height:100%;display:block}
#gl3-feature-sale .gl14-box-2,#gl3-feature-sale .gl14-stage details[open] .gl14-box-0 {display:none}
#gl3-feature-sale .gl14-stage details[open] .gl14-box-2 {display:block}
#gl3-feature-sale .gl14-stage .gl14-kodama {position:absolute;width:20%;height:auto;filter:drop-shadow(0 5px 4px #163b4b22)}
#gl3-feature-sale .gl14-stage .gl14-pear {left:12%;top:18%;z-index:-1;width:17%}
#gl3-feature-sale .gl14-stage .gl14-apple {left:2%;bottom:7%}
#gl3-feature-sale .gl14-stage .gl14-banana {right:1%;bottom:8%}
#gl3-feature-sale .gl14-stage .gl14-adam_eve {right:14%;bottom:2%;display:none;width:18%}
#gl3-feature-sale .gl14-stage details[open] .gl14-adam_eve {display:block}
#gl3-feature-sale .gl14-stage details[open] .gl14-banana {right:0;bottom:21%;width:17%}
#gl3-feature-sale .gl14-stage .ticket {margin:10px auto 0;max-width:360px;background:#fff;border:1px solid #9bc9d7;border-radius:15px}
#gl3-feature-sale .gl14-stage .ticket .fine {margin-top:6px}
@keyframes gl14-lift {from {transform:translate(27px,136px) rotate(7deg)} 72% {transform:translate(-2px,-9px)} to {transform:none}}
@keyframes gl14-card {from {transform:translateY(75px);opacity:0} to {transform:none;opacity:1}}
@media(prefers-reduced-motion:no-preference) {
 #gl3-feature-sale .gl14-stage details[open] .gl14-lid {animation:gl14-lift 400ms cubic-bezier(.2,.8,.26,1) both}
 #gl3-feature-sale .gl14-stage details[open] .gl14-card {animation:gl14-card 300ms 150ms ease-out both}
}
@media(max-width:480px) {
 #gl3-feature-sale .gl14-stage {padding-block:20px}
 #gl3-feature-sale .gl14-stage .wrap {width:calc(100% - 20px)}
 #gl3-feature-sale .gl14-stage .ticket {padding-inline:10px}
 #gl3-feature-sale .gl14-stage .ticket code {font-size:19px}
}

/* v1.5 coupon improvements */
#gl3-feature-sale .gl15-ticket-off strong {font-size:clamp(34px,6vw,46px);line-height:1.1}
#gl3-feature-sale .gl14-stage .ticket {margin-top:8px}
#gl3-feature-sale .gl14-stage .gl14-pear {left:8%;top:12%;width:18%}
#gl3-feature-sale .gl14-stage details[open] .gl14-pear {top:15%;left:3%}
#gl3-feature-sale .gl14-stage .gl14-dna {opacity:.6}
#gl3-feature-sale .copy[data-copied] {background:#d5f2ec;color:#0c4a41}
#gl3-feature-sale.gl15-ended :is(.gl15-promo,.hero-off,.gl14-stage,a[href="#gl3-coupon"]) {display:none}
#gl3-feature-sale.gl15-ended .price s {text-decoration:none}
#gl3-feature-sale.gl15-ended .mobile-cta {justify-content:flex-end}
@keyframes gl15-lid {0%{transform:translate(27px,140px) rotate(8deg)} 16%{transform:translate(27px,146px) rotate(8deg)} 72%{transform:translate(-3px,-10px) rotate(-2deg)} 100%{transform:none}}
@keyframes gl15-dna {0%{opacity:0;transform:translateY(20px)} 50%{opacity:.95} 100%{opacity:.6;transform:none}}
@keyframes gl15-kodama {0%,100%{transform:none} 45%{transform:translateY(-8px) rotate(-3deg)}}
@keyframes gl15-ticket {from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference) {
 #gl3-feature-sale .gl14-stage details[open] .gl14-lid {animation:gl15-lid 580ms cubic-bezier(.2,.65,.33,1) both}
 #gl3-feature-sale .gl14-stage details[open] .gl15-dna {animation:gl15-dna 650ms 180ms ease-out both}
 #gl3-feature-sale .gl14-stage details[open] .gl14-card {animation:gl14-card 390ms 300ms cubic-bezier(.2,.75,.33,1) both}
 #gl3-feature-sale .gl14-stage details[open] .gl14-kodama {animation:gl15-kodama 380ms 520ms ease-out both}
 #gl3-feature-sale .gl14-stage details[open] .ticket {animation:gl15-ticket 240ms 740ms ease-out both}
 #gl3-feature-sale .gl14-stage details[open] .ticket:focus-within {animation:none}
}
@media(max-width:700px) {
 #gl3-feature-sale .countdown-stage {padding:10px 0}
 #gl3-feature-sale .countdown-stage h2 {font-size:17px;margin-bottom:6px}
 #gl3-feature-sale .countdown-stage .eyebrow {display:none}
 #gl3-feature-sale .countdown-grid>div {padding:3px;line-height:1.1}
 #gl3-feature-sale .countdown-grid strong {font-size:21px}
 #gl3-feature-sale .countdown-stage .fine {margin-top:5px}
 #gl3-feature-sale .gl14-stage {padding-block:13px}
 #gl3-feature-sale .gl14-stage h2 {font-size:23px;line-height:1.2}
 #gl3-feature-sale .gl14-stage h2 br {display:none}
 #gl3-feature-sale .gl14-stage .gl14-pear {left:8%;top:15%;width:19%}
 #gl3-feature-sale .gl14-stage details[open] .gl14-pear {top:15%;left:1%}
 #gl3-feature-sale .gl14-stage summary :is(.open-label,.close-label) {min-height:44px}
}

#gl3-feature-sale {box-sizing:border-box;width:100%;max-width:1120px;margin-inline:auto;overflow-anchor:none}

/* 右の記念バッジ：「300万」を一行で表示 */
#gl3-feature-sale .hero-art .seal {
  container-type: inline-size;
}

#gl3-feature-sale .hero-art .seal strong {
  white-space: nowrap;
  font-size: clamp(26px, 4vw, 54px);
  font-size: clamp(22px, 30cqi, 68px);
}

/* PCの見出し：「念」だけの折り返しを防ぐ */
@media (min-width: 701px) {
  #gl3-feature-sale .hero-copy {
    container-type: inline-size;
    min-width: 0;
  }

  #gl3-feature-sale .hero-copy h1 {
    font-size: clamp(24px, 2.8vw, 36px);
    font-size: clamp(20px, 6.6cqi, 42px);
  }

  #gl3-feature-sale .hero-copy h1 span {
    white-space: nowrap;
  }
}

/* PC・スマホ共通の追従CTA */
#gl3-feature-sale .mobile-cta {
  position: sticky;
  bottom: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: min(100%, 520px);
  margin-inline: auto;
  padding: 6px 10px calc(6px + env(safe-area-inset-bottom, 0px));
  background: #fff;
  border: 1px solid #dbe8ec;
  border-radius: 12px 12px 0 0;
  box-shadow: 0 -2px 12px rgb(0 0 0 / 8%);
  font-size: 13px;
  line-height: 1.3;
}

#gl3-feature-sale .mobile-cta strong {
  white-space: nowrap;
}

#gl3-feature-sale .mobile-cta .btn {
  flex-shrink: 0;
  min-height: 44px;
  padding: 6px 12px;
  white-space: nowrap;
  font-size: 13px;
}

/* 小型スマホで抽選景品カードの横はみ出しを防ぐ */
@media (max-width: 700px) {
  #gl3-feature-sale .prizes {
    grid-template-columns: minmax(0, 1fr);
  }
}