{"id":19552,"date":"2025-12-01T11:23:05","date_gmt":"2025-12-01T02:23:05","guid":{"rendered":"https:\/\/kabutan.jp\/hikaku\/?p=19552"},"modified":"2026-04-15T10:23:02","modified_gmt":"2026-04-15T01:23:02","slug":"fx-diagnosis","status":"publish","type":"post","link":"https:\/\/kabutan.jp\/hikaku\/fx-diagnosis\/","title":{"rendered":"FX\u53e3\u5ea7\u8a3a\u65ad\uff5c\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306aFX\u4f1a\u793e\u306f\uff1f"},"content":{"rendered":"<!-- ===== FX\u8a3a\u65ad\u30c4\u30fc\u30eb - HTML\u76f4\u63a5\u633f\u5165\u7528 ===== -->\r\n<!-- \u3053\u306e\u30b3\u30fc\u30c9\u3092\u30e9\u30f3\u30ad\u30f3\u30b0\u8868\uff08class=\"fv_rank_table\"\uff09\u306e\u76f4\u524d\u306b\u633f\u5165\u3057\u3066\u304f\u3060\u3055\u3044 -->\r\n\r\n<style>\r\n    \/* Section Wrapper Styles *\/\r\n    .diagnosis-section-wrapper {\r\n        margin: 40px auto;\r\n        padding: 0;\r\n        max-width: 1200px;\r\n    }\r\n\r\n    .diagnosis-section-title {\r\n        font-size: 24px;\r\n        font-weight: 700;\r\n        color: #1e293b;\r\n        text-align: center;\r\n        margin-bottom: 30px;\r\n        padding: 0 20px;\r\n        line-height: 1.4;\r\n        color: #b50202;\r\n    }\r\n\r\n    @media (max-width: 640px) {\r\n        .diagnosis-section-wrapper {\r\n            margin: 30px auto;\r\n        }\r\n\r\n        .diagnosis-section-title {\r\n            font-size: 20px;\r\n            margin-bottom: 20px;\r\n        }\r\n    }\r\n\r\n    \/* Scoped Styles for FX Diagnostic Widget *\/\r\n    #fx-diagnostic-widget {\r\n        font-family: \"Helvetica Neue\", Arial, \"Hiragino Kaku Gothic ProN\", \"Hiragino Sans\", Meiryo, sans-serif;\r\n        color: #334155;\r\n        line-height: 1.5;\r\n        max-width: 600px;\r\n        margin: 0 auto 40px;\r\n        background-color: #ffffff;\r\n        padding: 0;\r\n        border-radius: 8px;\r\n    }\r\n\r\n    #fx-diagnostic-widget * {\r\n        box-sizing: border-box;\r\n    }\r\n\r\n    \/* Utilities *\/\r\n    #fx-diagnostic-widget .hidden {\r\n        display: none !important;\r\n    }\r\n\r\n    \/* Question Card *\/\r\n    #fx-diagnostic-widget .question-card {\r\n        background: white;\r\n        border-radius: 16px;\r\n        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\r\n        padding: 24px;\r\n        animation: fxFadeIn 0.5s ease-out;\r\n        min-height: 440px;\r\n        \/* Added to prevent layout shift *\/\r\n    }\r\n\r\n    #fx-diagnostic-widget .question-title {\r\n        font-size: 20px;\r\n        font-weight: 700;\r\n        color: #1e293b;\r\n        margin-bottom: 24px;\r\n        text-align: center;\r\n    }\r\n\r\n    #fx-diagnostic-widget .answer-btn {\r\n        display: block;\r\n        width: 100%;\r\n        text-align: left;\r\n        padding: 16px 20px;\r\n        margin-bottom: 12px;\r\n        background-color: white;\r\n        border: 2px solid #e2e8f0;\r\n        border-radius: 12px;\r\n        font-size: 16px;\r\n        font-weight: 500;\r\n        color: #334155;\r\n        cursor: pointer;\r\n        transition: all 0.2s;\r\n    }\r\n\r\n    #fx-diagnostic-widget .answer-btn:hover {\r\n        border-color: #0d9488;\r\n        background-color: #f0fdfa;\r\n        color: #0f766e;\r\n    }\r\n\r\n    \/* Progress Dots *\/\r\n    #fx-diagnostic-widget .progress-dots {\r\n        display: flex;\r\n        justify-content: center;\r\n        gap: 8px;\r\n        margin-top: 30px;\r\n    }\r\n\r\n    #fx-diagnostic-widget .dot {\r\n        height: 6px;\r\n        border-radius: 9999px;\r\n        transition: all 0.3s;\r\n    }\r\n\r\n    #fx-diagnostic-widget .dot.active {\r\n        width: 32px;\r\n        background-color: #0d9488;\r\n    }\r\n\r\n    #fx-diagnostic-widget .dot.past {\r\n        width: 6px;\r\n        background-color: #99f6e4;\r\n    }\r\n\r\n    #fx-diagnostic-widget .dot.future {\r\n        width: 6px;\r\n        background-color: #e2e8f0;\r\n    }\r\n\r\n    \/* Back Button *\/\r\n    #fx-diagnostic-widget .back-btn {\r\n        display: block;\r\n        margin: 10px auto 0;\r\n        background: none;\r\n        border: none;\r\n        color: #94a3b8;\r\n        font-size: 14px;\r\n        cursor: pointer;\r\n        text-decoration: underline;\r\n        padding: 5px;\r\n    }\r\n\r\n    #fx-diagnostic-widget .back-btn:hover {\r\n        color: #64748b;\r\n    }\r\n\r\n    \/* Result CTA View *\/\r\n    #fx-diagnostic-widget .cta-view {\r\n        text-align: center;\r\n        animation: fxFadeIn 0.8s ease-out;\r\n    }\r\n\r\n    #fx-diagnostic-widget .cta-view .question-card {\r\n        display: flex;\r\n        flex-direction: column;\r\n        justify-content: center;\r\n        align-items: center;\r\n    }\r\n\r\n    #fx-diagnostic-widget .cta-title {\r\n        font-size: 24px;\r\n        font-weight: 700;\r\n        color: #1e293b;\r\n        margin-bottom: 16px;\r\n    }\r\n\r\n    #fx-diagnostic-widget .cta-description {\r\n        font-size: 16px;\r\n        color: #64748b;\r\n        margin-bottom: 24px;\r\n    }\r\n\r\n    #fx-diagnostic-widget .cta-button {\r\n        display: inline-block;\r\n        background: linear-gradient(to bottom, #f97316, #ea580c);\r\n        color: white;\r\n        text-align: center;\r\n        padding: 16px 32px;\r\n        border-radius: 9999px;\r\n        text-decoration: none;\r\n        font-weight: 700;\r\n        font-size: 18px;\r\n        box-shadow: 0 4px 6px -1px rgba(249, 115, 22, 0.3);\r\n        transition: transform 0.2s, box-shadow 0.2s;\r\n        border: none;\r\n        cursor: pointer;\r\n    }\r\n\r\n    #fx-diagnostic-widget .cta-button:hover {\r\n        transform: translateY(-2px);\r\n        box-shadow: 0 10px 15px -3px rgba(249, 115, 22, 0.4);\r\n        background: linear-gradient(to bottom, #fb923c, #f97316);\r\n    }\r\n\r\n    @keyframes fxFadeIn {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(10px);\r\n        }\r\n\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    \/* Responsive *\/\r\n    @media (max-width: 640px) {\r\n        #fx-diagnostic-widget {\r\n            padding: 0 16px;\r\n        }\r\n\r\n        #fx-diagnostic-widget .question-card {\r\n            padding: 20px;\r\n        }\r\n\r\n        #fx-diagnostic-widget .question-title {\r\n            font-size: 18px;\r\n        }\r\n\r\n        #fx-diagnostic-widget .answer-btn {\r\n            font-size: 15px;\r\n            padding: 14px 16px;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div class=\"diagnosis-section-wrapper\">\r\n    <h2 class=\"diagnosis-section-title\">3\u5206\u3067\u308f\u304b\u308b\uff01\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306eFX\u53e3\u5ea7\u8a3a\u65ad<\/h2>\r\n\r\n    <div id=\"fx-diagnostic-widget\">\r\n        <!-- Question View -->\r\n        <div id=\"question-view\">\r\n            <div id=\"question-container\" class=\"question-card\">\r\n                <!-- Rendered via JavaScript -->\r\n            <\/div>\r\n            <div id=\"progress-dots\" class=\"progress-dots\">\r\n                <!-- Rendered via JavaScript -->\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- CTA View (shown after all questions answered) -->\r\n        <div id=\"cta-view\" class=\"hidden cta-view\">\r\n            <div class=\"question-card\">\r\n                <h3 class=\"cta-title\">\u8a3a\u65ad\u5b8c\u4e86\uff01<\/h3>\r\n                <p class=\"cta-description\">\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306eFX\u4f1a\u793e\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f<\/p>\r\n                <button id=\"view-result-btn\" class=\"cta-button\">\u8a3a\u65ad\u7d50\u679c\u3092\u898b\u308b<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\n    (function () {\r\n        \/\/ --- Constants ---\r\n        const COMPANIES = [\r\n            [\"matsui\", \"\u677e\u4e95\u8a3c\u5238FX\"],\r\n            [\"sbi\", \"SBI FX\u30c8\u30ec\u30fc\u30c9\"],\r\n            [\"gmo\", \"GMO\u30af\u30ea\u30c3\u30af\u8a3c\u5238\"],\r\n            [\"dmm\", \"DMM FX\"],\r\n            [\"gaitame\", \"\u5916\u70ba\u3069\u3063\u3068\u30b3\u30e0\"],\r\n            [\"minna\", \"\u307f\u3093\u306a\u306eFX\"],\r\n            [\"online\", \"\u5916\u70ba\u30aa\u30f3\u30e9\u30a4\u30f3\"],\r\n            [\"gmo_gaika\", \"GMO\u5916\u8ca8\"],\r\n            [\"hirose\", \"\u30d2\u30ed\u30bb\u901a\u5546\"],\r\n            [\"invast\", \"\u30c8\u30e9\u30a4\u30aa\u30fc\u30c8FX\uff08\u30a4\u30f3\u30f4\u30a1\u30b9\u30c8\u8a3c\u5238\uff09\"],\r\n            [\"linefx\", \"LINE FX\"],\r\n        ];\r\n\r\n        const QUESTIONS = [\r\n            {\r\n                id: \"Q1\",\r\n                text: \"FX\u306b\u4f7f\u3048\u308b\u8cc7\u91d1\u984d\u306e\u30a4\u30e1\u30fc\u30b8\u306f\uff1f\",\r\n                answers: [\r\n                    {\r\n                        id: \"D\",\r\n                        text: \"\u6570\u767e\u5186\u301c\u6570\u5343\u5186\",\r\n                        jump: null,\r\n                        p: { matsui: 2, sbi: 2 }\r\n                    },\r\n                    {\r\n                        id: \"A\",\r\n                        text: \"\u6570\u5343\u5186\uff5e\u6570\u4e07\u5186\",\r\n                        jump: null,\r\n                        p: { matsui: 2, sbi: 2, dmm: 1 }\r\n                    },\r\n                    {\r\n                        id: \"B\",\r\n                        text: \"10\u4e07\u5186\uff5e50\u4e07\u5186\",\r\n                        jump: null,\r\n                        p: { matsui: 1, sbi: 1, gmo: 1, dmm: 1, gaitame: 1, minna: 1, gmo_gaika: 1, hirose: 1, linefx: 1 }\r\n                    },\r\n                    {\r\n                        id: \"C\",\r\n                        text: \"50\u4e07\u5186\uff5e\",\r\n                        jump: null,\r\n                        p: { matsui: 1, sbi: 1, gmo: 1, dmm: 1, gaitame: 1, minna: 1, online: 1, gmo_gaika: 1, hirose: 1, invast: 1, linefx: 1 }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                id: \"Q2\",\r\n                text: \"\u7406\u60f3\u306eFX\u306e\u4f7f\u3044\u65b9\u306f\u3069\u308c\u3067\u3059\u304b\uff1f\",\r\n                answers: [\r\n                    {\r\n                        id: \"A\",\r\n                        text: \"\u9577\u671f\u30fb\u5b89\u5b9a\u5fd7\u5411\",\r\n                        jump: \"Q5\",\r\n                        p: { matsui: 1, sbi: 1, gaitame: 2, minna: 2, invast: 1 }\r\n                    },\r\n                    {\r\n                        id: \"B\",\r\n                        text: \"\u77ed\u671f\u30fb\u30c7\u30a4\u30c8\u30ec\u5fd7\u5411\",\r\n                        jump: null,\r\n                        p: { gmo: 2, dmm: 1, gaitame: 1, minna: 1, online: 1, gmo_gaika: 1, hirose: 2, linefx: 1 }\r\n                    },\r\n                    {\r\n                        id: \"C\",\r\n                        text: \"\u4e2d\u4e0a\u7d1a\u30fb\u88c1\u91cf\u5fd7\u5411\",\r\n                        jump: null,\r\n                        p: { gmo: 2, gaitame: 2, linefx: 1 }\r\n                    },\r\n                    {\r\n                        id: \"D\",\r\n                        text: \"\u81ea\u52d5\u58f2\u8cb7\u5fd7\u5411\",\r\n                        jump: \"Q5\",\r\n                        p: { matsui: 1, minna: 2, online: 1, invast: 2 }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                id: \"Q3\",\r\n                text: \"\u4e3b\u306a\u53d6\u5f15\u7aef\u672b\u306f\u3069\u308c\u3067\u3059\u304b\uff1f\",\r\n                answers: [\r\n                    {\r\n                        id: \"A\",\r\n                        text: \"\u30b9\u30de\u30db\u306e\u307f\",\r\n                        jump: null,\r\n                        p: { matsui: 1, gmo: 1, dmm: 1, gaitame: 1, minna: 1, gmo_gaika: 2, hirose: 1, linefx: 2 }\r\n                    },\r\n                    {\r\n                        id: \"B\",\r\n                        text: \"PC\u30e1\u30a4\u30f3\",\r\n                        jump: \"Q4\",\r\n                        p: { matsui: 1, sbi: 1, gmo: 2, dmm: 1, gaitame: 2, minna: 1, hirose: 1 }\r\n                    },\r\n                    {\r\n                        id: \"C\",\r\n                        text: \"\u30b9\u30de\u30db\uff0bPC\",\r\n                        jump: null,\r\n                        p: { matsui: 1, gmo: 2, dmm: 1, gaitame: 2, minna: 1, gmo_gaika: 1, hirose: 1, linefx: 1 }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                id: \"Q4\",\r\n                text: \"\u53d6\u5f15\u3057\u305f\u3044\u901a\u8ca8\u30da\u30a2\u306f\uff1f\",\r\n                answers: [\r\n                    {\r\n                        id: \"A\",\r\n                        text: \"\u7c73\u30c9\u30eb\/\u5186\u306a\u3069\u306e\u30e1\u30b8\u30e3\u30fc\",\r\n                        jump: null,\r\n                        p: { matsui: 1, sbi: 1, gmo: 2, dmm: 1, gaitame: 1, minna: 2, gmo_gaika: 1, hirose: 1, invast: 1, linefx: 1 }\r\n                    },\r\n                    {\r\n                        id: \"B\",\r\n                        text: \"\u30c8\u30eb\u30b3\u30ea\u30e9\u306a\u3069\u9ad8\u91d1\u5229\",\r\n                        jump: null,\r\n                        p: { gmo: 1, minna: 2, gmo_gaika: 1, invast: 1 }\r\n                    },\r\n                    {\r\n                        id: \"C\",\r\n                        text: \"\u672a\u5b9a\u30fb\u308f\u304b\u3089\u306a\u3044\",\r\n                        jump: null,\r\n                        p: { matsui: 1, sbi: 1, gaitame: 1, minna: 1, hirose: 1, linefx: 1 }\r\n                    }\r\n                ]\r\n            },\r\n            {\r\n                id: \"Q5\",\r\n                text: \"\u4e00\u756a\u91cd\u8981\u306a\u30dd\u30a4\u30f3\u30c8\u306f\uff1f\",\r\n                answers: [\r\n                    {\r\n                        id: \"A\",\r\n                        text: \"\u5b9f\u7e3e\u30fb\u30b0\u30eb\u30fc\u30d7\u306e\u5b89\u5fc3\u611f\",\r\n                        jump: \"result\",\r\n                        p: { gmo: 1, dmm: 2, gaitame: 2 }\r\n                    },\r\n                    {\r\n                        id: \"B\",\r\n                        text: \"\u624b\u539a\u3044\u30b5\u30dd\u30fc\u30c8\",\r\n                        jump: null,\r\n                        p: { dmm: 1, gaitame: 2 }\r\n                    },\r\n                    {\r\n                        id: \"C\",\r\n                        text: \"\u53d6\u5f15\u30b3\u30b9\u30c8\u3084\u30b9\u30ef\u30c3\u30d7\",\r\n                        jump: \"result\",\r\n                        p: { matsui: 1, sbi: 1, gmo: 2, dmm: 1, gaitame: 1, minna: 2, gmo_gaika: 1, invast: 1, linefx: 1 }\r\n                    },\r\n                    {\r\n                        id: \"D\",\r\n                        text: \"\u500b\u6027\u7684\u306a\u30b5\u30fc\u30d3\u30b9\",\r\n                        jump: null,\r\n                        p: { matsui: 2, sbi: 2, gmo: 1, gaitame: 1, minna: 1, online: 1, hirose: 1, invast: 1, linefx: 1 }\r\n                    }\r\n                ]\r\n            }\r\n        ];\r\n\r\n        \/\/ --- State ---\r\n        let currentQuestionIndex = 0;\r\n        let answers = {}; \/\/ { Q1: \"A\", ... }\r\n        let questionHistory = []; \/\/ Stack to track visited question indices\r\n        const ANSWERS_STORAGE_KEY = 'fxDiagnosisAnswers';\r\n\r\n        \/\/ --- DOM Elements ---\r\n        const elQuestionView = document.getElementById('question-view');\r\n        const elQuestionContainer = document.getElementById('question-container');\r\n        const elProgressDots = document.getElementById('progress-dots');\r\n        const elCtaView = document.getElementById('cta-view');\r\n        const elViewResultBtn = document.getElementById('view-result-btn');\r\n\r\n        \/\/ --- Functions ---\r\n        function init() {\r\n            renderQuestion();\r\n            elViewResultBtn.addEventListener('click', navigateToResult);\r\n        }\r\n\r\n        function renderQuestion() {\r\n            const q = QUESTIONS[currentQuestionIndex];\r\n\r\n            \/\/ Render Question Card\r\n            let html = `<div class=\"question-title\">${q.text}<\/div>`;\r\n            q.answers.forEach(ans => {\r\n                html += `<button class=\"answer-btn\" data-answer-id=\"${ans.id}\" data-jump=\"${ans.jump || ''}\">${ans.text}<\/button>`;\r\n            });\r\n\r\n            \/\/ Back Button\r\n            if (questionHistory.length > 0) {\r\n                html += `<button class=\"back-btn\" id=\"back-btn\">\u524d\u306e\u8cea\u554f\u306b\u623b\u308b<\/button>`;\r\n            }\r\n\r\n            elQuestionContainer.innerHTML = html;\r\n\r\n            \/\/ Attach event listeners to answer buttons\r\n            const answerBtns = elQuestionContainer.querySelectorAll('.answer-btn');\r\n            answerBtns.forEach(btn => {\r\n                btn.addEventListener('click', function () {\r\n                    const answerId = this.getAttribute('data-answer-id');\r\n                    const jump = this.getAttribute('data-jump');\r\n                    handleAnswer(answerId, jump);\r\n                });\r\n            });\r\n\r\n            \/\/ Attach event listener to back button if exists\r\n            const backBtn = document.getElementById('back-btn');\r\n            if (backBtn) {\r\n                backBtn.addEventListener('click', handleBack);\r\n            }\r\n\r\n            \/\/ Render Progress Dots\r\n            let dotsHtml = '';\r\n            QUESTIONS.forEach((_, i) => {\r\n                let cls = 'dot future';\r\n                if (i === currentQuestionIndex) cls = 'dot active';\r\n                else if (i < currentQuestionIndex) cls = 'dot past';\r\n                dotsHtml += `<div class=\"${cls}\"><\/div>`;\r\n            });\r\n            elProgressDots.innerHTML = dotsHtml;\r\n\r\n            \/\/ [\u8a08\u6e2c] \u8cea\u554f\u8868\u793a\u30a4\u30d9\u30f3\u30c8\r\n            \/\/ dataLayer.push({'event': 'fx_diag_question_view', 'question_id': q.id});\r\n        }\r\n\r\n        function handleAnswer(answerId, jump) {\r\n            const q = QUESTIONS[currentQuestionIndex];\r\n\r\n            \/\/ Re-answering a question invalidates all downstream answers.\r\n            for (let i = currentQuestionIndex + 1; i < QUESTIONS.length; i++) {\r\n                delete answers[QUESTIONS[i].id];\r\n            }\r\n\r\n            answers[q.id] = answerId;\r\n            questionHistory.push(currentQuestionIndex);\r\n\r\n            \/\/ [\u8a08\u6e2c] \u8cea\u554f\u56de\u7b54\u30a4\u30d9\u30f3\u30c8\r\n            \/\/ dataLayer.push({'event': 'fx_diag_answer', 'question_id': q.id, 'answer_id': answerId});\r\n\r\n            \/\/ Determine next step\r\n            let nextIndex = currentQuestionIndex + 1;\r\n            if (jump === 'result') {\r\n                showCTA();\r\n                return;\r\n            } else if (jump) {\r\n                const jumpText = String(jump);\r\n                if (jumpText.indexOf('Q') === 0) {\r\n                    const targetIndex = QUESTIONS.findIndex(qt => qt.id === jumpText);\r\n                    if (targetIndex !== -1) nextIndex = targetIndex;\r\n                }\r\n            }\r\n\r\n            if (nextIndex < QUESTIONS.length) {\r\n                currentQuestionIndex = nextIndex;\r\n                renderQuestion();\r\n                \/\/ Auto-scroll disabled by user request\r\n                \/\/ if (window.innerWidth >= 768) {\r\n                \/\/     document.getElementById('fx-diagnostic-widget').scrollIntoView({ behavior: 'smooth' });\r\n                \/\/ }\r\n            } else {\r\n                showCTA();\r\n            }\r\n        }\r\n\r\n        function handleBack() {\r\n            if (questionHistory.length === 0) return;\r\n            const prevIndex = questionHistory.pop();\r\n            currentQuestionIndex = prevIndex;\r\n            renderQuestion();\r\n        }\r\n\r\n        function showCTA() {\r\n            elQuestionView.classList.add('hidden');\r\n            elCtaView.classList.remove('hidden');\r\n\r\n            \/\/ [\u8a08\u6e2c] \u8a3a\u65ad\u5b8c\u4e86\u30a4\u30d9\u30f3\u30c8\uff08\u7d50\u679c\u30dc\u30bf\u30f3\u8868\u793a\uff09\r\n            \/\/ const recommendedCompany = calculateTopCompany();\r\n            \/\/ dataLayer.push({'event': 'fx_diag_complete', 'recommended_company': recommendedCompany});\r\n\r\n            \/\/ Scroll to widget on desktop\r\n            \/\/ Scroll to widget on desktop\r\n            \/\/ if (window.innerWidth >= 768) {\r\n            \/\/     document.getElementById('fx-diagnostic-widget').scrollIntoView({ behavior: 'smooth' });\r\n            \/\/ }\r\n        }\r\n\r\n        function navigateToResult() {\r\n            \/\/ [\u8a08\u6e2c] \u7d50\u679c\u30da\u30fc\u30b8\u9077\u79fb\u30a4\u30d9\u30f3\u30c8 (Send top 1 for analytics consistency if needed, or update similarly)\r\n            \/\/ dataLayer.push({'event': 'fx_diag_view_result', 'recommended_company': topCompanies[0]});\r\n\r\n            \/\/ Serialize answers\r\n            const answersStr = QUESTIONS\r\n                .map(q => q.id)\r\n                .filter(qId => answers[qId])\r\n                .map(qId => qId + answers[qId])\r\n                .join('-');\r\n\r\n            try {\r\n                sessionStorage.setItem(ANSWERS_STORAGE_KEY, answersStr);\r\n            } catch (e) {\r\n                \/\/ Storage is best-effort only.\r\n            }\r\n\r\n            \/\/ Navigate to result page with query parameter\r\n            const resultUrl = `\/hikaku\/fx-diagnosis-result\/?answers=${encodeURIComponent(answersStr)}`;\r\n            window.location.href = resultUrl;\r\n        }\r\n\r\n\r\n        \/\/ --- Initialize ---\r\n        init();\r\n\r\n    })();\r\n<\/script>\r\n\r\n<!-- ===== FX\u8a3a\u65ad\u30c4\u30fc\u30eb \u3053\u3053\u307e\u3067 ===== -->\r\n","protected":false},"excerpt":{"rendered":"3\u5206\u3067\u308f\u304b\u308b\uff01\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306eFX\u53e3\u5ea7\u8a3a\u65ad \u8a3a\u65ad\u5b8c\u4e86\uff01 \u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306eFX\u4f1a\u793e\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f \u8a3a\u65ad\u7d50\u679c\u3092\u898b\u308b","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-19552","post","type-post","status-publish","format-standard","hentry","category-fx"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>FX\u53e3\u5ea7\u8a3a\u65ad\uff5c\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306aFX\u4f1a\u793e\u306f\uff1f - \u682a\u63a2<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kabutan.jp\/hikaku\/fx-diagnosis\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FX\u53e3\u5ea7\u8a3a\u65ad\uff5c\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306aFX\u4f1a\u793e\u306f\uff1f - \u682a\u63a2\" \/>\n<meta property=\"og:description\" content=\"3\u5206\u3067\u308f\u304b\u308b\uff01\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306eFX\u53e3\u5ea7\u8a3a\u65ad \u8a3a\u65ad\u5b8c\u4e86\uff01 \u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306eFX\u4f1a\u793e\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f \u8a3a\u65ad\u7d50\u679c\u3092\u898b\u308b\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kabutan.jp\/hikaku\/fx-diagnosis\/\" \/>\n<meta property=\"og:site_name\" content=\"\u682a\u63a2\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-01T02:23:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-15T01:23:02+00:00\" \/>\n<meta name=\"author\" content=\"\u682a\u63a2\u5e83\u544a\u7de8\u96c6\u5c40\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u682a\u63a2\u5e83\u544a\u7de8\u96c6\u5c40\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"21\u5206\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"FX\u53e3\u5ea7\u8a3a\u65ad\uff5c\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306aFX\u4f1a\u793e\u306f\uff1f - \u682a\u63a2","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kabutan.jp\/hikaku\/fx-diagnosis\/","og_locale":"ja_JP","og_type":"article","og_title":"FX\u53e3\u5ea7\u8a3a\u65ad\uff5c\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306aFX\u4f1a\u793e\u306f\uff1f - \u682a\u63a2","og_description":"3\u5206\u3067\u308f\u304b\u308b\uff01\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306eFX\u53e3\u5ea7\u8a3a\u65ad \u8a3a\u65ad\u5b8c\u4e86\uff01 \u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306eFX\u4f1a\u793e\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f \u8a3a\u65ad\u7d50\u679c\u3092\u898b\u308b","og_url":"https:\/\/kabutan.jp\/hikaku\/fx-diagnosis\/","og_site_name":"\u682a\u63a2","article_published_time":"2025-12-01T02:23:05+00:00","article_modified_time":"2026-04-15T01:23:02+00:00","author":"\u682a\u63a2\u5e83\u544a\u7de8\u96c6\u5c40","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"\u682a\u63a2\u5e83\u544a\u7de8\u96c6\u5c40","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"21\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kabutan.jp\/hikaku\/fx-diagnosis\/#article","isPartOf":{"@id":"https:\/\/kabutan.jp\/hikaku\/fx-diagnosis\/"},"author":{"name":"\u682a\u63a2\u5e83\u544a\u7de8\u96c6\u5c40","@id":"https:\/\/kabutan.jp\/hikaku\/#\/schema\/person\/104f19fec1a47879538c61520ee55f14"},"headline":"FX\u53e3\u5ea7\u8a3a\u65ad\uff5c\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306aFX\u4f1a\u793e\u306f\uff1f","datePublished":"2025-12-01T02:23:05+00:00","dateModified":"2026-04-15T01:23:02+00:00","mainEntityOfPage":{"@id":"https:\/\/kabutan.jp\/hikaku\/fx-diagnosis\/"},"wordCount":4,"articleSection":["FX"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/kabutan.jp\/hikaku\/fx-diagnosis\/","url":"https:\/\/kabutan.jp\/hikaku\/fx-diagnosis\/","name":"FX\u53e3\u5ea7\u8a3a\u65ad\uff5c\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306aFX\u4f1a\u793e\u306f\uff1f - \u682a\u63a2","isPartOf":{"@id":"https:\/\/kabutan.jp\/hikaku\/#website"},"datePublished":"2025-12-01T02:23:05+00:00","dateModified":"2026-04-15T01:23:02+00:00","author":{"@id":"https:\/\/kabutan.jp\/hikaku\/#\/schema\/person\/104f19fec1a47879538c61520ee55f14"},"breadcrumb":{"@id":"https:\/\/kabutan.jp\/hikaku\/fx-diagnosis\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kabutan.jp\/hikaku\/fx-diagnosis\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kabutan.jp\/hikaku\/fx-diagnosis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kabutan.jp\/hikaku\/"},{"@type":"ListItem","position":2,"name":"FX\u53e3\u5ea7\u8a3a\u65ad\uff5c\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306aFX\u4f1a\u793e\u306f\uff1f"}]},{"@type":"WebSite","@id":"https:\/\/kabutan.jp\/hikaku\/#website","url":"https:\/\/kabutan.jp\/hikaku\/","name":"\u682a\u63a2","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kabutan.jp\/hikaku\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/kabutan.jp\/hikaku\/#\/schema\/person\/104f19fec1a47879538c61520ee55f14","name":"\u682a\u63a2\u5e83\u544a\u7de8\u96c6\u5c40","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/secure.gravatar.com\/avatar\/f86526d8a0a07572a1169b7f885a2f24b6a88241b0cb789917a24e05f1a4e844?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f86526d8a0a07572a1169b7f885a2f24b6a88241b0cb789917a24e05f1a4e844?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f86526d8a0a07572a1169b7f885a2f24b6a88241b0cb789917a24e05f1a4e844?s=96&d=mm&r=g","caption":"\u682a\u63a2\u5e83\u544a\u7de8\u96c6\u5c40"}}]}},"_links":{"self":[{"href":"https:\/\/kabutan.jp\/hikaku\/wp-json\/wp\/v2\/posts\/19552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kabutan.jp\/hikaku\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kabutan.jp\/hikaku\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kabutan.jp\/hikaku\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/kabutan.jp\/hikaku\/wp-json\/wp\/v2\/comments?post=19552"}],"version-history":[{"count":7,"href":"https:\/\/kabutan.jp\/hikaku\/wp-json\/wp\/v2\/posts\/19552\/revisions"}],"predecessor-version":[{"id":21813,"href":"https:\/\/kabutan.jp\/hikaku\/wp-json\/wp\/v2\/posts\/19552\/revisions\/21813"}],"wp:attachment":[{"href":"https:\/\/kabutan.jp\/hikaku\/wp-json\/wp\/v2\/media?parent=19552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kabutan.jp\/hikaku\/wp-json\/wp\/v2\/categories?post=19552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kabutan.jp\/hikaku\/wp-json\/wp\/v2\/tags?post=19552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}