.santa2026 {
   position: relative;
   background: var(--blue-400);
   overflow-x: clip
}

.santa2026-head,
.pickup-list,
.faq {
   position: relative;
   z-index: 2
}

.theme-stage{position:relative}
.theme-deco{position:absolute;inset:0;display:grid;align-items:start;pointer-events:none}
.theme-stars,.theme-hangs{grid-area:1/1;position:sticky;top:0;width:100%;overflow:hidden}
.theme-stars{z-index:0;height:810px}
.theme-hangs{z-index:3;height:500px}
.theme-stars img,.theme-hangs img{position:absolute;max-width:none;height:auto}
.stars-pc-1,.stars-pc-2{left:calc(50% - 660.64px);width:1394px}
.stars-pc-1{top:40.15px}.stars-pc-2{top:525.93px}
.theme-stars img{animation:theme-twinkle 4s ease-in-out infinite}
.stars-pc-2{animation-delay:-2s}
@keyframes theme-twinkle{0%,100%{opacity:1}50%{opacity:.55}}

.theme-hang{transform-origin:50% 0;animation:theme-drop 1.1s var(--drop,0s) both,theme-swing 2.6s ease-in-out var(--sw,0s) infinite alternate}
@keyframes theme-drop{0%{translate:0 -100%;animation-timing-function:cubic-bezier(.3,0,.6,1)}62%{translate:0 0;animation-timing-function:ease-out}80%{translate:0 -10px;animation-timing-function:ease-in}100%{translate:0 0}}
.hang-1{left:calc(50% - 682.97px);top:-88px;width:80.05px;--drop:.1s}
.hang-2{left:calc(50% - 612px);top:-109.51px;width:81.75px;--sw:-.8s;--drop:.4s}
.hang-3{left:calc(50% + 690px);top:-292.08px;width:79.44px;--sw:-1.6s;--drop:.2s}
.hang-4{left:calc(50% + 530px);top:-55.2px;width:63.95px;--sw:-.4s;--drop:.35s}
.hang-5{left:calc(50% + 605px);top:-74px;width:108.89px;--sw:-1.2s;--drop:.5s}
.hang-6{left:calc(50% - 669.78px);top:-210.84px;width:132.45px;--sw:-2s;--drop:.25s}
@keyframes theme-swing{from{rotate:-2deg}to{rotate:2deg}}

.hang-sp{display:none}
@media(max-width:1023px){
 .hang-pc{display:none}
 .theme-hangs{position:absolute;height:650px}
 .hang-sp{display:block;top:-30px;width:455px}
 .hang-sp-1,.hang-sp-2,.hang-sp-3{right:-40px}
 .hang-sp-4,.hang-sp-5,.hang-sp-6{left:-40px}
 .hang-sp-1{transform-origin:343.5px 0;--drop:.2s}
 .hang-sp-2{transform-origin:371.9px 0;--sw:-.8s;--drop:.35s}
 .hang-sp-3{transform-origin:394.5px 0;--sw:-1.6s;--drop:.5s}
 .hang-sp-4{transform-origin:140.5px 0;--sw:-.4s;--drop:.4s}
 .hang-sp-5{transform-origin:104.9px 0;--sw:-1.2s;--drop:.25s}
 .hang-sp-6{transform-origin:63.5px 0;--sw:-2s;--drop:.1s}
.hang-sp.hang-sp-6 {
   top: -62px;
}
}

.santa2026-head {
   height: 300px;
   display: flex;
   align-items: center;
   justify-content: center;
}

.theme-title {
   line-height: 0;
   position: relative;
}

.theme-title::before {
   content: "";
   display: block;
   width: 100px;
   height: 100px;
   background:url(../img/santa2026/santa.webp) center/contain no-repeat;
   position: absolute;
   top: 60px;
   right: -100px;
   animation: snowman-in .6s ease-out .3s both, snowman-float 2.2s ease-in-out 1.2s infinite alternate;
}

.theme-title picture {
   display: block
}

.theme-title img {
   width: 573.55px;
   height: auto
}

@media(max-width:1000px) {
   .santa2026-head {
      height: auto;
      flex-direction: column;
      gap: 16px;
      padding-bottom: 32px
   }

   .theme-orn {
      position: relative;
      left: auto
   }
}

@media(max-width:700px) {
   .theme-title::before {
      width: 60px;
      height: 60px;
      top: -60px;
      left: 50%;
      right: auto;
   }
}

