```html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>数字記憶100個</title>
<style>
@keyframes fadeIn {
from {opacity: 0;}
to {opacity: 1;}
}
@keyframes fadeOut {
from {opacity: 1;}
to {opacity: 0;}
}
</style>
</head>
<body>
<div id="game-container" style="width: 400px; height: 400px; position: relative; border: 2px solid black; overflow: auto;">
<div id="buttons" style="text-align: center; padding: 10px;">
<button id="start-btn" style="padding: 10px;">開始</button>
<button id="end-btn" style="padding: 10px; display: none;">終了</button>
<button id="answer-btn" style="padding: 10px; display: none;">回答</button>
</div>
<div id="timer" style="text-align: center; padding: 10px;"></div>
<div id="numbers-grid" style="display: none; text-align: center; font-size: 20px; line-height: 3;"></div>
</div>
<script>
let startTime;
let numbersGridOriginal = '';
document.getElementById('start-btn').onclick = function() {
document.getElementById('numbers-grid').innerHTML = '';
for (let i = 0; i < 100; i++) {
let number = Math.floor(Math.random() * 10);
document.getElementById('numbers-grid').innerHTML += `${number} `;
if ((i + 1) % 10 === 0) {
document.getElementById('numbers-grid').innerHTML += '<br>';
}
}
numbersGridOriginal = document.getElementById('numbers-grid').innerHTML;
document.getElementById('numbers-grid').style.display = 'block';
document.getElementById('numbers-grid').style.animation = 'fadeIn 1s';
document.getElementById('start-btn').style.display = 'none';
document.getElementById('end-btn').style.display = 'inline';
startTime = new Date().getTime();
};
document.getElementById('end-btn').onclick = function() {
let endTime = new Date().getTime();
let timeElapsed = (endTime - startTime) / 1000;
document.getElementById('timer').innerText = `経過時間:${timeElapsed.toFixed(1)}秒`;
document.getElementById('numbers-grid').style.animation = 'fadeOut 1s';
setTimeout(function() {
document.getElementById('numbers-grid').style.display = 'none';
document.getElementById('end-btn').style.display = 'none';
document.getElementById('answer-btn').style.display = 'inline';
}, 1000);
};
document.getElementById('answer-btn').onclick = function() {
document.getElementById('numbers-grid').innerHTML = numbersGridOriginal;
document.getElementById('numbers-grid').style.display = 'block';
document.getElementById('numbers-grid').style.animation = 'fadeIn 1s';
document.getElementById('answer-btn').style.display = 'none';
document.getElementById('start-btn').style.display = 'inline';
};
</script>
</body>
</html>
```