:root{
--ease:cubic-bezier(.16,1,.3,1);
--neutral-100:#fbf7ee;--neutral-200:#fbf0d7;--neutral-600:rgba(255,255,255,.1);--neutral-700:rgba(255,255,255,.5);--neutral-900:#fff;--white:#fff;
--red-200:#ff6b6b;--red-300:#ff2222;--red-400:#d42426;--red-500:#be0c0e;--red-700:#8b1a1c;
--green-100:#dbeee2;--green-200:#c4d4cb;--green-300:#889a8e;--green-400:#2e8b7a;--green-500:#2e6b45;--green-600:#1a5c3a;--green-800:#03281e;--green-900:#011a13;
--blue-150:#accfd9;--blue-200:#5bb8d4;--blue-400:#1b6b8a;--blue-700:#002b4c;--blue-800:#062a45;--blue-900:#111940;
--gold-100:#f5e270;--gold-200:#ffc83d;--gold-300:#d0bf75;--gold-400:#e8a830;
--brown-200:#e0cfb8;--brown-250:#b49f79;--brown-400:#8b5e3c;
--pink:#ff9090;
--body-dark:var(--green-800);--body-dark-sub:#425e56;--body-light:var(--neutral-200);
--font-ja:'M PLUS 2','Hiragino Sans','Yu Gothic',Meiryo,sans-serif;
--font-en:'Patua One',serif;
--s:1;--ls:1;
}
html{overflow-anchor:none}*{box-sizing:border-box}
body{margin:0;color:var(--body-dark);background:var(--blue-700);font-family:var(--font-ja);font-weight:500}
body.is-loading{overflow:hidden}
input{-webkit-user-select:text;user-select:text}
button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}
button{color:inherit;cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:default;opacity:.5}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold-200);outline-offset:3px;box-shadow:0 0 0 3px var(--green-800)}
img{max-width:100%;display:block}
:where(img[loading=lazy][width][height]){height:auto}
:where(.xmas-header,main,.modal,.menu) :where(ul,ol){margin:0;padding:0;list-style:none}
:where(.xmas-header,main,.modal,.menu) li,:where(.xmas-header,main,.modal,.menu) li+li{position:static;margin:0;padding:0}
:where(.xmas-header,main,.modal,.menu) li::before{content:none}
.l-breadcrumb{background:#fff}
h1,h2,h3,p{margin:0}button img{pointer-events:none}
[hidden]{display:none!important}
.c-pagetop._show {
   opacity: 0;
   visibility: hidden;
}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bp-sp{display:none}
@media(max-width:700px){.bp-pc{display:none!important}.bp-sp{display:block}span.bp-sp{display:inline}}

.snow{position:absolute;pointer-events:none;overflow:hidden}
.snow i{position:absolute;top:-16px;left:calc(var(--x) - var(--d) / 2);width:var(--d);height:var(--d);border-radius:50%;background:#fff;opacity:var(--o);animation:snow-fall var(--t) linear var(--delay) infinite;will-change:transform}
.page-snow{position:fixed;inset:0;z-index:1}.is-loading .page-snow{display:none}
.snow.is-paused{visibility:hidden}.snow.is-paused i{animation-play-state:paused}
.kv.is-offscreen *,.kv.is-offscreen *::before,.kv.is-offscreen *::after{animation-play-state:paused!important}
.snow i.is-flake{top:-24px;left:calc(var(--x) - var(--d));width:calc(var(--d) * 2);height:calc(var(--d) * 2);border-radius:0;background:none}
.snow i.is-flake::before{content:"";position:absolute;inset:0;background:url(../img/snowflake.svg) center/contain no-repeat;animation:snow-spin calc(var(--t) * .6) linear var(--delay) infinite}
.snow.is-paused i.is-flake::before{animation-play-state:paused}
@keyframes snow-spin{to{rotate:360deg}}
@keyframes snow-fall{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(var(--w),calc(var(--fall) * .25),0)}50%{transform:translate3d(calc(var(--w) * -.6),calc(var(--fall) * .5),0)}75%{transform:translate3d(calc(var(--w) * .4),calc(var(--fall) * .75),0)}100%{transform:translate3d(0,var(--fall),0)}}

.xmas-header-wrap{height:44px;position:relative;z-index:19}
.xmas-header{position:relative;height:44px;background:var(--red-500);color:#fff}
.xmas-header.is-pinned{position:fixed;top:0;left:0;right:0;z-index:19;box-shadow:0 2px 8px rgba(0,0,0,.25);animation:header-in .3s var(--ease)}
@keyframes header-in{from{translate:0 -100%}to{translate:0 0}}
.xmas-header-title{position:absolute;left:50%;top:14px;transform:translateX(-50%);font-weight:700;font-size:16px;line-height:1;letter-spacing:.05em;white-space:nowrap}
.xmas-header-title a{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none}
.xmas-header-title a::before{content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:url(../img/icon-home.svg) center/contain no-repeat;mask:url(../img/icon-home.svg) center/contain no-repeat}
.xmas-header-title a:focus-visible{outline:2px solid #fff;outline-offset:4px}
.xmas-header-actions{position:absolute;right:0;top:0;display:flex}
.header-btn{width:44px;height:44px;display:grid;place-items:center;background:var(--red-500)}
.header-btn img{width:20px;height:20px}
.menu-btn{position:relative}.menu-btn span{position:absolute;left:13px;width:18px;height:2px;border-radius:2px;background:#fff}
.menu-btn span:nth-child(1){top:15px}.menu-btn span:nth-child(2){top:21px}.menu-btn span:nth-child(3){top:27px}
.menu-btn{transition:background-color .3s ease-out}
@media(hover:hover){.menu-btn:hover{background:var(--red-700)}}
.header-btn:focus-visible{outline-color:#fff;outline-offset:-4px}
@media(max-width:700px){.xmas-header-title{left:calc(50% - 22px);font-size:13px}}
@media(max-width:359px){.xmas-header-title{font-size:12px}}
@media(max-width:700px){.xmas-header-title a{gap:4px}.xmas-header-title a::before{width:13px;height:13px}}
@media(max-width:374px){.xmas-header-title:has(a){font-size:12px}}
@media(max-width:359px){.xmas-header-title:has(a){font-size:11px;letter-spacing:0}}

dialog{border:0;padding:20px;background:none;color:var(--body-dark);max-width:100%;max-height:100svh;overflow-y:auto;overscroll-behavior:contain}
dialog.modal{width:100%;height:100svh}
dialog.modal[open]{display:flex;flex-direction:column}
dialog.modal>.modal-card,dialog.modal>.product-card{flex:none;width:100%;max-width:var(--modal-w,100%);margin:auto}
dialog{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
@supports not (scrollbar-color:auto){
 dialog::-webkit-scrollbar{width:6px}
 dialog::-webkit-scrollbar-track{background:transparent}
 dialog::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:3px}
}
dialog::backdrop{background:rgba(0,10,20,.8)}
dialog.modal,.menu{opacity:0;transition:opacity .3s ease-out,overlay .42s allow-discrete,display .42s allow-discrete}
dialog.modal[open],.menu[open]{opacity:1}
@starting-style{dialog.modal[open]{opacity:0}}
dialog.modal>.modal-card,dialog.modal>.product-card{opacity:0;translate:0 24px;transition:opacity .42s var(--ease),translate .42s var(--ease)}
dialog.modal[open]>.modal-card,dialog.modal[open]>.product-card{opacity:1;translate:0 0}
@starting-style{dialog.modal[open]>.modal-card,dialog.modal[open]>.product-card{opacity:0;translate:0 24px}}
dialog::backdrop{opacity:0;transition:opacity .3s ease-out,overlay .42s allow-discrete,display .42s allow-discrete}
dialog[open]::backdrop{opacity:1}
@starting-style{dialog[open]::backdrop{opacity:0}}
.modal-card{position:relative;background:var(--neutral-100);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:24px}
.modal-close{position:absolute;right:-16px;top:-16px;width:44px;height:44px;border-radius:50%;background:var(--red-500);z-index:2}
.modal-close::before,.modal-close::after{content:"";position:absolute;left:13px;top:21px;width:18px;height:2px;border-radius:2px;background:#fff;rotate:45deg}
.modal-close::after{rotate:-45deg}
@media(hover:hover){
 .modal-close:hover::before{animation:close-spin-a .6s cubic-bezier(.3,.6,.3,1)}
 .modal-close:hover::after{animation:close-spin-b .6s cubic-bezier(.3,.6,.3,1)}
}
@keyframes close-spin-a{from{rotate:45deg}to{rotate:405deg}}
@keyframes close-spin-b{from{rotate:-45deg}to{rotate:315deg}}
.modal-head{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-weight:800;padding:16px 0}
.modal-label{color:var(--red-400);font-size:14px}
.modal-head h2{color:var(--green-600);font-size:26px;font-weight:800}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;border-radius:8px;padding:12px;font-size:14px;font-weight:800;color:#fff;line-height:1.5}
.btn img{flex:none}
.btn-red{background:var(--red-500)}.btn-green{background:var(--green-600)}.btn-black{background:#000}
.btn-outline{background:none;border:1px solid var(--green-200);color:var(--green-600)}
.dialog-error{font-size:12px;line-height:1.7;color:var(--red-400)}
@media(max-width:700px){
 dialog.modal>.modal-card{max-width:none}
 .modal-card{padding:32px 16px 24px}
 .modal-head{padding:0}.modal-label{font-size:12px}.modal-head h2{font-size:22px}
}

.modal-confirm{--modal-w:440px}
.modal-confirm .modal-card{gap:16px}
.modal-confirm .modal-head{padding:0}.modal-confirm .modal-head h2{font-size:20px}
.confirm-copy{font-size:14px;line-height:1.7;text-align:center}
.confirm-actions{display:flex;gap:8px;justify-content:center}.confirm-actions .btn{flex:1;max-width:180px}

.menu{width:100%;height:100svh;padding:40px 50px;overflow-y:auto}
.menu-panel{position:relative;width:800px;margin:0 auto;background:var(--blue-800);border-radius:40px;padding-top:40px;display:flex;flex-direction:column;align-items:center;color:var(--neutral-200)}
.menu-ornaments{position:absolute;left:-38px;top:-49px;width:154px;height:147px;pointer-events:none;z-index:2}
.menu-close{position:absolute;right:18px;top:20px;z-index:3}
.menu[open] .menu-panel{animation:menu-in .5s cubic-bezier(.16,1,.3,1) both}
.menu[open] .menu-close,.menu[open]::backdrop{animation:fade-in .35s ease-out both}
@keyframes menu-in{from{opacity:0;translate:0 40px}to{opacity:1;translate:0 0}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
.menu-hang{position:absolute;max-width:none;transform-origin:50% 0}
.menu-hang-white{left:18px;top:-31px;width:45px;--swing:1.3deg;--md:.3s}
.menu-hang-stripe{left:56px;top:-52px;width:44.5px;--swing:-1.6deg;--md:.38s}
.menu-hang-yellow{left:108px;top:-20px;width:45.5px;--swing:1.8deg;--md:.46s}
.menu[open] .menu-hang{animation:menu-orn-drop .8s var(--md) both,menu-swing 2.2s ease-in-out calc(var(--md) + .8s) infinite}
@keyframes menu-swing{0%,50%,100%{rotate:0deg}25%{rotate:var(--swing)}75%{rotate:calc(var(--swing) * -1)}}
@keyframes menu-orn-drop{0%{opacity:0;translate:0 -60px;animation-timing-function:cubic-bezier(.3,0,.6,1)}60%{opacity:1;translate:0 0;animation-timing-function:ease-out}80%{translate:0 -6px;animation-timing-function:ease-in}100%{opacity:1;translate:0 0}}
.menu-head{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.menu-en-sub{font-family:var(--font-en);font-size:20px;line-height:1}
.menu-en{font-family:var(--font-en);font-size:40px;line-height:1;letter-spacing:2px}
.menu-ja{font-size:18px;font-weight:700}
.menu-cats{list-style:none;margin:10px 0 0;padding:0 64px;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.menu-cats li:nth-child(3n+2){padding-top:40px}
.menu-cat{display:flex;flex-direction:column;align-items:center;gap:10px;color:#fff;text-decoration:none}
.menu-orn{position:relative;width:100px;height:123px;transition:transform .25s var(--ease)}
.menu-orn img{position:absolute;max-width:none}
.menu-orn-cap{left:34px;top:0;width:32px;height:25px}
.menu-orn-ball-a{left:-2px;top:21px;width:104px;height:104px}
.menu-orn-ball-b{left:-5px;top:18px;width:118px;height:118px}
.menu-orn-img{left:50px;top:73px;width:var(--w);height:var(--h);translate:-50% -50%;object-fit:contain}
.menu-cat-dream-role{--w:60px;--h:59px}.menu-cat-new-friends{--w:60px;--h:46px}.menu-cat-smart-item{--w:64px;--h:56px}
.menu-cat-together-play{--w:66px;--h:56px}.menu-cat-make-believe{--w:61px;--h:61px}.menu-cat-toy-award{--w:56px;--h:54px}
.menu-cat:hover .menu-orn{transform:rotate(-4deg)}
.menu-cat{position:relative}
.menu-orn::after{content:"";position:absolute;inset:-10% -16%;z-index:2;pointer-events:none;opacity:0;background:url(../img/sparkle.svg) 92% 12%/13% auto no-repeat,url(../img/sparkle.svg) 2% 46%/8% auto no-repeat}
.menu-cat::before{content:"";position:absolute;left:calc(50% - 69px);top:66px;z-index:2;width:10px;height:12px;pointer-events:none;opacity:0;background:url(../img/sparkle.svg) center/contain no-repeat}
@media(hover:hover){
 .menu-cat:hover .menu-orn::after{animation:menu-kirari .6s ease-out both}
 .menu-cat:hover::before{animation:menu-kirari .6s ease-out .14s both}
}
.menu-cat:focus-visible .menu-orn::after{animation:menu-kirari .6s ease-out both}
.menu-cat:focus-visible::before{animation:menu-kirari .6s ease-out .14s both}
@keyframes menu-kirari{0%{opacity:0;translate:0 2px}30%{opacity:1;translate:0 0}60%{opacity:1}100%{opacity:0;translate:0 -2px}}
.menu-cat-label{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:700;text-align:center}
.menu-cat-label small{display:block;font-size:.65em}
.menu-cat-label::after{content:"";flex:none;width:24px;height:24px;background:url(../img/icon-arrow-badge.svg) center/contain no-repeat}
.menu-banners{width:100%;padding:80px 40px 20px;display:flex;flex-direction:column;gap:16px}
.menu-top{display:flex;align-items:center;gap:8px;margin-top:40px;padding:24px;border:1px solid var(--neutral-700);border-radius:16px;color:#fff;font-weight:700;line-height:normal;text-align:center;text-decoration:none;transition:opacity .2s}
.menu-top-snowman{flex:none;width:46.5px;height:73px}
.menu-top-text>span{display:block}
.menu-top-sub{font-size:18px}
.menu-top-main{font-size:22px}
.menu-top::after{content:"";flex:none;width:24px;height:24px;background:url(../img/icon-arrow-badge.svg) center/contain no-repeat}
@media(hover:hover){.menu-top:hover{opacity:.8}}
@media(max-width:700px){
 .menu-top{padding:16px;border-radius:8px}
 .menu-top-sub{font-size:12px}
 .menu-top-main{font-size:16px}
}
.menu-banner{display:block;border-radius:16px;transition:transform .2s var(--ease)}
.menu-banner img{width:100%;height:auto;border-radius:1.65%/6.5%}
.menu-banner picture{display:block}
@media(hover:hover){.menu-banner:hover{transform:translateY(-3px)}}
.menu-scene{position:relative;isolation:isolate;width:100%;height:369px;overflow:hidden;border-radius:0 0 40px 40px}
.menu-scene img{position:absolute;max-width:none}
.menu-marquee{display:flex;gap:40px;padding:10px;width:max-content;white-space:nowrap;font-family:var(--font-en);font-size:60px;line-height:1;color:transparent;-webkit-text-stroke:1px var(--neutral-200)}
@keyframes marquee{to{transform:translateX(-767px)}}
.menu-tree-l{left:-45px;bottom:0;width:160px}.menu-tree-r{left:694px;bottom:0;width:160px}
.menu-santa{left:190.5px;top:135.7px;width:224px;rotate:-4.19deg;opacity:.3}
.menu-sparkle{position:absolute;left:430px;top:171px;width:218px;height:109px;opacity:.95}
.menu-sparkle i{position:absolute;aspect-ratio:1}
.menu[open] .menu-marquee{animation:marquee 20s linear infinite}
.menu[open] .menu-sparkle i{animation:menu-twinkle 2s ease-in-out var(--d) infinite}
.menu-sparkle .star{-webkit-mask:url(../img/sparkle-star.svg) center/contain no-repeat;mask:url(../img/sparkle-star.svg) center/contain no-repeat}
.menu-sparkle .dot{border-radius:50%}
.menu-sparkle .is-y{background:#ffc733}.menu-sparkle .is-c{background:#ffffeb}
@keyframes menu-twinkle{0%,100%{opacity:1;scale:1}50%{opacity:.25;scale:.6}}
@media(max-width:700px){
 .menu{width:100%;padding:0}
 .menu-panel{width:100%;border-radius:0}
 .menu-cats,.menu-banners{max-width:375px}
 .menu-ornaments{left:12px;top:0}
 .menu-hang-white{left:0;top:-27px;width:32px}.menu-hang-stripe{left:24px;top:-40px;width:31.6px}.menu-hang-yellow{left:62px;top:-43px;width:32.3px}
 .menu-close{right:15px;top:15px}
 .menu-head{gap:4px;padding-bottom:20px}
 .menu-en-sub{font-size:16px}.menu-en{font-size:24px;letter-spacing:1.2px}.menu-ja{font-size:14px}
 .menu-cats{margin:0;padding:0 20px;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;row-gap:0}
 .menu-cats li:nth-child(3n+2){padding-top:0}
 .menu-cats li:nth-child(2n){padding-top:30px}
 .menu-orn{zoom:.8}
 .menu-cat::before{left:calc(50% - 56px);top:52px;width:8px;height:10px}
 .menu-cat-label{gap:6px;font-size:16px}
 .menu-cat-dream-role{--w:75px;--h:73.8px}.menu-cat-new-friends{--w:75px;--h:57.5px}.menu-cat-smart-item{--w:80px;--h:70px}
 .menu-cat-together-play{--w:82.5px;--h:70px}.menu-cat-make-believe{--w:76.3px;--h:76.3px}.menu-cat-toy-award{--w:70px;--h:67.5px}
 .menu-banners{padding:40px 20px 20px}
 .menu-banner{border-radius:8px}
 .menu-banner picture img{border-radius:2.33%/5.71%}
 .menu-scene{height:299px;border-radius:0}
 .menu-marquee{font-size:40px}
 @keyframes marquee{to{transform:translateX(-525px)}}
 .menu-tree-l{left:-25px;width:108px}.menu-tree-r{left:auto;right:-27px;width:108px}
 .menu-santa{left:calc(50% - 137.9px);top:103.8px;width:140.3px}
 .menu-sparkle{left:calc(50% + 11.5px);top:126px}
}
@media(min-width:701px) and (max-width:959px){
 .menu{width:100%;padding:40px 24px}.menu-panel{width:100%;max-width:800px}
 .menu-cats{padding:0 24px}.menu-banners{padding:80px 24px 20px}
}

.product-card{position:relative;background:#fff;border-radius:40px;padding:80px;filter:drop-shadow(10px 30px 5px rgba(0,0,0,.15))}
.product-snowman{position:absolute;left:50%;top:-60px;width:90px;height:100px;object-fit:contain;object-position:50% 100%;translate:-50% 0;pointer-events:none}
.product-catch{position:relative;padding:24px 0;border-top:2px dashed var(--red-300);border-bottom:2px dashed var(--red-300)}
.product-catch p{position:relative;color:var(--red-500);font-size:28px;font-weight:700;line-height:1.5;white-space:pre-line}
.product-flake{position:absolute;left:-81px;top:-81px;width:183.3px;height:185.1px;pointer-events:none}
.product-main{display:flex;gap:40px;padding:40px 0}
.product-visual{flex:none;width:300px}
.product-img{display:block;width:300px;height:300px;object-fit:contain}
.product-credit{margin-top:12px;color:var(--body-dark-sub);font-size:12px;font-weight:400;line-height:1.6;overflow-wrap:anywhere}
.product-credit:empty{display:none}
.product-info{flex:1;min-width:0}
.product-name{display:flex;align-items:center;gap:10px;padding-bottom:20px;font-size:28px;font-weight:700;line-height:1.5}
.product-present{flex:none;display:block;width:41px;height:41.5px;animation:present-sway 2s ease-in-out infinite;
 background:url(../img/noise-coarse.svg) 0 0/120px 120px,url(../img/present.svg) center/contain no-repeat;background-blend-mode:overlay,normal;
 -webkit-mask:url(../img/present.svg) center/contain no-repeat;mask:url(../img/present.svg) center/contain no-repeat}
.product-meta{display:flex;align-items:center;gap:24px;padding:16px 0;font-weight:400}
.product-age{padding:2px 12px;border-radius:100px;background:var(--green-200);font-size:16px;line-height:1.5}
.product-price{display:flex;align-items:center;gap:8px;font-size:16px;line-height:1.5}
.product-price-num{font-size:24px;letter-spacing:1.2px}
.product-price-num b{font-size:28px;font-weight:700;letter-spacing:1.4px}
.product-price-num small{font-size:16px;letter-spacing:.8px}
.product-desc{font-size:16px;font-weight:400;line-height:2}
.product-desc p{margin:0}
.product-desc p:empty{height:2em}
.product-actions{display:flex;justify-content:center;gap:24px}
.product-btn{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:4px;width:240px;height:56px;border-radius:100px;color:#fff;font-size:16px;font-weight:700;letter-spacing:.8px;text-decoration:none;transition:background-color .3s ease-out}
.product-btn-label{position:relative;z-index:1;translate:6px 0}
.product-btn>img{position:absolute;right:20px;width:10px;height:10px}
.product-btn-detail{background:var(--green-600)}.product-btn-buy{background:var(--red-400)}
.product-btn-illust{position:absolute;top:57px;transition:top .48s cubic-bezier(.34,1.56,.64,1);
 background:url(../img/noise-coarse.svg) 0 0/120px 120px,var(--illust) center/contain no-repeat;background-blend-mode:overlay,normal;
 -webkit-mask:var(--illust) center/contain no-repeat;mask:var(--illust) center/contain no-repeat}
@supports (transition-timing-function:linear(0,1)){
 .product-btn-illust{transition:top .6s linear(0,0.044,0.161,0.33,0.526,0.729,0.921,1.086,1.216,1.305,1.353,1.363,1.341,1.293,1.229,1.156,1.083,1.015,0.957,0.913,0.884,0.869,0.869,0.879,0.898,0.922,0.949,0.976,1,1.02,1.035,1.044,1.048,1.047,1.043,1.035,1.026,1.016,1.007,0.998,0.991,0.986,0.984,0.982,0.983,0.985,0.988,0.991,1)}
}
.product-btn-detail .product-btn-illust{--illust:url(../img/btn-snowman.svg);left:35.1px;width:39.7px;height:60px}
.product-btn-buy .product-btn-illust{--illust:url(../img/btn-santa.svg);left:30.9px;top:58.6px;width:41.4px;height:40px}
@media(hover:hover){
 .product-btn-detail:hover{background:var(--green-400)}
 .product-btn-buy:hover{background:var(--red-500)}
 .product-btn-detail:hover .product-btn-illust{top:5px}
 .product-btn-buy:hover .product-btn-illust{top:9.4px}
}
.product-btn:focus-visible .product-btn-illust{top:5px}.product-btn-buy:focus-visible .product-btn-illust{top:9.4px}
@media(hover:none){
 .product-btn-detail .product-btn-illust{top:5px}
 .product-btn-buy .product-btn-illust{top:9.4px}
}
@keyframes snowman-in{from{opacity:0;translate:-50% 40px;scale:.9}to{opacity:1;translate:-50% 0;scale:1}}
@keyframes snowman-float{from{translate:-50% 0}to{translate:-50% -5px}}
@keyframes present-sway{0%,100%{rotate:0deg;translate:0 0}35%{rotate:-5deg}45%{rotate:5deg}55%{rotate:-5deg}60%{translate:0 -4px}62.5%{rotate:5deg}85%{rotate:0deg}}
@media(max-width:700px){
 .product-card{border-radius:16px;padding:40px 24px;filter:drop-shadow(4px 4px 5px rgba(0,0,0,.05))}
 .product-snowman{top:-36px;width:54px;height:60px}
 .product-catch p{font-size:18px;line-height:1.6}
 .product-flake{left:-24px;top:-41px}
 .product-main{flex-direction:column;align-items:center;gap:24px;padding:24px 0}
 .product-name{flex-direction:column;gap:0;padding-bottom:0;font-size:24px;line-height:1.6;text-align:left;align-items:stretch}
 .product-name .product-present{align-self:center}
 .product-meta{flex-direction:column;gap:4px;padding:16px 0}
 .product-age{font-size:14px;line-height:1.6}
 .product-desc{font-size:14px}
 .product-actions{flex-direction:column;align-items:center;gap:16px}
}
@media(prefers-reduced-motion:reduce){.product-present{animation:none}}

.share{position:relative;background:var(--green-600);overflow-x:clip}
.share-scene{position:relative}
.share-bg-pc{display:block;width:100%;min-width:1440px;height:auto;margin-left:50%;translate:-50% 0}
.share-banners{position:absolute;z-index:2;left:50%;top:324px;translate:-50% 0;width:min(786px,calc(100% - 40px));list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:40px}
.share-banners a{display:block;border-radius:16px;transition:transform .2s var(--ease)}
.share-banners img{width:100%;height:auto;border-radius:1.65%/6.5%}
.share-banners picture{display:block}
@media(hover:hover){.share-banners a:hover{transform:translateY(-4px)}}
@media(max-width:700px){
 .share-sp{position:relative;height:calc(800px * var(--share-s,1))}
 .share-sp-stage{position:absolute;top:0;left:calc(50% - 188px * var(--share-s,1));width:376px;height:800px;transform-origin:0 0;scale:var(--share-s,1)}
 .share-sp-bg{display:block;width:376px;height:800px;max-width:none}
 .share-banners{top:calc(152px * var(--share-s,1));width:calc(344px * var(--share-s,1));max-width:calc(100% - 32px);gap:calc(20px * var(--share-s,1))}
 .share-banners a{border-radius:8px}
 .share-banners picture img{border-radius:2.33%/5.71%}
}

@media(max-width:700px){
 .share.is-2 .share-sp{height:calc(640px * var(--share-s,1))}
 .share.is-2 .share-sp-stage,.share.is-2 .share-sp-bg{height:640px}
}
@media(min-width:701px){
 .page-theme .share-banners,.page-santa2026 .share-banners,.page-pcp .share-banners{top:204px}
}
@media(max-width:700px){
 .page-theme .share-banners,.page-santa2026 .share-banners,.page-pcp .share-banners{top:calc(112px * var(--share-s,1))}
}

.mall-logo,.mall-cols{position:relative;z-index:2}
.mall-links{background:var(--red-700);padding:40px 120px;display:flex;flex-direction:column;align-items:center;gap:48px}
.mall-logo{width:260px;height:auto}
.mall-title a{display:block;transition:opacity .2s}
@media(hover:hover){.mall-title a:hover{opacity:.8}}
.mall-cols{width:100%;max-width:1200px;display:flex;gap:40px;align-items:flex-start}
.mall-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
.mall-col h3{color:#fff;font-size:16px;font-weight:700;line-height:1.5}
.mall-col ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 4px}
.mall-col a{display:flex;align-items:center;justify-content:space-between;gap:2px;height:48px;padding:0 8px 0 16px;border-radius:100px;background:#fff;color:var(--body-dark);font-size:14px;font-weight:700;line-height:1;white-space:nowrap;text-decoration:none;transition:background-color .2s}
.mall-col a::after{content:"";flex:none;width:16px;height:16px;background:var(--red-400);-webkit-mask:url(../img/icon-external.svg) center/10px 10px no-repeat;mask:url(../img/icon-external.svg) center/10px 10px no-repeat}
@media(hover:hover){.mall-col a:hover{background:var(--neutral-200)}}
.sns-share{position:relative;z-index:2;margin:32px 0;padding:0;list-style:none;display:flex;align-items:center;justify-content:center;gap:8px}
.sns-share a{display:block;transition:opacity .2s}
.sns-share img{display:block;height:auto}
@media(hover:hover){.sns-share a:hover{opacity:.8}}
.mall-br{display:none}
@media(min-width:701px) and (max-width:1439px){
 .mall-links{padding:40px 24px}
 .mall-cols{gap:24px}
 .mall-br{display:inline}
 .mall-col ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:701px) and (max-width:819px){
 .mall-col ul{grid-template-columns:minmax(0,1fr)}
 .mall-col h3{font-size:14px}
}
@media(max-width:700px){
 .mall-links{padding:40px 16px;gap:24px}
 .mall-cols{flex-direction:column;gap:24px}
 .mall-col{width:100%}
 .mall-col h3{font-size:14px;text-align:center}
 .mall-col a{padding:0 4px 0 10px}
}
@media(max-width:374px){.mall-col a{font-size:13px}}
@media(max-width:359px){.mall-col a{font-size:12px}}
@media(max-width:339px){.mall-col a{padding:0 2px 0 8px}.mall-col a::after{width:12px}}

.pagetop{position:fixed;z-index:18;right:20px;bottom:20px;width:48px;height:48px;opacity:0;visibility:hidden;translate:0 12px;transition:opacity .3s,translate .3s var(--ease),visibility .3s}
.pagetop.is-show{opacity:1;visibility:visible;translate:0 0}
.pagetop img{position:absolute;left:-7px;top:-10.7px;width:64px;height:69px;max-width:none}
@media(hover:hover){.pagetop:hover img{translate:0 -2px}}
.pagetop img{transition:translate .2s var(--ease)}
@media(max-width:700px){.pagetop{right:8px;bottom:8px}}
.is-loading .pagetop{display:none}


@media(pointer:coarse){.pc-only{display:none}}@media(pointer:fine){.touch-only{display:none}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .snow{display:none}
}
