/* 基本的なスタイルリセットと設定 */
body {
    font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
    line-height: 1.7;
    color: #333;
    background-color: #f9f9f9;
    margin: 0;
    padding: 0;
}

/* 記事全体のコンテナ */
article {
    max-width: 800px; /* 読みやすい幅に制限 */
    margin: 2rem auto; /* 中央寄せと上下の余白 */
    padding: 2rem;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

/* ヘッダー（タイトル部分） */
header {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #eee;
}

/* 見出し */
h1 {
    font-size: 2.2rem;
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

h2 {
    font-size: 1.6rem;
    color: #34495e;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.3rem;
    border-bottom: 2px solid #e0e0e0;
}

/* 段落 */
p {
    margin-bottom: 1.2em;
}

/* インラインコード */
code {
    font-family: 'Courier New', Courier, monospace;
    background-color: #ecf0f1;
    padding: 0.2em 0.4em;
    border-radius: 4px;
    font-size: 0.9em;
    color: #c0392b; /* 少し目立つ色 */
}

/* コードブロック */
pre {
    background-color: #2d3436; /* ダークな背景 */
    color: #dfe6e9; /* 明るい文字色 */
    padding: 1rem;
    border-radius: 5px;
    overflow-x: auto; /* 横スクロールを可能に */
    margin-bottom: 1.2em;
    white-space: pre-wrap; /* 自動改行しつつ、preの整形を維持 */
    word-wrap: break-word;
}

pre code {
    background-color: transparent; /* pre内で背景色をリセット */
    color: inherit; /* 親要素(pre)の色を継承 */
    padding: 0;
    font-size: 0.9em; /* フォントサイズ調整 */
    border-radius: 0;
}

/* リスト */
ul, ol {
    margin-left: 1.5em; /* 字下げ */
    margin-bottom: 1.2em;
    padding-left: 1.5em;
}

li {
    margin-bottom: 0.5em;
}

/* 箇条書きリストのマーカー */
ul li::marker {
    color: #3498db; /* マーカーの色を変更 */
}

/* 水平線 */
hr {
    border: 0;
    height: 1px;
    background-color: #ddd;
    margin: 3rem 0;
}

/* 強調 */
strong {
    color: #2980b9; /* 少し目立つ青色 */
}

/* 深掘りセクション（任意でスタイル調整） */
.deeper-dive h2 {
    border-bottom-color: #f39c12; /* ボーダー色を変えるなど */
}

/* レスポンシブ対応（簡単な例） */
@media (max-width: 600px) {
    article {
        margin: 1rem;
        padding: 1.5rem;
    }

    h1 {
        font-size: 1.8rem;
    }

    h2 {
        font-size: 1.4rem;
    }
}