{"id":10871,"date":"2026-02-26T08:49:27","date_gmt":"2026-02-25T23:49:27","guid":{"rendered":"https:\/\/luna-dr.com\/subjects\/media\/?page_id=10871"},"modified":"2026-04-09T13:02:07","modified_gmt":"2026-04-09T04:02:07","slug":"period-rescheduling-simulator","status":"publish","type":"page","link":"https:\/\/luna-dr.com\/subjects\/media\/period-rescheduling-simulator\/","title":{"rendered":"\u6708\u7d4c\u79fb\u52d5\u81ea\u52d5\u8a08\u7b97\u30c4\u30fc\u30eb"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<style>\n        :root {\n            --primary: #6366f1;\n            --primary-dark: #4f46e5;\n            --accent: #ec4899;\n            --text: #1e293b;\n            --text-secondary: #64748b;\n            --text-light: #94a3b8;\n            --bg: #f8fafc;\n            --card: #ffffff;\n            --border: #e2e8f0;\n            --success: #10b981;\n            --success-bg: #ecfdf5;\n            --warning: #f59e0b;\n            --warning-bg: #fffbeb;\n            --error: #ef4444;\n            --error-bg: #fef2f2;\n        }\n\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n        body {\n            font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Noto Sans JP', sans-serif;\n            background: var(--bg);\n            color: var(--text);\n            line-height: 1.7;\n            min-height: 100dvh;\n            -webkit-font-smoothing: antialiased;\n        }\n\n        .app {\n            max-width: 440px;\n            margin: 0 auto;\n            min-height: 100dvh;\n            background: var(--card);\n            position: relative;\n        }\n\n        \/* Header *\/\n        .header {\n            padding: 16px 20px;\n            display: flex;\n            align-items: center;\n            gap: 12px;\n            position: sticky;\n            top: 0;\n            background: var(--card);\n            z-index: 10;\n            border-bottom: 1px solid var(--border);\n        }\n\n        .header-back {\n            width: 40px;\n            height: 40px;\n            border: none;\n            background: var(--bg);\n            border-radius: 12px;\n            cursor: pointer;\n            display: none;\n            align-items: center;\n            justify-content: center;\n            transition: background 0.2s;\n        }\n\n        .header-back:hover {\n            background: var(--border);\n        }\n\n        .header-back.show {\n            display: flex;\n        }\n\n        .header-back svg {\n            width: 20px;\n            height: 20px;\n            color: var(--text-secondary);\n        }\n\n        .header-logo {\n            font-size: 0.85rem;\n            font-weight: 600;\n            color: var(--primary);\n        }\n\n        .header-progress {\n            flex: 1;\n            display: none;\n            align-items: center;\n            gap: 8px;\n        }\n\n        .header-progress.show {\n            display: flex;\n        }\n\n        .header-progress-bar {\n            flex: 1;\n            height: 4px;\n            background: var(--border);\n            border-radius: 2px;\n            overflow: hidden;\n        }\n\n        .header-progress-fill {\n            height: 100%;\n            background: linear-gradient(90deg, var(--primary), var(--accent));\n            transition: width 0.4s ease;\n        }\n\n        .header-progress-text {\n            font-size: 0.8rem;\n            color: var(--text-light);\n            min-width: 32px;\n        }\n\n        \/* Step *\/\n        .step {\n            display: none;\n            flex-direction: column;\n            min-height: calc(100dvh - 72px);\n            animation: fadeIn 0.3s ease;\n        }\n\n        .step.active {\n            display: flex;\n        }\n\n        @keyframes fadeIn {\n            from { opacity: 0; transform: translateY(8px); }\n            to { opacity: 1; transform: translateY(0); }\n        }\n\n        .step-body {\n            flex: 1;\n            padding: 24px;\n        }\n\n        .step-footer {\n            padding: 20px 24px;\n            padding-bottom: max(24px, env(safe-area-inset-bottom));\n            background: var(--card);\n        }\n\n        \/* Intro *\/\n        .intro-hero {\n            text-align: center;\n            padding: 32px 0 24px;\n        }\n\n        .intro-icon {\n            width: 80px;\n            height: 80px;\n            margin: 0 auto 24px;\n            background: linear-gradient(135deg, #eef2ff, #fdf2f8);\n            border-radius: 24px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n\n        .intro-icon svg {\n            width: 40px;\n            height: 40px;\n            color: var(--primary);\n        }\n\n        .intro-title {\n            font-size: 1.4rem;\n            font-weight: 700;\n            line-height: 1.5;\n            margin-bottom: 12px;\n        }\n\n        .intro-subtitle {\n            font-size: 0.95rem;\n            color: var(--text-secondary);\n            margin-bottom: 24px;\n        }\n\n        .intro-about {\n            background: var(--bg);\n            border-radius: 16px;\n            padding: 20px;\n            margin-bottom: 16px;\n            text-align: left;\n        }\n\n        .intro-about-title {\n            font-size: 0.9rem;\n            font-weight: 600;\n            margin-bottom: 8px;\n            color: var(--text);\n        }\n\n        .intro-about-text {\n            font-size: 0.85rem;\n            color: var(--text-secondary);\n            line-height: 1.7;\n        }\n\n        .intro-features {\n            text-align: left;\n            background: var(--bg);\n            border-radius: 16px;\n            padding: 20px;\n            margin-bottom: 16px;\n        }\n\n        .intro-feature {\n            display: flex;\n            align-items: center;\n            gap: 12px;\n            padding: 8px 0;\n        }\n\n        .intro-feature-icon {\n            width: 22px;\n            height: 22px;\n            background: var(--success);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            flex-shrink: 0;\n        }\n\n        .intro-feature-icon svg {\n            width: 12px;\n            height: 12px;\n            color: white;\n        }\n\n        .intro-feature-text {\n            font-size: 0.9rem;\n            color: var(--text);\n        }\n\n        .intro-disclaimer {\n            font-size: 0.8rem;\n            color: var(--text-light);\n            text-align: center;\n            line-height: 1.6;\n        }\n\n        \/* Form *\/\n        .question-label {\n            font-size: 0.8rem;\n            font-weight: 600;\n            color: var(--primary);\n            margin-bottom: 8px;\n        }\n\n        .question-title {\n            font-size: 1.3rem;\n            font-weight: 700;\n            line-height: 1.4;\n            margin-bottom: 8px;\n        }\n\n        .question-desc {\n            font-size: 0.9rem;\n            color: var(--text-secondary);\n            margin-bottom: 24px;\n        }\n\n        .form-group {\n            margin-bottom: 20px;\n        }\n\n        .form-label {\n            display: block;\n            font-size: 0.85rem;\n            font-weight: 500;\n            color: var(--text-secondary);\n            margin-bottom: 8px;\n        }\n\n        .form-input {\n            width: 100%;\n            padding: 16px;\n            border: 2px solid var(--border);\n            border-radius: 12px;\n            font-size: 1rem;\n            font-family: inherit;\n            background: var(--card);\n            transition: all 0.2s;\n            -webkit-appearance: none;\n            min-height: 2.5rem;\n        }\n\n        .form-input:focus {\n            outline: none;\n            border-color: var(--primary);\n            box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1);\n        }\n\n        .form-input.error {\n            border-color: var(--error);\n        }\n\n        .form-error {\n            color: var(--error);\n            font-size: 0.85rem;\n            margin-top: 8px;\n            display: none;\n        }\n\n        .form-error.show {\n            display: block;\n        }\n\n        .form-divider {\n            display: flex;\n            align-items: center;\n            gap: 16px;\n            margin: 24px 0;\n            color: var(--text-light);\n            font-size: 0.85rem;\n        }\n\n        .form-divider::before,\n        .form-divider::after {\n            content: '';\n            flex: 1;\n            height: 1px;\n            background: var(--border);\n        }\n\n        .form-alt-btn {\n            width: 100%;\n            padding: 16px;\n            border: 2px solid var(--border);\n            border-radius: 12px;\n            background: var(--card);\n            font-size: 0.95rem;\n            color: var(--text-secondary);\n            cursor: pointer;\n            transition: all 0.2s;\n        }\n\n        .form-alt-btn:hover {\n            border-color: var(--text-secondary);\n            background: var(--bg);\n        }\n\n        .form-hint {\n            background: #eff6ff;\n            border-radius: 12px;\n            padding: 14px 16px;\n            margin-top: 20px;\n            font-size: 0.85rem;\n            color: #1e40af;\n            display: flex;\n            gap: 10px;\n            align-items: flex-start;\n        }\n\n        .form-hint svg {\n            width: 18px;\n            height: 18px;\n            flex-shrink: 0;\n            margin-top: 1px;\n        }\n\n        \/* Buttons *\/\n        .btn {\n            width: 100%;\n            padding: 18px 24px;\n            border: none;\n            border-radius: 14px;\n            font-size: 1rem;\n            font-weight: 600;\n            cursor: pointer;\n            transition: all 0.2s;\n        }\n\n        .btn-primary {\n            background: var(--primary);\n            color: white;\n        }\n\n        .btn-primary:hover {\n            background: var(--primary-dark);\n        }\n\n        .btn-primary:disabled {\n            background: var(--border);\n            color: var(--text-light);\n            cursor: not-allowed;\n        }\n\n        .btn-gradient {\n            background: linear-gradient(135deg, var(--primary), var(--accent));\n            color: white;\n        }\n\n        \/* Result *\/\n        .result-success {\n            text-align: center;\n            padding: 24px 0 20px;\n        }\n\n        .result-success-icon {\n            width: 64px;\n            height: 64px;\n            margin: 0 auto 20px;\n            background: var(--success-bg);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n\n        .result-success-icon svg {\n            width: 32px;\n            height: 32px;\n            color: var(--success);\n        }\n\n        .result-success-title {\n            font-size: 1.3rem;\n            font-weight: 700;\n            margin-bottom: 8px;\n        }\n\n        .result-success-text {\n            font-size: 0.95rem;\n            color: var(--text-secondary);\n        }\n\n        .result-card {\n            background: linear-gradient(135deg, #f0f9ff, #fdf4ff);\n            border-radius: 20px;\n            padding: 24px;\n            margin: 24px 0;\n        }\n\n        .result-card-label {\n            font-size: 0.75rem;\n            font-weight: 600;\n            color: var(--primary);\n            text-transform: uppercase;\n            letter-spacing: 0.05em;\n            margin-bottom: 16px;\n        }\n\n        .result-schedule {\n            display: flex;\n            align-items: center;\n            gap: 12px;\n            padding: 14px 0;\n            border-bottom: 1px solid rgba(0,0,0,0.06);\n        }\n\n        .result-schedule:last-child {\n            border-bottom: none;\n            padding-bottom: 0;\n        }\n\n        .result-schedule-icon {\n            width: 40px;\n            height: 40px;\n            background: var(--card);\n            border-radius: 10px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            flex-shrink: 0;\n        }\n\n        .result-schedule-icon svg {\n            width: 20px;\n            height: 20px;\n            color: var(--primary);\n        }\n\n        .result-schedule-content {\n            flex: 1;\n        }\n\n        .result-schedule-label {\n            font-size: 0.8rem;\n            color: var(--text-secondary);\n        }\n\n        .result-schedule-value {\n            font-size: 1.05rem;\n            font-weight: 600;\n        }\n\n        .result-note {\n            background: var(--bg);\n            border-radius: 12px;\n            padding: 16px;\n            font-size: 0.9rem;\n            color: var(--text-secondary);\n            display: flex;\n            gap: 12px;\n            align-items: flex-start;\n        }\n\n        .result-note svg {\n            width: 20px;\n            height: 20px;\n            color: var(--text-light);\n            flex-shrink: 0;\n            margin-top: 2px;\n        }\n\n        .result-disclaimer {\n            margin-top: 20px;\n            padding: 16px;\n            background: #fffbeb;\n            border: 1px solid #fcd34d;\n            border-radius: 12px;\n            font-size: 0.85rem;\n            color: #92400e;\n        }\n\n        .result-disclaimer-title {\n            font-weight: 600;\n            margin-bottom: 4px;\n        }\n\n        \/* Alert *\/\n        .alert {\n            padding: 16px;\n            border-radius: 12px;\n            margin-bottom: 20px;\n            font-size: 0.9rem;\n            display: flex;\n            gap: 12px;\n            align-items: flex-start;\n        }\n\n        .alert-warning {\n            background: var(--warning-bg);\n            border: 1px solid #fcd34d;\n            color: #92400e;\n        }\n\n        .alert-error {\n            background: var(--error-bg);\n            border: 1px solid #fca5a5;\n            color: #991b1b;\n        }\n\n        .alert svg {\n            flex-shrink: 0;\n            width: 20px;\n            height: 20px;\n        }\n\n        \/* Choice *\/\n        .choice-section {\n            margin-top: 24px;\n        }\n\n        .choice-cards {\n            display: flex;\n            flex-direction: column;\n            gap: 12px;\n        }\n\n        .choice-card {\n            border: 2px solid var(--border);\n            border-radius: 16px;\n            padding: 20px;\n            cursor: pointer;\n            transition: all 0.2s;\n            position: relative;\n        }\n\n        .choice-card:hover {\n            border-color: var(--primary);\n        }\n\n        .choice-card.choice-card--recommended {\n            border-color: var(--primary);\n            background: linear-gradient(135deg, #faf5ff, #fdf4ff);\n        }\n\n        .choice-card-badge {\n            position: absolute;\n            top: -10px;\n            left: 16px;\n            background: var(--primary);\n            color: white;\n            font-size: 0.7rem;\n            font-weight: 600;\n            padding: 4px 10px;\n            border-radius: 20px;\n        }\n\n        .choice-card-title {\n            font-size: 1rem;\n            font-weight: 600;\n            margin-bottom: 8px;\n        }\n\n        .choice-card-desc {\n            font-size: 0.85rem;\n            color: var(--text-secondary);\n            margin-bottom: 12px;\n        }\n\n        .choice-card-pros {\n            display: flex;\n            flex-direction: column;\n            gap: 6px;\n        }\n\n        .choice-card-pro {\n            display: flex;\n            align-items: center;\n            gap: 8px;\n            font-size: 0.85rem;\n        }\n\n        .choice-card-pro svg {\n            width: 16px;\n            height: 16px;\n        }\n\n        .choice-card-pro.positive svg {\n            color: var(--success);\n        }\n\n        .choice-card-pro.neutral svg {\n            color: var(--warning);\n        }\n\n        .disclaimer-link {\n            text-align: center;\n            margin-top: 16px;\n        }\n\n        .disclaimer-link a {\n            font-size: 0.85rem;\n            color: var(--text-secondary);\n            text-decoration: underline;\n        }\n\n        \/* Modal *\/\n        .modal {\n            display: none;\n            position: fixed;\n            inset: 0;\n            background: rgba(0,0,0,0.4);\n            z-index: 100;\n            align-items: flex-end;\n            justify-content: center;\n        }\n\n        .modal.show {\n            display: flex;\n        }\n\n        .modal-content {\n            background: var(--card);\n            width: 100%;\n            max-width: 440px;\n            max-height: 85vh;\n            border-radius: 24px 24px 0 0;\n            padding: 32px 24px;\n            padding-bottom: max(32px, env(safe-area-inset-bottom));\n            overflow-y: auto;\n            animation: slideUp 0.3s ease;\n        }\n\n        @keyframes slideUp {\n            from { transform: translateY(100%); }\n            to { transform: translateY(0); }\n        }\n\n        .modal-title {\n            font-size: 1.1rem;\n            font-weight: 700;\n            margin-bottom: 20px;\n        }\n\n        .modal-list {\n            list-style: none;\n        }\n\n        .modal-list li {\n            padding: 12px 0;\n            font-size: 0.9rem;\n            color: var(--text);\n            border-bottom: 1px solid var(--border);\n            padding-left: 20px;\n            position: relative;\n        }\n\n        .modal-list li::before {\n            content: '';\n            position: absolute;\n            left: 0;\n            top: 50%;\n            transform: translateY(-50%);\n            width: 6px;\n            height: 6px;\n            background: var(--error);\n            border-radius: 50%;\n        }\n\n        .modal-close {\n            width: 100%;\n            padding: 16px;\n            margin-top: 24px;\n            background: var(--bg);\n            border: none;\n            border-radius: 12px;\n            font-size: 1rem;\n            font-weight: 500;\n            cursor: pointer;\n        }\n    <\/style>\n\n    <div class=\"app\">\n        <!-- Header -->\n        <header class=\"header\">\n            <button class=\"header-back\" id=\"headerBack\" onclick=\"goBack()\">\n                <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 19l-7-7 7-7\" \/>\n                <\/svg>\n            <\/button>\n            <span class=\"header-logo\" id=\"headerLogo\">\u30eb\u30ca\u30ec\u30c7\u30a3\u30fc\u30b9\u30af\u30ea\u30cb\u30c3\u30af<\/span>\n            <div class=\"header-progress\" id=\"headerProgress\">\n                <div class=\"header-progress-bar\">\n                    <div class=\"header-progress-fill\" id=\"progressFill\" style=\"width: 0%\"><\/div>\n                <\/div>\n                <span class=\"header-progress-text\" id=\"progressText\">1\/3<\/span>\n            <\/div>\n        <\/header>\n\n        <!-- Intro -->\n        <div class=\"step active\" id=\"stepIntro\">\n            <div class=\"step-body\">\n                <div class=\"intro-hero\">\n                    <div class=\"intro-icon\">\n                        <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" \/>\n                        <\/svg>\n                    <\/div>\n                    <h1 class=\"intro-title\" id=\"i-0\">\u5927\u5207\u306a\u4e88\u5b9a\u306b<br>\u751f\u7406\u304c\u91cd\u306a\u308a\u305d\u3046\uff1f<\/h1>\n                    <p class=\"intro-subtitle\">\u304a\u85ac\u3067\u305a\u3089\u305b\u308b\u65e5\u7a0b\u3092<br>\u304b\u3093\u305f\u3093\u306b\u30c1\u30a7\u30c3\u30af\u3067\u304d\u307e\u3059<\/p>\n                <\/div>\n\n                <div class=\"intro-about\">\n                    <div class=\"intro-about-title\">\u751f\u7406\u79fb\u52d5\u30d4\u30eb\u3068\u306f\uff1f<\/div>\n                    <p class=\"intro-about-text\">\n                        \u30db\u30eb\u30e2\u30f3\u5264\uff08\u30d7\u30e9\u30ce\u30d0\u30fc\u30eb\u7b49\uff09\u3092\u670d\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u751f\u7406\u306e\u6642\u671f\u3092\u6570\u65e5\u301c2\u9031\u9593\u7a0b\u5ea6\u305a\u3089\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u65c5\u884c\u30fb\u7d50\u5a5a\u5f0f\u30fb\u8a66\u9a13\u306a\u3069\u306e\u5927\u5207\u306a\u4e88\u5b9a\u306b\u5408\u308f\u305b\u3066\u8abf\u6574\u3067\u304d\u307e\u3059\u3002\n                    <\/p>\n                <\/div>\n\n                <div class=\"intro-features\">\n                    <div class=\"intro-feature\">\n                        <div class=\"intro-feature-icon\">\n                            <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\" \/>\n                            <\/svg>\n                        <\/div>\n                        <span class=\"intro-feature-text\">3\u3064\u306e\u8cea\u554f\u306b\u7b54\u3048\u308b\u3060\u3051<\/span>\n                    <\/div>\n                    <div class=\"intro-feature\">\n                        <div class=\"intro-feature-icon\">\n                            <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\" \/>\n                            <\/svg>\n                        <\/div>\n                        <span class=\"intro-feature-text\">\u670d\u7528\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u304c\u3059\u3050\u308f\u304b\u308b<\/span>\n                    <\/div>\n                    <div class=\"intro-feature\">\n                        <div class=\"intro-feature-icon\">\n                            <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\" \/>\n                            <\/svg>\n                        <\/div>\n                        <span class=\"intro-feature-text\">\u305d\u306e\u307e\u307e\u8a3a\u5bdf\u4e88\u7d04\u3082OK<\/span>\n                    <\/div>\n                <\/div>\n\n                <p class=\"intro-disclaimer\">\n                    \u203b\u3053\u308c\u306f\u76ee\u5b89\u3092\u8a08\u7b97\u3059\u308b\u7c21\u6613\u30c4\u30fc\u30eb\u3067\u3059<br>\n                    \u5b9f\u969b\u306e\u670d\u7528\u306f\u533b\u5e2b\u306e\u8a3a\u5bdf\u30fb\u51e6\u65b9\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\n                <\/p>\n            <\/div>\n            <div class=\"step-footer\">\n                <button class=\"btn btn-gradient\" onclick=\"startSimulation()\">\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3092\u8a08\u7b97\u3059\u308b<\/button>\n            <\/div>\n        <\/div>\n\n        <!-- Q1: Avoid Period -->\n        <div class=\"step\" id=\"step1\">\n            <div class=\"step-body\">\n                <div class=\"question-label\">\u8cea\u554f 1\/3<\/div>\n                <div class=\"toc\"><\/div><h2 class=\"question-title\" id=\"i-1\">\u751f\u7406\u3092\u907f\u3051\u305f\u3044\u65e5\u7a0b\u306f\uff1f<\/h2>\n                <p class=\"question-desc\">\u65c5\u884c\u30fb\u30a4\u30d9\u30f3\u30c8\u306a\u3069\u306e\u671f\u9593\u3092\u6559\u3048\u3066\u304f\u3060\u3055\u3044<\/p>\n\n                <div class=\"form-group\">\n                    <label class=\"form-label\">\u958b\u59cb\u65e5<\/label>\n                    <input type=\"date\" class=\"form-input\" id=\"avoidStartDate\">\n                <\/div>\n                <div class=\"form-group\">\n                    <label class=\"form-label\">\u7d42\u4e86\u65e5<\/label>\n                    <input type=\"date\" class=\"form-input\" id=\"avoidEndDate\">\n                    <p class=\"form-error\" id=\"dateError\"><\/p>\n                <\/div>\n            <\/div>\n            <div class=\"step-footer\">\n                <button class=\"btn btn-primary\" id=\"step1Next\" disabled onclick=\"goToStep(2)\">\u6b21\u3078<\/button>\n            <\/div>\n        <\/div>\n\n        <!-- Q2: Last Period -->\n        <div class=\"step\" id=\"step2\">\n            <div class=\"step-body\">\n                <div class=\"question-label\">\u8cea\u554f 2\/3<\/div>\n                <h2 class=\"question-title\" id=\"i-2\">\u6700\u5f8c\u306e\u751f\u7406\u306f\u3044\u3064\u59cb\u307e\u308a\u307e\u3057\u305f\u304b\uff1f<\/h2>\n                <p class=\"question-desc\">\u751f\u7406\u521d\u65e5\u306e\u65e5\u4ed8\u3092\u6559\u3048\u3066\u304f\u3060\u3055\u3044<\/p>\n\n                <div class=\"form-group\">\n                    <label class=\"form-label\">\u751f\u7406\u304c\u59cb\u307e\u3063\u305f\u65e5<\/label>\n                    <input type=\"date\" class=\"form-input\" id=\"lastPeriodDate\">\n                <\/div>\n\n                <div class=\"form-hint\">\n                    <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" \/>\n                    <\/svg>\n                    <span>\u751f\u7406\u958b\u59cb\u304b\u30895\u65e5\u4ee5\u5185\u306e\u65b9\u306f\u300c\u751f\u7406\u3092\u65e9\u3081\u308b\u300d\u65b9\u6cd5\u3082\u9078\u3079\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059<\/span>\n                <\/div>\n\n                <div class=\"form-divider\">\u307e\u305f\u306f<\/div>\n\n                <button class=\"form-alt-btn\" onclick=\"skipLastPeriod()\">\u308f\u304b\u3089\u306a\u3044\u30fb1\u9031\u9593\u4ee5\u4e0a\u524d<\/button>\n            <\/div>\n            <div class=\"step-footer\">\n                <button class=\"btn btn-primary\" id=\"step2Next\" disabled onclick=\"goToStep(3)\">\u6b21\u3078<\/button>\n            <\/div>\n        <\/div>\n\n        <!-- Q3: Next Period -->\n        <div class=\"step\" id=\"step3\">\n            <div class=\"step-body\">\n                <div class=\"question-label\">\u8cea\u554f 3\/3<\/div>\n                <h2 class=\"question-title\" id=\"i-3\">\u6b21\u306e\u751f\u7406\u306f\u3044\u3064\u9803\u306e\u4e88\u5b9a\u3067\u3059\u304b\uff1f<\/h2>\n                <p class=\"question-desc\">\u30a2\u30d7\u30ea\u306e\u4e88\u6e2c\u65e5\u3084\u3001\u3044\u3064\u3082\u6765\u308b\u9803\u306e\u65e5\u4ed8\u3067OK\u3067\u3059<\/p>\n\n                <div class=\"form-group\">\n                    <label class=\"form-label\">\u6b21\u306e\u751f\u7406\u4e88\u5b9a\u65e5<\/label>\n                    <input type=\"date\" class=\"form-input\" id=\"nextPeriodDate\">\n                <\/div>\n\n                <div class=\"form-divider\">\u307e\u305f\u306f<\/div>\n\n                <button class=\"form-alt-btn\" onclick=\"skipNextPeriod()\">\u5468\u671f\u304c\u4e0d\u898f\u5247\u3067\u308f\u304b\u3089\u306a\u3044<\/button>\n            <\/div>\n            <div class=\"step-footer\">\n                <button class=\"btn btn-primary\" id=\"step3Next\" disabled onclick=\"calculateResult()\">\u7d50\u679c\u3092\u898b\u308b<\/button>\n            <\/div>\n        <\/div>\n\n        <!-- Result: Single Option -->\n        <div class=\"step\" id=\"stepResult\">\n            <div class=\"step-body\">\n                <div id=\"alertContainer\"><\/div>\n\n                <div class=\"result-success\">\n                    <div class=\"result-success-icon\">\n                        <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\" \/>\n                        <\/svg>\n                    <\/div>\n                    <h2 class=\"result-success-title\" id=\"resultTitle\">\u751f\u7406\u3092\u305a\u3089\u305b\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059<\/h2>\n                    <p class=\"result-success-text\" id=\"resultSubtitle\">\u76ee\u5b89\u306e\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306f\u3053\u3061\u3089\u3067\u3059<\/p>\n                <\/div>\n\n                <div class=\"result-card\">\n                    <div class=\"result-card-label\" id=\"resultMethod\">\u751f\u7406\u79fb\u52d5\u30d4\u30eb\u306e\u670d\u7528\u76ee\u5b89<\/div>\n\n                    <div class=\"result-schedule\">\n                        <div class=\"result-schedule-icon\">\n                            <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\" \/>\n                            <\/svg>\n                        <\/div>\n                        <div class=\"result-schedule-content\">\n                            <div class=\"result-schedule-label\">\u670d\u7528\u958b\u59cb\u306e\u76ee\u5b89<\/div>\n                            <div class=\"result-schedule-value\" id=\"resultStart\">\u2013<\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"result-schedule\">\n                        <div class=\"result-schedule-icon\">\n                            <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" \/>\n                            <\/svg>\n                        <\/div>\n                        <div class=\"result-schedule-content\">\n                            <div class=\"result-schedule-label\">\u670d\u7528\u7d42\u4e86\u306e\u76ee\u5b89<\/div>\n                            <div class=\"result-schedule-value\" id=\"resultEnd\">\u2013<\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"result-schedule\">\n                        <div class=\"result-schedule-icon\">\n                            <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 20l4-16m2 16l4-16M6 9h14M4 15h14\" \/>\n                            <\/svg>\n                        <\/div>\n                        <div class=\"result-schedule-content\">\n                            <div class=\"result-schedule-label\">\u670d\u7528\u65e5\u6570\u306e\u76ee\u5b89<\/div>\n                            <div class=\"result-schedule-value\" id=\"resultDuration\">\u2013<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <div class=\"result-note\" id=\"resultNote\">\n                    <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" \/>\n                    <\/svg>\n                    <span>\u670d\u7528\u3092\u3084\u3081\u308b\u30682\u301c3\u65e5\u5f8c\u306b\u751f\u7406\u304c\u59cb\u307e\u308a\u307e\u3059<\/span>\n                <\/div>\n\n                <div class=\"result-disclaimer\">\n                    <div class=\"result-disclaimer-title\">\u3054\u6ce8\u610f<\/div>\n                    <span>\u3053\u306e\u7d50\u679c\u306f\u76ee\u5b89\u3067\u3059\u3002\u5b9f\u969b\u306e\u670d\u7528\u65e5\u7a0b\u306f\u3001\u8a3a\u5bdf\u6642\u306b\u533b\u5e2b\u304c\u6c7a\u5b9a\u3057\u307e\u3059\u3002\u4f53\u8abf\u3084\u751f\u7406\u5468\u671f\u306b\u3088\u3063\u3066\u5909\u308f\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<br>\u4f4e\u7528\u91cf\u30d4\u30eb\u670d\u7528\u4e2d\u306e\u65b9\u3084\u30011\u30f6\u6708\u4ee5\u4e0a\u5148\u306e\u4e88\u5b9a\u30fb3\u9031\u9593\u3092\u8d85\u3048\u308b\u670d\u7528\u671f\u9593\u3068\u306a\u308b\u5834\u5408\u306f\u3001\u6b63\u3057\u304f\u5224\u5b9a\u3067\u304d\u306a\u3044\u305f\u3081\u5fc5\u305a\u533b\u5e2b\u306b\u3054\u76f8\u8ac7\u304f\u3060\u3055\u3044\u3002<\/span>\n                <\/div>\n\n                <div id=\"altOptionContainer\"><\/div>\n            <\/div>\n            <div class=\"step-footer\">\n                <button class=\"btn btn-gradient\" onclick=\"handleReservation()\">\u5f53\u9662\u3067\u8a3a\u5bdf\u3092\u4e88\u7d04\u3059\u308b<\/button>\n                <div class=\"disclaimer-link\">\n                    <a href=\"#\" onclick=\"showDisclaimer(); return false;\">\u51e6\u65b9\u3067\u304d\u306a\u3044\u5834\u5408\u306b\u3064\u3044\u3066<\/a>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Result: Both Options -->\n        <div class=\"step\" id=\"stepChoice\">\n            <div class=\"step-body\">\n                <div class=\"result-success\">\n                    <div class=\"result-success-icon\">\n                        <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\" \/>\n                        <\/svg>\n                    <\/div>\n                    <h2 class=\"result-success-title\" id=\"i-5\">2\u3064\u306e\u65b9\u6cd5\u304b\u3089\u9078\u3079\u307e\u3059<\/h2>\n                    <p class=\"result-success-text\">\u3054\u5e0c\u671b\u306b\u8fd1\u3044\u65b9\u3092\u304a\u9078\u3073\u304f\u3060\u3055\u3044<\/p>\n                <\/div>\n\n                <div class=\"choice-section\">\n                    <div class=\"choice-cards\">\n                        <div class=\"choice-card choice-card--recommended\" onclick=\"selectAdvance()\">\n                            <div class=\"choice-card-badge\">\u304a\u3059\u3059\u3081<\/div>\n                            <div class=\"choice-card-title\">\u751f\u7406\u3092\u65e9\u3081\u308b<\/div>\n                            <div class=\"choice-card-desc\" id=\"choiceAdvanceDesc\">\u4eca\u304b\u3089\u7d042\u9031\u9593\u304a\u85ac\u3092\u98f2\u3093\u3067\u3001\u4e88\u5b9a\u3088\u308a\u524d\u306b\u751f\u7406\u3092\u7d42\u308f\u3089\u305b\u308b\u65b9\u6cd5\u3067\u3059<\/div>\n                            <div class=\"choice-card-pros\">\n                                <div class=\"choice-card-pro positive\">\n                                    <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\" \/><\/svg>\n                                    <span>\u4e88\u5b9a\u4e2d\u306f\u304a\u85ac\u3092\u98f2\u307e\u306a\u304f\u3066OK<\/span>\n                                <\/div>\n                                <div class=\"choice-card-pro positive\">\n                                    <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\" \/><\/svg>\n                                    <span>\u4e88\u5b9a\u4e2d\u306b\u751f\u7406\u306b\u306a\u308b\u5fc3\u914d\u306a\u3057<\/span>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n\n                        <div class=\"choice-card\" onclick=\"selectDelay()\">\n                            <div class=\"choice-card-title\">\u751f\u7406\u3092\u9045\u3089\u305b\u308b<\/div>\n                            <div class=\"choice-card-desc\" id=\"choiceDelayDesc\">\u4e88\u5b9a\u306e\u6570\u65e5\u524d\u304b\u3089\u304a\u85ac\u3092\u98f2\u307f\u59cb\u3081\u3066\u3001\u4e88\u5b9a\u304c\u7d42\u308f\u308b\u307e\u3067\u751f\u7406\u3092\u9045\u3089\u305b\u308b\u65b9\u6cd5\u3067\u3059<\/div>\n                            <div class=\"choice-card-pros\">\n                                <div class=\"choice-card-pro positive\">\n                                    <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\" \/><\/svg>\n                                    <span>\u4eca\u3059\u3050\u98f2\u307f\u59cb\u3081\u306a\u304f\u3066OK<\/span>\n                                <\/div>\n                                <div class=\"choice-card-pro neutral\">\n                                    <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 9v2m0 4h.01\" \/><\/svg>\n                                    <span>\u4e88\u5b9a\u4e2d\u3082\u6bce\u65e5\u304a\u85ac\u3092\u98f2\u3080\u5fc5\u8981\u3042\u308a<\/span>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <div class=\"result-disclaimer\" style=\"margin-top: 24px;\">\n                    <div class=\"result-disclaimer-title\">\u3054\u6ce8\u610f<\/div>\n                    <span>\u3069\u3061\u3089\u306e\u65b9\u6cd5\u304c\u9069\u3057\u3066\u3044\u308b\u304b\u306f\u3001\u8a3a\u5bdf\u6642\u306b\u533b\u5e2b\u304c\u5224\u65ad\u3057\u307e\u3059\u3002<\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- Modal -->\n    <div class=\"modal\" id=\"disclaimerModal\" onclick=\"hideDisclaimer()\">\n        <div class=\"modal-content\" onclick=\"event.stopPropagation()\">\n            <h3 class=\"modal-title\" id=\"i-6\">\u51e6\u65b9\u3067\u304d\u306a\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059<\/h3>\n            <ul class=\"modal-list\">\n                <li>BMI\u304c35\u4ee5\u4e0a\u306e\u65b9<\/li>\n                <li>\u5fc3\u81d3\u306e\u75c5\u6c17\u3084\u8102\u8cea\u7570\u5e38\u75c7\u306e\u6cbb\u7642\u4e2d\u306e\u65b9<\/li>\n                <li>\u598a\u5a20\u4e2d\u30fb\u598a\u5a20\u306e\u53ef\u80fd\u6027\u304c\u3042\u308b\u65b9<\/li>\n                <li>\u6388\u4e73\u4e2d\u306e\u65b9<\/li>\n                <li>\u30a2\u30d5\u30bf\u30fc\u30d4\u30eb\u3092\u670d\u7528\u3057\u30663\u9031\u9593\u4ee5\u5185\u306e\u65b9<\/li>\n                <li>40\u6b73\u4ee5\u4e0a\u306e\u65b9\uff08\u8840\u6813\u75c7\u30ea\u30b9\u30af\u306e\u8aac\u660e\u5f8c\u306b\u51e6\u65b9\u53ef\u80fd\u306a\u5834\u5408\u304c\u3042\u308a\u307e\u3059\uff09<\/li>\n            <\/ul>\n            <p style=\"margin-top: 16px; font-size: 0.85rem; color: var(--text-secondary);\">\n                \u8a72\u5f53\u3059\u308b\u65b9\u306f\u3001\u8a3a\u5bdf\u6642\u306b\u533b\u5e2b\u306b\u3054\u76f8\u8ac7\u304f\u3060\u3055\u3044\u3002\n            <\/p>\n            <button class=\"modal-close\" onclick=\"hideDisclaimer()\">\u9589\u3058\u308b<\/button>\n        <\/div>\n    <\/div>\n\n    <script>\n        \/\/ State\n        let currentStep = 'intro';\n        let history = [];\n        let lastPeriodKnown = false;\n        let nextPeriodKnown = false;\n        let calculatedAdvance = null;\n        let calculatedDelay = null;\n\n        \/\/ Utilities\n        function formatDate(date) {\n            const m = date.getMonth() + 1;\n            const d = date.getDate();\n            const w = ['\u65e5','\u6708','\u706b','\u6c34','\u6728','\u91d1','\u571f'][date.getDay()];\n            return `${m}\u6708${d}\u65e5\uff08${w}\uff09`;\n        }\n\n        function formatShort(date) {\n            return `${date.getMonth() + 1}\/${date.getDate()}`;\n        }\n\n        function addDays(date, days) {\n            const r = new Date(date);\n            r.setDate(r.getDate() + days);\n            return r;\n        }\n\n        function daysBetween(a, b) {\n            return Math.round((b - a) \/ 86400000);\n        }\n\n        function parseDate(s) {\n            return s ? new Date(s + 'T00:00:00') : null;\n        }\n\n        \/\/ Navigation\n        function showStep(step) {\n            document.querySelectorAll('.step').forEach(el => el.classList.remove('active'));\n            document.getElementById('step' + (step === 'intro' ? 'Intro' : step === 'result' ? 'Result' : step === 'choice' ? 'Choice' : step)).classList.add('active');\n\n            const headerBack = document.getElementById('headerBack');\n            const headerProgress = document.getElementById('headerProgress');\n            const headerLogo = document.getElementById('headerLogo');\n\n            if (step === 'intro') {\n                headerBack.classList.remove('show');\n                headerProgress.classList.remove('show');\n                headerLogo.style.display = 'block';\n            } else if (step === 'result' || step === 'choice') {\n                headerBack.classList.add('show');\n                headerProgress.classList.remove('show');\n                headerLogo.style.display = 'none';\n            } else {\n                headerBack.classList.add('show');\n                headerProgress.classList.add('show');\n                headerLogo.style.display = 'none';\n                const progress = { 1: 33, 2: 66, 3: 100 };\n                document.getElementById('progressFill').style.width = progress[step] + '%';\n                document.getElementById('progressText').textContent = step + '\/3';\n            }\n\n            currentStep = step;\n            window.scrollTo(0, 0);\n        }\n\n        function goBack() {\n            if (history.length > 0) {\n                const prev = history.pop();\n                showStep(prev);\n            }\n        }\n\n        function goToStep(step) {\n            \/\/ #2: step 2 \u3078\u306e\u9077\u79fb\u524d\u306b\u5165\u529b\u5024\u3092\u518d\u691c\u8a3c\uff08disabled \u5c5e\u6027\u304c\u52b9\u304b\u306a\u3044\u74b0\u5883\u3078\u306e\u4fdd\u967a\uff09\n            if (step === 2) {\n                const s = document.getElementById('avoidStartDate').value;\n                const e = document.getElementById('avoidEndDate').value;\n                if (!s || !e) {\n                    validateStep1();\n                    return;\n                }\n            }\n            history.push(currentStep);\n            showStep(step);\n        }\n\n        function startSimulation() {\n            history = [];\n            lastPeriodKnown = false;\n            nextPeriodKnown = false;\n            calculatedAdvance = null;\n            calculatedDelay = null;\n            document.getElementById('avoidStartDate').value = '';\n            document.getElementById('avoidEndDate').value = '';\n            document.getElementById('lastPeriodDate').value = '';\n            document.getElementById('nextPeriodDate').value = '';\n            document.getElementById('step1Next').disabled = true;\n            document.getElementById('step2Next').disabled = true;\n            document.getElementById('step3Next').disabled = true;\n            document.getElementById('dateError').classList.remove('show');\n            document.getElementById('avoidStartDate').classList.remove('error');\n            document.getElementById('avoidEndDate').classList.remove('error');\n            goToStep(1);\n        }\n\n        function skipLastPeriod() {\n            lastPeriodKnown = false;\n            document.getElementById('lastPeriodDate').value = '';\n            goToStep(3);\n        }\n\n        function skipNextPeriod() {\n            nextPeriodKnown = false;\n            document.getElementById('nextPeriodDate').value = '';\n            calculateResult();\n        }\n\n        \/\/ Validation\n        document.getElementById('avoidStartDate').addEventListener('change', validateStep1);\n        document.getElementById('avoidEndDate').addEventListener('change', validateStep1);\n        document.getElementById('lastPeriodDate').addEventListener('change', function() {\n            const val = this.value;\n            \/\/ #7: max \u5c5e\u6027\u304c\u52b9\u304b\u306a\u3044\u30d6\u30e9\u30a6\u30b6\u5411\u3051\u306b JS \u3067\u3082\u672a\u6765\u65e5\u4ed8\u3092\u5f3e\u304f\n            if (val) {\n                const d = new Date(val + 'T00:00:00');\n                const todayDate = new Date(today + 'T00:00:00');\n                if (d > todayDate) {\n                    this.value = '';\n                    lastPeriodKnown = false;\n                    document.getElementById('step2Next').disabled = true;\n                    return;\n                }\n            }\n            lastPeriodKnown = !!val;\n            document.getElementById('step2Next').disabled = !val;\n            \/\/ nextPeriodDate \u306f lastPeriodDate \u4ee5\u964d\u304b\u3064 today \u4ee5\u964d\u3092\u4fdd\u8a3c\u3059\u308b\n            document.getElementById('nextPeriodDate').min = val || today;\n        });\n        document.getElementById('nextPeriodDate').addEventListener('change', function() {\n            nextPeriodKnown = !!this.value;\n            document.getElementById('step3Next').disabled = !this.value;\n        });\n\n        function validateStep1() {\n            const startEl = document.getElementById('avoidStartDate');\n            const endEl = document.getElementById('avoidEndDate');\n            const errorEl = document.getElementById('dateError');\n            const btn = document.getElementById('step1Next');\n\n            const start = parseDate(startEl.value);\n            const end = parseDate(endEl.value);\n            const today = new Date();\n            today.setHours(0, 0, 0, 0);\n\n            errorEl.classList.remove('show');\n            startEl.classList.remove('error');\n            endEl.classList.remove('error');\n            btn.disabled = true;\n\n            if (!start || !end) {\n                return;\n            }\n\n            \/\/ Validation checks\n            if (end < start) {\n                errorEl.textContent = '\u7d42\u4e86\u65e5\u306f\u958b\u59cb\u65e5\u3088\u308a\u5f8c\u306e\u65e5\u4ed8\u3092\u9078\u3093\u3067\u304f\u3060\u3055\u3044';\n                errorEl.classList.add('show');\n                endEl.classList.add('error');\n                return;\n            }\n\n            if (start < today) {\n                errorEl.textContent = '\u958b\u59cb\u65e5\u306b\u904e\u53bb\u306e\u65e5\u4ed8\u306f\u9078\u629e\u3067\u304d\u307e\u305b\u3093';\n                errorEl.classList.add('show');\n                startEl.classList.add('error');\n                return;\n            }\n\n            \/\/ #6: \u7d42\u4e86\u65e5\u306e\u904e\u53bb\u65e5\u4ed8\u30c1\u30a7\u30c3\u30af\uff08min \u5c5e\u6027\u304c\u52b9\u304b\u306a\u3044\u30d6\u30e9\u30a6\u30b6\u3078\u306e\u4fdd\u967a\uff09\n            if (end < today) {\n                errorEl.textContent = '\u7d42\u4e86\u65e5\u306b\u904e\u53bb\u306e\u65e5\u4ed8\u306f\u9078\u629e\u3067\u304d\u307e\u305b\u3093';\n                errorEl.classList.add('show');\n                endEl.classList.add('error');\n                return;\n            }\n\n            const duration = daysBetween(start, end) + 1;\n            if (duration > 30) {\n                errorEl.textContent = '30\u65e5\u3092\u8d85\u3048\u308b\u671f\u9593\u306b\u306f\u5bfe\u5fdc\u3067\u304d\u306a\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u8a3a\u5bdf\u6642\u306b\u3054\u76f8\u8ac7\u304f\u3060\u3055\u3044\u3002';\n                errorEl.classList.add('show');\n                \/\/ This is a warning, still allow to proceed\n            }\n\n            btn.disabled = false;\n        }\n\n        \/\/ Calculation\n        function calculateResult() {\n            const today = new Date();\n            today.setHours(0,0,0,0);\n\n            const avoidStart = parseDate(document.getElementById('avoidStartDate').value);\n            const avoidEnd = parseDate(document.getElementById('avoidEndDate').value);\n            const lastPeriod = parseDate(document.getElementById('lastPeriodDate').value);\n            const nextPeriod = parseDate(document.getElementById('nextPeriodDate').value);\n\n            \/\/ #1: \u907f\u3051\u305f\u3044\u671f\u9593\u304c\u672a\u5165\u529b\u306e\u5834\u5408\u306f\u30af\u30e9\u30c3\u30b7\u30e5\u3092\u9632\u3050\n            if (!avoidStart || !avoidEnd) {\n                alert('\u907f\u3051\u305f\u3044\u65e5\u7a0b\u304c\u5165\u529b\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u6700\u521d\u304b\u3089\u3084\u308a\u76f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002');\n                return;\n            }\n\n            \/\/ #8: Q2\uff08\u6700\u5f8c\u306e\u751f\u7406\u65e5\uff09>= Q3\uff08\u6b21\u306e\u751f\u7406\u4e88\u5b9a\u65e5\uff09\u306e\u77db\u76fe\u30c1\u30a7\u30c3\u30af\n            if (lastPeriod && nextPeriod && lastPeriod >= nextPeriod) {\n                history.push(currentStep);\n                document.getElementById('alertContainer').innerHTML = `\n                    <div class=\"alert alert-error\">\n                        <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\/>\n                        <\/svg>\n                        <span>\u300c\u6b21\u306e\u751f\u7406\u4e88\u5b9a\u65e5\u300d\u306f\u300c\u6700\u5f8c\u306e\u751f\u7406\u958b\u59cb\u65e5\u300d\u3088\u308a\u5f8c\u306e\u65e5\u4ed8\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/span>\n                    <\/div>\n                `;\n                document.getElementById('resultTitle').textContent = '\u5165\u529b\u5185\u5bb9\u3092\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044';\n                document.getElementById('resultSubtitle').textContent = '\u65e5\u4ed8\u306e\u77db\u76fe\u304c\u3042\u308a\u307e\u3059';\n                document.getElementById('resultMethod').textContent = '';\n                document.getElementById('resultStart').textContent = '\u30fc';\n                document.getElementById('resultEnd').textContent = '\u30fc';\n                document.getElementById('resultDuration').textContent = '\u30fc';\n                document.getElementById('resultNote').innerHTML = '';\n                document.getElementById('altOptionContainer').innerHTML = '';\n                showStep('result');\n                return;\n            }\n\n            \/\/ Calculate Advance option\n            let canAdvance = false;\n            if (lastPeriod) {\n                const daysSince = daysBetween(lastPeriod, today);\n                \/\/ daysSince <= 5: \u751f\u7406\u521d\u65e5\u30920\u65e5\u76ee\u3068\u3057\u30665\u65e5\u76ee\u307e\u3067\uff08\u8a086\u65e5\u9593\uff09\u304c\u5bfe\u8c61\u3002\n                \/\/ CLAUDE.md \u306e\u300c5\u65e5\u4ee5\u5185\u300d\u306b\u57fa\u3065\u304f\u3002effectiveStart \u304c today \u306b\u30af\u30ea\u30c3\u30d7\u3055\u308c\u308b\u305f\u3081\n                \/\/ 5\u65e5\u76ee\u3067\u3082\u5f53\u65e5\u304b\u308914\u65e5\u9593\u306e\u670d\u7528\u304c\u6210\u7acb\u3059\u308b\u3002\n                if (daysSince >= 0 && daysSince <= 5) {\n                    const advStart = addDays(lastPeriod, 4);\n                    const effectiveStart = advStart < today ? today : advStart;\n                    const advEnd = addDays(effectiveStart, 13);\n                    const periodArrival = addDays(advEnd, 2);\n                    const periodFinish = addDays(periodArrival, 5);\n\n                    if (periodFinish < avoidStart) {\n                        canAdvance = true;\n                        calculatedAdvance = {\n                            start: effectiveStart,\n                            end: advEnd,\n                            duration: daysBetween(effectiveStart, advEnd) + 1,\n                            periodArrival: periodArrival\n                        };\n                    }\n                }\n            }\n\n            \/\/ Calculate Delay option\n            let delayStart, estimatedNextPeriod;\n            if (nextPeriod) {\n                estimatedNextPeriod = nextPeriod;\n            } else if (lastPeriod) {\n                estimatedNextPeriod = addDays(lastPeriod, 28);\n            } else {\n                \/\/ \u4e21\u65e5\u7a0b\u4e0d\u660e\u306e\u5834\u5408\u3001\u30a4\u30d9\u30f3\u30c8\u521d\u65e5\u306b\u751f\u7406\u304c\u6765\u308b\u3068\u4eee\u5b9a\u3057\u3066\u6700\u3082\u5b89\u5168\u5074\u306b\u8a08\u7b97\n                estimatedNextPeriod = avoidStart;\n            }\n\n            delayStart = addDays(estimatedNextPeriod, -5);\n            const effectiveDelayStart = delayStart < today ? today : delayStart;\n\n            \/\/ #3: \u670d\u7528\u958b\u59cb\u65e5\u304c\u30a4\u30d9\u30f3\u30c8\u7d42\u4e86\u5f8c\u306e\u5834\u5408\u3001\u300c\u9045\u3089\u305b\u308b\u300d\u306f\u4e0d\u8981\n            const isDelayUnavailable = effectiveDelayStart > avoidEnd;\n            const delayDuration = isDelayUnavailable ? 0 : Math.max(1, daysBetween(effectiveDelayStart, avoidEnd) + 1);\n            const isUrgent = !isDelayUnavailable && (delayStart < today);\n            const isOverLimit = !isDelayUnavailable &#038;&#038; (delayDuration > 21);\n\n            calculatedDelay = {\n                start: effectiveDelayStart,\n                end: avoidEnd,\n                duration: delayDuration,\n                isUrgent: isUrgent,\n                isOverLimit: isOverLimit,\n                estimated: !nextPeriod,\n                unavailable: isDelayUnavailable\n            };\n\n            \/\/ Decide which result to show\n            if (canAdvance && !isDelayUnavailable) {\n                \/\/ \u4e21\u65b9\u306e\u9078\u629e\u80a2\u3042\u308a \u2192 \u9078\u629e\u753b\u9762\n                document.getElementById('choiceAdvanceDesc').textContent =\n                    `\u4eca\u304b\u3089\u7d042\u9031\u9593\u304a\u85ac\u3092\u98f2\u3093\u3067\u3001${formatShort(calculatedAdvance.periodArrival)}\u9803\u306b\u751f\u7406\u3092\u7d42\u308f\u3089\u305b\u308b\u65b9\u6cd5\u3067\u3059`;\n                document.getElementById('choiceDelayDesc').textContent =\n                    `${formatShort(calculatedDelay.start)}\u9803\u304b\u3089\u304a\u85ac\u3092\u98f2\u307f\u59cb\u3081\u3066\u3001\u4e88\u5b9a\u304c\u7d42\u308f\u308b\u307e\u3067\u751f\u7406\u3092\u9045\u3089\u305b\u308b\u65b9\u6cd5\u3067\u3059`;\n                history.push(currentStep);\n                showStep('choice');\n            } else if (canAdvance) {\n                \/\/ \u9045\u3089\u305b\u308b\u4e0d\u8981\u30fb\u65e9\u3081\u308b\u306e\u307f\u8868\u793a\n                showAdvanceResultScreen();\n                history.push(currentStep);\n                showStep('result');\n            } else {\n                \/\/ \u9045\u3089\u305b\u308b\u306e\u307f\uff08\u307e\u305f\u306f\u4e21\u65b9\u4e0d\u8981\uff09\n                showDelayResult();\n            }\n        }\n\n        \/\/ \u65e9\u3081\u308b\u7d50\u679c\u753b\u9762\u306e\u8868\u793a\u5185\u5bb9\u3092\u8a2d\u5b9a\u3059\u308b\u5171\u901a\u30d8\u30eb\u30d1\u30fc\uff08history\/showStep \u306f\u547c\u3073\u51fa\u3057\u5143\u304c\u7ba1\u7406\uff09\n        function showAdvanceResultScreen() {\n            const data = calculatedAdvance;\n            document.getElementById('resultTitle').textContent = '\u751f\u7406\u3092\u305a\u3089\u305b\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059';\n            document.getElementById('resultSubtitle').textContent = '\u300c\u751f\u7406\u3092\u65e9\u3081\u308b\u300d\u65b9\u6cd5\u306e\u76ee\u5b89\u3067\u3059';\n            document.getElementById('resultMethod').textContent = '\u751f\u7406\u3092\u65e9\u3081\u308b\u5834\u5408\u306e\u670d\u7528\u76ee\u5b89';\n            document.getElementById('resultStart').textContent = formatDate(data.start) + '\u9803';\n            document.getElementById('resultEnd').textContent = formatDate(data.end) + '\u9803';\n            document.getElementById('resultDuration').textContent = '\u7d04' + data.duration + '\u65e5\u9593';\n            document.getElementById('resultNote').innerHTML = `\n                <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\/>\n                <\/svg>\n                <span>\u670d\u7528\u7d42\u4e86\u304b\u30892\u301c3\u65e5\u5f8c\u306e${formatDate(data.periodArrival)}\u9803\u306b\u751f\u7406\u304c\u6765\u3066\u3001\u4e88\u5b9a\u524d\u306b\u7d42\u308f\u308b\u898b\u8fbc\u307f\u3067\u3059<\/span>\n            `;\n            document.getElementById('alertContainer').innerHTML = '';\n            document.getElementById('altOptionContainer').innerHTML = '';\n        }\n\n        function selectAdvance() {\n            showAdvanceResultScreen();\n            history.push('choice');\n            showStep('result');\n        }\n\n        function selectDelay() {\n            showDelayResult();\n            history.push('choice');\n        }\n\n        function showDelayResult() {\n            const data = calculatedDelay;\n            const alertContainer = document.getElementById('alertContainer');\n            alertContainer.innerHTML = '';\n\n            \/\/ #3: \u670d\u7528\u958b\u59cb\u65e5\u304c\u30a4\u30d9\u30f3\u30c8\u7d42\u4e86\u5f8c \u2192 \u30d4\u30eb\u4e0d\u8981\u306e\u53ef\u80fd\u6027\n            if (data.unavailable) {\n                document.getElementById('resultTitle').textContent = '\u751f\u7406\u306f\u30a4\u30d9\u30f3\u30c8\u5f8c\u306e\u4e88\u5b9a\u3067\u3059';\n                document.getElementById('resultSubtitle').textContent = '\u30d4\u30eb\u306e\u670d\u7528\u306f\u4e0d\u8981\u306a\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059';\n                document.getElementById('resultMethod').textContent = '\u78ba\u8a8d\u4e8b\u9805';\n                document.getElementById('resultStart').textContent = '\u30fc';\n                document.getElementById('resultEnd').textContent = '\u30fc';\n                document.getElementById('resultDuration').textContent = '\u30fc';\n                document.getElementById('resultNote').innerHTML = `\n                    <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\/>\n                    <\/svg>\n                    <span>\u751f\u7406\u306e\u4e88\u5b9a\u304c\u30a4\u30d9\u30f3\u30c8\u5f8c\u306e\u305f\u3081\u3001\u901a\u5e38\u306f\u30d4\u30eb\u306e\u670d\u7528\u306f\u4e0d\u8981\u3067\u3059\u3002\u5ff5\u306e\u305f\u3081\u8a3a\u5bdf\u6642\u306b\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\u3002<\/span>\n                `;\n                document.getElementById('altOptionContainer').innerHTML = '';\n                if (currentStep !== 'choice') {\n                    history.push(currentStep);\n                }\n                showStep('result');\n                return;\n            }\n\n            if (data.isUrgent) {\n                alertContainer.innerHTML += `\n                    <div class=\"alert alert-warning\">\n                        <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\/>\n                        <\/svg>\n                        <span>\u670d\u7528\u958b\u59cb\u65e5\u304c\u8fd1\u3044\u305f\u3081\u3001\u304a\u65e9\u3081\u306b\u8a3a\u5bdf\u3092\u3054\u4e88\u7d04\u304f\u3060\u3055\u3044\u3002<\/span>\n                    <\/div>\n                `;\n            }\n\n            if (data.isOverLimit) {\n                alertContainer.innerHTML += `\n                    <div class=\"alert alert-warning\">\n                        <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\/>\n                        <\/svg>\n                        <span>\u670d\u7528\u671f\u9593\u304c\u9577\u3044\u305f\u3081\u3001\u4e88\u5b9a\u3069\u304a\u308a\u306b\u3044\u304b\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u8a3a\u5bdf\u6642\u306b\u533b\u5e2b\u306b\u3054\u76f8\u8ac7\u304f\u3060\u3055\u3044\u3002<\/span>\n                    <\/div>\n                `;\n            }\n\n            document.getElementById('resultTitle').textContent = '\u751f\u7406\u3092\u305a\u3089\u305b\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059';\n            document.getElementById('resultSubtitle').textContent = '\u300c\u751f\u7406\u3092\u9045\u3089\u305b\u308b\u300d\u65b9\u6cd5\u306e\u76ee\u5b89\u3067\u3059';\n            document.getElementById('resultMethod').textContent = '\u751f\u7406\u3092\u9045\u3089\u305b\u308b\u5834\u5408\u306e\u670d\u7528\u76ee\u5b89';\n            document.getElementById('resultStart').textContent = formatDate(data.start) + '\u9803';\n            document.getElementById('resultEnd').textContent = formatDate(data.end) + '\u9803';\n            document.getElementById('resultDuration').textContent = '\u7d04' + data.duration + '\u65e5\u9593';\n\n            let noteText = '\u670d\u7528\u3092\u3084\u3081\u308b\u30682\u301c3\u65e5\u5f8c\u306b\u751f\u7406\u304c\u59cb\u307e\u308a\u307e\u3059';\n            if (data.estimated) {\n                noteText = '\u203b\u751f\u7406\u5468\u671f\u309228\u65e5\u3068\u3057\u3066\u8a08\u7b97\u3057\u3066\u3044\u307e\u3059\u3002' + noteText;\n            }\n            document.getElementById('resultNote').innerHTML = `\n                <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\/>\n                <\/svg>\n                <span>${noteText}<\/span>\n            `;\n\n            document.getElementById('altOptionContainer').innerHTML = '';\n\n            if (currentStep !== 'choice') {\n                history.push(currentStep);\n            }\n            showStep('result');\n        }\n\n        function handleReservation() {\n            window.location.href = 'https:\/\/reserve.luna-dr.com\/reservation';\n        }\n\n        function showDisclaimer() {\n            document.getElementById('disclaimerModal').classList.add('show');\n        }\n\n        function hideDisclaimer() {\n            document.getElementById('disclaimerModal').classList.remove('show');\n        }\n\n        \/\/ Init\n        const today = new Date().toISOString().split('T')[0];\n        document.getElementById('avoidStartDate').min = today;\n        document.getElementById('avoidEndDate').min = today;\n        document.getElementById('lastPeriodDate').max = today;  \/\/ \u672a\u6765\u65e5\u4ed8\u3092\u9632\u3050\n        document.getElementById('nextPeriodDate').min = today;  \/\/ \u904e\u53bb\u65e5\u4ed8\u3092\u9632\u3050\n    <\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u30eb\u30ca\u30ec\u30c7\u30a3\u30fc\u30b9\u30af\u30ea\u30cb\u30c3\u30af 1\/3 \u5927\u5207\u306a\u4e88\u5b9a\u306b\u751f\u7406\u304c\u91cd\u306a\u308a\u305d\u3046\uff1f \u304a\u85ac\u3067\u305a\u3089\u305b\u308b\u65e5\u7a0b\u3092\u304b\u3093\u305f\u3093\u306b\u30c1\u30a7\u30c3\u30af\u3067\u304d\u307e\u3059 \u751f\u7406\u79fb\u52d5\u30d4\u30eb\u3068\u306f\uff1f \u30db\u30eb\u30e2\u30f3\u5264\uff08\u30d7\u30e9\u30ce\u30d0\u30fc\u30eb\u7b49\uff09\u3092\u670d\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u751f\u7406\u306e\u6642\u671f\u3092\u6570\u65e5\u301c2\u9031\u9593\u7a0b\u5ea6\u305a\u3089\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u65c5\u884c\u30fb\u7d50\u5a5a\u5f0f\u30fb\u8a66\u9a13\u306a\u3069\u306e\u5927\u5207\u306a\u4e88\u5b9a\u306b\u5408\u308f\u305b\u3066\u8abf\u6574\u3067\u304d\u307e\u3059\u3002 3\u3064\u306e\u8cea\u554f\u306b\u7b54\u3048\u308b\u3060\u3051 \u670d\u7528\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u304c\u3059\u3050\u308f\u304b\u308b \u305d\u306e\u307e\u307e\u8a3a\u5bdf\u4e88\u7d04\u3082OK \u203b\u3053\u308c\u306f\u76ee\u5b89\u3092\u8a08\u7b97\u3059\u308b\u7c21\u6613\u30c4\u30fc\u30eb\u3067\u3059 \u5b9f\u969b\u306e\u670d\u7528\u306f\u533b\u5e2b\u306e\u8a3a\u5bdf\u30fb\u51e6\u65b9\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044 \u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3092\u8a08\u7b97\u3059\u308b \u8cea\u554f 1\/3 \u751f\u7406\u3092\u907f\u3051\u305f\u3044\u65e5\u7a0b\u306f\uff1f \u65c5\u884c\u30fb\u30a4\u30d9\u30f3\u30c8\u306a\u3069\u306e\u671f\u9593\u3092\u6559\u3048\u3066\u304f\u3060\u3055\u3044 \u958b\u59cb\u65e5 \u7d42\u4e86\u65e5 \u6b21\u3078 \u8cea\u554f 2\/3 \u6700\u5f8c\u306e\u751f\u7406\u306f\u3044\u3064\u59cb\u307e\u308a\u307e\u3057\u305f\u304b\uff1f \u751f\u7406\u521d\u65e5\u306e\u65e5\u4ed8\u3092\u6559\u3048\u3066\u304f\u3060\u3055\u3044 \u751f\u7406\u304c\u59cb\u307e\u3063\u305f\u65e5 \u751f\u7406\u958b\u59cb\u304b\u30895\u65e5\u4ee5\u5185\u306e\u65b9\u306f\u300c\u751f\u7406\u3092\u65e9\u3081\u308b\u300d\u65b9\u6cd5\u3082\u9078\u3079\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059 \u307e\u305f\u306f \u308f\u304b\u3089\u306a\u3044\u30fb1\u9031\u9593\u4ee5\u4e0a\u524d \u6b21\u3078 \u8cea\u554f 3\/3 \u6b21\u306e\u751f\u7406\u306f\u3044\u3064\u9803\u306e\u4e88\u5b9a\u3067\u3059\u304b\uff1f \u30a2\u30d7\u30ea\u306e\u4e88\u6e2c\u65e5\u3084\u3001\u3044\u3064\u3082\u6765\u308b\u9803\u306e\u65e5\u4ed8\u3067OK\u3067\u3059 \u6b21\u306e\u751f\u7406\u4e88\u5b9a\u65e5 \u307e\u305f\u306f \u5468\u671f\u304c\u4e0d\u898f\u5247\u3067\u308f\u304b\u3089\u306a\u3044 \u7d50\u679c\u3092\u898b\u308b \u751f\u7406\u3092\u305a\u3089\u305b\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059 \u76ee\u5b89\u306e\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306f\u3053\u3061\u3089\u3067\u3059 \u751f\u7406\u79fb\u52d5\u30d4\u30eb\u306e\u670d\u7528\u76ee\u5b89 \u670d\u7528\u958b\u59cb\u306e\u76ee\u5b89 \u2013 \u670d\u7528\u7d42\u4e86\u306e\u76ee\u5b89 \u2013 \u670d\u7528\u65e5\u6570\u306e\u76ee\u5b89 \u2013 \u670d\u7528\u3092\u3084\u3081\u308b\u30682\u301c3\u65e5\u5f8c\u306b\u751f\u7406\u304c\u59cb\u307e\u308a\u307e\u3059 \u3054\u6ce8\u610f \u3053\u306e\u7d50\u679c\u306f\u76ee\u5b89\u3067\u3059\u3002\u5b9f\u969b\u306e\u670d\u7528\u65e5\u7a0b\u306f\u3001\u8a3a\u5bdf\u6642\u306b\u533b\u5e2b\u304c\u6c7a\u5b9a\u3057\u307e\u3059\u3002\u4f53\u8abf\u3084\u751f\u7406\u5468\u671f\u306b\u3088\u3063\u3066\u5909\u308f\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4f4e\u7528\u91cf\u30d4\u30eb\u670d\u7528\u4e2d\u306e\u65b9\u3084\u30011\u30f6\u6708\u4ee5\u4e0a\u5148\u306e\u4e88\u5b9a\u30fb3\u9031\u9593\u3092\u8d85\u3048\u308b\u670d\u7528\u671f\u9593\u3068\u306a\u308b\u5834\u5408\u306f\u3001\u6b63\u3057\u304f\u5224\u5b9a\u3067\u304d\u306a\u3044\u305f\u3081\u5fc5\u305a\u533b\u5e2b\u306b\u3054\u76f8\u8ac7\u304f\u3060\u3055\u3044\u3002 \u5f53\u9662\u3067\u8a3a\u5bdf\u3092\u4e88\u7d04\u3059\u308b \u51e6\u65b9\u3067\u304d\u306a\u3044\u5834\u5408\u306b\u3064\u3044\u3066 2\u3064\u306e\u65b9\u6cd5\u304b\u3089\u9078\u3079\u307e\u3059 \u3054\u5e0c\u671b\u306b\u8fd1\u3044\u65b9\u3092\u304a\u9078\u3073\u304f\u3060\u3055\u3044 \u304a\u3059\u3059\u3081 \u751f\u7406\u3092\u65e9\u3081\u308b \u4eca\u304b\u3089\u7d042\u9031\u9593\u304a\u85ac\u3092\u98f2\u3093\u3067\u3001\u4e88\u5b9a\u3088\u308a\u524d\u306b\u751f\u7406\u3092\u7d42\u308f\u3089\u305b\u308b\u65b9\u6cd5\u3067\u3059 &#8230; <\/p>\n","protected":false},"author":25,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-blank.php","meta":{"_lmt_disableupdate":"","_lmt_disable":""},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/luna-dr.com\/subjects\/media\/wp-json\/wp\/v2\/pages\/10871"}],"collection":[{"href":"https:\/\/luna-dr.com\/subjects\/media\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/luna-dr.com\/subjects\/media\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/luna-dr.com\/subjects\/media\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/luna-dr.com\/subjects\/media\/wp-json\/wp\/v2\/comments?post=10871"}],"version-history":[{"count":15,"href":"https:\/\/luna-dr.com\/subjects\/media\/wp-json\/wp\/v2\/pages\/10871\/revisions"}],"predecessor-version":[{"id":11118,"href":"https:\/\/luna-dr.com\/subjects\/media\/wp-json\/wp\/v2\/pages\/10871\/revisions\/11118"}],"wp:attachment":[{"href":"https:\/\/luna-dr.com\/subjects\/media\/wp-json\/wp\/v2\/media?parent=10871"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}