.sale-stamp{position:absolute;z-index:10;pointer-events:none;line-height:1.3;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif}.sale-stamp__text{display:block;font-weight:800;white-space:nowrap}.sale-stamp__subtext{display:block;font-weight:600;opacity:.92}.sale-stamp--ribbon{top:-5px;right:-5px;width:180px;height:180px;overflow:hidden;transform:scale(var(--ribbon-scale,1));transform-origin:top right}.sale-stamp--ribbon .sale-stamp__inner{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:320px;padding:12px 0 12px 30px;top:28px;right:-83px;transform:rotate(45deg);background:var(--ss-color);color:#fff;text-align:center;box-shadow:0 2px 8px rgb(0 0 0 / .15);animation:ss-ribbon-shine 3s ease-in-out infinite}.sale-stamp--ribbon .sale-stamp__inner::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgb(255 255 255 / .3) 45%,rgb(255 255 255 / .4) 50%,rgb(255 255 255 / .3) 55%,transparent 100%);background-size:200% 100%;animation:ss-shimmer 2.5s ease-in-out infinite}.sale-stamp--ribbon .sale-stamp__text{font-size:15px;letter-spacing:.04em;text-shadow:0 1px 3px rgb(0 0 0 / .2)}.sale-stamp--ribbon .sale-stamp__subtext{font-size:11px;margin-top:1px;text-shadow:0 1px 2px rgb(0 0 0 / .15)}.sale-stamp--badge{top:-14px;right:-14px}.sale-stamp--badge .sale-stamp__inner{display:flex;flex-direction:column;align-items:center;justify-content:center;width:110px;height:110px;border-radius:50%;background:var(--ss-color);color:#fff;text-align:center;box-shadow:0 0 0 5px rgb(255 255 255 / .8),0 6px 24px rgb(0 0 0 / .35);animation:ss-badge-pulse 2s ease-in-out infinite;position:relative}.sale-stamp--badge .sale-stamp__inner::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:2.5px solid var(--ss-color);opacity:0;animation:ss-badge-ring 2s ease-out infinite}.sale-stamp--badge .sale-stamp__text{font-size:14px;text-shadow:0 1px 3px rgb(0 0 0 / .25)}.sale-stamp--badge .sale-stamp__subtext{font-size:11px;margin-top:2px}.sale-stamp--banner{top:0;left:0;right:0}.sale-stamp--banner .sale-stamp__inner{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;background:var(--ss-color);color:#fff;text-align:center;box-shadow:0 4px 18px rgb(0 0 0 / .3);position:relative;overflow:hidden}.sale-stamp--banner .sale-stamp__inner::after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .25),transparent);animation:ss-banner-sweep 3s ease-in-out infinite}.sale-stamp--banner .sale-stamp__text{font-size:16px;letter-spacing:.06em}.sale-stamp--banner .sale-stamp__subtext{font-size:13px}@keyframes ss-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes ss-ribbon-shine{0%,100%{filter:brightness(1)}50%{filter:brightness(1.15)}}@keyframes ss-badge-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes ss-badge-ring{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.6);opacity:0}}@keyframes ss-banner-sweep{0%{left:-100%}50%{left:100%}100%{left:100%}}@media(max-width:600px){.sale-stamp--ribbon{width:140px;height:140px;top:0;right:-6px}.sale-stamp--ribbon .sale-stamp__inner{width:200px;padding:9px 0;top:24px;right:-42px}.sale-stamp--ribbon .sale-stamp__text{font-size:12px}.sale-stamp--ribbon .sale-stamp__subtext{font-size:9px}.sale-stamp--badge .sale-stamp__inner{width:85px;height:85px}.sale-stamp--badge .sale-stamp__text{font-size:11px}.sale-stamp--banner .sale-stamp__text{font-size:13px}.sale-stamp--banner .sale-stamp__subtext{font-size:11px}}