
        :root {
            --primary-color: #1767ac;
            --accent-color: #0097cd;
            --text-color: #333;
            --bg-color: #f4f4f4;
        }
        body { font-family: "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif; color: var(--text-color); line-height: 1.6; margin: 0; background: var(--bg-color); }
        .container { max-width: 1000px; margin: auto; background: #fff; padding: 20px; box-shadow: 0 0 10px rgba(0,0,0,0.1); }
        header { border-bottom: 3px solid var(--primary-color); padding-bottom: 20px; margin-bottom: 20px; }
        .site-title a { color: var(--primary-color); font-size: 2rem; text-decoration: none; font-weight: bold; }
        nav { background: var(--primary-color); padding: 10px; }
        nav ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 15px; }
        nav a { color: #fff; text-decoration: none; font-weight: bold; }
        .main-body { display: grid; grid-template-columns: 1fr 300px; gap: 30px; }
        @media (max-width: 768px) { .main-body { grid-template-columns: 1fr; } }
        .section-wrap { margin-bottom: 30px; border-bottom: 1px solid #eee; padding-bottom: 20px; }
        .section-title { color: var(--primary-color); border-left: 5px solid var(--primary-color); padding-left: 10px; }
        button.btn-search { background: var(--primary-color); color: #fff; border: none; padding: 5px 15px; cursor: pointer; }
        footer { text-align: center; margin-top: 50px; padding: 20px; color: #666; border-top: 1px solid #ddd; }
        .page-top { position: fixed; bottom: 20px; right: 20px; background: var(--primary-color); padding: 10px; color: #fff; text-decoration: none; }
        .article-body img { max-width: 100%; border-radius: 4px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
    