:root{--sakura:#f6a5b8;--sakura-deep:#d46a86;--sakura-bg:#fdf0f3;--text:#333;--muted:#8a8a8a;--border:#f0c4ce;--maxw:720px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;color:var(--text);font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,system-ui,sans-serif;line-height:1.9;background:#fff;font-size:17px}.site-header{border-bottom:2px solid var(--sakura-bg);padding:16px 20px}.site-title{font-weight:700;font-size:1.15rem;color:var(--sakura-deep);text-decoration:none}.site-footer{border-top:2px solid var(--sakura-bg);margin-top:48px;padding:24px 20px;text-align:center;color:var(--muted);font-size:.9rem}.container{max-width:var(--maxw);margin:0 auto;padding:24px 20px}.list-heading{font-size:1.4rem}.post-list ul{list-style:none;padding:0}.post-card{margin-bottom:16px}.post-card-link{display:block;border:1px solid var(--border);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--text);transition:background .2s}.post-card-link:hover{background:var(--sakura-bg)}.post-card-title{display:block;font-weight:700;font-size:1.1rem;color:var(--sakura-deep)}.post-card-date{display:block;font-size:.85rem;color:var(--muted);margin-top:4px}.post-card-desc{display:block;font-size:.95rem;margin-top:8px}.back-link{font-size:.9rem}.back-link a{color:var(--sakura-deep)}.post-title{font-size:1.55rem;line-height:1.5;margin:.4em 0 1em}.post-body h1{font-size:1.6rem;line-height:1.5;margin:.6em 0 .8em}.post-body h2{font-size:1.35rem;margin:2em 0 .8em;padding:10px 14px;border-left:6px solid var(--sakura);background:var(--sakura-bg);border-radius:0 8px 8px 0}.post-body h3{font-size:1.15rem;margin:1.6em 0 .6em;padding-bottom:6px;border-bottom:2px dashed var(--border)}.post-body p{margin:.9em 0}.post-body img{max-width:100%;height:auto;border-radius:10px;display:block;margin:1.2em auto}.post-body img[width="250"]{margin:1em auto}.keiko_sakura{background:linear-gradient(transparent 65%,#ffd0dc 0);font-weight:700;padding:0 2px}.post-body ol,.post-body ul{padding-left:1.4em}.post-body li{margin:.3em 0}.post-body blockquote{margin:1.4em 0;padding:14px 18px;background:var(--sakura-bg);border:1px solid var(--border);border-radius:12px}.post-body blockquote p{margin:.4em 0}.post-body table{width:100%;border-collapse:collapse;margin:1.4em 0;display:block;overflow-x:auto;white-space:nowrap}.post-body td,.post-body th{border:1px solid var(--border);padding:10px 12px;text-align:left}.post-body th{background:var(--sakura);color:#fff}.post-body tr:nth-child(2n) td{background:var(--sakura-bg)}.post-body hr{border:none;border-top:1px solid var(--border);margin:2em 0}.chat{margin:1.6em 0}.chat-row{display:flex;align-items:flex-start;gap:10px;margin:16px 0}.chat-left{flex-direction:row}.chat-left,.chat-right{justify-content:flex-start}.chat-right{flex-direction:row-reverse}.chat-avatar{width:66px;flex-shrink:0;text-align:center}.chat-avatar img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid var(--border);background:#fff;margin:0 auto;display:block}.chat-avatar span{display:block;font-size:.72rem;color:var(--muted);margin-top:3px}.chat-bubble{position:relative;max-width:76%;padding:12px 16px;border-radius:16px;line-height:1.75;font-size:.98rem}.chat-left .chat-bubble{background:#fbe0e7}.chat-right .chat-bubble{background:#e6f3f4}.chat-left .chat-bubble:before{content:"";position:absolute;left:-7px;top:16px;border:7px solid transparent;border-right-color:#fbe0e7;border-left:0}.chat-right .chat-bubble:before{content:"";position:absolute;right:-7px;top:16px;border:7px solid transparent;border-left-color:#e6f3f4;border-right:0}.chat-bubble p{margin:0}.sakura-cta{border:1px solid var(--border);background:linear-gradient(180deg,#fff,var(--sakura-bg));border-radius:16px;padding:22px 22px 20px;margin:1.8em 0;text-align:center;box-shadow:0 2px 12px rgba(246,165,184,.18)}.sakura-cta-label{color:var(--sakura-deep);font-weight:700;font-size:.9rem;letter-spacing:.05em;margin:0 0 8px}.sakura-cta-title{font-weight:700;font-size:1.15rem;margin:0 0 6px}.sakura-cta-desc{font-size:.95rem;color:#555;margin:0 0 16px}.sakura-cta-img{max-width:220px;height:auto;border-radius:10px;margin:0 auto 14px;display:block}.sakura-cta-btn{display:inline-block;background:var(--sakura);color:#fff;font-weight:700;text-decoration:none;padding:13px 36px;border-radius:999px;box-shadow:0 3px 0 var(--sakura-deep);transition:transform .15s,background .15s}.sakura-cta-btn:hover{background:var(--sakura-deep);transform:translateY(2px);box-shadow:0 1px 0 var(--sakura-deep)}.sakura-cta-note{font-size:.75rem;color:var(--muted);margin:12px 0 0}.sakura-point{border:1px solid var(--border);background:var(--sakura-bg);border-radius:14px;padding:18px 22px 6px;margin:1.6em 0;box-shadow:0 2px 10px rgba(246,165,184,.14)}.sakura-point-title{color:var(--sakura-deep);font-weight:700;font-size:1.05rem;margin:0 0 10px;padding-bottom:8px;border-bottom:2px dotted var(--border)}.sakura-point ul{margin:0;padding-left:1.3em}.sakura-point li{margin:6px 0;padding-left:2px}.sakura-point li::marker{color:var(--sakura)}.faq-a,.faq-q{font-weight:800;font-size:1.25em;margin-right:.35em;line-height:1}.faq-q{color:var(--sakura-deep)}.faq-a{color:#3f9d8b}p:has(>.faq-a:first-child){padding-left:1.9em;text-indent:-1.9em}.toc{border:1px solid var(--border);background:#fff;border-radius:14px;padding:16px 20px 14px;margin:1.6em 0;box-shadow:0 2px 10px rgba(246,165,184,.12)}.toc-title{color:var(--sakura-deep);font-weight:700;font-size:1.05rem;margin:0 0 10px;padding-bottom:8px;border-bottom:2px dotted var(--border)}.toc ul{list-style:none;margin:0;padding:0}.toc li{margin:7px 0;line-height:1.5}.toc a{color:var(--text);text-decoration:none}.toc a:hover{color:var(--sakura-deep);text-decoration:underline}.toc-h2{font-weight:700}.toc-h2>a:before{content:"●";color:var(--sakura);font-size:.65em;margin-right:.55em;vertical-align:middle}.toc-h3{padding-left:1.6em;font-size:.95rem}.toc-h3>a:before{content:"└";color:var(--sakura);margin-right:.4em}h2[id],h3[id]{scroll-margin-top:20px}.to-top{position:fixed;right:20px;bottom:20px;width:48px;height:48px;border:none;border-radius:50%;background:var(--sakura);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 3px 12px rgba(212,106,134,.45);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .15s ease;z-index:50}.to-top.is-visible{opacity:1;visibility:visible;transform:none}.to-top:hover{background:var(--sakura-deep)}@media (max-width:480px){.to-top{right:14px;bottom:14px;width:44px;height:44px}}