body {
    font-family: 'Hira Kaku ProN', 'Hiragino Kaku Gothic ProN', sans-serif; /* 日本語フォントを優先 */
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0;
    background-color: #f4f4f4;
    font-size: 1.1em; /* 全体の文字サイズを少し大きく */
}

.game-container {
    background-color: #fff;
    padding: 40px; /* パディングを増やす */
    border-radius: 12px; /* 角を少し丸く */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 影を強調 */
    text-align: center;
    width: 90%; /* 幅を広げる */
    max-width: 500px; /* 最大幅を設定 */
}

h1 {
    font-size: 2em; /* タイトルを大きく */
    color: #333;
    margin-bottom: 25px;
}

.score-display {
    font-size: 1.2em; /* ポイント表示の文字サイズ */
    margin-bottom: 20px;
    font-weight: bold;
    color: #007bff;
}

.question {
    font-size: 2.2em; /* 問題の文字サイズを大きく */
    margin-bottom: 30px;
    font-weight: bold;
    color: #555;
}

input[type="number"] {
    width: 80px; /* 入力欄の幅を広く */
    padding: 10px; /* パディングを増やす */
    text-align: center;
    font-size: 1.8em; /* 入力文字サイズを大きく */
    border: 2px solid #ccc; /* 枠線を強調 */
    border-radius: 6px;
}

button {
    padding: 15px 30px; /* ボタンのパディングを増やす */
    font-size: 1.2em; /* ボタンの文字サイズを大きく */
    cursor: pointer;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 8px; /* ボタンの角を丸く */
    margin: 15px 5px; /* ボタン周りの余白 */
    transition: background-color 0.3s ease; /* ホバー時のアニメーション */
}

button:hover {
    background-color: #0056b3;
}

#result {
    font-weight: bold;
    font-size: 2em; /* 結果表示の文字サイズを大きく */
    margin-top: 25px;
    margin-bottom: 25px; /* ボタンとの間にスペース */
    min-height: 1.5em; /* 結果表示の領域を確保 */
}

/* 正解・不正解の文字色 */
.correct {
    color: #28a745; /* 緑色 */
}

.incorrect {
    color: #dc3545; /* 赤色 */
}

/* 次の問題ボタンを非表示にするクラス */
.hidden {
    display: none;
}