{"id":355,"date":"2026-04-10T00:14:20","date_gmt":"2026-04-09T15:14:20","guid":{"rendered":"https:\/\/athealthdesign.co.jp\/?page_id=355"},"modified":"2026-04-10T00:14:20","modified_gmt":"2026-04-09T15:14:20","slug":"ai%e9%8c%ac%e8%8f%8c%e8%a1%93-daily-report","status":"publish","type":"page","link":"https:\/\/athealthdesign.co.jp\/?page_id=355","title":{"rendered":"AI\u932c\u83cc\u8853\u00a0Daily Report"},"content":{"rendered":"\n<script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n\n<div class=\"dr-wrapper bg-slate-50 p-4 md:p-8 rounded-xl border border-slate-200\">\n    <header class=\"max-w-6xl mx-auto mb-10 flex flex-wrap justify-between items-center gap-6\">\n        <div class=\"flex items-center gap-4\">\n            <a href=\"https:\/\/athealthdesign.co.jp\/?page_id=345\" class=\"dr-btn-back\">\u2190 \u623b\u308b<\/a>\n            <div>\n                <h1 class=\"text-3xl font-extrabold text-emerald-900 tracking-tight\">AI\u932c\u83cc\u8853 <span class=\"text-emerald-500 text-xl\">Daily Report<\/span><\/h1>\n                <p id=\"dr-version-info\" class=\"text-[10px] text-gray-500 font-medium\">v4.0.16 - Chart Fix & Visual Match<\/p>\n            <\/div>\n        <\/div>\n        <div class=\"flex gap-3\">\n            <button onclick=\"document.getElementById('drFileInput').click()\" class=\"bg-emerald-600 hover:bg-emerald-700 text-white font-bold py-3 px-6 rounded-2xl shadow-lg transition-all transform hover:-translate-y-1 text-sm\">\n                JSON\u3092\u8aad\u307f\u8fbc\u3080\n            <\/button>\n            <button onclick=\"clearDrHistory()\" class=\"bg-white border border-gray-200 text-gray-400 hover:text-red-500 font-bold py-3 px-4 rounded-2xl transition-all\">\ud83d\uddd1\ufe0f<\/button>\n        <\/div>\n        <input type=\"file\" id=\"drFileInput\" class=\"hidden\" accept=\".json\" onchange=\"handleDrFileSelect(event)\">\n    <\/header>\n\n    <div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-4 gap-8\">\n        <aside class=\"lg:col-span-1\">\n            <div class=\"dr-card sticky top-8 border-t-4 border-t-emerald-200 bg-white p-4 rounded-xl shadow-sm\">\n                <h3 class=\"font-bold mb-4 text-emerald-900 flex items-center gap-2 text-xs\">\ud83d\udcc2 \u932c\u83cc\u30ed\u30b0\u5c65\u6b74<\/h3>\n                <div id=\"dr-history-list\" class=\"space-y-3 max-h-[50vh] overflow-y-auto pr-2\">\n                    <p class=\"text-[10px] text-gray-400 italic text-center p-4\">\u5c65\u6b74\u306a\u3057<\/p>\n                <\/div>\n            <\/div>\n        <\/aside>\n\n        <main id=\"dr-report-content\" class=\"lg:col-span-3 hidden\">\n            <div class=\"grid grid-cols-1 md:grid-cols-2 gap-6 mb-8\">\n                <section class=\"dr-card bg-white p-6 rounded-xl shadow-sm\"><h2 class=\"dr-section-title\">A. \u57fa\u672c\u30c7\u30fc\u30bf<\/h2><table id=\"dr-table-basic\" class=\"dr-table\"><\/table><\/section>\n                <section class=\"dr-card bg-white p-6 rounded-xl shadow-sm\"><h2 class=\"dr-section-title\">PFC\u30d0\u30e9\u30f3\u30b9<\/h2><div class=\"dr-chart-container\"><canvas id=\"drPfcChart\"><\/canvas><\/div><\/section>\n            <\/div>\n\n            <section class=\"dr-card bg-white p-6 rounded-xl shadow-sm mb-8\">\n                <h2 class=\"dr-section-title\">B. \u98df\u4e8b\u5206\u6790<\/h2>\n                <div class=\"overflow-x-auto mb-6\"><table id=\"dr-table-meals\" class=\"dr-table\"><\/table><\/div>\n                <div class=\"grid grid-cols-1 md:grid-cols-2 gap-8 items-center\">\n                    <div class=\"bg-emerald-50 border-l-4 border-emerald-400 p-5 rounded-r-xl h-full\"><ul id=\"dr-nutrition-findings\" class=\"dr-bullet-list text-sm leading-relaxed\"><\/ul><\/div>\n                    <div class=\"dr-chart-container\"><canvas id=\"drFiberChart\"><\/canvas><\/div>\n                <\/div>\n            <\/section>\n\n            <section class=\"dr-card bg-white p-6 rounded-xl shadow-sm mb-8 border-t-4 border-t-emerald-400\">\n                <h2 class=\"dr-section-title\">C. \u904b\u52d5\u89e3\u6790<\/h2>\n                <div class=\"grid grid-cols-1 md:grid-cols-2 gap-8\">\n                    <div class=\"overflow-x-auto\"><table id=\"dr-table-exercise\" class=\"dr-table\"><\/table><\/div>\n                    <div class=\"dr-chart-container\"><canvas id=\"drIntensityChart\"><\/canvas><\/div>\n                <\/div>\n            <\/section>\n\n            <section class=\"dr-card bg-white p-6 rounded-xl shadow-sm mb-8 border-t-4 border-t-blue-400\">\n                <h2 class=\"dr-section-title\">D. \u4ee3\u8b1d\u30fb\u30a8\u30cd\u30eb\u30ae\u30fc\u53ce\u652f<\/h2>\n                <div class=\"grid grid-cols-1 md:grid-cols-2 gap-8\">\n                    <div>\n                        <table id=\"dr-table-metabolism\" class=\"dr-table mb-4\"><\/table>\n                        <div id=\"dr-energy-summary\" class=\"text-center p-4 bg-gray-50 rounded-xl mb-4 font-bold text-xl\"><\/div>\n                        <ul id=\"dr-interpretation-bullets\" class=\"dr-bullet-list text-sm\"><\/ul>\n                    <\/div>\n                    <div class=\"dr-chart-container\"><canvas id=\"drEnergyChart\"><\/canvas><\/div>\n                <\/div>\n            <\/section>\n\n            <section class=\"dr-card bg-emerald-50 p-6 rounded-xl shadow-sm border-t-4 border-t-emerald-600 mb-8\">\n                <h2 class=\"dr-section-title\">E. \u7dcf\u5408\u8a55\u4fa1<\/h2>\n                <ul id=\"dr-summary-bullets\" class=\"dr-bullet-list text-sm\"><\/ul>\n            <\/section>\n        <\/main>\n    <\/div>\n<\/div>\n\n<style>\n.dr-wrapper { font-family: 'Noto Sans JP', sans-serif; color: #1e293b; }\n.dr-btn-back { color: #10b981 !important; font-weight: bold; text-decoration: none !important; font-size: 0.9rem; }\n.dr-section-title { border-left: 6px solid #10b981; padding-left: 1rem; font-size: 1.1rem; font-weight: bold; margin-bottom: 1.5rem; color: #064e3b; }\n.dr-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }\n.dr-table th, .dr-table td { border: 1px solid #f1f5f9; padding: 0.6rem; }\n.dr-table th { background-color: #f8fafc; color: #475569; }\n.dr-chart-container { position: relative; width: 100%; height: 260px !important; }\n.dr-bullet-list li { position: relative; padding-left: 1.5rem; margin-bottom: 0.5rem; list-style:none;}\n.dr-bullet-list li::before { content: \"\u26a1\"; position: absolute; left: 0; color: #10b981; }\n<\/style>\n\n<script>\n    let drCharts = {};\n\n    function handleDrFileSelect(event) {\n        const file = event.target.files[0];\n        if (!file) return;\n        const reader = new FileReader();\n        reader.onload = e => {\n            const data = JSON.parse(e.target.result);\n            saveDrData(data);\n            renderDrReport(data);\n            updateDrHistoryList();\n        };\n        reader.readAsText(file);\n    }\n\n    function renderDrReport(js) {\n        document.getElementById('dr-report-content').classList.remove('hidden');\n        const c = js.calc.rounded; const b = js.inputs.basic; const r = js.report_text;\n        \n        document.getElementById('dr-table-basic').innerHTML = `<tr><th>\u65e5\u4ed8<\/th><td>${js.meta.date}<\/td><\/tr><tr><th>\u4f53\u91cd<\/th><td>${b.weight_kg}kg<\/td><\/tr><tr><th>\u7761\u7720<\/th><td>${Math.floor(b.sleep_min\/60)}\u6642${b.sleep_min%60}\u5206<\/td><\/tr>`;\n        document.getElementById('dr-table-meals').innerHTML = '<thead><tr><th>\u98df\u4e8b<\/th><th>kcal<\/th><th>P<\/th><th>F<\/th><th>C<\/th><th>\u7e4a\u7dad<\/th><\/tr><\/thead><tbody>' + js.tables.B1_meals.map(m=>`<tr><td>${m.meal}<\/td><td>${m.kcal}<\/td><td>${m.P_g}<\/td><td>${m.F_g}<\/td><td>${m.C_g}<\/td><td>${m.fiber_total_g}<\/td><\/tr>`).join('') + '<\/tbody>';\n        document.getElementById('dr-table-exercise').innerHTML = '<thead><tr><th>\u5185\u5bb9<\/th><th>\u5f37\u5ea6<\/th><th>\u5206<\/th><\/tr><\/thead><tbody>' + js.tables.C1_exercise.map(e=>`<tr><td>${e.detail}<\/td><td>${e.intensity}<\/td><td>${e.time_min}<\/td><\/tr>`).join('') + '<\/tbody>';\n        document.getElementById('dr-table-metabolism').innerHTML = `<tr><th>\u6442\u53d6<\/th><td>${c.energy_intake_kcal} kcal<\/td><\/tr><tr><th>\u6d88\u8cbb(TDEE)<\/th><td>${c.TDEE_kcal} kcal<\/td><\/tr>`;\n        document.getElementById('dr-energy-summary').innerHTML = `\u53ce\u652f: ${c.energy_balance_kcal > 0 ? '+' : ''}${c.energy_balance_kcal} kcal`;\n        \n        const setB = (id, arr) => document.getElementById(id).innerHTML = (arr || []).map(li => `<li>${li}<\/li>`).join('');\n        setB('dr-nutrition-findings', r.B_nutrition_findings_bullets);\n        setB('dr-interpretation-bullets', r.D_interpretation_bullets);\n        setB('dr-summary-bullets', [...(r.E_summary_food_bullets || []), ...(r.E_summary_exercise_bullets || [])]);\n        \n        initDrCharts(c, js);\n    }\n\n    function initDrCharts(c, js) {\n    const up = (id, config) => { if(drCharts[id]) drCharts[id].destroy(); drCharts[id] = new Chart(document.getElementById(id).getContext('2d'), config); };\n    \n    \/\/ 1. PFC\u30d0\u30e9\u30f3\u30b9\n    const pK = c.protein_g_total*4, fK = c.fat_g_total*9, cK = c.carb_g_total*4;\n    up('drPfcChart', { \n        type: 'doughnut', \n        data: { \n            labels: [\"\u30bf\u30f3\u30d1\u30af\u8cea\", \"\u8102\u8cea\", \"\u70ad\u6c34\u5316\u7269\"], \n            datasets: [{ data: [pK, fK, cK], backgroundColor: [\"#ffb6c1\", \"#4682b4\", \"#ffa500\"] }] \n        }, \n        options: { cutout: '65%', maintainAspectRatio: false, plugins: { legend: { display: true, position: 'bottom' } } } \n    });\n    \n    \/\/ 2. \u98df\u7269\u7e4a\u7dad\n    up('drFiberChart', { \n        type: 'bar', \n        data: { \n            labels: [\"\u6c34\u6eb6\u6027\", \"\u4e0d\u6eb6\u6027\", \"\u5408\u8a08\"], \n            datasets: [{ data: [c.fiber_soluble_g_total, c.fiber_insoluble_g_total, c.fiber_total_g_total], backgroundColor: [\"#87CEFA\", \"#F0E68C\", \"#20B2AA\"] }] \n        }, \n        options: { maintainAspectRatio: false, plugins: { legend: { display: false } } } \n    });\n    \n    \/\/ 3. \u904b\u52d5\u5f37\u5ea6 (\u691c\u7d22\u30ed\u30b8\u30c3\u30af\u3092\u5927\u5e45\u5f37\u5316)\n    const intD = js.tables.C2_intensity_minutes;\n    const findIntensityVal = (label) => {\n        \/\/ \"Low\" \u307e\u305f\u306f \"L\"\u3001\"Moderate\" \u307e\u305f\u306f \"M\"\u3001\"High\" \u307e\u305f\u306f \"H\" \u3067\u59cb\u307e\u308b\u3082\u306e\u3092\u63a2\u3059\n        const item = intD.find(i => {\n            const rowLabel = i.intensity.trim().toUpperCase();\n            return rowLabel.startsWith(label[0].toUpperCase());\n        });\n        return item ? parseFloat(item.min) : 0;\n    };\n\n    const lowVal = findIntensityVal(\"Low\");\n    const modVal = findIntensityVal(\"Moderate\");\n    const highVal = findIntensityVal(\"High\");\n\n    up('drIntensityChart', { \n        type: 'pie', \n        data: { \n            labels: [\"Low\", \"Moderate\", \"High\"], \n            datasets: [{ \n                data: [lowVal, modVal, highVal], \n                backgroundColor: [\"#cbd5e1\", \"#84cc16\", \"#0d9488\"], \/\/ \u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u306e\u8272\u306b\u6e96\u62e0\n                borderWidth: 1\n            }] \n        }, \n        options: { \n            maintainAspectRatio: false, \n            plugins: { \n                legend: { display: true, position: 'bottom' },\n                title: { display: true, text: '\u5f37\u5ea6\u5206\u5e03(\u5206)', font: { size: 14 } } \n            } \n        } \n    });\n\n    \/\/ 4. \u30a8\u30cd\u30eb\u30ae\u30fc\n    up('drEnergyChart', { type: 'bar', data: { labels: [\"\u6442\u53d6\", \"\u6d88\u8cbb\"], datasets: [{ data: [c.energy_intake_kcal, c.TDEE_kcal], backgroundColor: [\"#f87171\", \"#34d399\"] }] }, options: { indexAxis: 'y', maintainAspectRatio: false, plugins: { legend: { display: false } } } });\n}\n    function saveDrData(data) { const history = JSON.parse(localStorage.getItem('alchemy_logs') || '{}'); history[data.meta.date] = data; localStorage.setItem('alchemy_logs', JSON.stringify(history)); }\n    function updateDrHistoryList() { const h = JSON.parse(localStorage.getItem('alchemy_logs') || '{}'); const dates = Object.keys(h).sort().reverse(); if (dates.length > 0) document.getElementById('dr-history-list').innerHTML = dates.map(d => `<div class=\"p-2 border rounded mb-2 bg-gray-50 text-[10px] cursor-pointer hover:bg-emerald-50\" onclick='loadDrFromHistory(\"${d}\")'>${d}<\/div>`).join(''); }\n    function loadDrFromHistory(date) { const h = JSON.parse(localStorage.getItem('alchemy_logs')); renderDrReport(h[date]); }\n    function clearDrHistory() { if(confirm(\"\u5c65\u6b74\u6d88\u53bb\u3057\u307e\u3059\u304b\uff1f\")) { localStorage.removeItem('alchemy_logs'); location.reload(); } }\n    \n    document.addEventListener('DOMContentLoaded', updateDrHistoryList);\n<\/script>\n\n\n\n<pre class=\"wp-block-preformatted\">\ud83d\udcca \u30c7\u30fc\u30bf\u306e\u53d6\u308a\u6271\u3044\u306b\u3064\u3044\u3066<br>\u8aad\u307f\u8fbc\u307e\u308c\u305fJSON\u30c7\u30fc\u30bf\u306f\u3001\u30ec\u30dd\u30fc\u30c8\u4f5c\u6210\u306e\u305f\u3081\u306b\u304a\u4f7f\u3044\u306e\u30c7\u30d0\u30a4\u30b9\u4e0a\uff08\u30ed\u30fc\u30ab\u30eb\uff09\u3067\u306e\u307f\u51e6\u7406\u3055\u308c\u307e\u3059\u3002<br>\u5916\u90e8\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u306f\u4e00\u5207\u884c\u308f\u308c\u307e\u305b\u3093\u306e\u3067\u3001\u5b89\u5fc3\u3057\u3066\u3054\u5229\u7528\u304f\u3060\u3055\u3044\u3002<br>\u89e3\u6790\u7d50\u679c\u3092\u5f8c\u3067\u898b\u8fd4\u3059\u5834\u5408\u306f\u3001\u30d6\u30e9\u30a6\u30b6\u306e\u300c\u5c65\u6b74\uff08LocalStorage\uff09\u300d\u6a5f\u80fd\u3092\u5229\u7528\u3059\u308b\u304b\u3001\u5143\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u5927\u5207\u306b\u4fdd\u7ba1\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u2190 \u623b\u308b AI\u932c\u83cc\u8853 Daily Report v4.0.16 - Chart Fix &#038; Visual Match JSON\u3092\u8aad\u307f\u8fbc\u3080 \ud83d\uddd1\ufe0f \ud83d\udcc2 \u932c\u83cc\u30ed\u30b0\u5c65\u6b74 \u5c65\u6b74\u306a\u3057 A. \u57fa\u672c\u30c7\u30fc\u30bf PFC\u30d0\u30e9\u30f3\u30b9 B. \u98df\u4e8b\u5206\u6790 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":351,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"vkexunit_cta_each_option":"","footnotes":""},"class_list":["post-355","page","type-page","status-publish","has-post-thumbnail","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/athealthdesign.co.jp\/index.php?rest_route=\/wp\/v2\/pages\/355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/athealthdesign.co.jp\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/athealthdesign.co.jp\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/athealthdesign.co.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/athealthdesign.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=355"}],"version-history":[{"count":10,"href":"https:\/\/athealthdesign.co.jp\/index.php?rest_route=\/wp\/v2\/pages\/355\/revisions"}],"predecessor-version":[{"id":424,"href":"https:\/\/athealthdesign.co.jp\/index.php?rest_route=\/wp\/v2\/pages\/355\/revisions\/424"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/athealthdesign.co.jp\/index.php?rest_route=\/wp\/v2\/media\/351"}],"wp:attachment":[{"href":"https:\/\/athealthdesign.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}