{"id":314,"date":"2026-03-28T19:35:34","date_gmt":"2026-03-28T10:35:34","guid":{"rendered":"https:\/\/tool-laboratory.com\/?p=314"},"modified":"2026-03-28T19:35:35","modified_gmt":"2026-03-28T10:35:35","slug":"sakura-bloom-checker","status":"publish","type":"post","link":"https:\/\/tool-laboratory.com\/en\/sakura-bloom-checker\/","title":{"rendered":"\u685c\u958b\u82b1\u4e88\u60f3\u30c1\u30a7\u30c3\u30ab\u30fc\uff08\u5730\u57df\u691c\u7d22\uff0b\u4e00\u89a7\uff09"},"content":{"rendered":"\n<div class=\"tool-wrap\">\n  <div class=\"tool-card\">\n    <h2>\ud83c\udf38 \u685c\u958b\u82b1\u4e88\u60f3<\/h2>\n\n    <div class=\"input-group\">\n      <input type=\"text\" id=\"searchInput\" placeholder=\"\u5730\u57df\u540d\u3067\u691c\u7d22\uff08\u4f8b\uff1a\u6771\u4eac\uff09\">\n      <button id=\"locationBtn\">\ud83d\udccd<\/button>\n    <\/div>\n\n    <select id=\"sortSelect\">\n      <option value=\"early\">\u958b\u82b1\u304c\u65e9\u3044\u9806<\/option>\n      <option value=\"late\">\u958b\u82b1\u304c\u9045\u3044\u9806<\/option>\n    <\/select>\n\n    <button id=\"searchBtn\" class=\"main-btn\">\u691c\u7d22\u3059\u308b<\/button>\n\n    <div id=\"result\" class=\"result-grid\"><\/div>\n  <\/div>\n<\/div>\n\n<style>\n.tool-wrap {\n  padding: 16px;\n}\n\n.tool-card {\n  background: #fff;\n  padding: 20px;\n  border-radius: 16px;\n  box-shadow: 0 8px 24px rgba(0,0,0,0.08);\n  margin: auto;\n  max-width: 720px;\n}\n\n\/* PC\u3067\u5e83\u3052\u308b *\/\n@media (min-width: 768px) {\n  .tool-card {\n    max-width: 900px;\n    padding: 28px;\n  }\n}\n\n.tool-card h2 {\n  text-align: center;\n  margin-bottom: 16px;\n}\n\n.input-group {\n  display: flex;\n  gap: 8px;\n}\n\n.input-group input {\n  flex: 1;\n  padding: 14px;\n  border-radius: 10px;\n  border: 1px solid #ddd;\n  font-size: 16px;\n}\n\n.input-group button {\n  width: 60px;\n  border-radius: 10px;\n  border: none;\n  background: #eee;\n  font-size: 18px;\n}\n\nselect {\n  width: 100%;\n  padding: 14px;\n  margin-top: 10px;\n  border-radius: 10px;\n  border: 1px solid #ddd;\n}\n\n.main-btn {\n  width: 100%;\n  padding: 16px;\n  margin-top: 12px;\n  border-radius: 12px;\n  border: none;\n  background: #ff6b81;\n  color: #fff;\n  font-size: 16px;\n  font-weight: bold;\n}\n\n\/* \u7d50\u679c\u30ab\u30fc\u30c9 *\/\n.result-grid {\n  margin-top: 18px;\n  display: grid;\n  gap: 12px;\n}\n\n\/* PC\u306f2\u30ab\u30e9\u30e0 *\/\n@media (min-width: 768px) {\n  .result-grid {\n    grid-template-columns: 1fr 1fr;\n  }\n}\n\n.result-card {\n  padding: 16px;\n  border-radius: 12px;\n  background: #fafafa;\n  border: 1px solid #eee;\n}\n\n.result-card strong {\n  font-size: 18px;\n}\n\n.small {\n  font-size: 13px;\n  color: #666;\n}\n<\/style>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n  const btn = document.getElementById(\"searchBtn\");\n  const locBtn = document.getElementById(\"locationBtn\");\n  const result = document.getElementById(\"result\");\n\n  const data = [\n    {area:\"\u6771\u4eac\", date:\"2026-03-24\"},\n    {area:\"\u5927\u962a\", date:\"2026-03-27\"},\n    {area:\"\u798f\u5ca1\", date:\"2026-03-22\"},\n    {area:\"\u672d\u5e4c\", date:\"2026-04-25\"},\n    {area:\"\u540d\u53e4\u5c4b\", date:\"2026-03-25\"}\n  ];\n\n  function render(list) {\n    if (!list.length) {\n      result.innerHTML = \"\u8a72\u5f53\u3059\u308b\u5730\u57df\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\";\n      return;\n    }\n\n    result.innerHTML = \"\";\n\n    list.forEach(d=>{\n      const today = new Date();\n      const bloom = new Date(d.date);\n      const diff = Math.ceil((bloom - today) \/ (1000*60*60*24));\n\n      result.innerHTML += `\n        <div class=\"result-card\">\n          <strong>${d.area}<\/strong><br>\n          \u958b\u82b1\u4e88\u60f3\uff1a${d.date}<br>\n          <span class=\"small\">\n            ${diff > 0 ? \"\u3042\u3068 \" + diff + \"\u65e5\" : \"\u958b\u82b1\u4e2d\u307e\u305f\u306f\u7d42\u4e86\"}\n          <\/span>\n        <\/div>\n      `;\n    });\n  }\n\n  btn.addEventListener(\"click\", () => {\n    const keyword = document.getElementById(\"searchInput\").value;\n    const sort = document.getElementById(\"sortSelect\").value;\n\n    let filtered = data.filter(d => d.area.includes(keyword));\n\n    if (sort === \"early\") {\n      filtered.sort((a,b)=> new Date(a.date) - new Date(b.date));\n    } else {\n      filtered.sort((a,b)=> new Date(b.date) - new Date(a.date));\n    }\n\n    render(filtered);\n  });\n\n  locBtn.addEventListener(\"click\", () => {\n    if (!navigator.geolocation) {\n      result.innerHTML = \"\u4f4d\u7f6e\u60c5\u5831\u304c\u4f7f\u3048\u307e\u305b\u3093\";\n      return;\n    }\n\n    result.innerHTML = \"\u53d6\u5f97\u4e2d...\";\n\n    navigator.geolocation.getCurrentPosition(() => {\n      const tokyo = data.filter(d => d.area === \"\u6771\u4eac\");\n      render(tokyo);\n    }, () => {\n      result.innerHTML = \"\u4f4d\u7f6e\u60c5\u5831\u306e\u53d6\u5f97\u306b\u5931\u6557\u3057\u307e\u3057\u305f\";\n    });\n  });\n});\n<\/script>\n\n\n\n<p>\u685c\u306e\u958b\u82b1\u6642\u671f\u3092\u77e5\u308a\u305f\u3044\u3051\u3069\u3001\u300c\u7d50\u5c40\u3044\u3064\u54b2\u304f\u306e\uff1f\u300d\u3068\u8ff7\u3063\u305f\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u304b\uff1f\u3053\u306e\u30c4\u30fc\u30eb\u3067\u306f\u3001\u5730\u57df\u3054\u3068\u306e\u685c\u306e\u958b\u82b1\u4e88\u60f3\u65e5\u3092\u3059\u3050\u306b\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4f7f\u3044\u65b9\u306f\u3068\u3066\u3082\u7c21\u5358\u3067\u3059\u3002\u4e0a\u306e\u691c\u7d22\u6b04\u306b\u300c\u6771\u4eac\u300d\u300c\u5927\u962a\u300d\u306a\u3069\u306e\u5730\u57df\u540d\u3092\u5165\u529b\u3059\u308b\u3060\u3051\u3067\u3001\u958b\u82b1\u4e88\u60f3\u65e5\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002\u3055\u3089\u306b\u300c\u958b\u82b1\u304c\u65e9\u3044\u9806\u300d\u300c\u9045\u3044\u9806\u300d\u3067\u4e26\u3073\u66ff\u3048\u308b\u3053\u3068\u3082\u3067\u304d\u308b\u306e\u3067\u3001\u65c5\u884c\u3084\u304a\u82b1\u898b\u306e\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3092\u7acb\u3066\u308b\u3068\u304d\u306b\u3082\u5f79\u7acb\u3061\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u307e\u305f\u3001\u73fe\u5728\u5730\u304b\u3089\u691c\u7d22\u3059\u308b\u6a5f\u80fd\u3092\u4f7f\u3048\u3070\u3001\u81ea\u5206\u306e\u3044\u308b\u5834\u6240\u306b\u8fd1\u3044\u958b\u82b1\u60c5\u5831\u3082\u3059\u3050\u306b\u30c1\u30a7\u30c3\u30af\u3067\u304d\u307e\u3059\u3002\u300c\u4eca\u3069\u3053\u3067\u685c\u304c\u898b\u3089\u308c\u308b\u306e\u304b\u300d\u3092\u77e5\u308a\u305f\u3044\u3068\u304d\u306b\u4fbf\u5229\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u8868\u793a\u3055\u308c\u308b\u60c5\u5831\u306b\u306f\u300c\u958b\u82b1\u307e\u3067\u3042\u3068\u4f55\u65e5\u304b\u300d\u3082\u542b\u307e\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u30bf\u30a4\u30df\u30f3\u30b0\u3092\u9003\u3055\u305a\u306b\u304a\u82b1\u898b\u306e\u8a08\u753b\u3092\u7acb\u3066\u3089\u308c\u307e\u3059\u3002\u4f8b\u3048\u3070\u300c\u3042\u30683\u65e5\u300d\u3068\u8868\u793a\u3055\u308c\u3066\u3044\u308c\u3070\u3001\u9031\u672b\u306b\u3061\u3087\u3046\u3069\u898b\u9803\u306b\u306a\u308b\u53ef\u80fd\u6027\u304c\u9ad8\u3044\u3068\u5224\u65ad\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u685c\u306e\u958b\u82b1\u306f\u5929\u6c17\u3084\u6c17\u6e29\u306b\u3088\u3063\u3066\u524d\u5f8c\u3059\u308b\u305f\u3081\u3001\u3053\u307e\u3081\u306b\u30c1\u30a7\u30c3\u30af\u3059\u308b\u3053\u3068\u304c\u5927\u5207\u3067\u3059\u3002\u3053\u306e\u30c4\u30fc\u30eb\u3092\u4f7f\u3048\u3070\u3001\u6bce\u56de\u691c\u7d22\u3059\u308b\u624b\u9593\u306a\u304f\u3001\u3059\u3050\u306b\u6700\u65b0\u306e\u76ee\u5b89\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u300c\u3044\u3064\u884c\u3051\u3070\u3044\u3044\u304b\u5206\u304b\u3089\u306a\u3044\u300d\u300c\u898b\u9803\u3092\u9003\u3057\u305f\u304f\u306a\u3044\u300d\u3068\u3044\u3046\u65b9\u306f\u3001\u305c\u3072\u6d3b\u7528\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002\u30b7\u30f3\u30d7\u30eb\u306a\u64cd\u4f5c\u3067\u3001\u8ab0\u3067\u3082\u3059\u3050\u306b\u4f7f\u3048\u308b\u3088\u3046\u306b\u8a2d\u8a08\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u82b1\u898b\u306e\u30d9\u30b9\u30c8\u30bf\u30a4\u30df\u30f3\u30b0\u3092\u9003\u3055\u305a\u3001\u6e80\u958b\u306e\u685c\u3092\u697d\u3057\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ud83c\udf38 \u685c\u958b\u82b1\u4e88\u60f3 \ud83d\udccd \u958b\u82b1\u304c\u65e9\u3044\u9806\u958b\u82b1\u304c\u9045\u3044\u9806 \u691c\u7d22\u3059\u308b \u685c\u306e\u958b\u82b1\u6642\u671f\u3092\u77e5\u308a\u305f\u3044\u3051\u3069\u3001\u300c\u7d50\u5c40\u3044\u3064\u54b2\u304f\u306e\uff1f\u300d\u3068\u8ff7\u3063\u305f\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u304b\uff1f\u3053\u306e\u30c4\u30fc\u30eb\u3067\u306f\u3001\u5730\u57df\u3054\u3068\u306e\u685c\u306e\u958b\u82b1\u4e88\u60f3\u65e5\u3092\u3059\u3050\u306b\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002 \u4f7f\u3044\u65b9\u306f\u3068\u3066\u3082\u7c21\u5358\u3067\u3059\u3002 &#8230; <a title=\"\u685c\u958b\u82b1\u4e88\u60f3\u30c1\u30a7\u30c3\u30ab\u30fc\uff08\u5730\u57df\u691c\u7d22\uff0b\u4e00\u89a7\uff09\" class=\"read-more\" href=\"https:\/\/tool-laboratory.com\/en\/sakura-bloom-checker\/\" aria-label=\"Read more about \u685c\u958b\u82b1\u4e88\u60f3\u30c1\u30a7\u30c3\u30ab\u30fc\uff08\u5730\u57df\u691c\u7d22\uff0b\u4e00\u89a7\uff09\">Read more<\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-314","post","type-post","status-publish","format-standard","hentry","category-house-tools"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/tool-laboratory.com\/en\/wp-json\/wp\/v2\/posts\/314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tool-laboratory.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tool-laboratory.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tool-laboratory.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tool-laboratory.com\/en\/wp-json\/wp\/v2\/comments?post=314"}],"version-history":[{"count":1,"href":"https:\/\/tool-laboratory.com\/en\/wp-json\/wp\/v2\/posts\/314\/revisions"}],"predecessor-version":[{"id":316,"href":"https:\/\/tool-laboratory.com\/en\/wp-json\/wp\/v2\/posts\/314\/revisions\/316"}],"wp:attachment":[{"href":"https:\/\/tool-laboratory.com\/en\/wp-json\/wp\/v2\/media?parent=314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tool-laboratory.com\/en\/wp-json\/wp\/v2\/categories?post=314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tool-laboratory.com\/en\/wp-json\/wp\/v2\/tags?post=314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}