  *{box-sizing:border-box}
  body{
    margin:0;
    background:#ffffff;
    color:#1a1a1a;
    font-family: ui-sans-serif, system-ui, -apple-system, "Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic","Meiryo", sans-serif;
    line-height:1.5;
  }
  a{color:inherit}
  img{max-width:100%; display:block}

  /* base */
  .container{max-width:1040px; margin:0 auto; padding:0 16px;}
  .sp-only{display:block}
  .pc-only{display:none}

  /* Header */
  .header{
    position:sticky; top:0; z-index:100;
    background:#fff;
    box-shadow: 0 1px 0 rgba(0,0,0,.08);
  }
  .header__inner{
    display:flex; align-items:center; justify-content:space-between;
    height:64px;
  }
  .logo{
    display:flex; align-items:center;
    height:32px;
  }
  .logo img{
    height:100%;
    width:auto;
    display:block;
  }
  @media (min-width: 900px){
    .logo{height:40px;}
  }

  .hamburger{
    width:32px;
    height:32px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    background:transparent;
    border:none;
    cursor:pointer;
    padding:0;
    position:relative;
  }
  .hamburger__line{
    width:28px;
    height:3px;
    background:#f08a00 !important;
    display:block;
    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    border-radius:3px;
  }
  .hamburger__line:nth-child(1){
    width:20px;
    transform-origin:left center;
  }
  .hamburger__line:nth-child(2){width:28px;}
  .hamburger__line:nth-child(3){
    width:20px;
    transform-origin:left center;
  }

  /* Hamburger Animation */
  .hamburger.active .hamburger__line:nth-child(1){
    transform: rotate(45deg) translateY(-2px);
    width:28px;
  }
  .hamburger.active .hamburger__line:nth-child(2){
    opacity:0;
    transform: scale(0);
  }
  .hamburger.active .hamburger__line:nth-child(3){
    transform: rotate(-45deg) translateY(2px);
    width:28px;
  }

  /* Desktop Navigation */
  .desktop-nav{display:none;}
  .desktop-nav__list{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
  }
  .desktop-nav__link{
    padding:10px 18px;
    color:#2f3b52;
    text-decoration:none;
    font-weight:700;
    font-size:14px;
    border-radius:10px;
    transition:all 0.3s;
    position:relative;
  }
  .desktop-nav__link:hover{
    background:#fff9f0;
    color:#f08a00;
  }
  .desktop-nav__link--primary{
    background: linear-gradient(135deg, #f08a00 0%, #ff9800 100%) !important;
    color:#fff;
    padding:10px 24px;
    box-shadow: 0 4px 12px rgba(240,138,0,.3);
  }
  .desktop-nav__link--primary:hover{
    background: linear-gradient(135deg, #ff9800 0%, #f08a00 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(240,138,0,.4);
  }

  /* Mobile Menu */
  .mobile-menu{
    position:fixed;
    top:64px;
    left:0;
    right:0;
    bottom:0;
    background: rgba(0,0,0,.5);
    z-index:99;
    opacity:0;
    visibility:hidden;
    transition: all 0.3s;
  }
  .mobile-menu.active{
    opacity:1;
    visibility:visible;
  }
  .mobile-menu__content{
    background:#fff;
    padding:0px 0;
    transform: translateY(-20px);
    transition: transform 0.3s;
  }
  .mobile-menu.active .mobile-menu__content{
    transform: translateY(0);
  }
  .mobile-menu__nav{
    list-style:none;
    margin:0;
    padding:0;
  }
  .mobile-menu__item{
    border-bottom:1px solid #f0f0f0;
  }
  .mobile-menu__item:last-child{border-bottom:none;}
  .mobile-menu__link{
    display:block;
    padding:16px 20px;
    color:#2f3b52;
    text-decoration:none;
    font-weight:700;
    font-size:15px;
    transition:all 0.3s;
    position:relative;
  }
  .mobile-menu__link::before{
    content:"&#8250;";
    position:absolute;
    left:20px;
    color:#f08a00;
    opacity:0;
    transform: translateX(-10px);
    transition: all 0.3s;
  }
  .mobile-menu__link:hover,
  .mobile-menu__link:active{
    background:#fff9f0;
    padding-left:35px;
    color:#f08a00;
  }
  .mobile-menu__link:hover::before,
  .mobile-menu__link:active::before{
    opacity:1;
    transform: translateX(0);
  }

  /* Sections */
  section{padding:24px 0}
  .section-title{
    font-size:18px;
    font-weight:900;
    color:#2f3b52;
    line-height:1.6;
    margin:0 0 16px;
    text-align:center;
  }
  .section-sub{
    margin:0 0 12px;
    color:#666;
    font-size:13px;
    text-align:center;
  }
  .section--alt{
    background: linear-gradient(180deg, #fafafa 0%, #f5f5f5 100%);
    padding:32px 0;
  }
  .section--highlight{
    background: linear-gradient(135deg, #fff9f0 0%, #fff3e0 100%);
    padding:32px 0;
    position:relative;
  }
  .section--highlight::before{
    content:"";
    position:absolute;
    top:0; left:0; right:0;
    height:3px;
    background: linear-gradient(90deg, #f08a00 0%, #2bb7a4 100%);
  }

  /* Cute heading (Category section) */
  .cute-heading{
    text-align:center;
    margin:8px 0 12px;
  }
  .cute-sub {
    display: block !important;
    background: #fff3e0 !important;
    color: #f08a00 !important;
    font-weight: 900;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    margin: 0 auto 12px;
    border: 1px solid rgba(240, 138, 0, .25) !important;
    width: 300px;
}
  .cute-main{
    margin:0;
    font-size:18px;
    font-weight:900;
    color:#2f3b52;
    line-height:1.6;
    position:relative;
    display:inline;
    padding:0;
  }
  .cute-main br{display:none;}
  @media (min-width: 900px){
    .cute-sub{font-size:14px;}
    .cute-main{font-size:22px;}
    .cute-main br{display:inline;}
    .section-title{font-size:22px;}
  }

  /* Hero */
  .hero{padding:0}
  .hero__wrap{
    max-width:1040px;
    margin:0 auto;
    padding:0;
  }
  .hero__img{
    position:relative;
    width:100%;
    overflow:hidden;
    background:#f6f6f6;
  }
  .hero__img picture,
  .hero__img img{
    width:100%;
    height:auto;
    display:block;
  }
  .hero__img img{object-fit:cover;}

  .hero__btn{
    position:absolute;
    left:0;
    top:66%;
    right:0;
    margin:0 auto;
    z-index:2;
    display:block;
  }
  .hero__btn img{
    width:90%;
    margin:0 auto;
  }

  /* Category Carousel */
  .cats-wrapper{
    position:relative;
    margin:0 -16px;
    padding:0 16px;
    overflow:hidden;
  }
  .cats__carousel{
    display:flex;
    gap:16px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:10px;

    /* scroll-snap は環境によって不安定なので外す（落ちるなら即復活できる） */
    /* scroll-snap-type: x mandatory; */
  }
  .cats__carousel::-webkit-scrollbar{display:none;}
  .cats__page{
    flex:0 0 100%;
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:10px;
    /* scroll-snap-align: start; */
  }
  .cat{
    background:#fff;
    border:2px solid #f08a00;
    border-radius:18px;
    overflow:hidden;
    position:relative;
  }
  .cat::before{
    content:"";
    position:absolute;
    top:0; left:0; right:0;
    height:4px;
    background: linear-gradient(90deg, #f08a00 0%, #2bb7a4 100%);
  }

  /* aspect-ratio 代替：擬似正方形 */
  .cat__thumb{
    width:100%;
    background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);
    overflow:hidden;
    position:relative;
  }
  .cat__thumb::before{
    content:"";
    display:block;
    padding-top:100%;
  }
  .cat__thumb img{
    position:absolute;
    top:0; left:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .cat__thumb::after{
    content:"";
    position:absolute;
    bottom:0; left:0; right:0;
    height:60%;
    background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.3) 100%);
    pointer-events:none;
  }

  .cat__body{
    padding:14px 10px;
    text-align:center;
    background: linear-gradient(180deg, #fff 0%, #fffaf5 100%);
  }
  .cat__title{
    margin:0 0 6px;
    font-weight:900;
    font-size:15px;
    color:#2f3b52;
    text-shadow: 0 1px 2px rgba(0,0,0,.05);
  }
  .cat__meta{
    margin:0;
    font-size:11px;
    color:#fff;
    line-height:1.4;
    background: linear-gradient(90deg, #f08a00 0%, #ff9800 100%) !important;
    padding:4px 10px;
    border-radius:12px;
    font-weight:700;
    display:inline-block;
  }
  .cats__dots{
    display:flex;
    justify-content:center;
    gap:6px;
    margin-top:14px;
  }
  .dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#ddd;
    transition:all 0.3s;
    cursor:pointer;
  }
  .dot.active{
    background:#f08a00 !important;
    width:24px;
    border-radius:4px;
  }

  @media (min-width: 900px){
    .cats__page{grid-template-columns: repeat(6, 1fr); gap:12px;}
    .cat__title{font-size:14px;}
    .cat__meta{font-size:11px; padding:4px 10px;}
    .cat__body{padding:10px 8px;}
  }

  /* Coupon sample slider */
  .sample{
    background: linear-gradient(180deg, #2f3b52 0%, #1a2332 100%);
    padding:20px 0;
    overflow:hidden;
    position:relative;
  }
  .sample::before,
  .sample::after{
    content:"";
    position:absolute;
    top:0; bottom:0;
    width:60px;
    z-index:2;
    pointer-events:none;
  }
  .sample::before{
    left:0;
    background: linear-gradient(90deg, #2f3b52 0%, transparent 100%);
  }
  .sample::after{
    right:0;
    background: linear-gradient(270deg, #2f3b52 0%, transparent 100%);
  }
  .sample__head{text-align:center; margin-bottom:16px; padding:0 16px;}
  .sample__label {
    font-weight: 900;
    font-size: 18px;
    color: #fff;
    margin: 0 0 6px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, .3);
    text-align: center;
}
 
  .coupon-card{
    flex:0 0 200px;
    border-radius:10px;
    overflow:hidden;
    border:2px solid rgba(255,255,255,.1);
    background:#fff;
    transition: transform 0.3s, border-color 0.3s;
  }
  .coupon-card:hover{
    transform: scale(1.05);
    border-color:#2bb7a4;
  }
  .coupon-card img{width:100%; height:auto; display:block;}

  /* Payback */
  .payback__grid{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
  }
  .pay{
    position:relative;
    border-radius:20px;
    overflow:hidden;
    background:#fff;
    border:3px solid #f08a00;
  }
  .pay__ill{width:100%; overflow:hidden; position:relative; background:#f5f5f5;}
  .pay__ill img{width:100%; height:auto; display:block;}
  .pay__body{
    padding:16px 18px 20px;
    background: linear-gradient(180deg, #fff 0%, #fffaf0 100%);
    text-align:center;
  }
  .pay__kicker{
    font-size:13px;
    color:#fff;
    margin:0 0 10px;
    font-weight:900;
    background:#f08a00;
    display:inline-block;
    padding:4px 16px;
    border-radius:20px;
    letter-spacing:.05em;
  }
  .pay__main{
    margin:0 0 8px;
    font-size:19px;
    font-weight:900;
    letter-spacing:.02em;
    line-height:1.5;
    color:#2f3b52;
  }
  .pay__main span{
    color:#fff;
    background: linear-gradient(90deg, #ff3d00 0%, #ff6d00 100%);
    padding:2px 10px;
    border-radius:6px;
    font-size:22px;
    display:inline-block;
    margin:0 2px;
    box-shadow:0 3px 10px rgba(255,61,0,.3);
  }
  .pay__sub{
    margin:0;
    font-size:11px;
    color:#666;
    font-weight:600;
  }

  /* Assurance icons */
  .assure{background:transparent; padding:0;}
  .assure__grid{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }
  .ass{
    display:flex;
    align-items:center;
    gap:16px;
    padding:18px 20px;
    border-radius:18px;
    background:#fff;
    border:2px solid #4dc056;
    transition: all 0.3s;
    position:relative;
    overflow:hidden;
  }
  .ass::before{
    content:"";
    position:absolute;
    left:0; top:0; bottom:0;
    width:5px;
    background: linear-gradient(180deg, #f08a00 0%, #2bb7a4 100%);
  }
  .ass__icon{
    flex-shrink:0;
    width:64px;
    height:64px;
    border-radius:16px;
    background:#fff;
    display:block;
    border:2px solid #f08a00;
    overflow:hidden;
  }
  .ass__icon img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:8px;
  }
  .ass__content{flex:1;}
  .ass__title{
    margin:0 0 6px;
    font-size:16px;
    font-weight:900;
    color:#2f3b52;
    letter-spacing:0.02em;
  }
  .ass__desc{
    margin:0;
    font-size:13px;
    color:#666;
    line-height:1.5;
  }
  .ass:hover{
    border-color:#f08a00;
    transform: translateX(4px);
  }
  @media (min-width: 900px){
    .assure__grid{grid-template-columns: repeat(3, 1fr); gap:16px;}
    .ass{flex-direction:column; text-align:center; padding:24px 20px;}
    .ass::before{
      width:100%;
      height:5px;
      top:0; left:0; right:0;
      bottom:auto;
      background: linear-gradient(90deg, #f08a00 0%, #2bb7a4 100%);
    }
    .ass:hover{transform: translateY(-4px);}
    .ass__icon{width:80px; height:80px;}
  }

  /* Steps */
  .steps{background:transparent; padding:0;}
  .steps__list{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    margin:0;
    padding:0;
    list-style:none;
    position:relative;
    overflow:visible;
  }
  .step-wrapper{position:relative; margin-bottom:50px;}
  .step-wrapper:last-child{margin-bottom:0;}
  .step-wrapper::after{
    content: "\25BC";
    display:block;
    position:absolute;
    bottom:-45px;
    left:50%;
    transform: translateX(-50%);
    font-size:32px;
    color:#fc8fa6;
    z-index:10;
    animation: bounceDown 1.5s infinite;
    font-weight:bold;
    text-shadow: 0 2px 4px rgba(0,0,0,.2);
  }
  .step-wrapper:last-child::after{content:none;}
  .step{
    background:#fff;
    border:3px solid #fc8fa6;
    border-radius:16px;
    overflow:hidden;
    position:relative;
  }
  @keyframes bounceDown{
    0%,100%{transform: translateX(-50%) translateY(0); opacity:1;}
    50%{transform: translateX(-50%) translateY(-8px); opacity:0.7;}
  }
  .step__badge{
    background: linear-gradient(135deg, #fc8fa6 0%, #ff6b9d 100%);
    color:#fff;
    font-size:11px;
    font-weight:900;
    padding:5px 12px;
    text-transform:uppercase;
    letter-spacing:0.05em;
    text-align:center;
    border-bottom:2px solid rgba(0,0,0,.08);
  }
  .step__image{
    width:100%;
    padding:0;
    background:#fefcff;
    display:flex;
    justify-content:center;
    align-items:center;
  }
  .step__image img{
    width:100%;
    max-width:220px;
    height:auto;
    display:block;
    border-radius:8px;
  }
  .step__content{
    padding:12px 12px 14px;
    background: linear-gradient(180deg, #fff 0%, #fffcf8 100%);
  }
  .step__title{
    margin:0 0 6px;
    font-weight:900;
    font-size:18px;
    color:#2f3b52;
    letter-spacing:0.02em;
    text-align:center;
  }
  .step__text{
    margin:0;
    font-size:14px;
    color:#666;
    line-height:1.5;
    text-align:center;
  }
  @media (min-width: 900px){
    .steps__list{grid-template-columns: repeat(3, 1fr); gap:20px; align-items:stretch;}
    .step-wrapper{margin-bottom:0;}
    .step-wrapper::after{
      content: "\25B6";
      bottom:auto;
      top:50%;
      left:100%;
      right:auto;
      margin-left:10px;
      transform: translateY(-50%);
      font-size:36px;
      animation: bounceRight 1.5s infinite;
    }
    @keyframes bounceRight{
      0%,100%{transform: translateY(-50%) translateX(0); opacity:1;}
      50%{transform: translateY(-50%) translateX(8px); opacity:0.7;}
    }
    .step__image{padding:12px;}
    .step__image img{max-width:100%;}
    .step__content{padding:14px 14px 16px;}
    .step__title{font-size:18px;}
    .step__text{font-size:13px;}
  }

  /* FAQ */
  .faq{background:transparent;}
  .faq__list{
    display:grid;
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
  }
  .faq__item{
    background:#fff;
    border:2px solid #e7e7e7;
    border-radius:16px;
    overflow:hidden;
    transition:border-color 0.3s;
  }
  .faq__item[open]{border-color:#f08a00;}
  .faq__question{
    cursor:pointer;
    font-weight:900;
    font-size:15px;
    padding:16px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:#2f3b52;
    transition: background 0.3s;
    position:relative;
  }
  .faq__question:hover{background:#fafafa;}
  .faq__question::after{
    content:"＋";
    font-size:24px;
    font-weight:900;
    color:#f08a00;
    transition: transform 0.3s;
    flex-shrink:0;
    line-height:1;
  }
  .faq__item[open] .faq__question::after{
    content:"−";
    transform: rotate(180deg);
  }
  .faq__answer{
    padding:0 18px 18px 18px;
    font-size:14px;
    color:#666;
    line-height:1.7;
    margin:0;
    animation: fadeIn 0.3s ease-in;
  }
  @keyframes fadeIn{
    from{opacity:0; transform: translateY(-10px);}
    to{opacity:1; transform: translateY(0);}
  }
  @media (min-width: 900px){
    .faq__question{font-size:16px; padding:18px 20px;}
    .faq__answer{font-size:15px; padding:0 20px 20px 20px;}
  }

  /* Final CTA */
  .final-cta{
    padding:0;
    margin-bottom:88px;
  }
  .final-cta__wrap{
    max-width:1040px;
    margin:0 auto;
    padding:0;
  }
  .final-cta__image{
    position:relative;
    width:100%;
    overflow:hidden;
    background:#f6f6f6;
  }
  .final-cta__image img{
    width:100%;
    height:auto;
    display:block;
  }
  .final-cta__btn{
    position:absolute;
    left:50%;
    top:76%;
    transform: translate(-50%, -50%);
    z-index:2;
    display:block;
    width:90%;
    max-width:400px;
  }
  .final-cta__btn img{
    width:100%;
    height:auto;
    display:block;
  }
  @media (min-width: 900px){
    .final-cta{margin-bottom:0;}
    .final-cta__btn{width:auto; max-width:420px;}
  }

  /* Footer */
  .page-footer{
    background: linear-gradient(180deg, #2f3b52 0%, #1a2332 100%);
    color:#fff;
    padding-bottom:0;
    margin-top:40px;
  }
  .footer__top{
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .ft_bg{
    padding:50px 16px 40px;
    max-width:1040px;
    margin:0 auto;
  }
  .footer__brand{margin-bottom:30px;}
  .footer__logo{margin:0 0 12px; display:block;}
  .footer__logo img{height:40px; width:auto; display:block;}
  .ft_p{
    font-size:15px;
    line-height:1.8;
    color: rgba(255,255,255,.7);
    margin:0;
    max-width:500px;
  }
  .footer__links{
    display:grid;
    grid-template-columns:1fr;
    gap:30px;
    margin-bottom:40px;
  }
  .footer__column h6{
    font-size:14px;
    font-weight:900;
    color:#f08a00;
    margin:0 0 16px;
    text-transform:uppercase;
    letter-spacing:0.05em;
  }
  .page-footer ul{margin:0; padding:0; list-style:none;}
  .ft_manulist{margin-bottom:12px;}
  .ft_manulist a{
    color: rgba(255,255,255,.8);
    text-decoration:none;
    font-size:14px;
    transition: all 0.3s;
    display:inline-block;
    position:relative;
    padding-left:12px;
  }
  .ft_manulist a::before{
    content: "\203A";
    position:absolute;
    left:0;
    color:#f08a00;
    transition: transform 0.3s;
  }
  .ft_manulist a:hover{
    color:#fff;
    padding-left:16px;
  }
  .ft_manulist a:hover::before{
    transform: translateX(4px);
  }
  .footer-copyright{
    background: rgba(0,0,0,.3);
    padding:24px 16px;
    font-size:13px;
    color: rgba(255,255,255,.6);
    text-align:center;
    margin-bottom:0;
  }
  .footer-copyright p{margin:0;}

  @media (min-width: 768px){
    .footer__links{grid-template-columns: repeat(2, 1fr); gap:40px;}
  }
  @media (min-width: 900px){
    .page-footer{padding-bottom:0;}
    .ft_bg{
      display:grid;
      grid-template-columns: 1fr 2fr;
      gap:60px;
      padding:60px 16px 50px;
    }
    .footer__brand{margin-bottom:0;}
    .footer__links{
      grid-template-columns: repeat(3, 1fr);
      gap:40px;
      margin-bottom:0;
    }
    .footer-copyright{padding:28px 16px;}
  }

  /* Fixed CTA bar */
  .fixed-cta{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:90;
    transform: translateY(100%);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    padding:0;
    background:transparent;
  }
  .fixed-cta.visible{transform: translateY(0);}
  .fixed-cta.hidden{transform: translateY(100%);}
  .fixed-cta__link{display:block; width:100%;}
  .fixed-cta__link img{width:100%; height:auto; display:block;}

  @media (min-width: 900px){
    .fixed-cta{
      left:50%;
      right:auto;
      transform: translate(-50%, calc(100% + 30px));
      width:600px;
      max-width:90%;
      bottom:20px;
      border-radius:12px;
      overflow:hidden;
      box-shadow: 0 8px 24px rgba(0,0,0,.2);
    }
    .fixed-cta.visible{transform: translate(-50%, 0);}
    .fixed-cta.hidden{transform: translate(-50%, calc(100% + 30px));}
  }

  /* Desktop */
  @media (min-width: 900px){
    .sp-only{display:none}
    .pc-only{display:block}

    .hero{padding:0}
    .hero__wrap{max-width:1040px; margin:0 auto; padding:0}
    .payback__grid{grid-template-columns: repeat(3, 1fr); gap:20px}
    .pay:hover{
      transform: translateY(-4px);
      border-color:#2bb7a4;
      transition: all 0.3s;
    }
    .pay__main{font-size:20px}
    .pay__main span{font-size:24px}

    .header__inner{height:72px}
    .hamburger{display:none}
    .mobile-menu{display:none}
    .desktop-nav{display:block}

    .hero__btn{
      left:41%;
      top:51%;
    }
    .hero__btn img{width:420px; max-width:100%}
  }


 .rail{
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      width: -webkit-max-content;
      width: -moz-max-content;
      width: max-content;
      will-change: transform;
      -webkit-transform: translate3d(0,0,0);
      transform: translate3d(0,0,0);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      /* アニメーションはJavaScriptで制御 */
    }
    .rail__set{
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      gap: 12px;
      padding-right: 12px;
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
      flex: 0 0 auto;
    }
   
    .rail__set + .rail__set{
      margin-left: 0;
    }
    .coupon-card{
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 200px;
      flex: 0 0 200px;
      border-radius: 10px;
      overflow: hidden;
      border: 2px solid rgba(255,255,255,.1);
      background: #fff;
      -webkit-transition: -webkit-transform 0.3s, border-color 0.3s;
      transition: transform 0.3s, border-color 0.3s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
    }
    .coupon-card:hover{
      -webkit-transform: scale(1.05);
      transform: scale(1.05);
      border-color: #2bb7a4;
    }
    .coupon-card img{
      width: 100%;
      height: auto;
      display: block;
      -webkit-user-select: none;
      -moz-user-select: none;
      user-select: none;
    }

