:root{--red:#9c201f;--christmas-red:#980c09;--ink:#432e2a;--cream:#f8f4ec;--line:#ded5c9;--serif:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:72px;background:var(--cream)}body{margin:0 auto;width:100%;max-width:450px;background:var(--cream);color:var(--ink);font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-size:12px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b66b26;outline-offset:4px}img{display:block;max-width:100%}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:white;padding:10px}.skip:focus{top:12px}.header{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line);gap:12px}.brand{font-family:Georgia,serif;font-size:21px;letter-spacing:1.5px;font-weight:bold;white-space:nowrap}.brand span{font-family:var(--serif);font-size:9px;letter-spacing:2px;margin-left:8px}.header-note{display:none}.shop{font-size:9px;white-space:nowrap}.shop span{margin-left:4px}.breadcrumb{padding:12px 16px;font-size:9px;color:#8a736a;display:flex;gap:10px}.hero{position:relative;padding:0 16px 20px;background:var(--christmas-red)}.hero-art{background:var(--christmas-red)}.hero-art img{width:100%;height:auto}.color-nav{position:sticky;top:0;z-index:20;background:var(--christmas-red);color:#fff9ed;border-bottom:1px solid #fff9ed30;border-top:1px solid #fff9ed30;display:flex;gap:21px;padding:20px 16px;overflow-x:auto;scrollbar-width:none}.color-nav::-webkit-scrollbar{display:none}.color-nav a{display:flex;align-items:center;gap:7px;font-family:Georgia,serif;font-size:10px;letter-spacing:.7px;white-space:nowrap;flex-shrink:0}.color-nav a:hover,.color-nav a.active{color:#fff9ed;text-decoration:underline;text-underline-offset:5px}.color-nav i{width:9px;height:9px;border-radius:50%;border:1px solid #6e675f30;display:block}.red-dot{background:#a82b36}.snow-dot{background:#d9e9d9}.blue-dot{background:#41879d}.black-dot{background:#302d31}.soft-dot{background:#d4a0a9}.collection{padding:48px 18px 50px}.collection.red{background:var(--christmas-red);color:#fff9ed;--accent:#fff0d8}.collection.snow{background:#ecf0e8;--accent:#4a6857}.collection.blue{background:#e9f0f1;--accent:#38697a}.collection.black{background:#29272b;color:#faf6ef;--accent:#dfc8ae}.collection.soft{background:#f3e9e8;--accent:#976371}.section-head{margin-bottom:28px}.section-head .number{font-family:Georgia,serif;font-size:10px;letter-spacing:2px;color:var(--accent)}.section-head h2{font-family:Georgia,serif;letter-spacing:0;font-size:45px;line-height:1.1;font-weight:normal;margin:12px 0 22px}.section-head h2 span{display:block;font-family:var(--serif);font-size:11px;letter-spacing:1px;margin-top:13px;line-height:1.8}.section-head p{font-family:var(--serif);font-size:13px;line-height:2.2;margin:0;letter-spacing:.6px}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.product-card{min-width:0}.product-image{position:relative;overflow:hidden;background:white;aspect-ratio:1;display:block}.product-image img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.product-image:hover img{transform:scale(1.025)}.gender-tag{position:absolute;top:7px;left:7px;background:var(--cream);color:var(--ink);font-size:8px;padding:2px 6px;letter-spacing:.6px}.product-info{padding-top:12px}.product-brand{font-family:Georgia,serif;font-size:9px;letter-spacing:.6px;margin:0 0 6px;opacity:.75}.product-name{font-size:10px;line-height:1.85;letter-spacing:.3px;min-height:38px;margin:0 0 9px;font-weight:normal}.product-meta{font-size:9px;opacity:.7;margin:0 0 7px}.product-bottom{display:block}.price{font-family:Georgia,serif;font-size:17px;white-space:nowrap;display:block}.price small{font-size:9px;margin-left:4px}.buy-link{display:inline-block;font-size:9px;letter-spacing:.6px;border-bottom:1px solid;padding:5px 0;margin-top:4px}.more-button{display:block;width:100%;margin:30px auto 0;padding:15px 10px;border:1px solid currentColor;background:transparent;color:inherit;letter-spacing:1px;font-size:10px;cursor:pointer}.more-button:hover{background:#ffffff40}.collection .extra[hidden]{display:none}.gift-note{text-align:center;padding:38px 22px;background:#912523;color:#fff9ed}.christmas-link{display:flex;justify-content:center;align-items:center;gap:20px;padding:17px 10px;border:1px solid #fff9edb0;font-family:var(--serif);font-size:13px;letter-spacing:.8px}.christmas-link:hover{background:#ffffff15}.notes{margin:0;padding:28px 18px 35px;font-size:9px;color:#846f65}.notes p{margin:5px 0}footer{text-align:center;padding:40px 18px 25px;border-top:1px solid var(--line)}footer p{font-family:var(--serif);font-size:11px;letter-spacing:1px;margin:18px 0}footer>a:not(.brand){font-size:10px;display:block;margin:20px 0 30px}footer small{font-size:9px;letter-spacing:1px}.back-top{position:fixed;bottom:16px;right:max(12px,calc((100vw - 450px)/2 + 12px));width:36px;height:36px;display:grid;place-items:center;background:#fffdf8eb;border:1px solid var(--line);font-size:18px;z-index:25}.noscript{padding:25px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.snowfall{position:fixed;top:0;left:50%;transform:translateX(-50%);width:min(100%,450px);height:100vh;height:100dvh;overflow:hidden;pointer-events:none;z-index:30}.falling-snow{position:absolute;top:-12px;border-radius:50%;background:#fffafa;box-shadow:0 0 2px #857a7340;animation:snow-fall var(--duration) linear infinite;will-change:transform}.snowfall.paused .falling-snow{animation-play-state:paused}.cursor-snow{position:fixed;inset:0;pointer-events:none;z-index:31;overflow:hidden}.mouse-snow{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;background:url('assets/yuki.png') center/contain no-repeat;filter:drop-shadow(0 0 1px #857a7350);animation:cursor-fall 2.5s ease-out forwards;will-change:transform,opacity}@keyframes snow-fall{0%{transform:translate3d(0,-12px,0)}100%{transform:translate3d(var(--drift),calc(100vh + 24px),0)}}@keyframes cursor-fall{0%{transform:translate3d(0,0,0) rotate(-5deg);opacity:0}5%{opacity:1}100%{transform:translate3d(var(--drift),90px,0) rotate(var(--turn));opacity:0}}@media(max-width:360px){.header{padding:0 12px}.brand{font-size:19px}.brand span{display:none}.collection{padding:42px 14px}.section-head h2{font-size:39px}.hero{padding:0 12px 16px}.product-grid{gap:25px 12px}.christmas-link{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.snowfall,.cursor-snow{display:none}}

.preorder-note{font-size:9px;line-height:1.7;margin:0 0 8px;font-weight:bold}

/* JS無効時も商品を表示。開閉用 hidden は有効時のみ設定します。 */
.product-card[hidden],.more-button[hidden]{display:none}

/* 仮案：一重枠と対角の小さなきらめき。写真には重ねない */
.collection{--frame:#a28c73;--sparkle:#ae8c58}
.collection.red,.collection.black{--frame:#c8aa7f;--sparkle:#e3c48e}
.product-grid{row-gap:36px;padding:10px 2px 0}
.product-image{overflow:visible;background:transparent;border:1px solid var(--frame);padding:6px}
.product-image img{background:white}
.product-image:hover img{transform:none}
.product-image::before,.product-image::after{content:"";position:absolute;width:17px;height:17px;background:var(--sparkle);clip-path:polygon(50% 0,59% 36%,68% 42%,100% 50%,68% 58%,59% 64%,50% 100%,41% 64%,32% 58%,0 50%,32% 42%,41% 36%);pointer-events:none}
.product-image::before{top:-10px;left:-10px}
.product-image::after{bottom:-8px;right:-8px;width:13px;height:13px}
.gender-tag{top:10px;left:10px}

/* 仮デザイン：大きなカラー切り替えボタン */
html{scroll-padding-top:128px}
.color-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:10px 12px;overflow:visible;border-color:#e2c89b66;z-index:40}
.color-nav a{grid-column:span 2;justify-content:center;gap:7px;min-height:44px;padding:9px 4px;border:1px solid #f4e3c080;font-family:'Yu Gothic',Meiryo,sans-serif;font-size:12px;font-weight:600;letter-spacing:.1px;line-height:1.3;white-space:nowrap;border-radius:2px;background:#ffffff07}
.color-nav a:nth-child(n+4){grid-column:span 3}
.color-nav a:hover,.color-nav a.active{background:#fff5df;color:#70221e;text-decoration:none;border-color:#fff5df}
.color-nav i{width:12px;height:12px;flex-shrink:0;border:1px solid #ffffff70;box-shadow:0 0 0 1px #00000018}
@media(max-width:360px){.color-nav{padding:9px 8px;gap:6px}.color-nav a{font-size:11px;gap:5px}}

/* 仮案：見出しと揃えた読みやすい欧文セリフ体 */
.color-nav a{font-family:Georgia,'Times New Roman',serif;font-size:13px;font-weight:400;letter-spacing:.7px}
@media(max-width:360px){.color-nav a{font-size:12px;letter-spacing:.25px}}
.color-nav a{white-space:normal;text-align:center}

/* 下部をリンク枠と同じ赤で統一し、注意書きを白い枠で表示 */
.notes{padding:26px 18px 32px;background:#912523;color:#fff9ed}
.notes-box{border:1px solid #fff9ed99;padding:14px 15px;font-size:10px;line-height:1.9}
.notes-box p{margin:0}
.notes-box p+p{margin-top:8px}

/* 仮案：画面の右端に置く、ゴールドのページトップボタン */
.back-top{right:22px;bottom:24px;width:54px;height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#fffaf0f5;border:1px solid #b29a74;border-radius:27px 27px 5px 5px;color:#796044;box-shadow:0 3px 14px #49321e0d;z-index:50;transition:background .2s,box-shadow .2s}
.back-top:hover{background:#f4ead6;box-shadow:0 4px 16px #49321e18}
.back-top-arrow{position:relative;display:block;width:1px;height:20px;background:currentColor;margin-top:3px}
.back-top-arrow::before{content:"";position:absolute;top:0;left:-4px;width:9px;height:9px;border-top:1px solid currentColor;border-left:1px solid currentColor;transform:rotate(45deg)}
.back-top-label{font-family:Georgia,'Times New Roman',serif;font-size:10px;letter-spacing:1.5px;line-height:1;margin-left:1.5px}
@media(max-width:639px){.back-top{right:12px;bottom:16px;width:46px;height:60px;gap:10px}}
@media(prefers-reduced-motion:reduce){.back-top{transition:none}}

/* カラー表記を外し、商品名の下に適度な間隔を確保 */
.product-name{margin-bottom:12px}

/* PCの余白装飾：吊り飾り左右6点と左側タイトル */
.pc-kazari,.pc-side-title{display:none}
@media(min-width:1000px){
 body{position:relative}
 .pc-kazari{display:flex;align-items:flex-start;justify-content:space-around;position:absolute;top:37px;width:calc((100% - 450px)/2);padding:0 clamp(18px,2vw,60px);gap:clamp(12px,1.6vw,42px);pointer-events:none;z-index:1}
 .pc-kazari-left{left:0}.pc-kazari-right{right:0}
 .pc-kazari .hanging-piece{display:block;height:clamp(170px,calc(var(--hang-height)*.8),360px);width:auto;max-width:12%;object-fit:contain;object-position:center top;opacity:.22;flex-shrink:1}
 .pc-side-title{display:flex;justify-content:center;position:absolute;top:415px;left:0;width:calc((100% - 450px)/2);pointer-events:none;z-index:1}
 .pc-side-title img{width:64%;max-width:340px;height:auto;filter:brightness(0);opacity:.22}
}
@media(min-width:1600px){.pc-kazari .hanging-piece{height:var(--hang-height)}.pc-side-title{top:455px}}

/* PC装飾はスクロールしても画面の同じ位置に固定 */
@media(min-width:1000px){.pc-kazari,.pc-side-title{position:fixed}}
/* フッターの内容を装飾より前面に表示 */
.site-footer{z-index:2}

/* ギフト案内 */
.gift-note{padding:30px 18px 24px;scroll-margin-top:130px}
.christmas-cta{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;gap:10px;align-items:center}
.cta-santa{display:block;width:100%;height:102px;object-fit:contain}
.christmas-cta .christmas-link{position:relative;display:block;padding:15px 20px 15px 8px;font-size:12px;line-height:1.9;letter-spacing:1px}
.christmas-cta .christmas-link span{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:16px}
.gift-wrapping{padding:0 22px 12px;background:#912523;color:#fff9ed;text-align:center}
.gift-wrapping p{margin:0 0 12px;font-family:var(--serif);font-size:12px;letter-spacing:1.5px}
.gift-wrapping a,.gift-wrapping img{display:block;width:100%}
.gift-wrapping img{height:auto}
@media(max-width:390px){.christmas-cta{grid-template-columns:48px minmax(0,1fr) 48px;gap:8px}.cta-santa{height:92px}.christmas-cta .christmas-link{font-size:11px}}

.christmas-cta .christmas-link span{font-family:Arial,sans-serif;font-size:21px}
.buy-link span{font-family:Arial,sans-serif;font-size:16px}

.size-links{font-size:9px;line-height:1.8;margin:0 0 9px}.size-links a{text-decoration:underline;text-underline-offset:3px}

.holiday-banner{padding:8px 22px 12px;background:#912523}.holiday-banner a,.holiday-banner img{display:block;width:100%}.holiday-banner img{height:auto}

.holiday-banner h2{margin:0 0 12px;color:#fff9ed;text-align:center;font-family:Georgia,var(--serif);font-size:16px;font-weight:normal;letter-spacing:.6px;line-height:1.5}
