{"id":9547,"date":"2026-01-14T13:49:02","date_gmt":"2026-01-14T04:49:02","guid":{"rendered":"https:\/\/rakkokeyword.com\/techo\/?p=9547"},"modified":"2026-01-30T10:40:05","modified_gmt":"2026-01-30T01:40:05","slug":"tool-pomodoro-timer","status":"publish","type":"post","link":"https:\/\/rakkokeyword.com\/techo\/tool-pomodoro-timer\/","title":{"rendered":"\u30dd\u30e2\u30c9\u30fc\u30ed\u30bf\u30a4\u30de\u30fc"},"content":{"rendered":"\n<div id=\"pomo_v6_container\" class=\"pomo_v6_wrapper\">\n    \n    <div id=\"pomo_v6_main_display\" class=\"pomo_v6_card pomo_v6_main_content\">\n        <div id=\"pomo_v6_status_badge\" class=\"pomo_v6_status_badge\">READY<\/div>\n        \n        <div class=\"pomo_v6_task_container\">\n            <input type=\"text\" id=\"pomo_v6_task_input\" class=\"pomo_v6_task_input\" placeholder=\"\u4eca\u304b\u3089\u4f55\u306b\u96c6\u4e2d\u3057\u307e\u3059\u304b\uff1f\" maxlength=\"50\">\n            <div class=\"pomo_v6_task_underline\"><\/div>\n        <\/div>\n\n        <div class=\"pomo_v6_timer_circle\">\n            <svg viewBox=\"0 0 100 100\">\n                <circle cx=\"50\" cy=\"50\" r=\"46\" class=\"pomo_v6_circle_bg\" \/>\n                <circle id=\"pomo_v6_progress_bar\" cx=\"50\" cy=\"50\" r=\"46\" class=\"pomo_v6_circle_progress\" \/>\n            <\/svg>\n            <div id=\"pomo_v6_timer_number\" class=\"pomo_v6_time\">25:00<\/div>\n        <\/div>\n\n        <div class=\"pomo_v6_controls\">\n            <button id=\"pomo_v6_start_btn\" class=\"pomo_v6_btn_primary\">\u30b9\u30bf\u30fc\u30c8<\/button>\n            <button id=\"pomo_v6_reset_btn\" class=\"pomo_v6_btn_secondary\">\u30ea\u30bb\u30c3\u30c8<\/button>\n        <\/div>\n\n        <div class=\"pomo_v6_util_btns\">\n            <button id=\"pomo_v6_fullscreen_btn\" class=\"pomo_v6_btn_text normal_only\">\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3<\/button>\n            <button id=\"pomo_v6_settings_toggle_btn\" class=\"pomo_v6_btn_text normal_only\">\u8a2d\u5b9a<\/button>\n\n            <button id=\"pomo_v6_fs_exit_btn\" class=\"pomo_v6_btn_text fs_only\">\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u3092\u7d42\u4e86<\/button>\n            <button id=\"pomo_v6_fs_dark_btn\" class=\"pomo_v6_btn_text fs_only\">\ud83c\udf19<\/button>\n        <\/div>\n    <\/div>\n\n    <div id=\"pomo_v6_settings_panel\" class=\"pomo_v6_card pomo_v6_settings_panel\" style=\"display:none;\">\n        <div class=\"pomo_v6_grid\">\n            <div>\n                <p class=\"pomo_v6_label\">\u4f5c\u696d (\u5206)<\/p>\n                <input type=\"number\" id=\"pomo_v6_work_time\" value=\"25\" min=\"1\" max=\"999\" class=\"pomo_v6_input time_setting\">\n            <\/div>\n            <div>\n                <p class=\"pomo_v6_label\">\u4f11\u61a9 (\u5206)<\/p>\n                <input type=\"number\" id=\"pomo_v6_break_time\" value=\"5\" min=\"1\" max=\"999\" class=\"pomo_v6_input time_setting\">\n            <\/div>\n            <div>\n                <p class=\"pomo_v6_label\">\u9577\u4f11\u61a9 (\u5206)<\/p>\n                <input type=\"number\" id=\"pomo_v6_lbreak_time\" value=\"15\" min=\"1\" max=\"999\" class=\"pomo_v6_input time_setting\">\n            <\/div>\n            <div>\n                <p class=\"pomo_v6_label\">\u9577\u4f11\u61a9\u306e\u983b\u5ea6<\/p>\n                <input type=\"number\" id=\"pomo_v6_frequency\" value=\"4\" min=\"1\" max=\"99\" class=\"pomo_v6_input\">\n            <\/div>\n        <\/div>\n        \n        <div id=\"pomo_v6_apply_alert\" class=\"pomo_v6_apply_alert\" style=\"display:none;\">\n            <p>\u8a2d\u5b9a\u6642\u9593\u304c\u5909\u66f4\u3055\u308c\u307e\u3057\u305f<\/p>\n            <button id=\"pomo_v6_apply_btn\" class=\"pomo_v6_btn_apply\">\u8a2d\u5b9a\u3092\u9069\u7528\u3057\u3066\u30ea\u30bb\u30c3\u30c8<\/button>\n        <\/div>\n\n        <div class=\"pomo_v6_settings_flex\">\n            <div class=\"pomo_v6_control_group\">\n                <p class=\"pomo_v6_label\">\u97f3\u91cf<\/p>\n                <input type=\"range\" id=\"pomo_v6_volume\" min=\"0\" max=\"1\" step=\"0.1\" value=\"0.5\">\n            <\/div>\n            <div class=\"pomo_v6_checkbox_group\">\n                <label><input type=\"checkbox\" id=\"pomo_v6_ticking\" checked> \u79d2\u91dd\u97f3<\/label>\n                <label><input type=\"checkbox\" id=\"pomo_v6_autostart\" checked> \u30aa\u30fc\u30c8\u30b9\u30bf\u30fc\u30c8<\/label>\n                <label><input type=\"checkbox\" id=\"pomo_v6_ad_hide\"> \u5e83\u544a\u3092\u96a0\u3059<\/label>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <div id=\"pomo_v6_log_area\" class=\"pomo_v6_card pomo_v6_log_card\">\n        <div id=\"pomo_v6_log_list\" class=\"pomo_v6_log_list\">\n        <\/div>\n        <div class=\"pomo_v6_log_footer\">\n            <button id=\"pomo_v6_clear_log_btn\" class=\"pomo_v6_btn_text_danger\">\u30ed\u30b0\u3092\u6d88\u53bb<\/button>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n\/* --- \u5909\u6570\u5b9a\u7fa9 --- *\/\n:root {\n    --pomo-work-color: #13284B;\n    --pomo-break-color: #2e7d32;\n    --pomo-accent-color: var(--pomo-work-color);\n    --pomo-bg-color: #ffffff;\n    --pomo-text-color: #333333;\n    --pomo-card-bg: #ffffff;\n    --pomo-input-border: #dddddd;\n}\n\n\/* --- \u57fa\u672c\u30ec\u30a4\u30a2\u30a6\u30c8 --- *\/\n.pomo_v6_wrapper { \n    width: 100%; max-width: 720px; margin: 0 auto; \n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; \n    color: var(--pomo-text-color); line-height: 1.5; \n    background-color: transparent;\n    box-sizing: border-box;\n}\n.pomo_v6_card { \n    background: var(--pomo-card-bg); \n    padding: 30px; \n    margin-bottom: 2px; \n    transition: background 0.3s, color 0.3s;\n    border-radius: 8px;\n}\n.pomo_v6_main_content { text-align: center; position: relative; }\n\n\/* --- \u30c0\u30fc\u30af\u30e2\u30fc\u30c9\u5b9a\u7fa9 --- *\/\n.pomo_v6_wrapper.dark_mode {\n    --pomo-bg-color: #121212;\n    --pomo-text-color: #f0f0f0;\n    --pomo-card-bg: #1e1e1e;\n    --pomo-input-border: #444444;\n}\n.pomo_v6_wrapper.dark_mode .pomo_v6_card { box-shadow: 0 4px 12px rgba(0,0,0,0.5); }\n\n\/* \u5165\u529b\u6b04\u306e\u30c0\u30fc\u30af\u30e2\u30fc\u30c9\u5bfe\u5fdc\uff08\u5f37\u5236\u9069\u7528\uff09 *\/\n.pomo_v6_wrapper.dark_mode input[type=\"text\"],\n.pomo_v6_wrapper.dark_mode input[type=\"number\"],\n.pomo_v6_wrapper.dark_mode input[type=\"search\"] {\n    background-color: #2d2d2d !important;\n    color: #ffffff !important;\n    border-color: #555 !important;\n}\n.pomo_v6_wrapper.dark_mode input:focus {\n    border-color: #669df6 !important;\n    outline: none !important;\n}\n\n\/* --- \u30bf\u30b9\u30af\u5165\u529b --- *\/\n.pomo_v6_task_container { position: relative; max-width: 400px; margin: 0 auto 30px; }\n.pomo_v6_task_input {\n    width: 100%; border: none; background: transparent; \n    font-size: 20px; text-align: center; padding: 10px 0; outline: none; \n    color: var(--pomo-text-color);\n    transition: color 0.3s;\n}\n.pomo_v6_task_input::placeholder { color: #aaa; opacity: 0.6; }\n.pomo_v6_task_underline { position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: #eee; overflow: hidden; }\n.pomo_v6_wrapper.dark_mode .pomo_v6_task_underline { background: #444; }\n.pomo_v6_task_underline::after {\n    content: ''; position: absolute; left: 0; width: 100%; height: 100%;\n    background: var(--pomo-accent-color); transform: translateX(-100%); transition: transform 0.3s;\n}\n.pomo_v6_task_input:focus + .pomo_v6_task_underline::after { transform: translateX(0); }\n\n\/* --- \u30bf\u30a4\u30de\u30fcUI --- *\/\n.pomo_v6_status_badge { \n    font-size: 14px; font-weight: bold; letter-spacing: 2px; \n    color: var(--pomo-accent-color); \n    opacity: 0.9; margin-bottom: 10px; \n}\n.pomo_v6_wrapper.dark_mode .pomo_v6_status_badge { color: #8ab4f8; }\n.pomo_v6_wrapper.dark_mode.mode_break .pomo_v6_status_badge { color: #81c995; }\n\n.pomo_v6_timer_circle { position: relative; width: 240px; height: 240px; margin: 0 auto 30px; }\n.pomo_v6_circle_bg { fill: none; stroke: #f0f0f0; stroke-width: 3; }\n.pomo_v6_wrapper.dark_mode .pomo_v6_circle_bg { stroke: #333; }\n.pomo_v6_circle_progress {\n    fill: none; stroke: var(--pomo-accent-color); stroke-width: 3; stroke-linecap: round;\n    transform: rotate(-90deg); transform-origin: 50% 50%;\n    transition: stroke-dashoffset 0.3s linear, stroke 0.5s ease;\n}\n.pomo_v6_wrapper.dark_mode .pomo_v6_circle_progress { stroke: #669df6; }\n.pomo_v6_wrapper.dark_mode.mode_break .pomo_v6_circle_progress { stroke: #5bb974; }\n.pomo_v6_time { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 52px; font-weight: 200; font-variant-numeric: tabular-nums; }\n\n\/* --- \u30dc\u30bf\u30f3 --- *\/\n.pomo_v6_btn_primary { \n    background: var(--pomo-accent-color); color: #fff; border: none; \n    height: 50px; padding: 0 40px; border-radius: 25px; cursor: pointer; \n    font-size: 18px; font-weight: bold; transition: opacity 0.2s; \n}\n.pomo_v6_btn_primary:hover { opacity: 0.9; }\n.pomo_v6_wrapper.dark_mode .pomo_v6_btn_primary { background: #669df6; color: #121212; }\n.pomo_v6_wrapper.dark_mode.mode_break .pomo_v6_btn_primary { background: #5bb974; }\n\n.pomo_v6_btn_secondary { background: #eee; color: #333; border: none; height: 50px; padding: 0 20px; border-radius: 25px; cursor: pointer; margin-left: 10px; }\n.pomo_v6_util_btns { margin-top: 25px; display: flex; justify-content: center; gap: 10px; }\n.pomo_v6_btn_text { \n    background: transparent; border: 1px solid #ccc; color: #888; \n    padding: 6px 14px; border-radius: 4px; cursor: pointer; font-size: 12px; \n}\n.pomo_v6_btn_text_danger {\n    background: transparent; border: 1px solid #f5c6cb; color: #d9534f;\n    padding: 6px 14px; border-radius: 4px; cursor: pointer; font-size: 12px; \n}\n.pomo_v6_wrapper.dark_mode .pomo_v6_btn_text { border-color: #555; color: #aaa; }\n\n.fs_only { display: none; }\n.normal_only { display: inline-block; }\n\n\/* --- \u8a2d\u5b9a\u30d1\u30cd\u30eb --- *\/\n.pomo_v6_settings_panel { border-top: 1px solid #eee; margin-top: -2px; }\n.pomo_v6_wrapper.dark_mode .pomo_v6_settings_panel { border-top-color: #333; }\n.pomo_v6_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 20px; }\n.pomo_v6_label { font-size: 11px; font-weight: bold; margin-bottom: 5px; color: #888; }\n\n.pomo_v6_input { \n    width: 100%; \n    border: 1px solid var(--pomo-input-border); \n    padding: 8px; box-sizing: border-box; border-radius: 4px;\n    background: #ffffff; color: #333;\n}\n\n.pomo_v6_apply_alert {\n    background: rgba(255, 193, 7, 0.15); border: 1px solid #ffeeba;\n    padding: 10px; border-radius: 4px; margin-bottom: 20px;\n    display: flex; align-items: center; justify-content: space-between;\n}\n.pomo_v6_wrapper.dark_mode .pomo_v6_apply_alert { background: rgba(255, 193, 7, 0.1); border-color: #555; }\n.pomo_v6_apply_alert p { margin: 0; font-size: 12px; color: #856404; font-weight: bold; }\n.pomo_v6_wrapper.dark_mode .pomo_v6_apply_alert p { color: #d4a305; }\n.pomo_v6_btn_apply {\n    background: #ffc107; color: #333; border: none;\n    padding: 6px 12px; border-radius: 4px; font-size: 11px; font-weight: bold; cursor: pointer;\n}\n.pomo_v6_btn_apply:hover { opacity: 0.8; }\n\n.pomo_v6_settings_flex { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin-bottom: 15px; }\n\n\/* --- \u30ed\u30b0\u30a8\u30ea\u30a2 --- *\/\n.pomo_v6_log_card {\n    max-width: 400px;\n    margin-left: auto;\n    margin-right: auto;\n}\n\n.pomo_v6_log_list { max-height: 250px; overflow-y: auto; font-size: 13px; margin-bottom: 15px; }\n.pomo_v6_log_item { display: flex; justify-content: space-between; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid #eee; gap: 10px; }\n.pomo_v6_log_item > span:first-child { flex: 1; overflow-wrap: break-word; word-break: break-word; }\n.pomo_v6_log_item > span:last-child { flex-shrink: 0; min-width: 45px; text-align: right; white-space: nowrap; }\n.pomo_v6_wrapper.dark_mode .pomo_v6_log_item { border-bottom-color: #333; }\n.pomo_v6_log_footer { text-align: center; }\n\n\/* --- \u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u30e2\u30fc\u30c9\u8a2d\u5b9a --- *\/\n.pomo_v6_wrapper:fullscreen {\n    display: flex; flex-direction: column; justify-content: center; align-items: center;\n    background: var(--pomo-bg-color); height: 100vh; padding: 20px; overflow-y: auto;\n}\n.pomo_v6_wrapper:fullscreen .pomo_v6_card { box-shadow: none; background: transparent; }\n.pomo_v6_wrapper:fullscreen .pomo_v6_main_content { width: 100%; margin-bottom: 20px; padding: 0; }\n\n.pomo_v6_wrapper:fullscreen .fs_only { display: inline-block; }\n.pomo_v6_wrapper:fullscreen .normal_only { display: none; }\n.pomo_v6_wrapper:fullscreen .pomo_v6_settings_panel { display: none !important; }\n\n\/* \u2605\u2605\u2605 \u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u6642\u306e\u30ed\u30b0\u8868\u793a \u2605\u2605\u2605 *\/\n.pomo_v6_wrapper:fullscreen .pomo_v6_log_card { \n    display: block !important; \n    width: 100%; max-width: 500px;\n    margin-top: 20px;\n}\n\n\/* \u2605\u2605\u2605 \u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u6642\u306f\u30ed\u30b0\u3092\u6d88\u53bb\u30dc\u30bf\u30f3\u3092\u975e\u8868\u793a \u2605\u2605\u2605 *\/\n.pomo_v6_wrapper:fullscreen .pomo_v6_log_footer { \n    display: none !important; \n}\n\n.pomo_v6_wrapper:fullscreen .pomo_v6_util_btns { display: flex !important; }\n\n.pomo_v6_wrapper.dark_mode:fullscreen .pomo_v6_btn_text {\n    border-color: #555; color: #ccc;\n}\n\n\/* \u2605\u2605\u2605 \u5e83\u544a\u975e\u8868\u793a\u7528\u30af\u30e9\u30b9 \u2605\u2605\u2605 *\/\nbody.ad_hide_active .sticky-sidebar,\nbody.ad_hide_active .sticky-footer {\n    display: none !important;\n}\n\n@media (max-width: 500px) {\n    .pomo_v6_grid { grid-template-columns: repeat(2, 1fr); }\n    .pomo_v6_timer_circle { width: 200px; height: 200px; }\n    .pomo_v6_time { font-size: 42px; }\n}\n<\/style>\n\n<script>\n(function() {\n    let state = {\n        lastStartTime: null,\n        endTime: null,\n        timeLeft: 0,\n        totalDuration: 0,\n        mode: 'work',\n        sets: 0,\n        isRunning: false,\n        timerId: null,\n        audioCtx: null,\n        workLogs: [],\n        firstTick: false,\n        originalTitle: ''\n    };\n\n    const dom = {};\n    const ids = [\n        'container', 'main_display', 'start_btn', 'reset_btn', 'timer_number', 'status_badge', \n        'task_input', 'progress_bar', 'log_list', 'work_time', 'break_time', \n        'lbreak_time', 'frequency', 'volume', 'ticking', 'autostart', 'clear_log_btn', \n        'fullscreen_btn', 'settings_toggle_btn', 'settings_panel', 'fs_exit_btn',\n        'fs_dark_btn', 'apply_alert', 'apply_btn', 'ad_hide'\n    ];\n\n    document.addEventListener('DOMContentLoaded', () => {\n        \/\/ \u5143\u306e\u30bf\u30a4\u30c8\u30eb\u3092\u4fdd\u5b58\n        state.originalTitle = document.title;\n        \n        ids.forEach(id => dom[id] = document.getElementById('pomo_v6_' + id));\n        \n        const radius = dom.progress_bar.r.baseVal.value;\n        const circumference = 2 * Math.PI * radius;\n        dom.progress_bar.style.strokeDasharray = `${circumference} ${circumference}`;\n\n        loadState();\n\n        function initAudio() {\n            if (!state.audioCtx) state.audioCtx = new (window.AudioContext || window.webkitAudioContext)();\n            if (state.audioCtx.state === 'suspended') state.audioCtx.resume();\n        }\n\n        function playTone(freq, timeOffset, duration, volMod = 1) {\n            if (!state.audioCtx) return;\n            try {\n                const osc = state.audioCtx.createOscillator();\n                const gain = state.audioCtx.createGain();\n                osc.type = 'sine';\n                osc.frequency.setValueAtTime(freq, state.audioCtx.currentTime + timeOffset);\n                const baseVol = parseFloat(dom.volume.value) * volMod;\n                gain.gain.setValueAtTime(baseVol, state.audioCtx.currentTime + timeOffset);\n                gain.gain.exponentialRampToValueAtTime(0.001, state.audioCtx.currentTime + timeOffset + duration);\n                osc.connect(gain);\n                gain.connect(state.audioCtx.destination);\n                osc.start(state.audioCtx.currentTime + timeOffset);\n                osc.stop(state.audioCtx.currentTime + timeOffset + duration);\n            } catch(e) {}\n        }\n\n        function playArpeggio(notes, speed, vol) {\n            initAudio();\n            notes.forEach((freq, index) => {\n                playTone(freq, index * speed, 0.4, vol);\n            });\n        }\n\n        function playPhaseStartSound(mode) {\n            if (mode === 'work') {\n                playArpeggio([523.25, 659.25, 783.99, 1046.50], 0.1, 0.6); \n            } else {\n                playArpeggio([1046.50, 783.99, 659.25, 523.25], 0.12, 0.6); \n            }\n        }\n\n        function playTicking() {\n            if (state.firstTick) { state.firstTick = false; return; }\n            playTone(800, 0, 0.05, 0.1); \n        }\n\n        function saveState() {\n            const sevenDaysAgo = Date.now() - (7 * 24 * 60 * 60 * 1000);\n            state.workLogs = state.workLogs.filter(log => log.timestamp > sevenDaysAgo).slice(-100);\n\n            const data = {\n                workTime: dom.work_time.value,\n                breakTime: dom.break_time.value,\n                lbreakTime: dom.lbreak_time.value,\n                freq: dom.frequency.value,\n                vol: dom.volume.value,\n                ticking: dom.ticking.checked,\n                auto: dom.autostart.checked,\n                adHide: dom.ad_hide.checked,\n                logs: state.workLogs,\n            };\n            localStorage.setItem('pomo_v6_storage', JSON.stringify(data));\n        }\n\n        function loadState() {\n            const saved = localStorage.getItem('pomo_v6_storage');\n            let data = {};\n            if (saved) data = JSON.parse(saved);\n\n            dom.work_time.value = data.workTime || 25;\n            dom.break_time.value = data.breakTime || 5;\n            dom.lbreak_time.value = data.lbreakTime || 15;\n            dom.frequency.value = data.freq || 4;\n            dom.volume.value = data.vol || 0.5;\n            dom.ticking.checked = (data.ticking !== undefined) ? data.ticking : true;\n            dom.autostart.checked = (data.auto !== undefined) ? data.auto : true;\n            \n            dom.ad_hide.checked = (data.adHide !== undefined) ? data.adHide : false;\n            applyAdHide(dom.ad_hide.checked);\n\n            state.workLogs = data.logs || [];\n            \n            dom.container.classList.remove('dark_mode');\n            updateDarkBtnIcon(false);\n            \n            renderLogs();\n            switchMode('work', false);\n        }\n\n        function applyAdHide(shouldHide) {\n            if (shouldHide) {\n                document.body.classList.add('ad_hide_active');\n            } else {\n                document.body.classList.remove('ad_hide_active');\n            }\n        }\n\n        function renderLogs() {\n            if (state.workLogs.length === 0) {\n                dom.log_list.innerHTML = ''; \n                return;\n            }\n            \n            \/\/ \u2605\u2605\u2605 \u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u6642\u306f\u6700\u59273\u4ef6\u307e\u3067\u8868\u793a \u2605\u2605\u2605\n            const isFullscreen = document.fullscreenElement !== null;\n            const logsToShow = isFullscreen \n                ? state.workLogs.slice(-3).reverse() \n                : state.workLogs.slice().reverse();\n            \n            dom.log_list.innerHTML = logsToShow.map(log => `\n                <div class=\"pomo_v6_log_item\">\n                    <span>${escapeHtml(log.range)} <b>${escapeHtml(log.task)}<\/b><\/span>\n                    <span>${log.duration}\u5206<\/span>\n                <\/div>\n            `).join('');\n        }\n\n        function escapeHtml(str) {\n            const div = document.createElement('div');\n            div.textContent = str;\n            return div.innerHTML;\n        }\n\n        function updateDisplay() {\n            const s = Math.max(0, state.timeLeft);\n            const timeStr = `${Math.floor(s\/60).toString().padStart(2,'0')}:${(s%60).toString().padStart(2,'0')}`;\n            dom.timer_number.textContent = timeStr;\n            \n            \/\/ \u30bf\u30a4\u30de\u30fc\u52d5\u4f5c\u4e2d\u306e\u307f\u30bf\u30a4\u30c8\u30eb\u30bf\u30b0\u3092\u66f4\u65b0\n            if (state.isRunning) {\n                const task = dom.task_input.value.trim() || '\u4f5c\u696d\u4e2d';\n                document.title = `(${timeStr}) ${task}`;\n            }\n            \n            const ratio = state.totalDuration > 0 ? state.timeLeft \/ state.totalDuration : 0;\n            dom.progress_bar.style.strokeDashoffset = circumference - (ratio * circumference);\n        }\n\n        function switchMode(mode, playSound = true) {\n            state.mode = mode;\n            let mins = 25;\n            let label = \"\u4f5c\u696d\u4e2d\";\n            \n            const rootStyle = document.documentElement.style;\n            if (mode === 'work') {\n                mins = dom.work_time.value;\n                label = \"\u4f5c\u696d\u4e2d\";\n                rootStyle.setProperty('--pomo-accent-color', 'var(--pomo-work-color)');\n                dom.container.classList.remove('mode_break');\n                dom.container.classList.add('mode_work');\n            } else {\n                mins = (mode === 'break') ? dom.break_time.value : dom.lbreak_time.value;\n                label = (mode === 'break') ? \"\u4f11\u61a9\u4e2d\" : \"\u9577\u3044\u4f11\u61a9\u4e2d\";\n                rootStyle.setProperty('--pomo-accent-color', 'var(--pomo-break-color)');\n                dom.container.classList.remove('mode_work');\n                dom.container.classList.add('mode_break');\n            }\n            dom.start_btn.textContent = state.isRunning ? '\u4e00\u6642\u505c\u6b62' : (mode === 'work' ? '\u30b9\u30bf\u30fc\u30c8' : '\u4f11\u61a9\u3092\u958b\u59cb');\n\n            state.timeLeft = Math.max(1, parseInt(mins)) * 60;\n            state.totalDuration = state.timeLeft;\n            dom.status_badge.textContent = label;\n            updateDisplay();\n\n            if (playSound) playPhaseStartSound(mode);\n        }\n\n        function tick() {\n            if (!state.isRunning) return;\n            state.timeLeft = Math.round((state.endTime - Date.now()) \/ 1000);\n\n            if (state.timeLeft > 0) {\n                if (dom.ticking.checked) playTicking();\n                updateDisplay();\n                state.timerId = setTimeout(tick, 1000);\n            } else {\n                completePhase();\n            }\n        }\n\n        function recordWorkLog(endTimeObj) {\n            if (state.mode !== 'work' || !state.lastStartTime) return;\n\n            const start = state.lastStartTime;\n            const end = endTimeObj || new Date();\n            const durationMs = end.getTime() - start.getTime();\n            \n            const minutes = Math.floor(durationMs \/ 60000);\n            \n            if (minutes < 1) return;\n\n            const fmtDate = (d) => `${d.getMonth()+1}\/${d.getDate()}`;\n            const fmtTime = (d) => d.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'});\n            \n            const timeRange = `${fmtDate(start)} ${fmtTime(start)}~${fmtTime(end)}`;\n\n            const logEntry = {\n                timestamp: Date.now(),\n                range: timeRange,\n                task: dom.task_input.value.trim() || '\u7121\u984c\u306e\u30bf\u30b9\u30af',\n                duration: minutes\n            };\n\n            state.workLogs.push(logEntry);\n            saveState();\n            renderLogs();\n        }\n\n        function completePhase() {\n            if (state.mode === 'work') {\n                recordWorkLog(new Date());\n                state.sets++;\n                const isLongBreak = (state.sets % dom.frequency.value === 0);\n                switchMode(isLongBreak ? 'lbreak' : 'break', true);\n            } else {\n                switchMode('work', true);\n            }\n\n            state.isRunning = false;\n            state.lastStartTime = null;\n\n            if (dom.autostart.checked) {\n                state.isRunning = true;\n                setTimeout(() => { startTimerLogic(); }, 1500); \n            } else {\n                dom.start_btn.textContent = (state.mode === 'work') ? '\u30b9\u30bf\u30fc\u30c8' : '\u4f11\u61a9\u3092\u958b\u59cb';\n                \/\/ \u30aa\u30fc\u30c8\u30b9\u30bf\u30fc\u30c8\u304c\u30aa\u30d5\u306e\u5834\u5408\u306f\u5143\u306e\u30bf\u30a4\u30c8\u30eb\u306b\u623b\u3059\n                document.title = state.originalTitle;\n            }\n        }\n\n        function startTimerLogic() {\n            initAudio();\n            state.isRunning = true;\n            state.firstTick = true;\n            state.endTime = Date.now() + (state.timeLeft * 1000);\n            state.lastStartTime = new Date();\n            dom.start_btn.textContent = '\u4e00\u6642\u505c\u6b62';\n            tick();\n        }\n\n        dom.start_btn.addEventListener('click', () => {\n            if (state.isRunning) {\n                state.isRunning = false;\n                clearTimeout(state.timerId);\n                dom.start_btn.textContent = '\u518d\u958b';\n                \n                \/\/ \u30bf\u30a4\u30c8\u30eb\u3092\u5143\u306b\u623b\u3059\n                document.title = state.originalTitle;\n\n                if (state.mode === 'work') {\n                    recordWorkLog(new Date());\n                    state.lastStartTime = null;\n                }\n\n            } else {\n                if (state.totalDuration === state.timeLeft) {\n                    playPhaseStartSound(state.mode);\n                    startTimerLogic();\n                } else {\n                    startTimerLogic(); \n                }\n            }\n        });\n\n        dom.reset_btn.addEventListener('click', () => {\n            if (state.isRunning && state.mode === 'work') {\n                recordWorkLog(new Date());\n            }\n\n            state.isRunning = false;\n            clearTimeout(state.timerId);\n            state.sets = 0;\n            state.lastStartTime = null;\n            switchMode('work', false);\n            dom.start_btn.textContent = '\u30b9\u30bf\u30fc\u30c8';\n            \n            \/\/ \u30bf\u30a4\u30c8\u30eb\u3092\u5143\u306b\u623b\u3059\n            document.title = state.originalTitle;\n        });\n\n        dom.clear_log_btn.addEventListener('click', () => {\n            if (confirm('\u30ed\u30b0\u3092\u6d88\u53bb\u3057\u307e\u3059\u304b\uff1f')) {\n                state.workLogs = [];\n                saveState();\n                renderLogs();\n            }\n        });\n\n        dom.fullscreen_btn.addEventListener('click', toggleFullscreen);\n        dom.fs_exit_btn.addEventListener('click', toggleFullscreen);\n\n        function toggleFullscreen() {\n            if (!document.fullscreenElement) {\n                dom.container.requestFullscreen().catch(()=>{});\n            } else {\n                document.exitFullscreen();\n            }\n        }\n\n        \/\/ \u2605\u2605\u2605 \u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u5207\u308a\u66ff\u3048\u6642\u306b\u30ed\u30b0\u3092\u518d\u63cf\u753b \u2605\u2605\u2605\n        document.addEventListener('fullscreenchange', () => {\n            if (!document.fullscreenElement) {\n                dom.container.classList.remove('dark_mode');\n                updateDarkBtnIcon(false);\n            }\n            renderLogs(); \/\/ \u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u5207\u308a\u66ff\u3048\u6642\u306b\u30ed\u30b0\u3092\u518d\u63cf\u753b\n        });\n\n        dom.settings_toggle_btn.addEventListener('click', () => {\n            const panel = dom.settings_panel;\n            if (panel.style.display === 'none') {\n                panel.style.display = 'block';\n                dom.settings_toggle_btn.textContent = '\u8a2d\u5b9a\u3092\u3057\u307e\u3046';\n            } else {\n                panel.style.display = 'none';\n                dom.settings_toggle_btn.textContent = '\u8a2d\u5b9a';\n            }\n        });\n\n        function toggleDarkMode() {\n            dom.container.classList.toggle('dark_mode');\n            const isDark = dom.container.classList.contains('dark_mode');\n            updateDarkBtnIcon(isDark);\n        }\n        function updateDarkBtnIcon(isDark) {\n            dom.fs_dark_btn.textContent = isDark ? '\u2600' : '\ud83c\udf19';\n        }\n\n        dom.fs_dark_btn.addEventListener('click', toggleDarkMode);\n\n        const timeInputs = document.querySelectorAll('.time_setting');\n        timeInputs.forEach(input => {\n            input.addEventListener('input', () => {\n                dom.apply_alert.style.display = 'flex';\n            });\n        });\n\n        dom.apply_btn.addEventListener('click', () => {\n            saveState();\n            if (state.isRunning && state.mode === 'work') {\n                recordWorkLog(new Date());\n            }\n            switchMode(state.mode, false);\n            state.isRunning = false;\n            clearTimeout(state.timerId);\n            dom.start_btn.textContent = '\u30b9\u30bf\u30fc\u30c8';\n            state.lastStartTime = null;\n            dom.apply_alert.style.display = 'none';\n            \n            \/\/ \u30bf\u30a4\u30c8\u30eb\u3092\u5143\u306b\u623b\u3059\n            document.title = state.originalTitle;\n        });\n\n        [dom.frequency, dom.volume, dom.ticking, dom.autostart].forEach(el => {\n            el.addEventListener('change', saveState);\n        });\n\n        dom.ad_hide.addEventListener('change', () => {\n            applyAdHide(dom.ad_hide.checked);\n            saveState();\n        });\n    });\n})();\n<\/script>\n\n\n\n<p>\u3053\u306e\u30c4\u30fc\u30eb\u306f\u300125\u5206\u306e\u96c6\u4e2d\u30685\u5206\u306e\u4f11\u61a9\u3092\u7e70\u308a\u8fd4\u3059\u30dd\u30e2\u30c9\u30fc\u30ed\u30fb\u30c6\u30af\u30cb\u30c3\u30af\u3092\u5b9f\u8df5\u3067\u304d\u308b\u3001\u30bf\u30b9\u30af\u8a18\u9332\u6a5f\u80fd\u4ed8\u304d\u306e\u7121\u6599WEB\u30bf\u30a4\u30de\u30fc\u3067\u3059\u3002<br>\u9762\u5012\u306a\u767b\u9332\u3084\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u4e0d\u8981\u3067\u3001\u4eca\u306e\u30bf\u30b9\u30af\u3092\u5165\u529b\u3057\u3066\u30b9\u30bf\u30fc\u30c8\u3059\u308b\u3060\u3051\u3067\u3001\u3059\u3050\u306b\u96c6\u4e2d\u3067\u304d\u308b\u74b0\u5883\u304c\u6574\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-0\">\u3053\u306e\u30c4\u30fc\u30eb\u3067\u3067\u304d\u308b\u3053\u3068<\/h2>\n\n\n\n<p>\u3053\u306e\u30dd\u30e2\u30c9\u30fc\u30ed\u30bf\u30a4\u30de\u30fc\u306f\u3001\u5358\u306b\u6642\u9593\u3092\u8a08\u308b\u3060\u3051\u3067\u306a\u304f\u3001<strong>\u3042\u306a\u305f\u306e\u96c6\u4e2d\u529b\u3092\u6700\u5927\u9650\u306b\u5f15\u304d\u51fa\u3057\u3001\u4f5c\u696d\u306e\u6210\u679c\u3092\u53ef\u8996\u5316\u3059\u308b\u305f\u3081\u306b\u8a2d\u8a08\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u96c6\u4e2d\u3068\u4f11\u61a9\u306e\u81ea\u52d5\u7ba1\u7406<\/strong> <br>\u4f5c\u696d\u6642\u9593\uff08\u30c7\u30d5\u30a9\u30eb\u30c825\u5206\uff09\u3068\u4f11\u61a9\u6642\u9593\uff08\u30c7\u30d5\u30a9\u30eb\u30c85\u5206\uff09\u3092\u81ea\u52d5\u3067\u5207\u308a\u66ff\u3048\u307e\u3059\u3002\u6642\u9593\u306f\u81ea\u5206\u306e\u30da\u30fc\u30b9\u306b\u5408\u308f\u305b\u3066\u81ea\u7531\u306b\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u53ef\u80fd\u3067\u3059\u3002\u30aa\u30fc\u30c8\u30b9\u30bf\u30fc\u30c8\u6a5f\u80fd\u3092\u30aa\u30f3\u306b\u3059\u308c\u3070\u3001\u64cd\u4f5c\u306e\u624b\u9593\u306a\u304f\u30ea\u30ba\u30e0\u3088\u304f\u4f5c\u696d\u3092\u7d9a\u3051\u3089\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u4f5c\u696d\u30ed\u30b0\u306e\u81ea\u52d5\u8a18\u9332<\/strong> <br>\u300c\u4f55\u306e\u4f5c\u696d\u3092\u300d\u300c\u4f55\u5206\u884c\u3063\u305f\u304b\u300d\u304c\u81ea\u52d5\u7684\u306b\u30ed\u30b0\u3068\u3057\u3066\u30ea\u30b9\u30c8\u5316\u3055\u308c\u307e\u3059\u3002<strong>\u904e\u53bb7\u65e5\u9593\u306e\u5c65\u6b74<\/strong>\u304c\u6b8b\u308b\u305f\u3081\u3001\u81ea\u5206\u304c\u3069\u308c\u3060\u3051\u9811\u5f35\u3063\u305f\u304b\u3092\u632f\u308a\u8fd4\u308b\u3053\u3068\u304c\u3067\u304d\u3001\u30e2\u30c1\u30d9\u30fc\u30b7\u30e7\u30f3\u7dad\u6301\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002<br>\u203b\u4f5c\u696d\u3092\u9014\u4e2d\u4e2d\u65ad\u3057\u305f\u5834\u5408\u3067\u3082\u30011\u5206\u4ee5\u4e0a\u4f5c\u696d\u3057\u3066\u3044\u308c\u3070\u4f5c\u696d\u30ed\u30b0\u306b\u8a18\u9332\u3055\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u6ca1\u5165\u30e2\u30fc\u30c9\uff08\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\uff09\u3067\u306e\u96c6\u4e2d<\/strong> <br><strong>\u30dc\u30bf\u30f3\u4e00\u3064\u3067\u753b\u9762\u3044\u3063\u3071\u3044\u306b\u30bf\u30a4\u30de\u30fc\u3092\u8868\u793a\u3057\u3001\u30d6\u30e9\u30a6\u30b6\u306e\u4ed6\u306e\u60c5\u5831\u3084\u8a98\u60d1\u3092\u906e\u65ad\u3067\u304d\u307e\u3059\u3002<\/strong><br>\u4f59\u8a08\u306a\u60c5\u5831\u304c\u5165\u3089\u306a\u3044\u305f\u3081\u3001\u76ee\u306e\u524d\u306e\u30bf\u30b9\u30af\u3060\u3051\u306b\u6ca1\u982d\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u96c6\u4e2d\u529b\u3092\u9ad8\u3081\u308b\u30b5\u30a6\u30f3\u30c9\u6a5f\u80fd<\/strong> <br>\u79d2\u91dd\u306e\u97f3\u3084\u3001\u4f5c\u696d\u30fb\u4f11\u61a9\u306e\u5207\u308a\u66ff\u3048\u97f3\u3092\u518d\u751f\u3057\u307e\u3059\u3002\u8074\u899a\u306b\u9069\u5ea6\u306a\u523a\u6fc0\u3092\u4e0e\u3048\u308b\u3053\u3068\u3067\u3001\u7121\u97f3\u72b6\u614b\u3088\u308a\u3082\u96c6\u4e2d\u72b6\u614b\u306b\u5165\u308a\u3084\u3059\u304f\u306a\u308b\u52b9\u679c\uff08\u30c7\u30c3\u30c9\u30e9\u30a4\u30f3\u52b9\u679c\uff09\u3092\u72d9\u3063\u3066\u3044\u307e\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-1\">\u3053\u306e\u30c4\u30fc\u30eb\u3067\u53d6\u5f97\u3059\u308b\u60c5\u5831\u306e\u57fa\u790e\u77e5\u8b58<\/h2>\n\n\n\n<p>\u3053\u306e\u30c4\u30fc\u30eb\u3092\u5229\u7528\u3059\u308b\u4e0a\u3067\u77e5\u3063\u3066\u304a\u304f\u3068\u4fbf\u5229\u306a\u300c\u30dd\u30e2\u30c9\u30fc\u30ed\u30fb\u30c6\u30af\u30cb\u30c3\u30af\u300d\u3068\u300c\u30c7\u30fc\u30bf\u4fdd\u5b58\u300d\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u30dd\u30e2\u30c9\u30fc\u30ed\u30fb\u30c6\u30af\u30cb\u30c3\u30af\u3068\u306f<\/strong> <br>1980\u5e74\u4ee3\u306b\u8003\u6848\u3055\u308c\u305f\u6642\u9593\u7ba1\u7406\u8853\u3067\u3059\u3002\u300c25\u5206\u306e\u4f5c\u696d\uff0b5\u5206\u306e\u4f11\u61a9\u300d\u30921\u30bb\u30c3\u30c8\uff081\u30dd\u30e2\u30c9\u30fc\u30ed\uff09\u3068\u3057\u30014\u30bb\u30c3\u30c8\u3054\u3068\u306b\u9577\u3081\u306e\u4f11\u61a9\uff0815\u5206\u301c30\u5206\uff09\u3092\u3068\u308a\u307e\u3059\u3002\u77ed\u6642\u9593\u306b\u533a\u5207\u308b\u3053\u3068\u3067\u96c6\u4e2d\u529b\u3092\u9ad8\u3044\u72b6\u614b\u3067\u7dad\u6301\u3057\u3001\u75b2\u308c\u3092\u6e9c\u3081\u305a\u306b\u751f\u7523\u6027\u3092\u4e0a\u3052\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30c7\u30fc\u30bf\u306e\u4fdd\u5b58\u306b\u3064\u3044\u3066<\/strong> <br>\u3053\u306e\u30c4\u30fc\u30eb\u306e\u8a2d\u5b9a\u3084\u4f5c\u696d\u30ed\u30b0\u306f\u3001\u30b5\u30fc\u30d0\u30fc\u3067\u306f\u306a\u304f\u3001\u304a\u4f7f\u3044\u306e\u30d6\u30e9\u30a6\u30b6\uff08\u30ed\u30fc\u30ab\u30eb\u30b9\u30c8\u30ec\u30fc\u30b8\uff09\u306b\u81ea\u52d5\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u4f1a\u54e1\u767b\u9332\u306a\u3069\u306f\u4e0d\u8981\u3067\u3001\u30d6\u30e9\u30a6\u30b6\u3092\u9589\u3058\u3066\u3082\u6b21\u56de\u30a2\u30af\u30bb\u30b9\u6642\u306b\u524d\u56de\u306e\u7d9a\u304d\u304b\u3089\u5229\u7528\u3067\u304d\u307e\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-2\">\u3053\u306e\u30c4\u30fc\u30eb\u304c\u5f79\u7acb\u3064\u3068\u304d\u306f\u3069\u3093\u306a\u3068\u304d\uff1f<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u53d7\u9a13\u52c9\u5f37\u3084\u8cc7\u683c\u8a66\u9a13\u306e\u5b66\u7fd2\u306b<\/strong> <br>\u904e\u53bb\u554f\u6f14\u7fd2\u3084\u6697\u8a18\u306a\u3069\u3001\u6642\u9593\u3092\u533a\u5207\u3063\u3066\u96c6\u4e2d\u3057\u305f\u3044\u6642\u306b\u6700\u9069\u3067\u3059\u3002\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u306b\u3059\u308b\u3053\u3068\u3067\u3001\u30b9\u30de\u30db\u3084\u30cd\u30c3\u30c8\u30b5\u30fc\u30d5\u30a3\u30f3\u306e\u8a98\u60d1\u3092\u65ad\u3061\u5207\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30c6\u30ec\u30ef\u30fc\u30af\u3084\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u306e\u4f5c\u696d\u7ba1\u7406\u306b<\/strong> <br>\u81ea\u5b85\u4f5c\u696d\u3067\u30c0\u30e9\u30c0\u30e9\u3057\u3066\u3057\u307e\u3044\u304c\u3061\u306a\u6642\u3001\u30bf\u30a4\u30de\u30fc\u3092\u52d5\u304b\u3059\u3053\u3068\u3067\u5f37\u5236\u7684\u306b\u4ed5\u4e8b\u30e2\u30fc\u30c9\u3078\u5207\u308a\u66ff\u3048\u3089\u308c\u307e\u3059\u3002\u4f55\u306b\u4f55\u5206\u96c6\u4e2d\u3057\u305f\u304b\u306e\u4f5c\u696d\u30ed\u30b0\u304c\u6b8b\u308b\u305f\u3081\u3001\u65e5\u5831\u4f5c\u6210\u306e\u88dc\u52a9\u3068\u3057\u3066\u3082\u6d3b\u7528\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u300c\u3042\u3068\u5c11\u3057\u300d\u306e\u8ffd\u3044\u8fbc\u307f\u4f5c\u696d\u306b<\/strong> <br>\u30bf\u30b9\u30af\u540d\u3092\u5165\u529b\u3057\u3066\u30b9\u30bf\u30fc\u30c8\u3059\u308b\u3053\u3068\u3067\u3001\u300c\u3053\u306e25\u5206\u3060\u3051\u306f\u3053\u306e\u30bf\u30b9\u30af\u306b\u96c6\u4e2d\u3059\u308b\u300d\u3068\u3044\u3046\u5ba3\u8a00\u52b9\u679c\u304c\u751f\u307e\u308c\u3001\u7de0\u3081\u5207\u308a\u524d\u306e\u8ffd\u3044\u8fbc\u307f\u4f5c\u696d\u304c\u6357\u308a\u307e\u3059\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-3\">\u52b9\u7387\u7684\u306b\u4f7f\u3046\u305f\u3081\u306e\u8a2d\u5b9a\u306e\u30b3\u30c4<\/h2>\n\n\n\n<p>\u3053\u306e\u30c4\u30fc\u30eb\u306f\u3001\u3042\u306a\u305f\u306e\u4f5c\u696d\u30b9\u30bf\u30a4\u30eb\u306b\u5408\u308f\u305b\u3066\u7d30\u304b\u304f\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u97f3\u304c\u6c17\u306b\u306a\u308b\u5834\u5408<\/strong> <br>\u56f3\u66f8\u9928\u3084\u30ab\u30d5\u30a7\u3067\u306e\u5229\u7528\u6642\u306f\u3001\u8a2d\u5b9a\u753b\u9762\u304b\u3089\u97f3\u91cf\u3092\u30bc\u30ed\u306b\u3059\u308b\u304b\u3001\u79d2\u91dd\u97f3\u306e\u30c1\u30a7\u30c3\u30af\u3092\u5916\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/li>\n\n\n\n<li><strong>\u9577\u6642\u9593\u96c6\u4e2d\u3057\u305f\u3044\u5834\u5408<\/strong> <br>\u30c7\u30d5\u30a9\u30eb\u30c8\u306f25\u5206\u3067\u3059\u304c\u3001\u81ea\u5206\u304c\u6700\u3082\u96c6\u4e2d\u3067\u304d\u308b\u6642\u9593\uff08\u4f8b\u3048\u307050\u5206\u308490\u5206\uff09\u306b\u5909\u66f4\u3057\u3066\u5229\u7528\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002<\/li>\n\n\n\n<li><strong>\u30ed\u30b0\u3092\u30ea\u30bb\u30c3\u30c8\u3057\u305f\u3044\u5834\u5408<\/strong> <br>\u65b0\u3057\u3044\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3084\u9031\u306e\u59cb\u307e\u308a\u306a\u3069\u3001\u6c17\u6301\u3061\u3092\u5207\u308a\u66ff\u3048\u305f\u3044\u6642\u306f\u8a2d\u5b9a\u753b\u9762\u306e\u300c\u30ed\u30b0\u3092\u6d88\u53bb\u300d\u30dc\u30bf\u30f3\u304b\u3089\u5c65\u6b74\u3092\u30af\u30ea\u30a2\u3067\u304d\u307e\u3059\u3002<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>READY 25:00 \u30b9\u30bf\u30fc\u30c8 \u30ea\u30bb\u30c3\u30c8 \u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3 \u8a2d\u5b9a \u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u3092\u7d42\u4e86 \ud83c\udf19 \u4f5c\u696d (\u5206) \u4f11\u61a9 (\u5206) \u9577\u4f11\u61a9 (\u5206) \u9577\u4f11\u61a9\u306e\u983b\u5ea6 \u8a2d\u5b9a\u6642\u9593\u304c\u5909\u66f4\u3055\u308c\u307e\u3057\u305f \u8a2d\u5b9a\u3092\u9069\u7528\u3057\u3066\u30ea\u30bb\u30c3\u30c8 \u97f3\u91cf \u79d2\u91dd\u97f3 \u30aa\u30fc\u30c8 &#8230; <\/p>\n","protected":false},"author":4,"featured_media":9569,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,39],"tags":[],"class_list":{"0":"post-9547","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tool","8":"category-life","9":"entry"},"_links":{"self":[{"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/posts\/9547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/comments?post=9547"}],"version-history":[{"count":16,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/posts\/9547\/revisions"}],"predecessor-version":[{"id":9570,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/posts\/9547\/revisions\/9570"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/media\/9569"}],"wp:attachment":[{"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/media?parent=9547"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/categories?post=9547"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rakkokeyword.com\/techo\/wp-json\/wp\/v2\/tags?post=9547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}