:root{--red:#cc0a10;--red-dark:#a3080d;--ink:#0a0a0a;--text:#1f1f1f;--muted:#6b6b6b;--line:#e5e5e5;--soft:#f6f6f4;--bg:#fff;--radius:2px;--font:var(--font-noto), "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:1160px;margin:0 auto;padding:0 16px}.main{min-height:60vh;padding-top:32px;padding-bottom:72px}.muted{color:var(--muted);font-size:14px}.site-header{border-top:6px solid var(--red);background:var(--bg)}.header-top{align-items:center;gap:24px;padding-top:14px;padding-bottom:14px;display:flex}.logo img{width:auto;height:56px}.tagline{color:var(--muted);flex:1;margin:0;font-size:13px;font-weight:700}.cat-nav{background:var(--ink)}.cat-nav-inner{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.cat-nav-inner::-webkit-scrollbar{display:none}.cat-nav a{color:#fff;white-space:nowrap;border-bottom:3px solid #0000;padding:12px 14px;font-size:14px;font-weight:700}.cat-nav a:hover{border-bottom-color:var(--red)}.search{border:2px solid var(--ink);min-width:240px;height:40px;display:flex}.search input{font:inherit;background:0 0;border:0;outline:none;flex:1;min-width:0;padding:0 12px;font-size:14px}.search button{background:var(--ink);color:#fff;font:inherit;cursor:pointer;border:0;padding:0 16px;font-size:14px;font-weight:700}.search button:hover{background:var(--red)}.search-large{max-width:640px;height:52px;margin-bottom:32px}.search-large input{font-size:16px}.with-sidebar{grid-template-columns:minmax(0,1fr) 300px;gap:48px;display:grid}.narrow{max-width:760px;margin:0 auto}.section-title{border-left:6px solid var(--red);color:var(--ink);margin:0 0 20px;padding-left:14px;font-size:22px;font-weight:900;line-height:1.3}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;display:grid}.card-link{display:block}.thumb{aspect-ratio:1200/630;background:var(--soft);border:1px solid var(--line);overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.card-link:hover .thumb img{transform:scale(1.03)}.card-link:hover .card-title{color:var(--red)}.card-body{padding-top:12px}.card-meta{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.cat-label{background:var(--ink);color:#fff;padding:1px 8px;font-size:12px;font-weight:700;line-height:1.7;display:inline-block}a.cat-label:hover{background:var(--red)}.card-title{color:var(--ink);margin:6px 0 0;font-size:17px;font-weight:700;line-height:1.55;transition:color .15s}.empty{color:var(--muted)}.more-wrap{text-align:center;margin:40px 0 0}.more-button{border:2px solid var(--ink);padding:10px 32px;font-weight:700;display:inline-block}.more-button:hover{background:var(--ink);color:#fff}.list-header{border-bottom:2px solid var(--ink);margin-bottom:28px;padding-bottom:20px}.eyebrow{color:var(--red);letter-spacing:.08em;margin:0;font-size:13px;font-weight:900}.list-title{color:var(--ink);margin:4px 0 0;font-size:30px;font-weight:900;line-height:1.35}.lead{color:var(--muted);margin:10px 0 0;font-size:14px}.count{color:var(--muted);margin:8px 0 0;font-size:13px}.pagination{justify-content:space-between;align-items:center;margin-top:48px;font-weight:700;display:flex}.pagination a{border:2px solid var(--ink);padding:6px 20px}.pagination a:hover{background:var(--ink);color:#fff}.page-num{color:var(--muted);font-size:14px}.sidebar{flex-direction:column;gap:36px;display:flex}.side-title{border-bottom:2px solid var(--ink);color:var(--ink);margin:0 0 12px;padding-bottom:8px;font-size:16px;font-weight:900}.ranking{counter-reset:none;margin:0;padding:0;list-style:none}.ranking li{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.ranking .rank{color:var(--red);min-width:1.4em;font-size:22px;font-style:italic;font-weight:900;line-height:1.2}.ranking li:nth-child(n+4) .rank{color:var(--ink)}.ranking a{font-size:14px;font-weight:700;line-height:1.6}.ranking a:hover{color:var(--red)}.views{color:var(--muted);margin-top:2px;font-size:12px;font-weight:400;display:block}.more{color:var(--red);margin-top:10px;font-size:13px;font-weight:700;display:inline-block}.cat-list{margin:0;padding:0;list-style:none}.cat-list a{border-bottom:1px solid var(--line);padding:8px 0;font-size:14px;font-weight:700;display:block}.cat-list a:before{content:"";background:var(--red);width:8px;height:8px;margin-right:10px;display:inline-block}.cat-list a:hover{color:var(--red)}.tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tags a{border:1px solid var(--line);background:var(--soft);padding:2px 10px;font-size:13px;display:inline-block}.tags a:hover{border-color:var(--red);color:var(--red)}.tabs{gap:8px;margin-bottom:16px;display:flex}.tabs a{border:2px solid var(--ink);padding:4px 16px;font-size:14px;font-weight:700}.tabs a[aria-current=page]{background:var(--ink);color:#fff}.article{max-width:760px;margin:0 auto}.breadcrumb{color:var(--muted);gap:8px;margin-bottom:20px;font-size:13px;display:flex}.breadcrumb a:hover{color:var(--red)}.article-header{margin-bottom:24px}.article-title{color:var(--ink);letter-spacing:-.01em;margin:12px 0 14px;font-size:34px;font-weight:900;line-height:1.45}.article-meta{color:var(--muted);flex-wrap:wrap;gap:16px;margin-bottom:14px;font-size:13px;display:flex}.article-thumb{border:1px solid var(--line);margin-bottom:40px}.prose{color:var(--text);font-size:17px;line-height:2}.prose p{margin:0 0 1.6em}.prose h2{border-left:6px solid var(--red);color:var(--ink);margin:2.4em 0 1em;padding:6px 0 6px 16px;font-size:24px;font-weight:900;line-height:1.5}.prose h3{color:var(--ink);margin:2em 0 .8em;font-size:20px;font-weight:700}.prose ul,.prose ol{margin:0 0 1.6em;padding-left:1.4em}.prose li{margin:.4em 0}.prose li::marker{color:var(--red);font-weight:700}.prose a{color:var(--red);text-underline-offset:3px;text-decoration:underline}.prose strong{background:linear-gradient(#0000 62%,#cc0a1029 62%)}.prose blockquote{border-left:3px solid var(--line);color:var(--muted);margin:0 0 1.6em;padding:4px 0 4px 20px}.prose code{background:var(--soft);border:1px solid var(--line);padding:1px 6px;font-size:.9em}.prose table{border-collapse:collapse;width:100%;margin:0 0 1.6em;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:8px 12px}.prose th{background:var(--soft)}.prose img{margin:0 auto 1.6em}.related{border-top:2px solid var(--ink);margin-top:72px;padding-top:32px}.not-found{text-align:left;padding:40px 0}.site-footer{border-top:6px solid var(--ink);background:var(--soft);padding:40px 0 24px}.footer-inner{flex-wrap:wrap;align-items:flex-start;gap:40px;display:flex}.footer-logo img{width:auto;height:48px}.footer-links{flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;font-size:14px;font-weight:700;list-style:none;display:flex}.footer-links a:hover{color:var(--red)}.copyright{text-align:center;color:var(--muted);margin:32px 0 0;font-size:12px}@media (max-width:960px){.with-sidebar{grid-template-columns:minmax(0,1fr)}.tagline{display:none}}@media (max-width:640px){.header-top{flex-wrap:wrap;gap:12px}.logo img{height:44px}.search{width:100%;min-width:0}.grid{grid-template-columns:minmax(0,1fr);gap:28px}.list-title{font-size:24px}.article-title{font-size:25px}.prose{font-size:16px}.prose h2{font-size:20px}.main{padding-top:24px}}.illust{max-width:none;height:auto;display:block}.hero{background:var(--soft);border-left:8px solid var(--red);justify-content:space-between;align-items:flex-end;gap:24px;min-height:240px;margin-bottom:48px;padding:32px 32px 0 40px;display:flex;position:relative;overflow:hidden}.hero-text{max-width:560px;padding-bottom:32px}.hero-title{color:var(--ink);margin:6px 0 12px;font-size:32px;font-weight:900;line-height:1.45}.hero-lead{color:var(--muted);margin:0;font-size:15px}.hero-art{flex-shrink:0;align-items:flex-end;display:flex}.hero-art .illust{margin-bottom:-6px;margin-left:-28px}.hero-art .hero-a{margin-left:0}.list-header.has-illust{justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:0;display:flex}.list-header.has-illust>div{padding-bottom:20px}.list-illust{margin-bottom:-2px}.about{background:var(--soft);border-top:4px solid var(--red);align-items:flex-end;gap:12px;padding:16px 16px 0;display:flex;overflow:hidden}.about>div{padding-bottom:16px}.about .illust{flex-shrink:0;margin-bottom:-4px}.about-title{color:var(--ink);margin:0 0 6px;font-size:15px;font-weight:900;line-height:1.5}.about-text{color:var(--text);margin:0;font-size:13px;line-height:1.7}.empty-state{color:var(--muted);align-items:center;gap:24px;padding:24px 0;display:flex}.not-found .illust{margin-bottom:16px}@media (max-width:640px){.hero{min-height:0;padding:24px 0 0 20px}.hero-title{font-size:23px}.hero-lead{font-size:13px}.hero-art .hero-a,.hero-art .hero-b{display:none}.hero-art .hero-c{width:auto;height:170px;margin-left:0}.list-illust{width:auto;height:110px}.empty-state{text-align:center;flex-direction:column}}.setup-notice{color:#5c4400;text-align:center;background:#fff4d6;margin:0;padding:8px 16px;font-size:13px;font-weight:700}.toc{border:2px solid var(--ink);margin:0 0 40px;padding:16px 24px 12px}.toc-title{color:var(--ink);margin:0 0 6px;font-size:15px;font-weight:900}.toc ol{margin:0;padding-left:1.4em}.toc li{margin:4px 0;font-size:15px}.toc li::marker{color:var(--red);font-weight:700}.toc a:hover{color:var(--red);text-decoration:underline}.prose h2{scroll-margin-top:16px}.contact h2:first-of-type{margin-top:1.6em}.contact-box{background:var(--soft);border-top:4px solid var(--red);text-align:center;margin-top:8px;padding:28px 24px}.contact-button{background:var(--red);color:#fff;padding:14px 40px;font-size:16px;font-weight:900;display:inline-block}.contact-button:hover{background:var(--red-dark)}.contact-address{color:var(--muted);margin:14px 0 0;font-size:14px}.contact-address span{color:var(--ink);-webkit-user-select:all;user-select:all;font-weight:700}.contact-form{background:var(--soft);border-top:4px solid var(--red);gap:18px;margin-top:8px;padding:28px 24px;display:grid}.contact-form label{color:var(--ink);gap:6px;font-size:14px;font-weight:700;display:grid}.contact-form em{background:var(--red);color:#fff;vertical-align:1px;margin-left:8px;padding:1px 6px;font-size:11px;font-style:normal}.contact-form input,.contact-form textarea{border:2px solid var(--ink);width:100%;font:inherit;color:var(--text);background:#fff;border-radius:0;padding:10px 12px;font-size:16px;font-weight:400}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--red);outline:none}.contact-form textarea{resize:vertical;line-height:1.7}.contact-form .contact-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-submit{text-align:center}.contact-button{cursor:pointer;border:0;font-family:inherit}.contact-button:disabled{opacity:.6;cursor:default}.contact-error{color:var(--red);margin:0;font-size:14px;font-weight:700}.contact-done-title{color:var(--ink);margin:0 0 6px;font-size:20px;font-weight:900}.contact-form select{border:2px solid var(--ink);width:100%;font:inherit;color:var(--text);background:#fff;border-radius:0;padding:10px 12px;font-size:16px;font-weight:400}.contact-form select:focus{border-color:var(--red);outline:none}.contact-form em.optional{background:var(--muted)}.contact-note{color:var(--muted);margin:8px 0 0;font-size:13px}
