*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #ffffff;--color-bg-secondary: #f7f7f5;--color-text: #121212;--color-text-secondary: #5a5a5a;--color-text-light: #727272;--color-accent: #326891;--color-accent-hover: #1a4a6e;--color-border: #dfdfdf;--color-border-heavy: #c7c7c7;--color-rule: #121212;--color-tag-bg: #f0f0f0;--color-tag-text: #333333;--max-width: 1200px;--header-height: auto;--font-serif: "Georgia", "Noto Serif JP", "Times New Roman", serif;--font-sans: "Helvetica Neue", "Arial", "Noto Sans JP", sans-serif;--font-display: "Georgia", "Noto Serif JP", serif}html{font-family:var(--font-serif);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;font-display:swap}body{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-text);text-decoration:none;transition:color .15s}a:hover{color:var(--color-accent)}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.25rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.site-header{background:var(--color-bg);border-bottom:2px solid var(--color-rule);padding:0}.header-top{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-family:var(--font-sans);font-size:.7rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em}.header-date{font-size:.7rem}.site-logo-wrap{text-align:center;padding:.75rem 0 .6rem}.site-logo{font-family:"Old English Text MT","Times New Roman",var(--font-display);font-size:2.5rem;font-weight:700;color:var(--color-text);letter-spacing:.01em;line-height:1}@media(min-width:640px){.site-logo{font-size:3.2rem}}.site-logo:hover{color:var(--color-text);opacity:.85}.header-nav-bar{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:.4rem 0;display:flex;justify-content:center;align-items:center;gap:1.5rem;font-family:var(--font-sans);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;overflow-x:auto}.header-nav-bar a{color:var(--color-text);white-space:nowrap;padding:.2rem 0}.header-nav-bar a:hover{color:var(--color-accent)}.lang-switch{display:inline-flex;border:1px solid var(--color-border-heavy);border-radius:3px;overflow:hidden;font-size:.65rem;margin-left:.5rem}.lang-switch a{padding:.2rem .5rem;color:var(--color-text-secondary);font-weight:700;letter-spacing:.05em}.lang-switch a.active{background:var(--color-rule);color:#fff}.lang-switch a:hover:not(.active){background:var(--color-bg-secondary)}main{flex:1;padding:1.5rem 0 3rem}.section-rule{border:none;border-top:1px solid var(--color-border);margin:1.5rem 0}.section-rule-heavy{border-top:3px solid var(--color-rule);margin:1rem 0 1.5rem}.page-title{font-family:var(--font-sans);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem;color:var(--color-text)}.hero-article{display:grid;grid-template-columns:1fr;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem}@media(min-width:768px){.hero-article{grid-template-columns:1.2fr 1fr;gap:2rem}}.hero-image{width:100%;aspect-ratio:3 / 2;object-fit:cover}.hero-image-credit{font-family:var(--font-sans);font-size:.65rem;color:var(--color-text-light);margin-top:.3rem}.hero-category{font-family:var(--font-sans);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:.4rem}.hero-title{font-family:var(--font-display);font-size:1.75rem;font-weight:700;line-height:1.2;margin-bottom:.6rem;letter-spacing:-.01em}@media(min-width:768px){.hero-title{font-size:2.25rem}}.hero-title a{color:var(--color-text)}.hero-title a:hover{color:var(--color-accent)}.hero-excerpt{font-family:var(--font-serif);font-size:.95rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:.5rem}.hero-meta{font-family:var(--font-sans);font-size:.7rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.03em}.article-grid{display:grid;grid-template-columns:1fr;gap:0}@media(min-width:640px){.article-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.article-grid{grid-template-columns:repeat(3,1fr)}}.article-card{padding:1rem 1.25rem 1.25rem;border-bottom:1px solid var(--color-border)}@media(min-width:640px){.article-card{border-right:1px solid var(--color-border)}.article-card:nth-child(2n){border-right:none}}@media(min-width:900px){.article-card:nth-child(2n){border-right:1px solid var(--color-border)}.article-card:nth-child(3n){border-right:none}}.article-card-image{width:100%;aspect-ratio:16 / 9;object-fit:cover;margin-bottom:.75rem}.article-card-category{font-family:var(--font-sans);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:.3rem}.article-card-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;line-height:1.3;margin-bottom:.4rem}.article-card-title a{color:var(--color-text)}.article-card-title a:hover{color:var(--color-accent)}.article-card-excerpt{font-family:var(--font-serif);font-size:.85rem;color:var(--color-text-secondary);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.4rem}.article-card-meta{font-family:var(--font-sans);font-size:.65rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.03em}.article-detail{max-width:740px;margin:0 auto}.article-detail-header{margin-bottom:1.5rem;text-align:center}.article-detail-category{display:inline-block;font-family:var(--font-sans);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:.5rem}.article-detail-title{font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1.2;letter-spacing:-.01em;margin-bottom:.6rem}@media(min-width:640px){.article-detail-title{font-size:2.5rem}}.article-detail-excerpt{font-family:var(--font-serif);font-size:1.15rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:.75rem}.article-detail-meta{font-family:var(--font-sans);font-size:.75rem;color:var(--color-text-light)}.article-detail-hero{margin:1.5rem 0}.article-detail-hero img{width:100%;aspect-ratio:16 / 9;object-fit:cover}.article-detail-hero figcaption{font-family:var(--font-sans);font-size:.7rem;color:var(--color-text-light);margin-top:.4rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.article-detail-content{font-family:var(--font-serif);font-size:1.05rem;line-height:1.8}.article-detail-content h2{font-family:var(--font-sans);font-size:1.25rem;font-weight:700;margin:2rem 0 .75rem}.article-detail-content h3{font-family:var(--font-sans);font-size:1.05rem;font-weight:700;margin:1.5rem 0 .5rem}.article-detail-content p{margin-bottom:1.2rem}.article-detail-content ul,.article-detail-content ol{margin:0 0 1.2rem 1.5rem}.article-detail-content blockquote{border-left:2px solid var(--color-rule);padding-left:1rem;margin:1.5rem 0;color:var(--color-text-secondary);font-style:italic}.article-source{margin-top:2rem;padding:.75rem 1rem;background:var(--color-bg-secondary);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);font-family:var(--font-sans);font-size:.8rem;color:var(--color-text-light)}.article-source a{color:var(--color-accent)}.back-link{font-family:var(--font-sans);font-size:.8rem;margin-top:2rem;display:inline-block;color:var(--color-accent)}.share-buttons{display:flex;align-items:center;gap:.5rem;margin:1rem 0;padding:.75rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.share-label{font-family:var(--font-sans);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-light);margin-right:.25rem}.share-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--color-border-heavy);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:background .15s,color .15s}.share-btn:hover{background:var(--color-rule);color:#fff;border-color:var(--color-rule)}.share-btn-line:hover{background:#06c755;border-color:#06c755}.related-articles{margin-top:2.5rem;padding-top:1.5rem;border-top:3px solid var(--color-rule)}.related-articles-title{font-family:var(--font-sans);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.related-articles-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.related-articles-grid{grid-template-columns:repeat(3,1fr)}}.related-article-card{padding:.75rem 0}.related-article-image{width:100%;aspect-ratio:16 / 9;object-fit:cover;margin-bottom:.5rem}.related-article-link{font-family:var(--font-display);font-size:.95rem;font-weight:700;line-height:1.3;color:var(--color-text);display:block}.related-article-link:hover{color:var(--color-accent)}.related-article-date{font-family:var(--font-sans);font-size:.65rem;color:var(--color-text-light);margin-top:.25rem}.article-layout{max-width:1100px;margin:0 auto}@media(min-width:1024px){.article-layout{display:grid;grid-template-columns:740px 1fr;gap:2.5rem}}.article-sidebar{display:none}@media(min-width:1024px){.article-sidebar{display:block;padding-top:1.5rem}}.sidebar-sticky{position:sticky;top:1.5rem}.anchor-ad{position:fixed;bottom:0;left:0;right:0;z-index:999;background:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:.5rem;text-align:center;min-height:50px;display:flex;align-items:center;justify-content:center}.anchor-ad-close{position:absolute;top:-20px;right:8px;width:20px;height:20px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-bottom:none;border-radius:4px 4px 0 0;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-light)}@media(min-width:1024px){.anchor-ad{display:none}}.ad-banner{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:1rem;text-align:center;margin:1.5rem 0;min-height:90px;display:flex;align-items:center;justify-content:center;color:var(--color-text-light);font-family:var(--font-sans);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.ad-banner-inline{margin:2rem 0}.ad-infeed .ad-banner{border:none;background:transparent;min-height:0}.ad-infeed .ad-banner:empty,.ad-infeed .ad-banner:not(:has(ins.adsbygoogle[data-ad-status=filled])){display:none}.newsletter-section{text-align:center;padding:2rem 1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.newsletter-title{font-family:var(--font-sans);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.newsletter-desc{font-family:var(--font-serif);font-size:.85rem;color:var(--color-text-secondary);margin-bottom:1rem}.newsletter-form{display:flex;justify-content:center;gap:.5rem;max-width:420px;margin:0 auto}.newsletter-input{flex:1;padding:.5rem .75rem;border:1px solid var(--color-border-heavy);font-family:var(--font-sans);font-size:.85rem;background:var(--color-bg);color:var(--color-text);border-radius:0;-webkit-appearance:none}.newsletter-input:focus{outline:none;border-color:var(--color-accent)}.newsletter-btn{padding:.5rem 1.25rem;background:var(--color-rule);color:#fff;font-family:var(--font-sans);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:none;cursor:pointer;white-space:nowrap}.newsletter-btn:hover{background:var(--color-accent)}.newsletter-msg{font-family:var(--font-sans);font-size:.8rem;color:#2a7d2a;margin-top:.5rem}.site-footer{border-top:2px solid var(--color-rule);padding:1.5rem 0;margin-top:auto;background:var(--color-bg)}.footer-logo{text-align:center;font-family:"Old English Text MT","Times New Roman",var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:1rem}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.footer-links{display:flex;gap:1.25rem;flex-wrap:wrap;justify-content:center;font-family:var(--font-sans);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.footer-links a{color:var(--color-text-secondary)}.footer-links a:hover{color:var(--color-accent)}.footer-copyright{font-family:var(--font-sans);font-size:.65rem;color:var(--color-text-light)}.static-page{max-width:740px;margin:0 auto}.static-page h1{font-family:var(--font-display);font-size:2rem;font-weight:700;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.static-page h2{font-family:var(--font-sans);font-size:1.1rem;font-weight:700;margin:1.5rem 0 .5rem}.static-page p{font-family:var(--font-serif);margin-bottom:1rem;line-height:1.7}.static-page ul{margin:0 0 1rem 1.5rem;font-family:var(--font-serif);line-height:1.7}.comment-section{margin-top:2.5rem;padding-top:1.5rem;border-top:3px solid var(--color-rule)}.comment-section-title{font-family:var(--font-sans);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.25rem}.comment-form{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.comment-form-group{margin-bottom:.75rem}.comment-form label{display:block;font-family:var(--font-sans);font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.04em}.comment-form input,.comment-form textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--color-border-heavy);font-family:var(--font-serif);font-size:.95rem;line-height:1.5;background:var(--color-bg);color:var(--color-text);border-radius:0;-webkit-appearance:none}.comment-form textarea{min-height:100px;resize:vertical}.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--color-accent)}.comment-form-footer{display:flex;align-items:center;gap:1rem;margin-top:.75rem;flex-wrap:wrap}.comment-form-submit{display:inline-block;padding:.5rem 1.5rem;background:var(--color-rule);color:#fff;font-family:var(--font-sans);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:none;cursor:pointer}.comment-form-submit:hover{background:var(--color-accent)}.comment-form-submit:disabled{opacity:.5;cursor:not-allowed}.comment-message{font-family:var(--font-sans);font-size:.8rem;padding:.5rem 0}.comment-message-success{color:#2a7d2a}.comment-message-error{color:#c00}.comment-list-empty{font-family:var(--font-sans);font-size:.85rem;color:var(--color-text-light);padding:1rem 0}.comment-item{padding:1rem 0;border-bottom:1px solid var(--color-border)}.comment-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}.comment-author{font-family:var(--font-sans);font-size:.8rem;font-weight:700}.comment-time{font-family:var(--font-sans);font-size:.65rem;color:var(--color-text-light)}.comment-body{font-family:var(--font-serif);font-size:.95rem;line-height:1.6;color:var(--color-text);white-space:pre-wrap;word-break:break-word}.breadcrumb{font-family:var(--font-sans);font-size:.75rem;color:#666;margin-bottom:1.5rem;line-height:1.5}.breadcrumb a{color:#666;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-sep{margin:0 .4em;color:#999}.breadcrumb span:last-child{color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px;display:inline-block;vertical-align:bottom}.reading-time{margin-left:1em;font-family:var(--font-sans);font-size:.8rem;color:#888}.reading-time:before{content:"·";margin-right:.5em}.tag-chip{display:inline-block;font-family:var(--font-sans);font-size:.65rem;font-weight:600;padding:.15rem .5rem;background:var(--color-tag-bg);color:var(--color-tag-text);border-radius:2px;text-transform:uppercase;letter-spacing:.04em;transition:background .15s,color .15s}.tag-chip:hover{background:var(--color-rule);color:#fff}.article-card-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.4rem}.article-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1rem}.all-tags{margin-top:2.5rem;padding-top:1.5rem;border-top:3px solid var(--color-rule)}.all-tags-title{font-family:var(--font-sans);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.tag-cloud{display:flex;flex-wrap:wrap;gap:.4rem}.tag-link{display:inline-block;font-family:var(--font-sans);font-size:.75rem;padding:.3rem .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:2px;transition:all .15s}.tag-link:hover,.tag-active{background:var(--color-rule);color:#fff;border-color:var(--color-rule)}.trending-list{display:flex;flex-direction:column}.trending-item{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--color-border)}.trending-rank{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-border-heavy);min-width:2rem;text-align:center;line-height:1;padding-top:.25rem}.trending-content{flex:1;min-width:0}.trending-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;line-height:1.3;margin-bottom:.3rem}.trending-title a{color:var(--color-text)}.trending-title a:hover{color:var(--color-accent)}.trending-excerpt{font-family:var(--font-serif);font-size:.85rem;color:var(--color-text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.3rem}.trending-image-link{flex-shrink:0;display:none}@media(min-width:640px){.trending-image-link{display:block}}.trending-image{width:160px;height:100px;object-fit:cover}.pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;padding:2rem 0;margin-top:1rem;border-top:1px solid var(--color-border)}.pagination-link{font-family:var(--font-sans);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);padding:.5rem 1rem;border:1px solid var(--color-border-heavy);transition:background .15s,color .15s}.pagination-link:hover{background:var(--color-rule);color:#fff;border-color:var(--color-rule)}.pagination-info{font-family:var(--font-sans);font-size:.75rem;color:var(--color-text-light)}
