{"id":4680,"date":"2026-08-05T06:54:28","date_gmt":"2026-08-04T21:54:28","guid":{"rendered":"https:\/\/nansiki.net\/2018\/?p=4680"},"modified":"2026-10-06T16:46:25","modified_gmt":"2026-10-06T07:46:25","slug":"%e7%a4%be%e4%bc%9a_%e5%9c%b0%e7%90%86_%e4%b8%96%e7%95%8c%e3%81%ae%e8%ab%b8%e5%9c%b0%e5%9f%9f-2","status":"publish","type":"post","link":"https:\/\/nansiki.net\/2018\/archives\/4680","title":{"rendered":"\u793e\u4f1a_\u5730\u7406_\u4e16\u754c\u306e\u8af8\u5730\u57df"},"content":{"rendered":"<div class=\"veu_autoEyeCatchBox\"><img loading=\"lazy\" decoding=\"async\" width=\"784\" height=\"572\" src=\"https:\/\/nansiki.net\/2018\/wp-content\/uploads\/2022\/02\/kuizu.jpg\" class=\"attachment-large size-large wp-post-image\" alt=\"\u30af\u30a4\u30ba\" srcset=\"https:\/\/nansiki.net\/2018\/wp-content\/uploads\/2022\/02\/kuizu.jpg 784w, https:\/\/nansiki.net\/2018\/wp-content\/uploads\/2022\/02\/kuizu-300x219.jpg 300w, https:\/\/nansiki.net\/2018\/wp-content\/uploads\/2022\/02\/kuizu-768x560.jpg 768w\" sizes=\"auto, (max-width: 784px) 100vw, 784px\" \/><\/div>\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<div class=\"quiz-wrapper\">\n    <div class=\"container\">\n        <div class=\"header-line\"><\/div>\n\n        <!-- \u30b9\u30bf\u30fc\u30c8\u753b\u9762 -->\n        <div id=\"start-screen\">\n            <h1 class=\"app-title\">\u4e2d\u5b66\u751f\u793e\u4f1a \u4e00\u554f\u4e00\u7b54\uff08\u4e16\u754c\u306e\u8af8\u5730\u57df\uff09<\/h1>\n            <div class=\"meta-info\">\u5236\u9650\u6642\u9593\uff1a10\u5206 \uff0f \u51fa\u984c\u6570\uff1a20\u554f\uff081\u554f5\u70b9\u30fb\u6e80\u70b9100\u70b9\uff09<\/div>\n            <div class=\"start-note\">\u203b\u554f\u984c\u306f\u6bce\u56de\u30e9\u30f3\u30c0\u30e0\u306b\u51fa\u984c\u3055\u308c\u307e\u3059\u3002<\/div>\n            <button class=\"btn-primary\" id=\"btn-start\">\u30c6\u30b9\u30c8\u30b9\u30bf\u30fc\u30c8<\/button>\n        <\/div>\n\n        <!-- \u30af\u30a4\u30ba\u753b\u9762 -->\n        <div id=\"quiz-screen\" class=\"hidden\">\n            <div class=\"quiz-title-area\">\n                <h2 class=\"app-title\">\u4e2d\u5b66\u751f\u793e\u4f1a \u4e00\u554f\u4e00\u7b54<\/h2>\n                <div class=\"timer-badge\" id=\"timer-display\">\u5236\u9650\u6642\u9593: 10:00<\/div>\n            <\/div>\n\n            <div class=\"quiz-meta-row\">\n                <div class=\"question-number\" id=\"q-num-label\">\u554f\u984c 1 \/ 20<\/div>\n                <button class=\"btn-review-toggle\" id=\"btn-review\">\u2606 \u898b\u76f4\u3057\u30c1\u30a7\u30c3\u30af<\/button>\n            <\/div>\n\n            <div class=\"question-text\" id=\"q-text\">\u3053\u3053\u306b\u554f\u984c\u6587\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002<\/div>\n\n            <div class=\"options-container\" id=\"options-container\"><\/div>\n\n            <div class=\"quiz-nav-row\">\n                <button class=\"btn-secondary\" id=\"btn-prev\">\u524d\u306e\u554f\u984c<\/button>\n                <div class=\"progress-text\" id=\"progress-text\">1\u554f\u76ee \/ \u516820\u554f<\/div>\n                <button class=\"btn-secondary\" id=\"btn-next\">\u6b21\u306e\u554f\u984c<\/button>\n            <\/div>\n\n            <div class=\"palette-title\">\u554f\u984c\u4e00\u89a7\uff08\u30af\u30ea\u30c3\u30af\u3057\u3066\u79fb\u52d5\uff09<\/div>\n            <div class=\"palette-grid\" id=\"palette-grid\"><\/div>\n        <\/div>\n\n        <!-- \u7d50\u679c\u753b\u9762 -->\n        <div id=\"result-screen\" class=\"hidden\">\n            <div class=\"quiz-title-area\">\n                <h2 class=\"app-title\">\u4e2d\u5b66\u751f\u793e\u4f1a \u4e00\u554f\u4e00\u7b54<\/h2>\n                <div class=\"timer-badge\" id=\"time-taken-display\" style=\"color: var(--primary-color); border-color: var(--primary-color); background-color: #e7f5ff;\">\u6240\u8981\u6642\u9593: 0\u520600\u79d2<\/div>\n            <\/div>\n\n            <div class=\"result-title\">\u30c6\u30b9\u30c8\u7d42\u4e86\uff01<\/div>\n            <div class=\"score-summary\" id=\"score-summary\">\u5f97\u70b9\uff1a0\u70b9 \/ 100\u70b9\u6e80\u70b9\uff080\u554f\u6b63\u89e3\uff09<\/div>\n\n            <div class=\"filter-tabs\">\n                <button class=\"filter-tab active\" data-filter=\"all\">\u3059\u3079\u3066\u8868\u793a<\/button>\n                <button class=\"filter-tab\" data-filter=\"incorrect\">\u00d7 \u4e0d\u6b63\u89e3\u306e\u307f<\/button>\n                <button class=\"filter-tab\" data-filter=\"review\">\u2606 \u898b\u76f4\u3057\u30c1\u30a7\u30c3\u30af\u306e\u307f<\/button>\n            <\/div>\n\n            <div class=\"result-list\" id=\"result-list\"><\/div>\n\n            <div class=\"restart-area\">\n                <button class=\"btn-primary\" id=\"btn-restart\">\u3082\u3046\u4e00\u5ea6\u6311\u6226\u3059\u308b<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n    .quiz-wrapper {\n        --primary-color: #0077b6;\n        --primary-hover: #023e8a;\n        --accent-green: #2b9348;\n        --accent-red: #d90429;\n        --bg-color: #f8f9fa;\n        --card-bg: #ffffff;\n        --border-color: #dee2e6;\n        --text-color: #212529;\n        --muted-color: #6c757d;\n        \n        font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n        color: var(--text-color);\n        display: flex;\n        justify-content: center;\n        width: 100%;\n        box-sizing: border-box;\n        padding: 10px;\n    }\n\n    .quiz-wrapper *, .quiz-wrapper *::before, .quiz-wrapper *::after {\n        box-sizing: border-box;\n    }\n\n    .quiz-wrapper .container {\n        background-color: var(--card-bg);\n        border: 1px solid var(--border-color);\n        border-radius: 8px;\n        width: 100%;\n        max-width: 750px;\n        padding: 30px;\n        box-shadow: 0 4px 6px rgba(0,0,0,0.05);\n    }\n\n    .quiz-wrapper .header-line {\n        height: 4px;\n        background-color: var(--accent-green);\n        margin-bottom: 25px;\n        border-radius: 2px;\n    }\n\n    .quiz-wrapper .quiz-title-area {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        margin-bottom: 20px;\n    }\n\n    .quiz-wrapper .app-title {\n        font-size: 1.3rem;\n        font-weight: bold;\n        color: var(--primary-color);\n        margin: 0;\n    }\n\n    .quiz-wrapper .timer-badge {\n        font-size: 0.95rem;\n        font-weight: bold;\n        color: var(--accent-red);\n        border: 1px solid var(--accent-red);\n        padding: 5px 12px;\n        border-radius: 4px;\n        background-color: #fff5f5;\n    }\n\n    .quiz-wrapper #start-screen {\n        text-align: center;\n        padding: 20px 0;\n    }\n\n    .quiz-wrapper #start-screen .app-title {\n        font-size: 1.6rem;\n        margin-bottom: 20px;\n    }\n\n    .quiz-wrapper .meta-info {\n        font-size: 1rem;\n        color: var(--muted-color);\n        margin-bottom: 10px;\n    }\n\n    .quiz-wrapper .start-note {\n        font-size: 0.9rem;\n        color: var(--muted-color);\n        margin-bottom: 30px;\n    }\n\n    .quiz-wrapper .btn-primary {\n        background-color: var(--primary-color);\n        color: white;\n        border: none;\n        padding: 12px 35px;\n        font-size: 1.05rem;\n        font-weight: bold;\n        border-radius: 4px;\n        cursor: pointer;\n        transition: background-color 0.2s;\n    }\n\n    .quiz-wrapper .btn-primary:hover {\n        background-color: var(--primary-hover);\n    }\n\n    .quiz-wrapper .quiz-meta-row {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        margin-bottom: 15px;\n    }\n\n    .quiz-wrapper .question-number {\n        font-size: 1rem;\n        font-weight: bold;\n        color: var(--muted-color);\n    }\n\n    .quiz-wrapper .btn-review-toggle {\n        background: none;\n        border: 1px solid var(--border-color);\n        padding: 4px 10px;\n        border-radius: 4px;\n        cursor: pointer;\n        font-size: 0.85rem;\n        color: var(--muted-color);\n        transition: all 0.2s;\n    }\n\n    .quiz-wrapper .btn-review-toggle.active {\n        background-color: #fffae6;\n        border-color: #ffc107;\n        color: #d39e00;\n        font-weight: bold;\n    }\n\n    .quiz-wrapper .question-text {\n        font-size: 1.15rem;\n        font-weight: bold;\n        line-height: 1.5;\n        margin-bottom: 25px;\n    }\n\n    .quiz-wrapper .options-container {\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n        margin-bottom: 30px;\n    }\n\n    .quiz-wrapper .option-label {\n        display: flex;\n        align-items: center;\n        padding: 14px 16px;\n        border: 1px solid var(--border-color);\n        border-radius: 6px;\n        cursor: pointer;\n        transition: background-color 0.15s, border-color 0.15s;\n        font-size: 1rem;\n    }\n\n    .quiz-wrapper .option-label:hover {\n        background-color: #f1f3f5;\n        border-color: #ced4da;\n    }\n\n    .quiz-wrapper .option-label input[type=\"radio\"] {\n        margin-right: 12px;\n        transform: scale(1.1);\n    }\n\n    .quiz-wrapper .option-label.selected {\n        background-color: #e7f5ff;\n        border-color: var(--primary-color);\n    }\n\n    .quiz-wrapper .quiz-nav-row {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        border-top: 1px dashed var(--border-color);\n        padding-top: 20px;\n        margin-bottom: 25px;\n    }\n\n    .quiz-wrapper .btn-secondary {\n        background-color: #e9ecef;\n        color: #495057;\n        border: none;\n        padding: 8px 18px;\n        border-radius: 4px;\n        cursor: pointer;\n        font-size: 0.95rem;\n        font-weight: 500;\n    }\n\n    .quiz-wrapper .btn-secondary:disabled {\n        opacity: 0.5;\n        cursor: not-allowed;\n    }\n\n    .quiz-wrapper .btn-secondary:hover:not(:disabled) {\n        background-color: #dde2e6;\n    }\n\n    .quiz-wrapper .progress-text {\n        font-size: 0.9rem;\n        color: var(--muted-color);\n    }\n\n    .quiz-wrapper .palette-title {\n        text-align: center;\n        font-size: 0.85rem;\n        color: var(--muted-color);\n        margin-bottom: 10px;\n    }\n\n    .quiz-wrapper .palette-grid {\n        display: grid;\n        grid-template-columns: repeat(10, 1fr);\n        gap: 6px;\n    }\n\n    .quiz-wrapper .palette-btn {\n        aspect-ratio: 1;\n        background-color: white;\n        border: 1px solid var(--border-color);\n        border-radius: 4px;\n        font-size: 0.85rem;\n        font-weight: bold;\n        cursor: pointer;\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        transition: all 0.1s;\n    }\n\n    .quiz-wrapper .palette-btn:hover {\n        background-color: #e9ecef;\n    }\n\n    .quiz-wrapper .palette-btn.current {\n        border-color: var(--primary-color);\n        background-color: #e7f5ff;\n        color: var(--primary-color);\n    }\n\n    .quiz-wrapper .palette-btn.answered {\n        background-color: #e6fcf5;\n        border-color: #20c997;\n        color: #0ca678;\n    }\n\n    .quiz-wrapper .palette-btn.reviewed {\n        position: relative;\n    }\n    .quiz-wrapper .palette-btn.reviewed::after {\n        content: \"\u2605\";\n        position: absolute;\n        top: -2px;\n        right: 2px;\n        font-size: 9px;\n        color: #f59f00;\n    }\n\n    .quiz-wrapper .result-title {\n        text-align: center;\n        font-size: 1.5rem;\n        font-weight: bold;\n        color: var(--primary-color);\n        margin-bottom: 15px;\n    }\n\n    .quiz-wrapper .score-summary {\n        text-align: center;\n        font-size: 1.1rem;\n        font-weight: bold;\n        margin-bottom: 20px;\n    }\n\n    .quiz-wrapper .filter-tabs {\n        display: flex;\n        justify-content: center;\n        gap: 10px;\n        margin-bottom: 25px;\n    }\n\n    .quiz-wrapper .filter-tab {\n        background: none;\n        border: 1px solid var(--border-color);\n        padding: 6px 16px;\n        border-radius: 20px;\n        cursor: pointer;\n        font-size: 0.9rem;\n        color: var(--muted-color);\n    }\n\n    .quiz-wrapper .filter-tab.active {\n        background-color: var(--primary-color);\n        border-color: var(--primary-color);\n        color: white;\n        font-weight: bold;\n    }\n\n    .quiz-wrapper .result-list {\n        display: flex;\n        flex-direction: column;\n        gap: 15px;\n        max-height: 450px;\n        overflow-y: auto;\n        padding-right: 5px;\n        margin-bottom: 25px;\n    }\n\n    .quiz-wrapper .result-card {\n        border: 1px solid var(--border-color);\n        border-radius: 6px;\n        padding: 15px;\n        background-color: white;\n    }\n\n    .quiz-wrapper .result-card-header {\n        font-weight: bold;\n        margin-bottom: 8px;\n        font-size: 1rem;\n    }\n\n    .quiz-wrapper .result-status {\n        font-weight: bold;\n        margin-bottom: 6px;\n        font-size: 0.95rem;\n    }\n    .quiz-wrapper .result-status.correct { color: var(--accent-green); }\n    .quiz-wrapper .result-status.incorrect { color: var(--accent-red); }\n\n    .quiz-wrapper .result-detail-text {\n        font-size: 0.9rem;\n        color: #495057;\n        margin-top: 5px;\n        line-height: 1.4;\n    }\n\n    .quiz-wrapper .restart-area {\n        text-align: center;\n    }\n\n    .quiz-wrapper .hidden {\n        display: none !important;\n    }\n<\/style>\n\n<script>\n(function() {\n    const allQuestionsData = [\n        {\n            q: \"\u30e8\u30fc\u30ed\u30c3\u30d1\u306e\u8a00\u8a9e\u306f\u5927\u304d\u304f3\u3064\u306b\u5206\u3051\u3089\u308c\u307e\u3059\u3002\u30b2\u30eb\u30de\u30f3\u7cfb\u3001\u30e9\u30c6\u30f3\u7cfb\u306e\u307b\u304b\u306b\u3001\u4e3b\u306b\u6771\u6b27\u306a\u3069\u3067\u8a71\u3055\u308c\u308b\u4f55\u7cfb\u304c\u3042\u308b\u304b\u3002\",\n            options: [\"\u30b9\u30e9\u30d6\u7cfb\", \"\u30bb\u30e0\u7cfb\", \"\u30a6\u30e9\u30eb\u7cfb\", \"\u30c8\u30eb\u30b3\u7cfb\"],\n            answer: 0,\n            explanation: \"\u30e8\u30fc\u30ed\u30c3\u30d1\u306e\u8a00\u8a9e\u306f\u5927\u304d\u304f\u300c\u30b2\u30eb\u30de\u30f3\u7cfb\u300d\u300c\u30e9\u30c6\u30f3\u7cfb\u300d\u300c\u30b9\u30e9\u30d6\u7cfb\u300d\u306e3\u3064\u306b\u5206\u3051\u3089\u308c\u307e\u3059\u3002\u30b9\u30e9\u30d6\u7cfb\u306f\u30ed\u30b7\u30a2\u3084\u6771\u6b27\u8af8\u56fd\u3067\u5e83\u304f\u8a71\u3055\u308c\u3066\u3044\u307e\u3059\u3002\"\n        },\n        {\n            q: \"\u30a4\u30f3\u30c9\u30cd\u30b7\u30a2\u3084\u30d5\u30a3\u30ea\u30d4\u30f3\u306a\u3069\u306e\u30e2\u30f3\u30b9\u30fc\u30f3\u30a2\u30b8\u30a2\u3067\u898b\u3089\u308c\u308b\u3001\u5c71\u306e\u50be\u659c\u5730\u3092\u5229\u7528\u3057\u305f\u968e\u6bb5\u72b6\u306e\u6c34\u7530\u3092\u4f55\u3068\u3044\u3046\u304b\u3002\",\n            options: [\"\u68da\u7530\", \"\u56f2\u3044\u7530\", \"\u713c\u7551\", \"\u6bb5\u3005\u7551\"],\n            answer: 0,\n            explanation: \"\u5c71\u304c\u3061\u306a\u5730\u5f62\u3084\u964d\u6c34\u306e\u591a\u3044\u5730\u57df\u3067\u898b\u3089\u308c\u308b\u968e\u6bb5\u72b6\u306e\u6c34\u7530\u3092\u300c\u68da\u7530\uff08\u305f\u306a\u3060\uff09\u300d\u3068\u547c\u3073\u307e\u3059\u3002\u30a2\u30b8\u30a2\u306e\u7c73\u4f5c\u6587\u5316\u3092\u8c61\u5fb4\u3059\u308b\u666f\u89b3\u3067\u3059\u3002\"\n        },\n        {\n            q: \"1960\u5e74\u4ee3\u307e\u3067\u30aa\u30fc\u30b9\u30c8\u30e9\u30ea\u30a2\u306e\u6700\u5927\u306e\u8cbf\u6613\u76f8\u624b\u56fd\u3067\u3042\u308a\u3001\u7f8a\u6bdb\u3084\u5c0f\u9ea6\u306e\u8f38\u51fa\u5165\u304c\u6df1\u304b\u3063\u305f\u56fd\u306f\u3069\u3053\u304b\u3002\",\n            options: [\"\u30a4\u30ae\u30ea\u30b9\", \"\u30a2\u30e1\u30ea\u30ab\u5408\u8846\u56fd\", \"\u4e2d\u56fd\", \"\u65e5\u672c\"],\n            answer: 0,\n            explanation: \"\u30aa\u30fc\u30b9\u30c8\u30e9\u30ea\u30a2\u306f\u304b\u3064\u3066\u30a4\u30ae\u30ea\u30b9\u306e\u690d\u6c11\u5730\u3067\u3042\u3063\u305f\u6b74\u53f2\uc801\u80cc\u666f\u304b\u3089\u30011960\u5e74\u4ee3\u307e\u3067\u30a4\u30ae\u30ea\u30b9\u304c\u6700\u5927\u306e\u8cbf\u6613\u76f8\u624b\u56fd\u3067\u3057\u305f\u3002\u73fe\u5728\u306f\u30a2\u30b8\u30a2\u8af8\u56fd\uff08\u65e5\u672c\u3084\u4e2d\u56fd\u306a\u3069\uff09\u3068\u306e\u7d50\u3073\u3064\u304d\u304c\u5f37\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002\"\n        },\n        {\n            q: \"\u73fe\u5728\u30a4\u30ae\u30ea\u30b9\u3084\u30ce\u30eb\u30a6\u30a7\u30fc\u306a\u3069\u304c\u5317\u6d77\u5468\u8fba\u304b\u3089\u77f3\u6cb9\u3092\u7523\u51fa\u3057\u3066\u3044\u308b\u304c\u3001\u305d\u308c\u306f1960\u5e74\u4ee3\u306b\u767a\u898b\u3055\u308c\u305f\u4f55\u3068\u3044\u3046\u6cb9\u7530\u306b\u3088\u308b\u3082\u306e\u304b\u3002\",\n            options: [\"\u5317\u6d77\u6cb9\u7530\", \"\u30d7\u30eb\u30c9\u30fc\u30d9\u30a4\u6cb9\u7530\", \"\u30ac\u30ef\u30fc\u30eb\u6cb9\u7530\", \"\u30c6\u30f3\u30b0\u30ba\u6cb9\u7530\"],\n            answer: 0,\n            explanation: \"\u5317\u6d77\u306e\u6d77\u5e95\u3067\u767a\u898b\u3055\u308c\u305f\u300c\u5317\u6d77\u6cb9\u7530\u300d\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u897f\u30e8\u30fc\u30ed\u30c3\u30d1\u8af8\u56fd\u306e\u30a8\u30cd\u30eb\u30ae\u30fc\u4e8b\u60c5\u304c\u5927\u304d\u304f\u5909\u5316\u3057\u307e\u3057\u305f\u3002\"\n        },\n        {\n            q: \"\u6771\u5357\u30a2\u30b8\u30a2\u8af8\u56fd\u9023\u5408\uff08ASEAN\uff09\u306e\u52a0\u76df\u56fd\u3067\u3042\u308a\u3001\u5929\u7136\u30b4\u30e0\u3084\u30a2\u30d6\u30e9\u30e4\u30b7\uff08\u30d1\u30fc\u30e0\u6cb9\uff09\u306e\u751f\u7523\u30fb\u8f38\u51fa\u3067\u77e5\u3089\u308c\u308b\u56fd\u306f\u3069\u3053\u304b\u3002\",\n            options: [\"\u30de\u30ec\u30fc\u30b7\u30a2\", \"\u30e2\u30f3\u30b4\u30eb\", \"\u30cd\u30d1\u30fc\u30eb\", \"\u30d0\u30f3\u30b0\u30e9\u30c7\u30b7\u30e5\"],\n            answer: 0,\n            explanation: \"\u30de\u30ec\u30fc\u30b7\u30a2\u306f\u71b1\u5e2f\u306e\u6c17\u5019\u3092\u751f\u304b\u3057\u3066\u5929\u7136\u30b4\u30e0\u3084\u30a2\u30d6\u30e9\u30e4\u30b7\uff08\u30d1\u30fc\u30e0\u6cb9\uff09\u306e\u30d7\u30e9\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u8fb2\u696d\u304c\u3055\u304b\u3093\u306a\u56fd\u3067\u3059\u3002\"\n        },\n        {\n            q: \"\u4e2d\u592e\u30a2\u30b8\u30a2\u306b\u304a\u3044\u3066\u3001\u704c\u6f11\u7528\u6c34\u3068\u3057\u3066\u30a2\u30e0\u30c0\u30ea\u30a2\u5ddd\u306a\u3069\u306e\u6c34\u8cc7\u6e90\u3092\u5927\u91cf\u306b\u4f7f\u3044\u7d9a\u3051\u305f\u7d50\u679c\u3001\u8457\u3057\u304f\u7e2e\u5c0f\u3057\u3066\u3057\u307e\u3063\u305f\u6e56\u3092\u4f55\u3068\u3044\u3046\u304b\u3002\",\n            options: [\"\u30a2\u30e9\u30eb\u6d77\", \"\u30ab\u30b9\u30d4\u6d77\", \"\u30d0\u30a4\u30ab\u30eb\u6e56\", \"\u30d0\u30eb\u30cf\u30b7\u6e56\"],\n            answer: 0,\n            explanation: \"\u7dbf\u82b1\u683d\u57f9\u306e\u305f\u3081\u306e\u904e\u5270\u306a\u704c\u6f11\u306b\u3088\u3063\u3066\u6d41\u5165\u91cf\u304c\u6fc0\u6e1b\u3057\u3001\u300c\u30a2\u30e9\u30eb\u6d77\u300d\u306f\u6df1\u523b\u306a\u7e2e\u5c0f\u3068\u5869\u5bb3\u3092\u5f15\u304d\u8d77\u3053\u3057\u307e\u3057\u305f\u3002\"\n        },\n        {\n            q: \"\u5e74\u9593\u3092\u901a\u3058\u3066\u964d\u6c34\u91cf\u304c\u6975\u7aef\u306b\u5c11\u306a\u304f\u3001\u7802\u6f20\u3084\u30b9\u30c6\u30c3\u30d7\u304c\u5e83\u304c\u308b\u6c17\u5019\u5e2f\u3092\u4f55\u3068\u3044\u3046\u304b\u3002\",\n            options: [\"\u4e7e\u71e5\u5e2f\", \"\u5bd2\u5e2f\", \"\u6e29\u5e2f\", \"\u71b1\u5e2f\"],\n            answer: 0,\n            explanation: \"\u96e8\u304c\u975e\u5e38\u306b\u5c11\u306a\u3044\u6c17\u5019\u5e2f\u306f\u300c\u4e7e\u71e5\u5e2f\u300d\u3068\u547c\u3070\u308c\u3001\u7802\u6f20\u6c17\u5019\uff08BW\uff09\u3084\u30b9\u30c6\u30c3\u30d7\u6c17\u5019\uff08BS\uff09\u306b\u5206\u985e\u3055\u308c\u307e\u3059\u3002\"\n        },\n        {\n            q: \"\u5730\u7403\u6e29\u6696\u5316\u3084\u7802\u6f20\u5316\u306a\u3069\u3001\u56fd\u5883\u3092\u8d8a\u3048\u3066\u5730\u7403\u898f\u6a21\u3067\u6df1\u523b\u5316\u3057\u3066\u3044\u308b\u554f\u984c\u3092\u7dcf\u79f0\u3057\u3066\u4f55\u3068\u3044\u3046\u304b\u3002\",\n            options: [\"\u74b0\u5883\u554f\u984c\", \"\u8cc7\u6e90\u30ca\u30b7\u30e7\u30ca\u30ea\u30ba\u30e0\", \"\u30e2\u30ce\u30ab\u30eb\u30c1\u30e3\u30fc\u7d4c\u6e08\", \"\u90fd\u5e02\u554f\u984c\"],\n            answer: 0,\n            explanation: \"\u5730\u7403\u898f\u6a21\u3067\u5f71\u97ff\u3092\u53ca\u307c\u3059\u73fe\u4ee3\u306e\u8ab2\u984c\u3092\u300c\u74b0\u5883\u554f\u984c\u300d\u3068\u547c\u3073\u307e\u3059\u3002\u5730\u7403\u6e29\u6696\u5316\u3084\u9178\u6027\u96e8\u3001\u68ee\u6797\u7834\u58ca\u306a\u3069\u304c\u542b\u307e\u308c\u307e\u3059\u3002\"\n        },\n        {\n            q: \"\u5357\u30a2\u30b8\u30a2\u3084\u6771\u5357\u30a2\u30b8\u30a2\u306b\u304a\u3044\u3066\u3001\u590f\u3068\u51ac\u3067\u98a8\u5411\u304d\u304c\u9006\u306b\u306a\u308a\u3001\u591a\u96e8\u671f\u3068\u5c11\u96e8\u671f\u3092\u3082\u305f\u3089\u3059\u98a8\u3092\u4f55\u3068\u3044\u3046\u304b\u3002\",\n            options: [\"\u5b63\u7bc0\u98a8\uff08\u30e2\u30f3\u30b9\u30fc\u30f3\uff09\", \"\u504f\u897f\u98a8\", \"\u8cbf\u6613\u98a8\", \"\u30d5\u30a7\u30fc\u30f3\u73fe\u8c61\"],\n            answer: 0,\n            explanation: \"\u5b63\u7bc0\u306b\u3088\u3063\u3066\u98a8\u5411\u304d\u304c\u5927\u304d\u304f\u5909\u308f\u308b\u98a8\u3092\u300c\u5b63\u7bc0\u98a8\uff08\u30e2\u30f3\u30b9\u30fc\u30f3\uff09\u300d\u3068\u3044\u3044\u3001\u30a2\u30b8\u30a2\u306e\u96e8\u671f\u30fb\u4e7e\u671f\u306e\u6c17\u5019\u306b\u5927\u304d\u306a\u5f71\u97ff\u3092\u4e0e\u3048\u3066\u3044\u307e\u3059\u3002\"\n        },\n        {\n            q: \"\u30a2\u30e1\u30ea\u30ab\u5408\u8846\u56fd\u306e\u8fb2\u696d\u5730\u57df\u306b\u304a\u3044\u3066\u3001\u4e2d\u5fc3\u5e73\u539f\u306a\u3069\u3067\u30c8\u30a6\u30e2\u30ed\u30b3\u30b7\u3084\u5927\u8c46\u304c\u5927\u91cf\u306b\u683d\u57f9\u3055\u308c\u3066\u3044\u308b\u8fb2\u696d\u5730\u5e2f\u3092\u4f55\u3068\u3044\u3046\u304b\u3002\",\n            options: [\"\u30b3\u30fc\u30f3\u30d9\u30eb\u30c8\", \"\u5c0f\u9ea6\u5730\u5e2f\", \"\u7dbf\u82b1\u5730\u5e2f\", \"\u916a\u8fb2\u5730\u5e2f\"],\n            answer: 0,\n            explanation: \"\u30a2\u30e1\u30ea\u30ab\u4e2d\u592e\u90e8\u306e\u80a5\u6c83\u306a\u5e73\u539f\u3067\u306f\u3001\u30c8\u30a6\u30e2\u30ed\u30b3\u30b7\u306e\u751f\u7523\u304c\u3055\u304b\u3093\u306a\u300c\u30b3\u30fc\u30f3\u30d9\u30eb\u30c8\u300d\u304c\u5e83\u304c\u3063\u3066\u304a\u308a\u3001\u5927\u8c46\u306e\u8f2a\u4f5c\u3082\u884c\u308f\u308c\u3066\u3044\u307e\u3059\u3002\"\n        },\n        {\n            q: \"\u304b\u3064\u3066\u30a2\u30e1\u30ea\u30ab\u5357\u90e8\u3067\u5974\u96b7\u52b4\u50cd\u3092\u5229\u7528\u3057\u3066\u3055\u304b\u3093\u306b\u683d\u57f9\u3055\u308c\u3001\u73fe\u5728\u3082\u91cd\u8981\u306a\u8fb2\u7523\u7269\u3068\u306a\u3063\u3066\u3044\u308b\u7e4a\u7dad\u7528\u306e\u4f5c\u7269\u306f\u4f55\u304b\u3002\",\n            options: [\"\u7dbf\u82b1\", \"\u30b3\u30fc\u30d2\u30fc\u8c46\", \"\u30ab\u30ab\u30aa\u8c46\", \"\u5929\u7136\u30b4\u30e0\"],\n            answer: 0,\n            explanation: \"\u7dbf\u82b1\u306f\u6e29\u6696\u3067\u964d\u6c34\u91cf\u306b\u9069\u5ea6\u304c\u3042\u308b\u5730\u57df\u3067\u683d\u57f9\u3055\u308c\u3001\u5357\u90e8\uff08\u30b3\u30c3\u30c8\u30f3\u30d9\u30eb\u30c8\uff09\u306e\u6b74\u53f2\u7684\u30fb\u8fb2\u696d\u7684\u306a\u7279\u7523\u7269\u3067\u3059\u3002\"\n        },\n        {\n            q: \"\u51b7\u6226\u306e\u7d42\u7d50\u3084\u7d4c\u6e08\u306e\u6df7\u4e71\u306b\u4f34\u3044\u3001\u30bd\u30d3\u30a8\u30c8\u793e\u4f1a\u4e3b\u7fa9\u5171\u548c\u56fd\u9023\u90a6\uff08\u30bd\u9023\uff09\u304c\u89e3\u4f53\u3055\u308c\u305f\u306e\u306f\u4f55\u5e74\u304b\u3002\",\n            options: [\"1991\u5e74\", \"1975\u5e74\", \"1989\u5e74\", \"2001\u5e74\"],\n            answer: 0,\n            explanation: \"\u30bd\u30d3\u30a8\u30c8\u9023\u90a6\u306f\u3001\u30b4\u30eb\u30d0\u30c1\u30e7\u30d5\u653f\u6a29\u306e\u6539\u9769\u3084\u5404\u5171\u548c\u56fd\u306e\u72ec\u7acb\u904b\u52d5\u3092\u7d4c\u3066\u30011991\u5e7412\u6708\u306b\u6b63\u5f0f\u306b\u89e3\u4f53\u3055\u308c\u307e\u3057\u305f\u3002\"\n        },\n        {\n            q: \"\u897f\u30e8\u30fc\u30ed\u30c3\u30d1\u306e\u5927\u90e8\u5206\u3067\u307f\u3089\u308c\u308b\u3001\u504f\u897f\u98a8\u3068\u6696\u6d41\u306e\u5f71\u97ff\u306b\u3088\u308a\u5e74\u9593\u3092\u901a\u3058\u3066\u6bd4\u8f03\u7684\u6e29\u6696\u3067\u96e8\u304c\u964d\u308b\u6c17\u5019\u5e2f\u306f\u3069\u308c\u304b\u3002\",\n            options: [\"\u6e29\u5e2f\", \"\u51b7\u5e2f\", \"\u71b1\u5e2f\", \"\u4e7e\u71e5\u5e2f\"],\n            answer: 0,\n            explanation: \"\u897f\u30e8\u30fc\u30ed\u30c3\u30d1\u306f\u300c\u6e29\u5e2f\uff08\u897f\u5cb8\u6d77\u6d0b\u6027\u6c17\u5019\u306a\u3069\uff09\u300d\u306b\u5c5e\u3057\u3001\u7def\u5ea6\u306e\u308f\u308a\u306b\u51ac\u304c\u6e29\u6696\u3067\u904e\u3054\u3057\u3084\u3059\u3044\u306e\u304c\u7279\u5fb4\u3067\u3059\u3002\"\n        },\n        {\n            q: \"\u4e2d\u56fd\u306e\u6771\u5317\u5730\u65b9\uff08\u65e7\u6e80\u5dde\uff09\u306a\u3069\u3067\u3001\u5bd2\u51b7\u30fb\u4e7e\u71e5\u306b\u8010\u3048\u308b\u4f5c\u7269\u3068\u3057\u3066\u53e4\u304f\u304b\u3089\u683d\u57f9\u3055\u308c\u3066\u304d\u305f\u7a40\u7269\u306e\u7d44\u307f\u5408\u308f\u305b\u3068\u3057\u3066\u6b63\u3057\u3044\u3082\u306e\u306f\u3069\u308c\u304b\u3002\",\n            options: [\"\u5c0f\u9ea6\u30fb\u3053\u3046\u308a\u3083\u3093\u30fb\u3068\u3046\u3082\u308d\u3053\u3057\", \"\u7c73\u30fb\u8336\u30fb\u3055\u3068\u3046\u304d\u3073\", \"\u30b3\u30fc\u30d2\u30fc\u30fb\u30ab\u30ab\u30aa\u30fb\u30d0\u30ca\u30ca\", \"\u30aa\u30ea\u30fc\u30d6\u30fb\u30aa\u30ec\u30f3\u30b8\u30fb\u3076\u3069\u3046\"],\n            answer: 0,\n            explanation: \"\u4e2d\u56fd\u306e\u5317\u90e8\u30fb\u6771\u5317\u5730\u65b9\u3067\u306f\u3001\u96e8\u304c\u6bd4\u8f03\u7684\u5c11\u306a\u3044\u305f\u3081\u3001\u5c0f\u9ea6\u3084\u3053\u3046\u308a\u3083\u3093\u3001\u3068\u3046\u3082\u308d\u3053\u3057\u306a\u3069\u306e\u7551\u4f5c\u304c\u3055\u304b\u3093\u3067\u3059\u3002\"\n        },\n        {\n            q: \"\u30ac\u30f3\u30b8\u30b9\u5ddd\u30c7\u30eb\u30bf\u5730\u5e2f\u306b\u4f4d\u7f6e\u3057\u3001\u30b5\u30a4\u30af\u30ed\u30f3\u3084\u6d2a\u6c34\u306a\u3069\u306e\u81ea\u7136\u707d\u5bb3\u3092\u53d7\u3051\u3084\u3059\u3044\u3001\u4eba\u53e3\u5bc6\u5ea6\u304c\u975e\u5e38\u306b\u9ad8\u3044\u56fd\u306f\u3069\u3053\u304b\u3002\",\n            options: [\"\u30d0\u30f3\u30b0\u30e9\u30c7\u30b7\u30e5\", \"\u30d1\u30ad\u30b9\u30bf\u30f3\", \"\u30b9\u30ea\u30e9\u30f3\u30ab\", \"\u30bf\u30a4\"],\n            answer: 0,\n            explanation: \"\u30d0\u30f3\u30b0\u30e9\u30c7\u30b7\u30e5\u306f\u4f4e\u5e73\u306a\u30c7\u30eb\u30bf\u5730\u5e2f\u306b\u5e83\u304c\u308a\u3001\u5927\u6cb3\u306e\u6c3e\u6feb\u3084\u30b5\u30a4\u30af\u30ed\u30f3\u306b\u3088\u308b\u88ab\u5bb3\u3092\u53d7\u3051\u3084\u3059\u3044\u4e00\u65b9\u3001\u7c73\u4f5c\u304c\u975e\u5e38\u306b\u3055\u304b\u3093\u3067\u3059\u3002\"\n        },\n        {\n            q: \"\u30d6\u30e9\u30b8\u30eb\u3084\u30a8\u30c1\u30aa\u30d4\u30a2\u306a\u3069\u306e\u71b1\u5e2f\u30fb\u4e9c\u71b1\u5e2f\u306e\u9ad8\u539f\u5730\u5e2f\u3067\u591a\u304f\u683d\u57f9\u3055\u308c\u3066\u3044\u308b\u3001\u4ee3\u8868\u7684\u306a\u8f38\u51fa\u7528\u306e\u55dc\u597d\u54c1\u4f5c\u7269\u306f\u4f55\u304b\u3002\",\n            options: [\"\u30b3\u30fc\u30d2\u30fc\u8c46\", \"\u5c0f\u9ea6\", \"\u30c6\u30f3\u30b5\u30a4\", \"\u4e9c\u9ebb\"],\n            answer: 0,\n            explanation: \"\u30d6\u30e9\u30b8\u30eb\u306f\u4e16\u754c\u6700\u5927\u306e\u30b3\u30fc\u30d2\u30fc\u8c46\u306e\u751f\u7523\u30fb\u8f38\u51fa\u56fd\u5bb6\u3068\u3057\u3066\u77e5\u3089\u308c\u3066\u3044\u307e\u3059\u3002\u690d\u6c11\u5730\u6642\u4ee3\u304b\u3089\u306e\u30d7\u30e9\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u3067\u4f5c\u3089\u308c\u3066\u304d\u307e\u3057\u305f\u3002\"\n        },\n        {\n            q: \"\u4e16\u754c\u6700\u5927\u306e\u4eba\u53e3\u5927\u56fd\u3067\u3042\u308a\u3001\u8fd1\u5e74\u6025\u901f\u306a\u7d4c\u6e08\u6210\u9577\u3092\u9042\u3052\u3066\u3044\u308b\u30a2\u30b8\u30a2\u306e2\u5927\u56fd\u306e\u3072\u3068\u3064\u306f\u4e2d\u56fd\u3068\u3069\u3053\u304b\u3002\",\n            options: [\"\u30a4\u30f3\u30c9\", \"\u30a4\u30f3\u30c9\u30cd\u30b7\u30a2\", \"\u30d1\u30ad\u30b9\u30bf\u30f3\", \"\u30d9\u30c8\u30ca\u30e0\"],\n            answer: 0,\n            explanation: \"\u30a4\u30f3\u30c9\u306f\u8fd1\u5e74\u4eba\u53e3\u304c\u7d0414\u5104\u4eba\u306b\u9054\u3057\u3001\u4e2d\u56fd\u3068\u4e26\u3076\u4e16\u754c\u6700\u5927\u306e\u4eba\u53e3\u898f\u6a21\u3092\u6301\u3064\u56fd\u3068\u3057\u3066\u3001IT\u7523\u696d\u3084\u7d4c\u6e08\u9762\u3067\u4e16\u754c\u7684\u306a\u5b58\u5728\u611f\u3092\u9ad8\u3081\u3066\u3044\u307e\u3059\u3002\"\n        },\n        {\n            q: \"EU\uff08\u6b27\u5dde\u9023\u5408\uff09\u52a0\u76df\u56fd\u306e\u591a\u304f\u3067\u5c0e\u5165\u3055\u308c\u3066\u3044\u308b\u5171\u901a\u306e\u901a\u8ca8\u306e\u540d\u524d\u306f\u4f55\u304b\u3002\",\n            options: [\"\u30e6\u30fc\u30ed\", \"\u30c9\u30eb\", \"\u30dd\u30f3\u30c9\", \"\u30d5\u30e9\u30f3\"],\n            answer: 0,\n            explanation: \"EU\u306e\u591a\u304f\u306e\u56fd\u3067\u306f\u3001\u57df\u5185\u306e\u7d4c\u6e08\u6d3b\u52d5\u3092\u5186\u6ed1\u306b\u3059\u308b\u305f\u3081\u306b\u5171\u901a\u901a\u8ca8\u300c\u30e6\u30fc\u30ed\u300d\u304c\u5c0e\u5165\u3055\u308c\u3066\u3044\u307e\u3059\u3002\"\n        },\n        {\n            q: \"\u81ea\u52d5\u8eca\u306a\u3069\u306e\u5de5\u696d\u751f\u7523\u3067\u5e83\u304f\u63a1\u7528\u3055\u308c\u3066\u3044\u308b\u3001\u30d9\u30eb\u30c8\u30b3\u30f3\u30d9\u30a2\u306a\u3069\u3092\u4f7f\u3063\u3066\u90e8\u54c1\u3092\u9806\u6b21\u7d44\u307f\u7acb\u3066\u3066\u3044\u304f\u751f\u7523\u65b9\u5f0f\u3092\u4f55\u3068\u3044\u3046\u304b\u3002\",\n            options: [\"\u6d41\u308c\u4f5c\u696d\uff08\u30e9\u30a4\u30f3\u751f\u7523\u65b9\u5f0f\uff09\", \"\u591a\u54c1\u7a2e\u5c11\u91cf\u751f\u7523\", \"\u5bb6\u5185\u5236\u624b\u5de5\u696d\", \"\u5730\u5834\u7523\u696d\"],\n            answer: 0,\n            explanation: \"\u5927\u91cf\u751f\u7523\u3092\u53ef\u80fd\u306b\u3057\u305f\u52b9\u7387\u7684\u306a\u30b7\u30b9\u30c6\u30e0\u304c\u300c\u6d41\u308c\u4f5c\u696d\uff08\u30e9\u30a4\u30f3\u751f\u7523\u65b9\u5f0f\uff09\u300d\u3067\u3059\u3002\"\n        },\n        {\n            q: \"\u30a2\u30d5\u30ea\u30ab\u306e\u307b\u307c\u5168\u57df\u304c\u52a0\u76df\u3057\u3001\u653f\u6cbb\u30fb\u7d4c\u6e08\u306e\u7d71\u5408\u3084\u7d1b\u4e89\u89e3\u6c7a\u306b\u5411\u3051\u3066\u5354\u529b\u3057\u3066\u3044\u308b\u56fd\u969b\u7d44\u7e54\u3092\u4f55\u3068\u3044\u3046\u304b\u3002\",\n            options: [\"\u30a2\u30d5\u30ea\u30ab\u9023\u5408\uff08AU\uff09\", \"\u7c73\u5dde\u6a5f\u69cb\uff08OAS\uff09\", \"\u30a2\u30e9\u30d6\u9023\u76df\", \"\u77f3\u6cb9\u8f38\u51fa\u56fd\u6a5f\u69cb\uff08OPEC\uff09\"],\n            answer: 0,\n            explanation: \"\u30a2\u30d5\u30ea\u30ab\u306e\u7d50\u675f\u3068\u767a\u5c55\u3092\u76ee\u7684\u3068\u3057\u3066\u8a2d\u7acb\u3055\u308c\u305f\u7d44\u7e54\u304c\u300c\u30a2\u30d5\u30ea\u30ab\u9023\u5408\uff08AU\uff09\u300d\u3067\u3059\u3002\"\n        }\n    ];\n\n    let currentQuestions = [];\n    let currentIndex = 0;\n    let userAnswers = {};\n    let reviewFlags = {};\n    let timerInterval = null;\n    let timeLeft = 600;\n    let startTime = 0;\n\n    const startScreen = document.getElementById('start-screen');\n    const quizScreen = document.getElementById('quiz-screen');\n    const resultScreen = document.getElementById('result-screen');\n    const btnStart = document.getElementById('btn-start');\n    const btnPrev = document.getElementById('btn-prev');\n    const btnNext = document.getElementById('btn-next');\n    const btnReview = document.getElementById('btn-review');\n    const btnRestart = document.getElementById('btn-restart');\n    const timerDisplay = document.getElementById('timer-display');\n    const qNumLabel = document.getElementById('q-num-label');\n    const qText = document.getElementById('q-text');\n    const optionsContainer = document.getElementById('options-container');\n    const progressText = document.getElementById('progress-text');\n    const paletteGrid = document.getElementById('palette-grid');\n    const scoreSummary = document.getElementById('score-summary');\n    const resultList = document.getElementById('result-list');\n    const timeTakenDisplay = document.getElementById('time-taken-display');\n\n    btnStart.addEventListener('click', startQuiz);\n    btnPrev.addEventListener('click', () => changeQuestion(-1));\n    btnReview.addEventListener('click', toggleReview);\n    btnRestart.addEventListener('click', initStartScreen);\n\n    \/\/ \u300c\u6b21\u306e\u554f\u984c\u300d\u307e\u305f\u306f\u300c\u63a1\u70b9\u3059\u308b\u300d\u30dc\u30bf\u30f3\u306e\u30af\u30ea\u30c3\u30af\u51e6\u7406\uff08\u91cd\u8907\u767b\u9332\u3092\u9632\u6b62\u3059\u308b\u305f\u3081\u3053\u3053\u3067\u4e00\u672c\u5316\uff09\n    btnNext.addEventListener('click', () => {\n        if (currentIndex === currentQuestions.length - 1) {\n            if (confirm(\"\u30c6\u30b9\u30c8\u3092\u7d42\u4e86\u3057\u3066\u63a1\u70b9\u3057\u307e\u3059\u304b\uff1f\")) {\n                clearInterval(timerInterval);\n                finishQuiz();\n            }\n        } else {\n            changeQuestion(1);\n        }\n    });\n\n    document.querySelectorAll('.filter-tab').forEach(tab => {\n        tab.addEventListener('click', (e) => {\n            document.querySelectorAll('.filter-tab').forEach(t => t.classList.remove('active'));\n            e.target.classList.add('active');\n            renderResultList(e.target.getAttribute('data-filter'));\n        });\n    });\n\n    function initStartScreen() {\n        clearInterval(timerInterval);\n        startScreen.classList.remove('hidden');\n        quizScreen.classList.add('hidden');\n        resultScreen.classList.add('hidden');\n    }\n\n    function startQuiz() {\n        currentQuestions = getRandomQuestions(allQuestionsData, 20).map(q => {\n            let optionsWithIndex = q.options.map((opt, i) => ({ opt, isCorrect: i === q.answer }));\n            optionsWithIndex.sort(() => Math.random() - 0.5);\n            \n            let newOptions = optionsWithIndex.map(item => item.opt);\n            let newAnswer = optionsWithIndex.findIndex(item => item.isCorrect);\n\n            return {\n                ...q,\n                options: newOptions,\n                answer: newAnswer\n            };\n        });\n\n        currentIndex = 0;\n        userAnswers = {};\n        reviewFlags = {};\n        timeLeft = 600;\n        startTime = Date.now();\n\n        startScreen.classList.add('hidden');\n        resultScreen.classList.add('hidden');\n        quizScreen.classList.remove('hidden');\n\n        startTimer();\n        renderQuestion();\n        renderPalette();\n    }\n\n    function getRandomQuestions(sourceArray, count) {\n        let shuffled = [...sourceArray].sort(() => 0.5 - Math.random());\n        return shuffled.slice(0, count);\n    }\n\n    function startTimer() {\n        updateTimerDisplay();\n        timerInterval = setInterval(() => {\n            timeLeft--;\n            updateTimerDisplay();\n            if (timeLeft <= 0) {\n                clearInterval(timerInterval);\n                finishQuiz();\n            }\n        }, 1000);\n    }\n\n    function updateTimerDisplay() {\n        let min = Math.floor(timeLeft \/ 60);\n        let sec = timeLeft % 60;\n        timerDisplay.textContent = `\u5236\u9650\u6642\u9593: ${min}:${sec < 10 ? '0' : ''}${sec}`;\n    }\n\n    function changeQuestion(direction) {\n        let newIndex = currentIndex + direction;\n        if (newIndex >= 0 && newIndex < currentQuestions.length) {\n            currentIndex = newIndex;\n            renderQuestion();\n            updatePaletteActive();\n        }\n    }\n\n    function renderQuestion() {\n        const qData = currentQuestions[currentIndex];\n        qNumLabel.textContent = `\u554f\u984c ${currentIndex + 1} \/ ${currentQuestions.length}`;\n        qText.textContent = qData.q;\n        progressText.textContent = `${currentIndex + 1}\u554f\u76ee \/ \u516820\u554f`;\n\n        optionsContainer.innerHTML = '';\n        qData.options.forEach((opt, idx) => {\n            const label = document.createElement('label');\n            label.className = 'option-label';\n            if (userAnswers[currentIndex] === idx) {\n                label.classList.add('selected');\n            }\n\n            const radio = document.createElement('input');\n            radio.type = 'radio';\n            radio.name = 'quiz-option';\n            radio.value = idx;\n            radio.checked = (userAnswers[currentIndex] === idx);\n\n            radio.addEventListener('change', () => {\n                userAnswers[currentIndex] = idx;\n                document.querySelectorAll('.option-label').forEach(l => l.classList.remove('selected'));\n                label.classList.add('selected');\n                updatePaletteState(currentIndex);\n            });\n\n            label.appendChild(radio);\n            label.appendChild(document.createTextNode(opt));\n            optionsContainer.appendChild(label);\n        });\n\n        btnPrev.disabled = (currentIndex === 0);\n        if (currentIndex === currentQuestions.length - 1) {\n            btnNext.textContent = '\u63a1\u70b9\u3059\u308b';\n        } else {\n            btnNext.textContent = '\u6b21\u306e\u554f\u984c';\n        }\n\n        if (reviewFlags[currentIndex]) {\n            btnReview.classList.add('active');\n            btnReview.textContent = '\u2605 \u898b\u76f4\u3057\u30c1\u30a7\u30c3\u30af\u4e2d';\n        } else {\n            btnReview.classList.remove('active');\n            btnReview.textContent = '\u2606 \u898b\u76f4\u3057\u30c1\u30a7\u30c3\u30af';\n        }\n    }\n\n    function toggleReview() {\n        reviewFlags[currentIndex] = !reviewFlags[currentIndex];\n        renderQuestion();\n        renderPalette();\n    }\n\n    function renderPalette() {\n        paletteGrid.innerHTML = '';\n        currentQuestions.forEach((_, idx) => {\n            const pBtn = document.createElement('button');\n            pBtn.className = 'palette-btn';\n            pBtn.textContent = idx + 1;\n            if (idx === currentIndex) pBtn.classList.add('current');\n            if (userAnswers[idx] !== undefined) pBtn.classList.add('answered');\n            if (reviewFlags[idx]) pBtn.classList.add('reviewed');\n\n            pBtn.addEventListener('click', () => {\n                currentIndex = idx;\n                renderQuestion();\n                updatePaletteActive();\n            });\n            paletteGrid.appendChild(pBtn);\n        });\n    }\n\n    function updatePaletteActive() {\n        const buttons = paletteGrid.querySelectorAll('.palette-btn');\n        buttons.forEach((btn, idx) => {\n            if (idx === currentIndex) {\n                btn.classList.add('current');\n            } else {\n                btn.classList.remove('current');\n            }\n        });\n    }\n\n    function updatePaletteState(idx) {\n        const buttons = paletteGrid.querySelectorAll('.palette-btn');\n        if (userAnswers[idx] !== undefined) {\n            buttons[idx].classList.add('answered');\n        }\n    }\n\n    function finishQuiz() {\n        quizScreen.classList.add('hidden');\n        resultScreen.classList.remove('hidden');\n\n        let elapsedTime = Math.floor((Date.now() - startTime) \/ 1000);\n        let min = Math.floor(elapsedTime \/ 60);\n        let sec = elapsedTime % 60;\n        timeTakenDisplay.textContent = `\u6240\u8981\u6642\u9593: ${min}\u5206${sec < 10 ? '0' : ''}${sec}\u79d2`;\n\n        let correctCount = 0;\n        currentQuestions.forEach((q, idx) => {\n            if (userAnswers[idx] === q.answer) {\n                correctCount++;\n            }\n        });\n        let score = correctCount * 5;\n        scoreSummary.textContent = `\u5f97\u70b9\uff1a${score}\u70b9 \/ 100\u70b9\u6e80\u70b9\uff08${correctCount}\u554f\u6b63\u89e3\uff09`;\n\n        renderResultList('all');\n    }\n\n    function renderResultList(filter) {\n        resultList.innerHTML = '';\n        currentQuestions.forEach((q, idx) => {\n            const userAnsIdx = userAnswers[idx];\n            const isCorrect = (userAnsIdx === q.answer);\n            const isReviewed = reviewFlags[idx];\n\n            if (filter === 'incorrect' && isCorrect) return;\n            if (filter === 'review' && !isReviewed) return;\n\n            const card = document.createElement('div');\n            card.className = 'result-card';\n\n            const userAnsText = userAnsIdx !== undefined ? q.options[userAnsIdx] : '\u672a\u56de\u7b54';\n            const correctAnsText = q.options[q.answer];\n\n            card.innerHTML = `\n                <div class=\"result-card-header\">Q${idx + 1}. ${q.q} ${isReviewed ? '<span style=\"color:#f59f00;\">\u2605\u898b\u76f4\u3057\u30c1\u30a7\u30c3\u30af<\/span>' : ''}<\/div>\n                <div class=\"result-status ${isCorrect ? 'correct' : 'incorrect'}\">\n                    ${isCorrect ? '\u3007 \u6b63\u89e3' : '\u00d7 \u4e0d\u6b63\u89e3'}\n                <\/div>\n                <div class=\"result-detail-text\"><strong>\u3042\u306a\u305f\u306e\u7b54\u3048\uff1a<\/strong> ${userAnsText}<\/div>\n                <div class=\"result-detail-text\"><strong>\u6b63\u89e3\uff1a<\/strong> <span style=\"color:var(--accent-green); font-weight:bold;\">${correctAnsText}<\/span><\/div>\n                <div class=\"result-detail-text\" style=\"margin-top: 8px; border-top: 1px dashed var(--border-color); padding-top: 8px;\">\n                    <strong>\u89e3\u8aac\uff1a<\/strong> ${q.explanation}\n                <\/div>\n            `;\n            resultList.appendChild(card);\n        });\n\n        if (resultList.children.length === 0) {\n            resultList.innerHTML = `<div style=\"text-align: center; color: var(--muted-color); padding: 20px;\">\u8a72\u5f53\u3059\u308b\u554f\u984c\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/div>`;\n        }\n    }\n})();\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e2d\u5b66\u751f\u793e\u4f1a \u4e00\u554f\u4e00\u7b54\uff08\u4e16\u754c\u306e\u8af8\u5730\u57df\uff09 \u5236\u9650\u6642\u9593\uff1a10\u5206 \uff0f \u51fa\u984c\u6570\uff1a20\u554f\uff081\u554f5\u70b9\u30fb\u6e80\u70b9100\u70b9\uff09 \u203b\u554f\u984c\u306f\u6bce\u56de\u30e9\u30f3\u30c0\u30e0\u306b\u51fa\u984c\u3055\u308c\u307e\u3059\u3002 \u30c6\u30b9\u30c8\u30b9\u30bf\u30fc\u30c8 \u4e2d\u5b66\u751f\u793e\u4f1a \u4e00\u554f\u4e00\u7b54 \u5236\u9650\u6642\u9593: 10:00 \u554f\u984c 1 \/ 20 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2120,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","vkExUnit_EyeCatch_disable":"","_veu_custom_css":"","veu_display_promotion_alert":"","vkexunit_cta_each_option":"","_lightning_design_setting":{"layout":"col-one-no-subsection","site_body_padding":"true"},"footnotes":""},"categories":[308],"tags":[],"class_list":["post-4680","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-308"],"acf":[],"veu_head_title_object":{"title":"","add_site_title":""},"_links":{"self":[{"href":"https:\/\/nansiki.net\/2018\/wp-json\/wp\/v2\/posts\/4680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nansiki.net\/2018\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nansiki.net\/2018\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nansiki.net\/2018\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nansiki.net\/2018\/wp-json\/wp\/v2\/comments?post=4680"}],"version-history":[{"count":5,"href":"https:\/\/nansiki.net\/2018\/wp-json\/wp\/v2\/posts\/4680\/revisions"}],"predecessor-version":[{"id":4754,"href":"https:\/\/nansiki.net\/2018\/wp-json\/wp\/v2\/posts\/4680\/revisions\/4754"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nansiki.net\/2018\/wp-json\/wp\/v2\/media\/2120"}],"wp:attachment":[{"href":"https:\/\/nansiki.net\/2018\/wp-json\/wp\/v2\/media?parent=4680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nansiki.net\/2018\/wp-json\/wp\/v2\/categories?post=4680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nansiki.net\/2018\/wp-json\/wp\/v2\/tags?post=4680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}