:root{--bg:#fff4e6;--card:#fff;--tx:#3a2418;--mut:#8c6f5c;--ac:#ff5a4d;--bd:#ffd8b5;--hi:#12906a;--sf:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:radial-gradient(circle at 12% 0,rgba(255,201,60,.5),transparent 42%) no-repeat,radial-gradient(circle at 92% 8%,rgba(255,126,182,.4),transparent 42%) no-repeat,radial-gradient(circle at 85% 100%,rgba(46,196,182,.3),transparent 45%) no-repeat,var(--bg);color:var(--tx);font-family:var(--sf);line-height:1.7;min-height:100vh}
.hd,main,.ft{position:relative;z-index:1}
a{color:inherit}main{max-width:720px;margin:0 auto;padding:8px 14px 40px}
.hd{padding:26px 16px 14px;text-align:center}
.logo{display:inline-flex;align-items:center;gap:2px;font-size:46px;line-height:1.1;text-decoration:none}
.logo span{display:inline-block;font-weight:700;-webkit-text-stroke:6px var(--tx);paint-order:stroke fill;text-shadow:3px 4px 0 var(--tx);animation:pop .7s cubic-bezier(.3,1.7,.5,1) both}
.logo span:nth-of-type(1){color:#ff5a4d;transform:rotate(-7deg);animation-delay:.05s}
.logo span:nth-of-type(2){color:#ffc93c;transform:rotate(4deg);animation-delay:.15s}
.logo span:nth-of-type(3){color:#ff7eb6;transform:rotate(-3deg);font-size:.72em;margin-top:.3em;animation-delay:.25s}
.logo span:nth-of-type(4){color:#2ec4b6;transform:rotate(6deg);animation-delay:.35s}
.gl{margin-right:8px;animation:pop .7s cubic-bezier(.3,1.7,.5,1) both}
@keyframes pop{from{opacity:0;translate:0 -18px;scale:.6}}
.sw{transform-box:view-box;transform-origin:28px 28px;animation:sw 3s linear infinite}@keyframes sw{to{transform:rotate(360deg)}}
.bp{animation:bl 3s ease-in-out infinite}@keyframes bl{0%,100%{opacity:.3}25%{opacity:1}}
.lt{display:table;margin:10px auto 0;font-size:11px;letter-spacing:.3em;font-weight:700;background:#fff;border:2px solid var(--tx);border-radius:99px;padding:1px 12px 1px 15px}
.tagline{margin:12px 0 0;font-size:13px;color:var(--mut)}.tagline b{color:var(--ac);font-size:15px}
.hd:after{content:"";display:block;width:64px;height:5px;border-radius:5px;background:linear-gradient(90deg,#ffc93c,#ff7eb6,#2ec4b6);margin:16px auto 0}
@media (prefers-reduced-motion:reduce){.logo span,.gl,.sw,.bp{animation:none}}
h1{font-size:26px;line-height:1.35;margin:14px 0 4px}h2{font-size:19px;margin:26px 0 10px}
.card{background:rgba(255,255,255,.92);border:2px solid var(--bd);border-radius:18px;box-shadow:0 4px 0 var(--bd);padding:16px;margin-bottom:14px}
a.card{display:block;text-decoration:none;transition:border-color .2s}a.card:hover{border-color:var(--ac)}
.shop{display:flex;gap:12px;align-items:center;text-decoration:none}.card.lnk:hover{border-color:var(--ac)}.shop img{width:88px;height:88px;object-fit:cover;border-radius:14px;flex:none}
.shop .mid{flex:1;min-width:0}.nm{font-size:19px;font-weight:700}.ar{font-size:12px;color:var(--mut)}
.cpy{margin-top:6px;font-size:13px;font-weight:700;color:var(--ac)}
.tot{text-align:right;white-space:nowrap}.tot b{font-size:20px;color:var(--ac)}.tot span{display:block;font-size:11px;color:var(--mut)}
.tg{margin-top:8px;display:flex;gap:5px;flex-wrap:wrap}.tg span{font-size:11px;padding:2px 9px;border-radius:99px;background:#ffe9a8;font-weight:700}
.tg span:nth-child(3n+2){background:#ffd0e4}.tg span:nth-child(3n){background:#c7f0ea}
.pr{font-size:10px;font-weight:700;border:1px solid var(--mut);color:var(--mut);border-radius:4px;padding:0 4px;margin-left:8px;vertical-align:middle}
.crumb{font-size:12px;color:var(--mut);margin:6px 2px}.crumb a{text-decoration:none}
video,.gal img{max-width:100%;border-radius:16px}
.vid{display:flex;justify-content:center;margin:12px 0}.vid video{max-height:440px;background:#000}
.gal{display:flex;gap:8px;overflow-x:auto;margin:12px 0;padding-bottom:4px}.gal img{height:130px;width:auto;flex:none;cursor:zoom-in;border-radius:12px}
.desc{white-space:pre-line}
dl{display:grid;grid-template-columns:6.5em 1fr;gap:6px 10px;margin:0;font-size:14px}dt{color:var(--mut)}dd{margin:0}
.btn{display:block;text-align:center;background:var(--ac);color:#fff;border-radius:12px;padding:13px;font-weight:700;text-decoration:none;margin-top:10px;border:0;width:100%;font-family:inherit;font-size:16px;cursor:pointer}
.btn.dk{background:var(--tx)}
.btn.ig{background:linear-gradient(45deg,#ffc93c,#ff5a4d,#ff7eb6)}
.cpn{display:flex;border:2px dashed #ff5a4d;border-radius:14px;background:linear-gradient(135deg,#ffe9a8,#ffd0e4);cursor:pointer;overflow:hidden;width:100%;font-family:inherit;color:var(--tx);text-align:left;padding:0;margin:12px 0}
.cpn .cl{flex:none;width:74px;padding:10px 6px;text-align:center;border-right:2px dashed #ff5a4d;display:flex;flex-direction:column;justify-content:center}
.cpn small{font-size:10px;font-weight:700;line-height:1.3}.cpn .cl b{font-size:13px;letter-spacing:.1em;color:#d6342a}
.cpn .cm{flex:1;padding:10px 12px;min-width:0}.cpn .ct{font-weight:700;font-size:15px}.cpn .cn{font-size:11px;margin-top:2px}
.cpn .cb{flex:none;align-self:center;background:#ff5a4d;color:#fff;font-weight:700;font-size:12px;padding:8px 10px;border-radius:99px;margin-right:10px}
.cpm{position:fixed;inset:0;z-index:60;background:rgba(10,6,4,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px}.cpm[hidden]{display:none}
.cpm .cc{background:linear-gradient(135deg,#ffe9a8,#ffd0e4);border-radius:20px;padding:24px 20px;width:min(92vw,360px);text-align:center;border:3px dashed #ff5a4d;max-height:72vh;overflow:auto}
.cpm .cc .big{font-size:24px;font-weight:700;color:#d6342a;margin:6px 0}.cpm .det{font-size:12px;text-align:left;margin-top:10px;padding-top:10px;border-top:1px dashed #ff5a4d;line-height:1.7;white-space:pre-line}
.cpx{border:1px solid #fff6;background:transparent;color:#fff;border-radius:12px;padding:10px 24px;font-size:14px;font-family:inherit;cursor:pointer}
.lb{position:fixed;inset:0;z-index:70;background:rgba(10,6,4,.94);display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.lb img{max-width:96vw;max-height:84vh;border-radius:8px}.lb .x,.lb .p,.lb .n{position:absolute;color:#fff;cursor:pointer;padding:10px 14px;font-size:34px;line-height:1}
.lb .x{top:calc(8px + env(safe-area-inset-top,0px));right:10px}.lb .p{left:2px;top:50%;transform:translateY(-50%)}.lb .n{right:2px;top:50%;transform:translateY(-50%)}
.lb .c{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));left:16px;color:#fff;font-size:14px}
.pt{width:100%;border-collapse:collapse;font-size:13px}.pt th,.pt td{padding:9px 5px;border-bottom:2px solid var(--bd);text-align:center}
.pt th:first-child,.pt td:first-child{text-align:left}.pt .rec{color:var(--ac);font-weight:700}.pt .no{color:var(--mut)}.pt small{font-weight:400}.sc{overflow-x:auto}
.note{font-size:12px;color:var(--mut)}.steps{padding-left:1.3em}
.ft{max-width:720px;margin:0 auto;padding:10px 16px 40px;text-align:center;font-size:12px;color:var(--mut)}
.ft nav{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;margin-bottom:10px}.ft a{text-decoration:none}
.todo{background:#fff3cd;border:1px dashed #c9a400;padding:0 4px;border-radius:4px}

.qr{text-align:center;margin-top:14px}.qr img{background:#fff;padding:8px;border-radius:14px;border:2px solid var(--bd)}
