:root { --ink:#22262b; --sub:#6b7280; --accent:#c2437e; --accent2:#2b5ea7; --line:#e5e7eb; --bg-soft:#f7f7f9; }
* { box-sizing: border-box; }
body { margin:0; color:var(--ink); font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif; line-height:1.85; font-size:16px; background:#fff; }
.wrap { max-width:880px; margin:0 auto; padding:0 16px; }
a { color:var(--accent2); }
img { max-width:100%; height:auto; }
.site-header { border-bottom:3px solid var(--accent); padding:14px 0 10px; margin-bottom:8px; }
.site-logo { font-size:26px; font-weight:800; color:var(--ink); text-decoration:none; letter-spacing:.02em; }
.site-logo-sub { font-size:14px; color:var(--sub); font-weight:600; }
.site-nav { margin-top:8px; display:flex; gap:18px; flex-wrap:wrap; }
.site-nav a { color:var(--ink); text-decoration:none; font-weight:600; font-size:14px; }
.site-footer { border-top:1px solid var(--line); margin-top:48px; padding:20px 0 32px; color:var(--sub); font-size:13px; text-align:center; }
.breadcrumbs { font-size:13px; color:var(--sub); margin:10px 0 0; }
.breadcrumbs a { color:var(--sub); }
.article-title { font-size:28px; line-height:1.5; margin:14px 0 6px; }
.article-meta { color:var(--sub); font-size:13px; margin:0 0 14px; }
.article-eyecatch { margin:0 0 18px; }
.article-body h2, .related h2 { font-size:23px; border-left:6px solid var(--accent); padding:6px 12px; background:var(--bg-soft); margin:36px 0 14px; line-height:1.5; }
.article-body h3 { font-size:19px; border-bottom:2px solid var(--line); padding-bottom:4px; margin:28px 0 10px; }
.article-body table { border-collapse:collapse; width:100%; margin:16px 0; font-size:14px; display:block; overflow-x:auto; }
.article-body th, .article-body td { border:1px solid var(--line); padding:8px 10px; text-align:left; }
.article-body th { background:var(--bg-soft); }
.article-body blockquote { border-left:4px solid var(--line); margin:16px 0; padding:4px 16px; color:#444; background:var(--bg-soft); }
.wakaru-box { border:2px solid var(--accent); border-radius:8px; padding:14px 18px 8px; margin:20px 0; background:#fdf3f8; }
.wakaru-title { font-weight:800; margin:0 0 6px; color:var(--accent); }
.toc { border:1px solid var(--line); border-radius:8px; padding:12px 18px 6px; margin:20px 0; background:var(--bg-soft); }
.toc-title { font-weight:800; margin:0 0 4px; }
.toc ol { margin:6px 0 10px; padding-left:22px; }
.pochipp-box { display:flex; gap:16px; border:1px solid var(--line); border-radius:10px; padding:14px; margin:18px 0; background:#fff; }
.pochipp-box__image { flex:0 0 140px; }
.pochipp-box__image img { width:140px; height:140px; object-fit:contain; }
.pochipp-box__title { font-weight:700; font-size:15px; line-height:1.6; }
.pochipp-box__title a { color:var(--ink); text-decoration:none; }
.pochipp-box__info { color:var(--sub); font-size:13px; }
.pochipp-box__price { font-size:19px; font-weight:800; margin:6px 0; }
.pochipp-box__price-at { font-size:12px; color:var(--sub); font-weight:400; }
.pochipp-box__btns { display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
.pochipp-box__btn, .pochipp-btn { display:inline-block; padding:8px 18px; border-radius:6px; color:#fff !important; text-decoration:none; font-weight:700; font-size:14px; }
.-amazon .pochipp-box__btn, .pochipp-btn.-amazon { background:#f0a13c; }
.-rakuten .pochipp-box__btn, .pochipp-btn.-rakuten { background:#bf0000; }
.pochipp-btns { display:inline-flex; gap:10px; margin:10px 0; }
.st-kaiwa-box { display:flex; gap:12px; margin:18px 0; align-items:flex-start; }
.st-kaiwa-face { flex:0 0 64px; text-align:center; }
.st-kaiwa-face img { width:64px; height:64px; border-radius:50%; object-fit:cover; }
.st-kaiwa-face-name { font-size:11px; color:var(--sub); }
.st-kaiwa-hukidashi { background:var(--bg-soft); border-radius:12px; padding:10px 16px; }
.st-kaiwa-hukidashi p { margin:6px 0; }
.st-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin:16px 0; }
.st-card { border:1px solid var(--line); border-radius:10px; overflow:hidden; text-decoration:none; color:var(--ink); background:#fff; display:flex; flex-direction:column; }
.st-card__thumb img { width:100%; height:140px; object-fit:cover; display:block; }
.st-card__title { font-weight:700; font-size:14px; line-height:1.6; padding:10px 12px 2px; }
.st-card__date { color:var(--sub); font-size:12px; padding:0 12px 10px; }
.st-card-ex { display:block; border:1px solid var(--line); border-radius:8px; padding:12px 16px; margin:14px 0; text-decoration:none; }
.st-card-ex__label { display:block; font-size:11px; color:var(--sub); }
.st-mcbutton { display:inline-block; color:#fff !important; padding:12px 26px; border-radius:8px; text-decoration:none; font-weight:800; margin:12px 0; }
.st-memo-box, .st-mybox, .st-slide-box { border:1px solid var(--line); border-radius:8px; padding:12px 16px; margin:16px 0; background:var(--bg-soft); }
.st-faq-q, .faq-q { font-weight:700; }
.tag-chip { display:inline-block; border:1px solid var(--line); border-radius:999px; padding:2px 12px; margin:0 6px 6px 0; font-size:13px; color:var(--ink); text-decoration:none; background:var(--bg-soft); }
.archive-title { font-size:26px; margin:18px 0 4px; }
.archive-count { color:var(--sub); font-size:13px; }
.home-hero { padding:26px 0 4px; }
.home-hero h1 { font-size:32px; margin:0 0 4px; }
.home-h2 { font-size:21px; border-left:6px solid var(--accent); padding:4px 12px; background:var(--bg-soft); margin:30px 0 6px; }
.home-h2 a { color:var(--ink); text-decoration:none; }
.contact-form-note { border:1px dashed var(--line); border-radius:8px; padding:16px; color:var(--sub); }
.twitter-tweet, .instagram-media { margin-left:auto !important; margin-right:auto !important; }
@media (max-width:640px){ .article-title{font-size:23px} .pochipp-box{flex-direction:column} .pochipp-box__image{flex:none} }
