Nihongo Challenge N3 May 2026

// 回答後のフィードバック & スコア加算 function evaluateAndLock(selectedIdx, correctIdx, explanationText) if (answerLocked) return; // 既に回答済み

answerLocked = true; selectedOptionIndex = selectedIdx; const isCorrect = (selectedIdx === correctIdx); nihongo challenge n3

// UI スコア更新 function updateScoreUI() scoreSpan.innerText = userScore; explanationText) if (answerLocked) return

.restart-btn background: #e6d5b3; color: #5e3a22; border: none; margin-top: 1rem; padding: 0.7rem; border-radius: 40px; font-weight: 600; width: 100%; cursor: pointer; font-family: inherit; transition: 0.1s; // 既に回答済み answerLocked = true

dynamicContainer.innerHTML = html;

.header h1 span:first-child background: #ffd966; padding: 0.2rem 0.8rem; border-radius: 60px; font-size: 1.3rem; color: #9e2a2a;

/* main card container */ .challenge-container max-width: 750px; width: 100%; background: #fffef7; border-radius: 3rem; box-shadow: 0 25px 45px -12px rgba(0, 0, 0, 0.35), 0 2px 8px rgba(0, 0, 0, 0.05); overflow: hidden; transition: all 0.2s ease;

nihongo challenge n3nihongo challenge n3nihongo challenge n3nihongo challenge n3nihongo challenge n3nihongo challenge n3nihongo challenge n3