:root{--bg:#fffaf7;--card:#fff;--line:#f1e3e6;--line-strong:#e8d2d8;--fg:#4a3f45;--muted:#76686f;--pink:#f6c9d0;--pink-soft:#fdeef1;--accent:#e98aa0;--rose:#c2456a;--rose-ink:#a0284f;--link:#b03a62;--lavender:#d9d2f2;--lavender-soft:#f1edfb;--lavender-ink:#4b3a8c;--mint:#cfeee3;--mint-soft:#ebf8f3;--mint-ink:#1f6b52;--butter:#fff1c1;--butter-soft:#fff8e0;--butter-ink:#7a5a00;--gray-soft:#f3eef0;--gray-ink:#6e6268;--radius:20px;--radius-sm:14px;--shadow:0 1px 2px #7a485a0a, 0 8px 24px #d68ca01a;--shadow-hover:0 2px 4px #7a485a0d, 0 14px 32px #d68ca02e;--wm-font:"Avenir Next", "Avenir", "Futura", "Century Gothic", "Helvetica Neue", "Segoe UI", system-ui, sans-serif;--wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='8' viewBox='0 0 40 8'%3E%3Cpath d='M0 4c5 0 5-3 10-3s5 3 10 3 5-3 10-3 5 3 10 3' fill='none' stroke='%23efc1cc' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");--sparkle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0l1.9 6.1L16 8l-6.1 1.9L8 16l-1.9-6.1L0 8l6.1-1.9z' fill='%23e98aa0'/%3E%3C/svg%3E");color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);letter-spacing:.02em;-webkit-font-smoothing:antialiased;margin:0;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic UI,system-ui,-apple-system,sans-serif;line-height:1.8}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}:focus-visible{outline:2px solid var(--rose);outline-offset:2px;border-radius:6px}img{max-width:100%}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.site-header{backdrop-filter:saturate(1.4)blur(12px);z-index:10;border-bottom:1px solid var(--line);background:#fffaf7e0;position:sticky;top:0}.site-header .wrap{grid-template-columns:auto 1fr auto;grid-template-areas:"logo main main""sub sub sub";align-items:center;gap:6px 24px;padding-top:12px;display:grid}.logo{color:var(--fg);white-space:nowrap;grid-area:logo;align-items:center;gap:10px;display:flex}.logo:hover{text-decoration:none}.logo-icon{filter:drop-shadow(0 3px 6px #e98aa040);flex:none}.logo-text{flex-direction:column;line-height:1.2;display:flex}.wm{font-family:var(--wm-font);letter-spacing:.16em;color:var(--fg);font-size:1.12rem;font-weight:700}.wm-r{color:var(--rose)}.logo .sub{color:var(--muted);letter-spacing:.12em;margin-top:2px;font-size:.7rem}.nav-main{grid-area:main;justify-content:center;gap:4px;display:flex}.nav-main a{color:var(--fg);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:.9rem;transition:background .15s}.nav-main a:hover{background:var(--pink-soft);text-decoration:none}.nav-main a[aria-current=page]{background:var(--pink);font-weight:700}.nav-sub{scrollbar-width:none;white-space:nowrap;border-top:1px dashed var(--line);grid-area:sub;align-items:center;gap:2px 4px;margin-top:4px;padding:4px 0 10px;display:flex;overflow-x:auto}.nav-sub::-webkit-scrollbar{display:none}.nav-sub-label{color:var(--muted);letter-spacing:.08em;margin-right:6px;font-size:.72rem}.nav-sub a{color:var(--muted);border-radius:999px;padding:2px 10px;font-size:.8rem}.nav-sub a:hover{background:var(--lavender-soft);color:var(--fg);text-decoration:none}.nav-sub a[aria-current=page]{background:var(--lavender);color:var(--fg);font-weight:700}h1{letter-spacing:.03em;margin:32px 0 10px;font-size:1.7rem;font-weight:800;line-height:1.45}h2{background:var(--wave) left bottom / 40px 8px repeat-x;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px 12px;margin:48px 0 16px;padding-bottom:12px;font-size:1.2rem;line-height:1.5;display:flex}h2:before{content:"";background:var(--sparkle) center / contain no-repeat;flex:none;order:-1;width:14px;height:14px;margin-right:-4px}h2>a{white-space:nowrap;background:var(--pink-soft);color:var(--rose-ink);border-radius:999px;margin-left:auto;padding:4px 14px;font-size:.8rem;font-weight:600}h2>a:hover{background:var(--pink);text-decoration:none}h3{letter-spacing:.03em}.muted,.small{color:var(--muted)}.small{font-size:.8rem}.chips{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.chip{background:var(--card);border:1px solid var(--line-strong);color:var(--fg);border-radius:999px;padding:5px 14px;font-size:.86rem;transition:background .15s,border-color .15s}.chip:hover{background:var(--pink-soft);border-color:var(--accent);text-decoration:none}.chip .n{color:var(--muted);font-size:.78rem}.crumbs{margin:20px 0 0;font-size:.78rem}.crumbs a{color:var(--muted)}.notice{background:var(--butter-soft);border-radius:var(--radius-sm);color:var(--fg);border:1px solid #f6e3a6;margin:16px 0;padding:14px 18px}.empty{background:var(--card);border:1.5px dashed var(--line-strong);border-radius:var(--radius);text-align:center;color:var(--muted);padding:28px}.btn{border:1.5px solid var(--accent);color:var(--rose-ink);background:#fff;border-radius:999px;padding:11px 24px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-block}.btn:hover{box-shadow:var(--shadow);text-decoration:none;transform:translateY(-1px)}.btn.primary{background:var(--rose);border-color:var(--rose);color:#fff}.prose{max-width:760px}.prose h2{display:flex}.ad{min-height:100px;margin:32px 0}table{border-collapse:separate;border-spacing:0;width:100%;font-size:.9rem}th,td{border-bottom:1px solid var(--line);text-align:left;padding:10px 12px}tr:last-child>th,tr:last-child>td{border-bottom:0}th{color:var(--muted);font-weight:600}.site-footer{background:var(--wave) left top / 40px 8px repeat-x, linear-gradient(180deg, var(--pink-soft) 0%, var(--lavender-soft) 100%);color:var(--muted);margin-top:72px;padding:40px 0 28px;font-size:.82rem}.site-footer a{color:var(--fg)}.site-footer strong{color:var(--fg);margin-right:4px;font-weight:700}.foot-logo{margin-bottom:16px}.foot-logo .sub{white-space:normal}.site-footer .pr{border-radius:var(--radius-sm);color:var(--fg);background:#ffffffb3;padding:12px 16px}@media (width<=860px){.site-header{position:static}.site-header .wrap{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"logo logo""main main""sub sub";gap:8px 10px;padding-left:16px;padding-right:16px}.nav-main{scrollbar-width:none;justify-content:flex-start;margin:0 -16px;padding:2px 16px;overflow-x:auto}.nav-main::-webkit-scrollbar{display:none}.nav-main a{border:1px solid var(--line);background:#fff;padding:4px 13px;font-size:.84rem}.nav-main a[aria-current=page]{border-color:var(--pink)}.nav-sub{margin:0 -16px;padding:4px 16px 10px}}@media (width<=560px){.wrap{padding:0 16px}.logo{gap:8px}.wm{letter-spacing:.1em;font-size:.92rem}.logo .sub{letter-spacing:.08em;font-size:.62rem}.logo-icon{width:30px;height:30px}h1{margin-top:20px;font-size:1.36rem}h2{margin-top:40px;font-size:1.08rem}}