.santa2026-read {
   width: min(1200px, calc(100% - 40px));
   margin: 0 auto 20px;
   font-size: 20px;
   font-weight: bold;
   color: var(--neutral-200);
   text-align: center;
   position: relative;
   z-index: 2;
}

.santa2026-read-l {
   width: min(1200px, calc(100% - 40px));
   margin: 40px auto 0;
   padding-bottom: 120px;
   font-size: 20px;
   font-weight: bold;
   color: var(--neutral-200);
   text-align: center;
   position: relative;
   z-index: 2;
}
@media(min-width:701px) {
   .santa2026-read {
      margin-bottom: 80px;
      font-size: 24px;
   }

   .santa2026-read-l {
      margin-top: 40px;
      font-size: 32px;
   }
}

.pickup-list {
   width: min(1200px, calc(100% - 40px));
   margin: 0 auto;
   display: flex;
   flex-direction: column;
   gap: 50px
}

.page-santa2026 .product-card {
   filter: none;
}

.pickup-card {
   opacity: 0;
   translate: 0 40px;
   transition: opacity .6s ease-out, translate .8s var(--ease)
}

.pickup-card.is-inview {
   opacity: 1;
   translate: 0 0
}

.pickup-card .product-snowman {
   opacity: 0
}

.pickup-card.is-inview .product-snowman {
   animation: snowman-in .6s ease-out .3s both, snowman-float 2.2s ease-in-out 1.2s infinite alternate
}

.page-santa2026 .pickup-card .product-catch {
   border-top: 2px dashed var(--blue-200);
   border-bottom: 2px dashed var(--blue-200);
}

.pickup-card .product-catch h2 {
   position: relative;
   color: var(--blue-400);
   font-size: 28px;
   font-weight: 700;
   line-height: 1.6;
   white-space: pre-line;
   text-align: center;
}

.pickup-card .product-catch h2 .num {
   display: inline-block;
   margin-bottom: 10px;
   padding: 3px 20px 4px;
   border-radius: 60px;
   background-color: var(--blue-400);
   font-size: 16px;
   color: var(--white);
}

.pickup-card .product-catch h2 .num span {
   font-size: 20px;
   font-family: var(--font-en);
   font-weight: normal;
   position: relative;
   top: 1px;
}

 .pickup-card .product-checklist li {
   margin-top: 40px;
 }

 .product-checklist_title {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 16px;
   font-size: 18px;
 }

 .product-checklist_title-icon {
   width: 24px;
   padding-top: 2px;
 }

 .product-checklist_text {
   font-size: 14px;
   line-height: 2;
 }

 .product-checklist_note {
   margin-top: 16px;
   font-size: 12px;
 }

@media(min-width:701px) and (max-width:1023px) {
   .pickup-card {
      padding: 56px 40px
   }
}

@media(min-width:701px) {
   .pickup-card .product-catch h2 .num {
   font-size: 20px;
}

.pickup-card .product-catch h2 .num span {
   font-size: 24px;
}

.product-checklist_title {
   font-size: 20px;
 }

 .product-checklist_text {
   font-size: 16px;
 }

  .product-checklist_note {
   font-size: 14px;
 }
}

.page-santa2026 .share {
   background: var(--blue-400)
}

@media(max-width:700px) {

   .theme-hangs {
      position: absolute;
      height: 650px
   }

   .hangs-sp {
      left: calc(50% - 187.5px);
      top: 0;
      width: 375px
   }

   .stars-sp {
      left: calc(50% - 183.74px);
      top: 19.87px;
      width: 368px
   }

   .santa2026-head {
      height: auto;
      flex-direction: column;
      gap: 16px;
      padding-top: 110px;
      padding-bottom: 16px
   }

   .theme-title {
      width: 70%;
   }

   .pickup-list {
      width: calc(100% - 32px);
      padding-top: 40px
   }

   .pickup-card .product-catch h2 {
      font-size: 18px
   }

}

@media(prefers-reduced-motion:reduce) {

   .theme-stars img,
   .theme-hang,
   .pickup-card .product-snowman,
   .faq-item[open] .faq-a {
      animation: none !important
   }

   .pickup-card,
   .pickup-card .product-snowman {
      opacity: 1;
      translate: 0 0;
      transition: none
   }
}
