@charset "utf-8";.product .product-con .ph{position:relative;display:block;overflow:hidden;border-radius:3px;background-color:var(--sp-surface-alt,#f6f9fc)}.product .product-con .ph::after{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;background-image:-webkit-linear-gradient(left,rgba(255,255,255,0) 30%,rgba(255,255,255,.9) 50%,rgba(255,255,255,0) 70%);background-image:linear-gradient(90deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.9) 50%,rgba(255,255,255,0) 70%);background-repeat:no-repeat;background-size:200% 100%;-webkit-animation:sp-card-shimmer 1.15s linear infinite;animation:sp-card-shimmer 1.15s linear infinite}@-webkit-keyframes sp-card-shimmer{from{background-position:130% 0}to{background-position:-130% 0}}@keyframes sp-card-shimmer{from{background-position:130% 0}to{background-position:-130% 0}}.product .product-con .ph>img{display:block;width:100%;height:auto;aspect-ratio:1 / 1;-o-object-fit:contain;object-fit:contain}html.js .product .product-con .ph>img{opacity:0;-webkit-transition:opacity .45s ease;transition:opacity .45s ease}html.js .product .product-con .ph>img.is-loaded,html.js .product .product-con .ph.is-loaded>img{opacity:1}.product .product-con .ph.is-loaded::after{display:none}.product .product-con .ph.is-error::after{display:none}.index .product-card picture{position:relative}.index .product-card picture::after{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;background-image:-webkit-linear-gradient(left,rgba(255,255,255,0) 30%,rgba(255,255,255,.9) 50%,rgba(255,255,255,0) 70%);background-image:linear-gradient(90deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.9) 50%,rgba(255,255,255,0) 70%);background-repeat:no-repeat;background-size:200% 100%;-webkit-animation:sp-card-shimmer 1.15s linear infinite;animation:sp-card-shimmer 1.15s linear infinite}html.js .index .product-card img{opacity:0;-webkit-transition:opacity .45s ease;transition:opacity .45s ease}html.js .index .product-card img.is-loaded{opacity:1}.index .product-card picture.is-loaded::after,.index .product-card picture.is-error::after{display:none}@media (prefers-reduced-motion:reduce){.product .product-con .ph::after{-webkit-animation:none;animation:none}.index .product-card picture::after{-webkit-animation:none;animation:none}html.js .product .product-con .ph>img{-webkit-transition:none;transition:none}html.js .index .product-card img{-webkit-transition:none;transition:none}}
