/*
Theme Name: kanzaki-portal
Text Domain: kanzaki-portal
Version: 0.2.0
*/
*{box-sizing:border-box}
body{margin:0;color:#404040;background:#fff;font-family:system-ui,sans-serif;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
a{color:inherit}
img{max-width:100%;height:auto}
button,select{font:inherit;max-width:100%}
.container{width:calc(100% - 32px);max-width:1200px;margin:auto}
main{min-height:65vh;padding-bottom:56px}
.site-header{border-bottom:1px solid #d9d9d9}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:65px;flex-wrap:wrap;gap:16px}
.logo{background:#d9d9d9;width:160px;text-align:center;text-decoration:none;line-height:32px}
.site-header nav,.site-footer nav{display:flex;gap:24px;flex-wrap:wrap}
.menu-toggle{display:none}
.site-footer{background:#f7f7f7;padding:32px 0;font-size:12px}
.site-footer p{font-size:14px}
.breadcrumbs{font-size:12px;padding:12px 0;margin-bottom:28px}
h1{font-size:40px;line-height:1.4;margin:28px 0 16px}
h2{font-size:28px;line-height:1.5}
.placeholder,.image-placeholder{background:#d9d9d9;padding:24px;text-align:center}
.placeholder{margin:32px 0}
.image-placeholder,.article-image{width:100%;aspect-ratio:16/9;object-fit:cover;display:flex;align-items:center;justify-content:center}
.reading-controls{margin-top:40px}
.theme-tabs,.reading-filters,.tags{display:flex;flex-wrap:wrap;gap:8px}
.theme-tabs a,.button{border:1px solid #404040;border-radius:4px;padding:5px 17px;text-decoration:none}
.theme-tabs a[aria-current]{background:#404040;color:white}
.reading-filters select{padding:5px 12px;min-width:110px}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.article-card{border:1px solid #d9d9d9;border-radius:4px;overflow:hidden;text-decoration:none;min-width:0}
.card-content{padding:12px}
.kind{background:#404040;color:#fff;padding:2px 8px;font-size:12px}
.article-card h2{font-size:15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:10px 0}
.tags span,.tags a{background:#f7f7f7;border-radius:12px;padding:2px 10px;font-size:12px;text-decoration:none}
.article-card .tags span{font-size:10px}
.card-meta{font-size:11px}
.button{display:inline-block;padding:10px 24px;margin:16px 0}
.more{margin-top:32px}
.article-detail{max-width:720px}
.article-detail h1{font-size:34px}
.article-meta{font-size:13px}
.video{width:100%;aspect-ratio:16/9;border:0;height:auto}
.article-body{font-size:15px}
.article-body iframe{max-width:100%}
.author-box{margin:24px 0;padding:16px;display:flex;gap:16px;align-items:center;background:#f7f7f7;border-radius:4px}
.portrait{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;padding:0;font-size:12px}
.author-box p{margin:0;font-size:12px}
.related{margin-top:56px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

@media(max-width:767px){h1{font-size:28px}
h2{font-size:20px}
.logo{width:120px}
.menu-toggle{display:block;font-size:24px;background:white;border:0}
.site-header nav{display:none;width:100%;flex-direction:column;padding-bottom:16px;gap:12px}
.site-header nav.is-open{display:flex}
.article-grid{grid-template-columns:minmax(0,1fr)}
.article-detail h1{font-size:24px}
.site-footer nav{gap:8px 16px}
.button{width:100%;text-align:center}
.reading-controls{margin-top:28px}
}
