:root{--color-bg:#fff;--color-surface:#fff;--color-text:#1a1a2e;--color-text-muted:#6b6b78;--color-border:#e3e5f0;--color-primary:#3646e6;--color-primary-dark:#2530b8;--color-accent:#ff7a45;--color-brand-en:#2d07ff;--radius:4px;--max-width:960px;font-size:16px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:Hiragino Sans,Yu Gothic,Noto Sans JP,system-ui,-apple-system,sans-serif;line-height:1.75}a{color:inherit}img{max-width:100%;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;position:sticky;top:0}.site-header__inner{max-width:var(--max-width);justify-content:space-between;align-items:flex-end;margin:0 auto;padding:8px 20px 16px;display:flex}.site-logo{align-items:center;text-decoration:none;display:inline-flex}.site-logo__img{width:auto;height:84px;display:block}.site-nav a{color:var(--color-text);letter-spacing:.01em;margin-left:28px;font-size:1rem;font-weight:700;text-decoration:none}.site-nav a:hover{color:var(--color-primary)}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin-top:80px;padding:40px 20px 56px;font-size:.85rem}.site-footer__links a{color:var(--color-text-muted);margin-right:16px;text-decoration:none}.site-footer__links a:hover{color:var(--color-primary)}.hero{padding:56px 0 32px}.hero h1{margin:0 0 8px;font-size:1.6rem}.hero__tagline{margin:0 0 14px;font-size:2.4rem}.hero p{color:var(--color-text-muted);max-width:640px;margin:0}.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px;margin:32px 0 64px;display:grid}.playlist-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);flex-direction:column;text-decoration:none;transition:border-color .15s;display:flex;overflow:hidden}.playlist-card:hover{border-color:var(--color-primary)}.playlist-card__cover{aspect-ratio:1;border:3px solid var(--color-surface);background:linear-gradient(135deg,#7c88ff,#3646e6);border-radius:50%;justify-content:center;align-items:center;width:112px;height:112px;margin:26px auto 4px;font-size:2.1rem;display:flex;box-shadow:0 4px 10px #3646e626}.playlist-card__cover svg{width:46px;height:46px}.playlist-card__body{text-align:center;flex-direction:column;flex:1;align-items:center;gap:8px;padding:12px 20px 20px;display:flex}.playlist-card__tags{justify-content:center}.en-label{color:var(--color-brand-en);letter-spacing:.03em;text-transform:uppercase;font-family:Archivo Black,Hiragino Sans,sans-serif;font-style:italic;line-height:1;display:inline-block;transform:skew(-6deg)}.playlist-card__en{margin-top:4px;font-size:1.05rem}.article-header__en{margin:4px 0 0;font-size:1.6rem}.playlist-card__category{color:var(--color-primary);background:#3646e614;border-radius:999px;width:fit-content;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-block}.playlist-card__title{margin:0;font-size:1.05rem;font-weight:700}.playlist-card__desc{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;display:-webkit-box;overflow:hidden}.playlist-card__tags{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.tag-pill{color:var(--color-text-muted);background:0 0;border:none;padding:0;font-size:.75rem;text-decoration:none}.tag-pill:not(:last-child):after{content:"/";color:var(--color-border);margin-left:8px}.tag-pill:hover{color:var(--color-primary)}.article-header{padding:48px 0 20px}.article-header__category{color:var(--color-primary);font-size:.85rem;font-weight:700}.article-header h1{margin:8px 0 12px;font-size:1.75rem;line-height:1.4}.article-header__meta{color:var(--color-text-muted);font-size:.85rem}.article-lead{color:#3a3a3a;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);white-space:pre-line;margin:16px 0 32px;padding:20px;font-size:.98rem}.disclosure{color:var(--color-text-muted);background:#fff7e6;border:1px solid #f0e0b6;border-radius:8px;margin-bottom:24px;padding:8px 14px;font-size:.75rem;display:inline-block}.song-list{flex-direction:column;gap:32px;margin:0 0 56px;padding:0;list-style:none;display:flex}.song-section-heading{margin:16px 0 -4px;padding-top:18px;scroll-margin-top:84px}.song-section-heading:before{content:"";background:var(--color-primary);width:100%;height:2px;margin-bottom:14px;display:block}.song-section-heading h2{color:var(--color-primary);margin:0;font-size:1.15rem}.toc{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin:0 0 24px;padding:20px 22px}.toc:before{content:"";background:var(--color-primary);width:100%;height:2px;margin-bottom:18px;display:block}.toc__title{color:var(--color-text);margin:0 0 12px;font-size:.95rem;font-weight:800}.toc__list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px;margin:0;padding:0;list-style:none;display:grid}.toc__list a{color:var(--color-text);align-items:center;gap:8px;padding:6px 0;font-size:.88rem;text-decoration:none;display:flex}.toc__list a:hover{color:var(--color-primary)}.toc__num{background:var(--color-primary);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:700;display:flex}.song-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;position:relative}.song-card__rank{background:var(--color-primary);color:#fff;border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:800;position:absolute;top:-14px;left:16px}.song-card__head{margin:10px 0 12px}.song-card__title{margin:0;font-size:1.15rem;font-weight:800}.song-card__artist{color:var(--color-text-muted);margin:2px 0 0;font-size:.9rem}.song-card__video{aspect-ratio:16/9;background:#000;border-radius:8px;width:100%;margin-bottom:14px;position:relative;overflow:hidden}.song-card__video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.song-card__comment{white-space:pre-line;margin:0 0 16px}.affiliate-buttons{flex-wrap:wrap;gap:10px;display:flex}.affiliate-buttons a{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-bg);border-radius:999px;padding:8px 16px;font-size:.82rem;font-weight:700;text-decoration:none}.affiliate-buttons a:hover{border-color:var(--color-primary);color:var(--color-primary)}.affiliate-buttons a.is-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.affiliate-buttons a.is-primary:hover{background:var(--color-primary-dark)}.share-buttons{align-items:center;gap:10px;margin:0 0 24px;display:flex}.share-buttons__label{color:var(--color-text-muted);font-size:.8rem}.share-buttons__btn{color:#fff;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.share-buttons__btn--x{background:#000}.share-buttons__btn--line{background:#06c755}.share-buttons__btn:hover{opacity:.85}.recochoku-banner{justify-content:center;margin:24px 0;display:flex}.ad-slot{text-align:center;margin:32px 0}.ad-slot__placeholder{border:1px dashed var(--color-border);color:var(--color-text-muted);background:var(--color-surface);border-radius:8px;padding:24px;font-size:.8rem}.archive-header{padding:36px 0 8px}.archive-header h1{font-size:1.4rem}
