*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Noto Sans JP",sans-serif;color:#5a4660;line-height:1.75;background:#fff6fb radial-gradient(#ffd6e8 2px,transparent 2px) 0 0/26px 26px}
a{color:inherit;text-decoration:none}h2{color:#e2679b;font-size:21px;margin:0 0 10px}
.hero{text-align:center;padding:26px 14px 18px;background:linear-gradient(180deg,#ffe0ef,#e8f0ff 70%,transparent)}
.badge{display:inline-block;margin:0;background:#8fb6ff;color:#fff;font-weight:bold;border-radius:99px;padding:2px 14px;font-size:12px;letter-spacing:.15em}
h1{margin:8px 0 0;font-size:32px;color:#e2679b;text-shadow:3px 3px 0 #fff}h1 span{display:block;font-size:17px;color:#7d8fe0}
.heroimg{width:min(300px,78vw);height:auto;border-radius:50%;border:6px solid #fff;box-shadow:0 8px 24px #e2679b33;margin:14px auto;display:block;animation:fuwa 3s ease-in-out infinite}
@keyframes fuwa{50%{transform:translateY(-8px)}}
.main{display:inline-block;background:#ff8fbf;color:#fff;font-weight:bold;border-radius:99px;padding:12px 22px;box-shadow:0 4px 0 #e2679b}.main:active{transform:translateY(2px);box-shadow:0 2px 0 #e2679b}.main.big{display:block;margin:6px auto 14px;max-width:460px}
nav{position:sticky;top:0;z-index:5;display:flex;gap:4px;justify-content:center;overflow-x:auto;white-space:nowrap;background:#fff6fbee;border-bottom:3px dotted #ffc2dc;padding:6px}nav a{padding:8px 12px;border-radius:99px;font-size:14px;color:#c45686}nav a:hover{background:#ffe0ef}
main{max-width:900px;margin:auto;padding:0 14px}section{padding:24px 0}
.bubble{background:#fff;border:3px solid #ffd0e4;border-radius:28px;padding:20px;margin-top:22px;box-shadow:0 6px 0 #ffe3ef}
.facts{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}.facts li{background:#f0f4ff;border-radius:16px;padding:8px 12px}.facts b{display:block;font-size:12px;color:#7d8fe0}
.scene{background:#fff;border-radius:26px;padding:16px;margin-bottom:16px;box-shadow:0 6px 0 #e3eaff}.scene h3{margin:0;color:#7d8fe0}.scene p{margin:4px 0 10px}
.cafe{background:#fff8ee}.eat{background:#fff4f0}.sleep{background:#f5f2ff}
.strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.strip img{flex:none;width:44%;height:auto;border-radius:18px;background:#fff;scroll-snap-align:start;cursor:zoom-in}.cafe .strip img{width:86%}
.lead{margin:0 0 10px}.stamps{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.st{border:0;padding:0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 0 #ffd0e4;cursor:zoom-in;transition:transform .2s}.st:hover{transform:rotate(-2deg) scale(1.03)}.st img{width:100%;height:auto;display:block}
.center{text-align:center}.sns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.sns a{background:#f0f4ff;border:2px solid #c9d6ff;border-radius:99px;padding:8px 16px;font-size:14px;color:#5a6ccf}
footer{text-align:center;padding:22px;font-size:13px;background:#ffe0ef}
#lb{position:fixed;inset:0;z-index:9;background:#3a2a40dd;display:flex;align-items:center;justify-content:center}#lb[hidden]{display:none}#lb img{max-width:94vw;max-height:88vh;border-radius:18px;background:#fff}.x{position:absolute;top:12px;right:12px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:#e2679b;font-size:20px;cursor:pointer}
@media(min-width:760px){.stamps{grid-template-columns:repeat(4,1fr)}.strip img{width:23%}.cafe .strip img{width:48%}h1{font-size:40px}.facts{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.heroimg{animation:none}}
.strip{align-items:flex-start}.strip img{aspect-ratio:9/16;object-fit:contain;background:#fffafc;border:2px solid #fff}.cafe .strip img{aspect-ratio:16/9}
.st img{aspect-ratio:1/1;object-fit:contain}#lb img{width:auto;height:auto;object-fit:contain}
.tc{display:flex;gap:14px;align-items:center}.tc img{width:42%;max-width:220px;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:20px;background:#fffafc;cursor:zoom-in}.tc p{margin:0;font-size:17px;font-weight:bold;color:#c45686}
.qa{display:grid;gap:10px}.qa details{background:#fff;border-radius:20px;padding:12px 16px;box-shadow:0 4px 0 #e3eaff}.qa summary{cursor:pointer;font-weight:bold;color:#7d8fe0}.qa summary::before{content:"Q. ";color:#ff8fbf}.qa p{margin:8px 0 0}.qa p::before{content:"A. ";font-weight:bold;color:#ff8fbf}.sub{color:#c45686;text-decoration:underline dotted;font-size:14px;display:inline-block;margin-top:10px}
.log{list-style:none;padding:0;margin:0;font-size:14px}.log li{padding:6px 0;border-bottom:2px dotted #ffd0e4}.log time{color:#7d8fe0;font-weight:bold;margin-right:10px}
.linebtn{display:inline-block;background:#06c755;color:#fff;font-weight:bold;border-radius:99px;padding:9px 20px;font-size:14px;box-shadow:0 3px 0 #04a045;margin:4px 0 10px}.qa p.nob::before{content:none}

.strip{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px;overflow:visible}.strip img{width:100%!important;height:auto;aspect-ratio:1/1!important;object-fit:contain;background:#fff5fa;border:2px solid #fff;border-radius:16px}

.bigbtn{font:inherit;font-weight:700;font-size:1.1em;border:0;border-radius:99px;padding:12px 26px;background:#ff8fb8;color:#fff;box-shadow:0 4px 0 #e8679a;cursor:pointer}
.sdq p{font-weight:700;margin:.4em 0 .8em}.sdq .ch{display:grid;gap:8px}.sdq .ch button{font:inherit;border:2px solid #ffd0e4;background:#fff;border-radius:14px;padding:10px;cursor:pointer}
.sdr,.omr{text-align:center}.sdr img,.omr img{width:min(260px,70%);aspect-ratio:1/1;object-fit:contain;background:#fff5fa;border-radius:18px}
.sdr .xbtn{display:inline-block;margin:6px;padding:8px 16px;border-radius:99px;background:#222;color:#fff;text-decoration:none}
.omr .rank{font-size:2em;font-weight:800;color:#e8679a;margin:.2em 0}
.manga{display:grid;gap:10px;max-width:420px;margin:0 auto}.kp{position:relative;border:3px solid #333;border-radius:6px;overflow:hidden;background:#fff}
.kp img{display:block;width:100%;height:auto;aspect-ratio:1/1}.kp .sb{position:absolute;top:8px;background:#fff;border:2px solid #333;border-radius:18px;padding:6px 10px;font-weight:700;font-size:.95em;line-height:1.4;max-width:60%;writing-mode:horizontal-tb}
.kp .sb.l{left:8px}.kp .sb.r{right:8px}.kp .no{position:absolute;bottom:6px;left:8px;background:#333;color:#fff;border-radius:99px;padding:0 8px;font-size:.8em}
.sdr img,.omr img{height:auto!important}
.past{margin-top:14px;text-align:left}.past summary{cursor:pointer;font-weight:700;color:#e8679a}.pastgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.pastgrid figure{margin:0;font-size:.8em;text-align:center}.pastgrid img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:#fff5fa;border-radius:12px}.sdl{display:flex;gap:10px;align-items:center;margin:8px 0}.sdl img{width:72px;height:72px;object-fit:contain;background:#fff5fa;border-radius:12px;flex:none}.ep{margin:0 0 18px}.ep h3{text-align:center}

.hw{position:relative}.heart{position:absolute;right:4px;bottom:4px;min-width:36px;min-height:36px;border:0;border-radius:99px;background:#ffffffe6;color:#e8679a;font:inherit;font-size:13px;font-weight:700;padding:2px 8px;box-shadow:0 2px 4px #0002;cursor:pointer;display:flex;align-items:center;gap:2px}.heart i{font-style:normal;font-size:16px}.heart.on{background:#ffe3ee}.heart.pop{animation:hp .35s}@keyframes hp{50%{transform:scale(1.25)}}
header.hero{position:relative;overflow:hidden}.kisetsu-msg{position:relative;z-index:1;display:inline-block;margin:8px auto 0;padding:4px 14px;border-radius:99px;background:#ffffffcc;font-weight:700;font-size:14px}
.kisetsu-fall{position:absolute;inset:0;pointer-events:none;z-index:0}.kisetsu-fall span{position:absolute;top:-30px;font-size:20px;opacity:.55;animation:kf linear infinite}
@keyframes kf{to{transform:translateY(560px) rotate(200deg)}}@media (prefers-reduced-motion:reduce){.kisetsu-fall span{animation:none;top:auto;bottom:10px}}
[data-kisetsu=halloween] body{background-color:#fff4ea}[data-kisetsu=halloween] nav{border-color:#ffb36b}[data-kisetsu=halloween] .kisetsu-msg{color:#c45f12}
[data-kisetsu=aki] body{background-color:#fff6ec}[data-kisetsu=aki] .kisetsu-msg{color:#b5501d}
[data-kisetsu=xmas] body{background-color:#f3fbf5}[data-kisetsu=xmas] .kisetsu-msg{color:#c0303a}[data-kisetsu=xmas] nav{border-color:#9ccfa7}
[data-kisetsu=oshogatsu] body{background-color:#fff7f2}[data-kisetsu=oshogatsu] .kisetsu-msg{color:#b8202e}
