{"id":16,"date":"2026-05-25T20:04:24","date_gmt":"2026-05-25T11:04:24","guid":{"rendered":"https:\/\/tokyoinmu-u.jp\/yajusai\/?page_id=16"},"modified":"2026-06-19T23:44:04","modified_gmt":"2026-06-19T14:44:04","slug":"yajutei","status":"publish","type":"page","link":"https:\/\/tokyoinmu-u.jp\/yajusai\/","title":{"rendered":"\u8056\u5730\u5de1\u793c"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"16\" class=\"elementor elementor-16\">\n\t\t\t\t<div class=\"elementor-element elementor-element-24cf62a e-con-full e-flex e-con e-parent\" data-id=\"24cf62a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" class=\"e-image-base e-33532f4-753ac85\" data-interaction-id=\"33532f4\" id=\"12\" src=\"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/481862c0935fa0f4770edd27a390092c.jpg\" width=\"620\" height=\"420\" srcset=\"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/481862c0935fa0f4770edd27a390092c.jpg 620w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/481862c0935fa0f4770edd27a390092c-300x203.jpg 300w\" alt=\"\"\/>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-18ed96f e-con-full e-flex e-con e-parent\" data-id=\"18ed96f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a877a60 elementor-widget elementor-widget-html\" data-id=\"a877a60\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n#seichi-wrap { padding: 2rem 1rem; text-align: center; }\r\n\r\n#circle-btn {\r\n  width: 260px; height: 260px; border-radius: 50%;\r\n  background-color: #A1736B !important;\r\n  display: flex; flex-direction: column;\r\n  align-items: center; justify-content: center;\r\n  margin: 0 auto 1.5rem;\r\n  padding: 1.2rem; box-sizing: border-box;\r\n  cursor: pointer; border: none;\r\n  transition: transform 0.12s, filter 0.12s;\r\n}\r\n#circle-btn:hover:not(.done) { transform: scale(1.04); filter: brightness(1.1); }\r\n#circle-btn:active:not(.done) { transform: scale(0.97); }\r\n#circle-btn.done { cursor: default; filter: brightness(0.88); }\r\n\r\n.txt {\r\n  color: #ffffff; font-weight: 500;\r\n  pointer-events: none;\r\n  text-shadow: 0 1px 3px rgba(0,0,0,0.4);\r\n}\r\n#lbl-top    { font-size: 15px; line-height: 1.5; }\r\n#count-num  { font-size: 40px; line-height: 1.1; }\r\n#lbl-bottom { font-size: 15px; line-height: 1.5; }\r\n#lbl-seichi {\r\n  font-size: 26px; font-weight: 700; line-height: 1.4;\r\n  margin-top: 10px; pointer-events: none;\r\n  color: #ffffff; text-shadow: 0 1px 3px rgba(0,0,0,0.4);\r\n}\r\n#already-msg { font-size: 13px; color: #888; min-height: 20px; }\r\n\r\n#confetti-canvas {\r\n  position: fixed; top: 0; left: 0;\r\n  width: 100%; height: 100%;\r\n  pointer-events: none; z-index: 9999;\r\n}\r\n\r\n#video-wrap {\r\n  display: none;\r\n  width: 260px;\r\n  margin: 0 auto 1.5rem;\r\n}\r\n#video-wrap.active { display: block; }\r\n#seichi-video {\r\n  width: 100%;\r\n  border-radius: 8px;\r\n}\r\n\r\n#milestone-section {\r\n  margin: 2rem auto; max-width: 500px;\r\n  text-align: left;\r\n}\r\n#milestone-section h3 {\r\n  font-size: 16px; font-weight: 700;\r\n  margin-bottom: 0.8rem; color: #A1736B;\r\n}\r\n.milestone-item {\r\n  display: flex; justify-content: space-between;\r\n  padding: 8px 12px; margin-bottom: 6px;\r\n  background: #f9f5f4; border-radius: 6px;\r\n  font-size: 14px;\r\n}\r\n.milestone-item .m-count  { font-weight: 700; color: #A1736B; }\r\n.milestone-item .m-date   { color: #555; }\r\n.milestone-item .m-undone { color: #bbb; }\r\n\r\n#region-section {\r\n  margin: 2rem auto; max-width: 500px;\r\n  text-align: left;\r\n}\r\n#region-section h3 {\r\n  font-size: 16px; font-weight: 700;\r\n  margin-bottom: 0.8rem; color: #A1736B;\r\n}\r\n.region-item {\r\n  display: flex; align-items: center;\r\n  padding: 7px 12px; margin-bottom: 5px;\r\n  background: #f9f5f4; border-radius: 6px;\r\n  font-size: 14px;\r\n}\r\n.region-rank  { font-weight: 700; color: #A1736B; width: 28px; flex-shrink: 0; }\r\n.region-name  { flex: 1; }\r\n.region-bar-wrap {\r\n  width: 100px; height: 8px;\r\n  background: #e0d5d3; border-radius: 4px;\r\n  margin: 0 10px; overflow: hidden;\r\n}\r\n.region-bar {\r\n  height: 100%; background: #A1736B;\r\n  border-radius: 4px; transition: width 0.5s;\r\n}\r\n.region-count { font-weight: 700; color: #555; min-width: 30px; text-align: right; }\r\n<\/style>\r\n\r\n<canvas id=\"confetti-canvas\"><\/canvas>\r\n\r\n<div id=\"seichi-wrap\">\r\n  <div id=\"video-wrap\">\r\n    <video id=\"seichi-video\"\r\n      src=\"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/0531-1.mp4\"\r\n      playsinline>\r\n    <\/video>\r\n  <\/div>\r\n\r\n  <button id=\"circle-btn\" aria-label=\"\u8056\u5730\u5de1\u793c\u30dc\u30bf\u30f3\">\r\n    <span class=\"txt\" id=\"lbl-top\">\u73fe\u5728<\/span>\r\n    <span class=\"txt\" id=\"count-num\">...<\/span>\r\n    <span class=\"txt\" id=\"lbl-bottom\">\u4eba\u304c\u8056\u5730\u5de1\u793c\u6e08\u307f\u3067\u3059\uff01<\/span>\r\n    <span id=\"lbl-seichi\">\ud83d\uddfe \u8056\u5730\u5de1\u793c<\/span>\r\n  <\/button>\r\n  <p id=\"already-msg\"><\/p>\r\n<\/div>\r\n\r\n<div id=\"milestone-section\">\r\n  <h3>\ud83c\udfc6 \u5de1\u793c\u30de\u30a4\u30eb\u30b9\u30c8\u30fc\u30f3<\/h3>\r\n  <div id=\"milestone-list\"><\/div>\r\n<\/div>\r\n\r\n<div id=\"region-section\">\r\n  <h3>\ud83d\uddfa\ufe0f \u5de1\u793c\u8005 TOP10\u5730\u57df<\/h3>\r\n  <div id=\"region-list\"><\/div>\r\n<\/div>\r\n\r\n<script type=\"module\">\r\n  import { initializeApp } from \"https:\/\/www.gstatic.com\/firebasejs\/12.13.0\/firebase-app.js\";\r\n  import { getDatabase, ref, onValue, runTransaction, set, get }\r\n    from \"https:\/\/www.gstatic.com\/firebasejs\/12.13.0\/firebase-database.js\";\r\n\r\n  const firebaseConfig = {\r\n    apiKey:            \"AIzaSyCFA61NJssYvncHHJcTSnoKyluv4rfcnyk\",\r\n    authDomain:        \"yajusai-ebb02.firebaseapp.com\",\r\n    databaseURL:       \"https:\/\/yajusai-ebb02-default-rtdb.asia-southeast1.firebasedatabase.app\",\r\n    projectId:         \"yajusai-ebb02\",\r\n    storageBucket:     \"yajusai-ebb02.firebasestorage.app\",\r\n    messagingSenderId: \"992453137354\",\r\n    appId:             \"1:992453137354:web:f42d6b8bcfb4b76cb13533\"\r\n  };\r\n\r\n  const app      = initializeApp(firebaseConfig);\r\n  const db       = getDatabase(app);\r\n  const countRef = ref(db, \"seichiCount\");\r\n\r\n  const btn       = document.getElementById(\"circle-btn\");\r\n  const countEl   = document.getElementById(\"count-num\");\r\n  const seichiLbl = document.getElementById(\"lbl-seichi\");\r\n  const msg       = document.getElementById(\"already-msg\");\r\n  const canvas    = document.getElementById(\"confetti-canvas\");\r\n  const ctx       = canvas.getContext(\"2d\");\r\n  const videoWrap = document.getElementById(\"video-wrap\");\r\n  const video     = document.getElementById(\"seichi-video\");\r\n\r\n  const STORAGE_KEY = \"seichi_pressed_date\";\r\n  const MILESTONES  = [810, 1919, 4545, 9315, 114514];\r\n  let pressed   = false;\r\n  let particles = [], rafId = null;\r\n  const COLORS  = [\"#A1736B\",\"#C47A3A\",\"#7F77DD\",\"#1D9E75\",\"#D85A30\",\"#FAC775\"];\r\n\r\n  function getTodayStr() {\r\n    const d = new Date(new Date().toLocaleString(\"ja-JP\", {timeZone: \"Asia\/Tokyo\"}));\r\n    return `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`;\r\n  }\r\n\r\n  function getDateTimeStr() {\r\n    const d = new Date(new Date().toLocaleString(\"ja-JP\", {timeZone: \"Asia\/Tokyo\"}));\r\n    return `${d.getFullYear()}\/${d.getMonth()+1}\/${d.getDate()} ${d.getHours()}:${String(d.getMinutes()).padStart(2,'0')}`;\r\n  }\r\n\r\n  async function getLocationInfo() {\r\n    if (\/Line\/i.test(navigator.userAgent)) {\r\n      return { key: \"\u4e0d\u660e\" };\r\n    }\r\n    try {\r\n      const res  = await fetch(\"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-json\/yajusai\/v1\/location\");\r\n      const data = await res.json();\r\n      if (!data.ipAddress) throw new Error(\"\u53d6\u5f97\u5931\u6557\");\r\n      const country = data.countryName || \"\u4e0d\u660e\";\r\n      const region  = data.regionName  || \"\u4e0d\u660e\";\r\n      const key     = country === \"Japan\" ? region : country;\r\n      return { key };\r\n    } catch(e) {\r\n      console.error(\"\u4f4d\u7f6e\u60c5\u5831\u53d6\u5f97\u30a8\u30e9\u30fc:\", e);\r\n    }\r\n    return { key: null };\r\n  }\r\n\r\n  async function updateRegion(key) {\r\n    if (!key) return;\r\n    const regionRef = ref(db, `regionStats\/${key}`);\r\n    const snapshot  = await get(regionRef);\r\n    if (!snapshot.exists()) {\r\n      await set(regionRef, 1);\r\n    } else {\r\n      runTransaction(regionRef, (current) => {\r\n        if (current === null) return undefined;\r\n        return current + 1;\r\n      });\r\n    }\r\n  }\r\n\r\n  async function checkMilestones(newCount) {\r\n    for (const m of MILESTONES) {\r\n      if (newCount >= m) {\r\n        const mRef     = ref(db, `milestones\/${m}`);\r\n        const snapshot = await get(mRef);\r\n        if (!snapshot.exists()) {\r\n          await set(mRef, getDateTimeStr());\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  function renderMilestones(data) {\r\n    const list = document.getElementById(\"milestone-list\");\r\n    list.innerHTML = MILESTONES.map(m => {\r\n      const date = data?.[m];\r\n      return `\r\n        <div class=\"milestone-item\">\r\n          <span class=\"m-count\">${m.toLocaleString()}\u4eba<\/span>\r\n          ${date\r\n            ? `<span class=\"m-date\">\ud83c\udf89 ${date} \u9054\u6210<\/span>`\r\n            : `<span class=\"m-undone\">\u672a\u9054\u6210<\/span>`\r\n          }\r\n        <\/div>`;\r\n    }).join(\"\");\r\n  }\r\n\r\n  function renderRegions(data) {\r\n    if (!data) return;\r\n    const sorted = Object.entries(data)\r\n  .filter(([name]) => name !== \"\u4e0d\u660e\")  \/\/ \u4e0d\u660e\u3092\u9664\u5916\r\n  .sort((a, b) => b[1] - a[1])\r\n  .slice(0, 10);\r\n    const max  = sorted[0]?.[1] ?? 1;\r\n    const list = document.getElementById(\"region-list\");\r\n    list.innerHTML = sorted.map(([name, count], i) => `\r\n      <div class=\"region-item\">\r\n        <span class=\"region-rank\">${i + 1}.<\/span>\r\n        <span class=\"region-name\">${name}<\/span>\r\n        <div class=\"region-bar-wrap\">\r\n          <div class=\"region-bar\" style=\"width:${(count\/max*100).toFixed(1)}%\"><\/div>\r\n        <\/div>\r\n        <span class=\"region-count\">${count}<\/span>\r\n      <\/div>\r\n    `).join(\"\");\r\n  }\r\n\r\n  onValue(countRef, (snapshot) => {\r\n    const val = snapshot.val() ?? 0;\r\n    countEl.textContent = Number(val).toLocaleString();\r\n  });\r\n\r\n  onValue(ref(db, \"milestones\"), (snapshot) => {\r\n    renderMilestones(snapshot.val());\r\n  });\r\n\r\n  onValue(ref(db, \"regionStats\"), (snapshot) => {\r\n    renderRegions(snapshot.val());\r\n  });\r\n\r\n  try {\r\n    if (localStorage.getItem(STORAGE_KEY) === getTodayStr()) {\r\n      pressed = true;\r\n      btn.classList.add(\"done\");\r\n      seichiLbl.textContent = \"\ud83c\udf89 \u5de1\u793c\u5b8c\u4e86\";\r\n      msg.textContent = \"\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3068\u8056\u5730\u5de1\u793c\u3067\u304d\u307e\u3059\uff081\u65e51\u56de\uff09\";\r\n    }\r\n  } catch(e) {}\r\n\r\n  function resizeCanvas() {\r\n    canvas.width  = window.innerWidth;\r\n    canvas.height = window.innerHeight;\r\n  }\r\n  resizeCanvas();\r\n  window.addEventListener(\"resize\", resizeCanvas);\r\n\r\n  function spawnConfetti() {\r\n    particles = [];\r\n    for (let i = 0; i < 160; i++) {\r\n      particles.push({\r\n        x: Math.random() * canvas.width, y: -10 - Math.random() * 80,\r\n        w: 7 + Math.random() * 7,        h: 4  + Math.random() * 4,\r\n        color: COLORS[Math.floor(Math.random() * COLORS.length)],\r\n        angle: Math.random() * Math.PI * 2, spin: (Math.random() - 0.5) * 0.2,\r\n        vx: (Math.random() - 0.5) * 3,   vy: 2 + Math.random() * 4\r\n      });\r\n    }\r\n    if (rafId) cancelAnimationFrame(rafId);\r\n    animate();\r\n  }\r\n\r\n  function animate() {\r\n    ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n    let alive = false;\r\n    for (const p of particles) {\r\n      p.x += p.vx; p.y += p.vy; p.angle += p.spin; p.vy += 0.05;\r\n      if (p.y < canvas.height + 20) alive = true;\r\n      ctx.save();\r\n      ctx.translate(p.x, p.y); ctx.rotate(p.angle);\r\n      ctx.fillStyle = p.color;\r\n      ctx.fillRect(-p.w\/2, -p.h\/2, p.w, p.h);\r\n      ctx.restore();\r\n    }\r\n    if (alive) rafId = requestAnimationFrame(animate);\r\n    else ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n  }\r\n\r\n  function playVideo() {\r\n    btn.style.display = \"none\";\r\n    videoWrap.classList.add(\"active\");\r\n    video.currentTime = 0;\r\n    video.play();\r\n    video.onended = () => {\r\n      videoWrap.classList.remove(\"active\");\r\n      btn.style.display = \"flex\";\r\n      btn.classList.add(\"done\");\r\n      seichiLbl.textContent = \"\ud83c\udf89 \u5de1\u793c\u5b8c\u4e86\";\r\n      msg.textContent = \"\u3042\u306a\u305f\u306e\u5de1\u793c\u304c\u8a18\u9332\u3055\u308c\u307e\u3057\u305f\uff01\";\r\n    };\r\n  }\r\n\r\n  btn.addEventListener(\"click\", async () => {\r\n    if (pressed) {\r\n      msg.textContent = \"\u5de1\u793c\u3057\u30b9\u30ae\u30a3\uff01\u660e\u65e5\u307e\u305f\u6765\u3066\u3001\u3069\u3046\u305e\u3002\";\r\n      return;\r\n    }\r\n\r\n    pressed = true;\r\n\r\n    const { key } = await getLocationInfo();\r\n\r\n    runTransaction(countRef, (current) => {\r\n      const next = (current ?? 0) + 1;\r\n      checkMilestones(next);\r\n      return next;\r\n    });\r\n\r\n    await updateRegion(key);\r\n    try { localStorage.setItem(STORAGE_KEY, getTodayStr()); } catch(e) {}\r\n\r\n    if (Math.random() < 0.10) {\r\n      playVideo();\r\n    } else {\r\n      btn.classList.add(\"done\");\r\n      seichiLbl.textContent = \"\ud83c\udf89 \u5de1\u793c\u5b8c\u4e86\";\r\n      msg.textContent = \"\u3042\u306a\u305f\u306e\u5de1\u793c\u304c\u8a18\u9332\u3055\u308c\u307e\u3057\u305f\uff01\";\r\n      spawnConfetti();\r\n    }\r\n  });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-88d295d e-flex e-con-boxed e-con e-parent\" data-id=\"88d295d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f0fa11f elementor-widget elementor-widget-text-editor\" data-id=\"f0fa11f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-style: inherit; font-weight: inherit;\">\u591a\u304f\u306e\u8981\u671b\u304c\u3042\u3063\u305f\u305f\u3081\u3001\u91ce\u7363\u90b8\u3092\u30c7\u30b8\u30bf\u30eb\u5316\u3044\u305f\u3057\u307e\u3057\u305f\u3002\u3053\u3061\u3089\u306e\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3068\u3001\u91ce\u7363\u90b8\u3092\u8056\u5730\u5de1\u793c\u3057\u305f\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002\u3082\u3057\u904b\u304c\u826f\u304b\u3063\u305f\u3089\u3001\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u305f\u76f4\u5f8c\u306b\u6deb\u5922\u304f\u3093\u306b\u51fa\u4f1a\u3048\u308b\u304b\u3082\u2026\uff1f<\/span><\/p><p>\u306a\u304a\u3001\u5de1\u793c\u306f\u4e00\u65e5\u4e00\u56de\u307e\u3067\u3067\u3059\u3002<\/p><p>\u6771\u4eac\u6deb\u5922\u5927\u5b66\u3000\u91ce\u7363\u796d\u5b9f\u884c\u59d4\u54e1\u9577\u3000\u9060\u91ce\u307e\u305a\u3046\u3061<\/p><p>\u6ce8\u610f\uff1aLINE\u306e\u30d6\u30e9\u30a6\u30b6\u304b\u3089\u5de1\u793c\u3059\u308b\u3068\u3001\u5c45\u4f4f\u5730\u57df\u304c\u6b63\u3057\u304f\u8aad\u307f\u8fbc\u307e\u308c\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u5730\u57df\u5225\u5de1\u793c\u8005\u6570\u30e9\u30f3\u30ad\u30f3\u30b0\u306b\u8ca2\u732e\u3057\u305f\u3044\u5834\u5408\u306f\u3001\u5fc5\u305a\u6a19\u6e96\u306e\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3092\u3054\u4f7f\u7528\u304f\u3060\u3055\u3044\u3002<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f3a0bcc e-con-full e-flex e-con e-parent\" data-id=\"f3a0bcc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-25eebc4 elementor-widget elementor-widget-heading\" data-id=\"25eebc4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u30a4\u30f3\u30e0\u30af\u30e9\u30a6\u30c9<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-843641a elementor-widget elementor-widget-text-editor\" data-id=\"843641a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>\u7686\u306e\u4eca\u8003\u3048\u3066\u3044\u308b\u3053\u3068\u3092\u8997\u3044\u3066\u307f\u3088\u3046\uff01<\/p><p>\uff1c\u30eb\u30fc\u30eb\uff1e<br \/>\u30fb\u30b3\u30e1\u30f3\u30c8\u306f1\u65e51\u56de\u6295\u7a3f\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<br \/>\u30fb\u6295\u7a3f\u3055\u308c\u305f\u30b3\u30e1\u30f3\u30c8\u306f24\u6642\u9593\u306e\u307f\u8868\u793a\u3055\u308c\u307e\u3059\uff08\u305f\u307e\u306b\u30d0\u30b0\u3063\u306624\u6642\u9593\u7d4c\u3063\u3066\u3082\u6d88\u3048\u306a\u3044\u3053\u3068\u304c\u3042\u308a\u307e\u3059\uff09\u3002<br \/>\u30fb\u30b3\u30e1\u30f3\u30c8\u3092\u30bf\u30c3\u30d7\u3059\u308b\u3068\u3044\u3044\u306d\u304c\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001\u3044\u3044\u306d\u6570\u304c\u5897\u3048\u308b\u3068\u30b3\u30e1\u30f3\u30c8\u306e\u30b5\u30a4\u30ba\u304c\u5927\u304d\u304f\u306a\u308a\u307e\u3059\u3002<br \/>\u30fb\u6deb\u5922\u3068\u95a2\u4fc2\u306a\u3044\u3088\u3046\u306a\u3001\u4e0d\u9069\u5207\u306a\u5185\u5bb9\u306f\u6295\u7a3f\u3057\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u307e\u305f\u3001\u4e0d\u9069\u5207\u306a\u5185\u5bb9\u3092\u898b\u304b\u3051\u305f\u969b\u306f\u901a\u5831\u3092\u304a\u9858\u3044\u3057\u307e\u3059\u3002<br \/>\u30fb\u30b3\u30e1\u30f3\u30c8\u6570\u306e\u4e0a\u9650\u306f300\u4ef6\u3067\u3059\u3002\u4e0a\u9650\u3092\u8d85\u3048\u308b\u3068\u53e4\u3044\u6295\u7a3f\u304b\u3089\u9806\u306b\u975e\u8868\u793a\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b4c8e8b elementor-widget elementor-widget-html\" data-id=\"b4c8e8b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n#wordcloud-section {\r\n  margin: 2rem auto;\r\n  max-width: 700px;\r\n  text-align: center;\r\n}\r\n#wordcloud-section h3 {\r\n  font-size: 16px;\r\n  font-weight: 700;\r\n  margin-bottom: 1rem;\r\n  color: #A1736B;\r\n}\r\n#wordcloud-input-wrap {\r\n  display: flex;\r\n  gap: 8px;\r\n  justify-content: center;\r\n  margin-bottom: 1rem;\r\n}\r\n#wordcloud-input {\r\n  padding: 8px 12px;\r\n  border: 1px solid #ccc;\r\n  border-radius: 6px;\r\n  font-size: 14px;\r\n  width: 200px;\r\n}\r\n#wordcloud-btn {\r\n  padding: 8px 16px;\r\n  background: #A1736B;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 6px;\r\n  cursor: pointer;\r\n  font-size: 14px;\r\n}\r\n#wordcloud-btn:hover { filter: brightness(1.1); }\r\n#wordcloud-msg {\r\n  font-size: 13px;\r\n  color: #888;\r\n  min-height: 18px;\r\n  margin-bottom: 1rem;\r\n}\r\n\r\n#wordcloud-display {\r\n  position: relative;\r\n  width: 100%;\r\n  min-height: 300px;\r\n  background: #faf7f6;\r\n  border-radius: 12px;\r\n  overflow: hidden;\r\n}\r\n\r\n.wc-word {\r\n  position: absolute;\r\n  display: inline-block;\r\n  font-weight: 700;\r\n  white-space: nowrap;\r\n  cursor: pointer;\r\n  user-select: none;\r\n  transition: filter 0.2s;\r\n}\r\n.wc-word:hover { filter: brightness(1.3); }\r\n\r\n\/* \u30dd\u30c3\u30d7\u30a2\u30c3\u30d7 *\/\r\n#wc-popup {\r\n  display: none;\r\n  position: fixed;\r\n  top: 50%;\r\n  left: 50%;\r\n  transform: translate(-50%, -50%);\r\n  background: white;\r\n  border-radius: 12px;\r\n  padding: 20px 28px;\r\n  box-shadow: 0 8px 32px rgba(0,0,0,0.18);\r\n  z-index: 99999;\r\n  text-align: center;\r\n  min-width: 200px;\r\n}\r\n#wc-popup.active { display: block; }\r\n\r\n\/* \u2461\u901a\u5831\u30dc\u30bf\u30f3\u3092\u53f3\u4e0a\u306b\u914d\u7f6e *\/\r\n#wc-popup-report-btn {\r\n  position: absolute;\r\n  top: 10px;\r\n  right: 12px;\r\n  background: none;\r\n  border: none;\r\n  color: #bbb;\r\n  font-size: 11px;\r\n  cursor: pointer;\r\n  padding: 2px 6px;\r\n}\r\n#wc-popup-report-btn:hover { color: #999; }\r\n\r\n#wc-popup-word {\r\n  font-size: 22px;\r\n  font-weight: 700;\r\n  margin-bottom: 8px;\r\n  color: #333;\r\n}\r\n#wc-popup-likes {\r\n  font-size: 14px;\r\n  color: #888;\r\n  margin-bottom: 16px;\r\n}\r\n#wc-popup-like-btn {\r\n  padding: 10px 28px;\r\n  background: #A1736B;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 8px;\r\n  font-size: 16px;\r\n  cursor: pointer;\r\n  transition: transform 0.1s, filter 0.1s;\r\n}\r\n#wc-popup-like-btn:active { transform: scale(0.95); }\r\n#wc-popup-like-btn:hover  { filter: brightness(1.1); }\r\n#wc-popup-close {\r\n  display: block;\r\n  margin-top: 12px;\r\n  font-size: 12px;\r\n  color: #bbb;\r\n  cursor: pointer;\r\n  text-decoration: underline;\r\n}\r\n\r\n\/* \u2462\u901a\u5831\u78ba\u8a8d\u30c0\u30a4\u30a2\u30ed\u30b0 *\/\r\n#wc-report-confirm {\r\n  display: none;\r\n  margin-top: 12px;\r\n  padding: 10px;\r\n  background: #f9f9f9;\r\n  border-radius: 8px;\r\n  border: 1px solid #eee;\r\n}\r\n#wc-report-confirm.active { display: block; }\r\n#wc-report-confirm p {\r\n  font-size: 13px;\r\n  color: #555;\r\n  margin-bottom: 8px;\r\n}\r\n#wc-report-confirm-yes {\r\n  padding: 6px 16px;\r\n  background: #e57373;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 6px;\r\n  font-size: 13px;\r\n  cursor: pointer;\r\n  margin-right: 8px;\r\n}\r\n#wc-report-confirm-no {\r\n  padding: 6px 16px;\r\n  background: none;\r\n  color: #999;\r\n  border: 1px solid #ddd;\r\n  border-radius: 6px;\r\n  font-size: 13px;\r\n  cursor: pointer;\r\n}\r\n#wc-report-msg {\r\n  font-size: 12px;\r\n  color: #e57373;\r\n  min-height: 16px;\r\n  margin-top: 6px;\r\n}\r\n\r\n#wc-overlay {\r\n  display: none;\r\n  position: fixed;\r\n  top: 0; left: 0;\r\n  width: 100%; height: 100%;\r\n  background: rgba(0,0,0,0.3);\r\n  z-index: 99998;\r\n}\r\n#wc-overlay.active { display: block; }\r\n<\/style>\r\n\r\n<!-- \u30dd\u30c3\u30d7\u30a2\u30c3\u30d7 -->\r\n<div id=\"wc-overlay\"><\/div>\r\n<div id=\"wc-popup\">\r\n  <button id=\"wc-popup-report-btn\">\u2691 \u901a\u5831<\/button>\r\n  <div id=\"wc-popup-word\"><\/div>\r\n  <div id=\"wc-popup-likes\"><\/div>\r\n  <button id=\"wc-popup-like-btn\">\u2764\ufe0f \u3044\u3044\u306d\u3059\u308b<\/button>\r\n  <div id=\"wc-report-confirm\">\r\n    <p>\u3053\u306e\u6295\u7a3f\u3092\u901a\u5831\u3057\u307e\u3059\u304b\uff1f<\/p>\r\n    <button id=\"wc-report-confirm-yes\">\u901a\u5831\u3059\u308b<\/button>\r\n    <button id=\"wc-report-confirm-no\">\u30ad\u30e3\u30f3\u30bb\u30eb<\/button>\r\n  <\/div>\r\n  <p id=\"wc-report-msg\"><\/p>\r\n  <span id=\"wc-popup-close\">\u9589\u3058\u308b<\/span>\r\n<\/div>\r\n\r\n<div id=\"wordcloud-section\">\r\n  <h3>\ud83d\udcac \u307f\u3093\u306a\u306e\u58f0<\/h3>\r\n  <div id=\"wordcloud-input-wrap\">\r\n    <input type=\"text\" id=\"wordcloud-input\" placeholder=\"20\u6587\u5b57\u4ee5\u5185\u3067\u5165\u529b\" maxlength=\"20\">\r\n    <button id=\"wordcloud-btn\">\u6295\u7a3f<\/button>\r\n  <\/div>\r\n  <p id=\"wordcloud-msg\"><\/p>\r\n  <div id=\"wordcloud-display\"><\/div>\r\n<\/div>\r\n\r\n<script type=\"module\">\r\n  import { initializeApp } from \"https:\/\/www.gstatic.com\/firebasejs\/12.13.0\/firebase-app.js\";\r\n  import { getDatabase, ref, onValue, runTransaction, get, set, remove }\r\n    from \"https:\/\/www.gstatic.com\/firebasejs\/12.13.0\/firebase-database.js\";\r\n\r\n  const firebaseConfig = {\r\n    apiKey:            \"AIzaSyCFA61NJssYvncHHJcTSnoKyluv4rfcnyk\",\r\n    authDomain:        \"yajusai-ebb02.firebaseapp.com\",\r\n    databaseURL:       \"https:\/\/yajusai-ebb02-default-rtdb.asia-southeast1.firebasedatabase.app\",\r\n    projectId:         \"yajusai-ebb02\",\r\n    storageBucket:     \"yajusai-ebb02.firebasestorage.app\",\r\n    messagingSenderId: \"992453137354\",\r\n    appId:             \"1:992453137354:web:f42d6b8bcfb4b76cb13533\"\r\n  };\r\n\r\n  const app = initializeApp(firebaseConfig, \"wordcloud\");\r\n  const db  = getDatabase(app);\r\n\r\n  const WC_STORAGE_KEY   = \"wc_posted_date\";\r\n  const WC_REPORT_KEY    = \"wc_reported_words\";\r\n  const REPORT_THRESHOLD = 5;\r\n\r\n  const NG_WORDS = [\r\n    \/\/ \u4fae\u8fb1\u30fb\u66b4\u529b\u7cfb\r\n    \"\u6b7b\u306d\", \"\u6bba\u3059\", \"\u30af\u30ba\", \"\u30d0\u30ab\", \"\u30a2\u30db\", \"\u3046\u3056\u3044\", \"\u304d\u3082\u3044\",\r\n    \"\u6d88\u3048\u308d\", \"\u5931\u305b\u308d\", \"\u30b4\u30df\", \"\u30ab\u30b9\", \"\u6c0f\u306d\", \"\u30d6\u30b9\", \"\u30c7\u30d6\",\r\n    \"\u30ad\u30e2\u3044\", \"\u982d\u304a\u304b\u3057\u3044\", \"\u6c17\u6301\u3061\u60aa\u3044\", \"\u6b7b\u306b\u305f\u3044\", \"\u6bba\u3057\u305f\u3044\",\r\n    \"\u6700\u4f4e\", \"\u6700\u60aa\", \"\u30cf\u30b2\", \"\u30c1\u30d3\", \"\u30d6\u30b5\u30a4\u30af\",\r\n    \/\/ \u7cbe\u795e\u30fb\u8eab\u4f53\u5dee\u5225\u7cfb\r\n    \"\u30ad\u30c1\u30ac\u30a4\", \"\u57fa\u5730\u5916\", \"\u72c2\u4eba\", \"\u6c17\u9055\u3044\", \"\u767d\u75f4\", \"\u4f4e\u8133\",\r\n    \"\u77e5\u6075\u9045\u308c\", \"\u7cbe\u795e\u7570\u5e38\", \"\u767a\u72c2\", \"\u72c2\u6c17\", \"\u30b2\u30a4\", \"\u969c\u5bb3\u8005\",\r\n    \"\u3073\u3063\u3053\", \"\u3081\u304f\u3089\", \"\u3064\u3093\u307c\", \"\u304a\u3057\", \"\u3061\u3093\u307d\", \"\u7247\u7aef\",\r\n    \/\/ \u6c11\u65cf\u30fb\u56fd\u7c4d\u5dee\u5225\u7cfb\r\n    \"\u571f\u4eba\", \"\u30c1\u30e7\u30f3\", \"\u652f\u90a3\", \"\u30b8\u30e3\u30c3\u30d7\", \"\u4e09\u56fd\u4eba\", \"\u9bae\u4eba\",\r\n    \"\u9ed2\u3093\u307c\", \"\u30cb\u30ac\u30fc\", \"\u30cb\u30b0\u30ed\", \"\u30af\u30ed\u30f3\u30dc\", \"\u6bdb\u5510\", \"\u9732\u52a9\",\r\n    \"\u30c1\u30e3\u30f3\u30b3\u30ed\", \"\u30e4\u30f3\u30ad\u30fc\", \"\u30a2\u30e1\u516c\", \"\u30a4\u30bf\u516c\",\r\n    \/\/ \u8eab\u5206\u30fb\u8077\u696d\u5dee\u5225\u7cfb\r\n    \"\u4e5e\u98df\", \"\u7a62\u591a\", \"\u975e\u4eba\", \"\u90e8\u843d\", \"\u6cb3\u539f\u4e5e\u98df\", \"\u6d6e\u6d6a\u8005\",\r\n    \"\u30eb\u30f3\u30da\u30f3\", \"\u3069\u3093\u767e\u59d3\",\r\n    \/\/ \u6027\u7684\u30fb\u5351\u7325\u7cfb\r\n    \"\u30bb\u30c3\u30af\u30b9\", \"\u30a8\u30ed\", \"\u3061\u3093\u3053\", \"\u307e\u3093\u3053\", \"\u304a\u3063\u3071\u3044\",\r\n    \"\u30ec\u30a4\u30d7\", \"\u5f37\u59e6\", \"\u6deb\u58f2\", \"\u58f2\u6625\", \"\u30de\u30be\", \"\u4e73\u9996\", \"\u30c1\u30f3\u30dd\",\r\n    \"\u611b\u6db2\", \"\u30a8\u30c3\u30c1\", \"\u6deb\u4e71\", \"\u30b9\u30b1\u30d9\", \"\u5c04\u7cbe\", \"\u3061\u3093\u3061\u3093\",\r\n    \"\u30da\u30cb\u30b9\", \"\u81a3\", \"\u9670\u90e8\", \"\u9670\u830e\", \"\u30aa\u30ca\u30cb\u30fc\", \"\u30d5\u30a7\u30e9\", \"\u30af\u30f3\u30cb\",\r\n    \"\u59e6\u901a\", \"\u6deb\u884c\", \"\u308f\u3044\u305b\u3064\", \"\u75f4\u6f22\", \"\u76d7\u64ae\", \"\u63f4\u4ea4\", \"\u63f4\u52a9\u4ea4\u969b\",\r\n    \"\u548c\u59e6\", \"\u9670\u6838\", \"\u30cc\u30fc\u30c9\", \"\u91d1\u7389\", \"\u52c3\u8d77\", \"\u30c1\u30f3\u30c1\u30f3\", \"\u30b9\u30ab\u30c8\u30ed\",\r\n    \/\/ \u8105\u8feb\u30fb\u72af\u7f6a\u7cfb\r\n    \"\u7206\u7834\", \"\u30c6\u30ed\", \"\u6652\u3059\", \"\u7279\u5b9a\u3057\u305f\", \"\u6bba\u5bb3\",\r\n    \"\u62c9\u81f4\", \"\u76e3\u7981\", \"\u8105\u8feb\", \"\u4eba\u6bba\u3057\",\r\n    \/\/ \u653f\u6cbb\u7cfb\r\n    \"\u58f2\u56fd\u5974\", \"\u56fd\u8cca\", \"\u53cd\u65e5\", \"\u5728\u65e5\u7279\u6a29\", \"\u30d8\u30a4\u30c8\u30b9\u30d4\u30fc\u30c1\",\r\n    \"\u6c11\u65cf\u6d44\u5316\", \"\u8650\u6bba\u3057\u308d\", \"\u6ec5\u3073\u308d\", \"\u30c6\u30ed\u30ea\u30b9\u30c8\", \"\u7206\u5f3e\u843d\u3068\u305b\"\r\n  ];\r\n\r\n  const COLORS = [\r\n    \"#A1736B\",\"#C47A3A\",\"#7F77DD\",\"#1D9E75\",\r\n    \"#D85A30\",\"#E8A020\",\"#2196F3\",\"#E91E8C\",\r\n    \"#9C27B0\",\"#00BCD4\",\"#FF5722\",\"#4CAF50\"\r\n  ];\r\n\r\n  const input          = document.getElementById(\"wordcloud-input\");\r\n  const btn            = document.getElementById(\"wordcloud-btn\");\r\n  const msgEl          = document.getElementById(\"wordcloud-msg\");\r\n  const display        = document.getElementById(\"wordcloud-display\");\r\n  const popup          = document.getElementById(\"wc-popup\");\r\n  const overlay        = document.getElementById(\"wc-overlay\");\r\n  const popupWord      = document.getElementById(\"wc-popup-word\");\r\n  const popupLikes     = document.getElementById(\"wc-popup-likes\");\r\n  const likeBtn        = document.getElementById(\"wc-popup-like-btn\");\r\n  const reportBtn      = document.getElementById(\"wc-popup-report-btn\");\r\n  const reportConfirm  = document.getElementById(\"wc-report-confirm\");\r\n  const reportYesBtn   = document.getElementById(\"wc-report-confirm-yes\");\r\n  const reportNoBtn    = document.getElementById(\"wc-report-confirm-no\");\r\n  const reportMsg      = document.getElementById(\"wc-report-msg\");\r\n  const closeBtn       = document.getElementById(\"wc-popup-close\");\r\n\r\n  let currentPopupWord = null;\r\n  let wordData = {};\r\n  const animations = {};\r\n\r\n  function getTodayStr() {\r\n    const d = new Date(new Date().toLocaleString(\"ja-JP\", {timeZone: \"Asia\/Tokyo\"}));\r\n    return `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`;\r\n  }\r\n\r\n  function getColorForWord(word) {\r\n    let hash = 0;\r\n    for (let i = 0; i < word.length; i++) {\r\n      hash = word.charCodeAt(i) + ((hash << 5) - hash);\r\n    }\r\n    return COLORS[Math.abs(hash) % COLORS.length];\r\n  }\r\n\r\n  function getFontSize(likes, maxLikes) {\r\n    const min = 10, max = 36;\r\n    if (maxLikes <= 0) return min;\r\n    return Math.round(min + (max - min) * Math.sqrt(likes \/ maxLikes));\r\n  }\r\n\r\n  function isWithin24h(timestamp) {\r\n    return Date.now() - timestamp < 24 * 60 * 60 * 1000;\r\n  }\r\n\r\n  function containsNgWord(text) {\r\n    return NG_WORDS.some(ng => text.includes(ng));\r\n  }\r\n\r\n  function startFloat(el, index) {\r\n    const containerW = display.offsetWidth;\r\n    const containerH = display.offsetHeight;\r\n    let x = Math.random() * (containerW - 150);\r\n    let y = Math.random() * (containerH - 40);\r\n    let vx = (Math.random() - 0.5) * 0.6;\r\n    let vy = (Math.random() - 0.5) * 0.4;\r\n    el.style.left = x + \"px\";\r\n    el.style.top  = y + \"px\";\r\n\r\n    function animate() {\r\n      const w = el.offsetWidth  || 100;\r\n      const h = el.offsetHeight || 30;\r\n      const maxX = display.offsetWidth  - w;\r\n      const maxY = display.offsetHeight - h;\r\n      x += vx; y += vy;\r\n      if (x <= 0 || x >= maxX) { vx *= -1; x = Math.max(0, Math.min(x, maxX)); }\r\n      if (y <= 0 || y >= maxY) { vy *= -1; y = Math.max(0, Math.min(y, maxY)); }\r\n      el.style.left = x + \"px\";\r\n      el.style.top  = y + \"px\";\r\n      animations[el.dataset.word] = requestAnimationFrame(animate);\r\n    }\r\n\r\n    if (animations[el.dataset.word]) cancelAnimationFrame(animations[el.dataset.word]);\r\n    animations[el.dataset.word] = requestAnimationFrame(animate);\r\n  }\r\n\r\n  function calcContainerHeight(count) {\r\n    const base    = 400;\r\n    const perWord = 40;\r\n    const cols    = Math.floor(display.offsetWidth \/ 160) || 4;\r\n    const rows    = Math.ceil(count \/ cols);\r\n    return Math.max(base, rows * perWord + 80);\r\n  }\r\n\r\n  function renderWordCloud(data) {\r\n    if (!data) {\r\n      display.innerHTML = '<span style=\"color:#ccc;font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)\">\u307e\u3060\u6295\u7a3f\u304c\u3042\u308a\u307e\u305b\u3093<\/span>';\r\n      display.style.height = \"300px\";\r\n      return;\r\n    }\r\n\r\n    const entries = Object.entries(data)\r\n      .filter(([, val]) => typeof val === \"object\" && isWithin24h(val.timestamp ?? 0))\r\n      .map(([word, val]) => [word, val.likes ?? 0, val])\r\n      .sort((a, b) => b[1] - a[1]);\r\n\r\n    if (entries.length === 0) {\r\n      display.innerHTML = '<span style=\"color:#ccc;font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)\">\u307e\u3060\u6295\u7a3f\u304c\u3042\u308a\u307e\u305b\u3093<\/span>';\r\n      display.style.height = \"300px\";\r\n      return;\r\n    }\r\n\r\n    const MAX_WORDS = 300;\r\n    if (entries.length > MAX_WORDS) {\r\n      const overEntries = [...entries]\r\n        .sort((a, b) => (a[2].timestamp ?? 0) - (b[2].timestamp ?? 0))\r\n        .slice(0, entries.length - MAX_WORDS);\r\n      overEntries.forEach(([word]) => {\r\n        remove(ref(db, `wordCloud\/${word}`));\r\n        remove(ref(db, `reports\/${word}`));\r\n      });\r\n      entries.splice(0, entries.length - MAX_WORDS);\r\n    }\r\n\r\n    display.style.height = calcContainerHeight(entries.length) + \"px\";\r\n\r\n    const filteredLikes = entries.map(([, likes]) => likes).filter(l => l < 810);\r\n    const maxLikes = filteredLikes.length > 0 ? Math.max(...filteredLikes) : 810;\r\n\r\n    display.querySelectorAll(\".wc-word\").forEach(el => {\r\n      if (!entries.find(([w]) => w === el.dataset.word)) {\r\n        cancelAnimationFrame(animations[el.dataset.word]);\r\n        el.remove();\r\n      }\r\n    });\r\n\r\n    entries.forEach(([word, likes], i) => {\r\n      const size  = getFontSize(likes, maxLikes);\r\n      const color = getColorForWord(word);\r\n\r\n      let el = display.querySelector(`[data-word=\"${CSS.escape(word)}\"]`);\r\n      if (!el) {\r\n        el = document.createElement(\"span\");\r\n        el.className    = \"wc-word\";\r\n        el.dataset.word = word;\r\n        el.textContent  = word;\r\n        display.appendChild(el);\r\n        startFloat(el, i);\r\n      }\r\n\r\n      el.style.fontSize = size + \"px\";\r\n      el.style.color    = color;\r\n      el.onclick = () => openPopup(word, likes);\r\n    });\r\n  }\r\n\r\n  function openPopup(word, likes) {\r\n    currentPopupWord       = word;\r\n    popupWord.textContent  = word;\r\n    popupWord.style.color  = getColorForWord(word);\r\n    popupLikes.textContent = `\u2764\ufe0f ${likes} \u3044\u3044\u306d`;\r\n    reportConfirm.classList.remove(\"active\");\r\n    reportMsg.textContent  = \"\";\r\n    popup.classList.add(\"active\");\r\n    overlay.classList.add(\"active\");\r\n    document.body.style.overflow = \"hidden\";\r\n\r\n    \/\/ \u901a\u5831\u6e08\u307f\u30c1\u30a7\u30c3\u30af\r\n    try {\r\n      const reported = JSON.parse(localStorage.getItem(WC_REPORT_KEY) || \"[]\");\r\n      if (reported.includes(word)) {\r\n        reportBtn.textContent  = \"\u2691 \u901a\u5831\u6e08\u307f\";\r\n        reportBtn.style.color  = \"#e57373\";\r\n        reportMsg.textContent  = \"\u3053\u306e\u6295\u7a3f\u306f\u3059\u3067\u306b\u901a\u5831\u6e08\u307f\u3067\u3059\u3002\";\r\n      } else {\r\n        reportBtn.textContent  = \"\u2691 \u901a\u5831\";\r\n        reportBtn.style.color  = \"\";\r\n      }\r\n    } catch(e) {}\r\n  }\r\n\r\n  function closePopup() {\r\n    popup.classList.remove(\"active\");\r\n    overlay.classList.remove(\"active\");\r\n    reportConfirm.classList.remove(\"active\");\r\n    reportMsg.textContent  = \"\";\r\n    currentPopupWord = null;\r\n    document.body.style.overflow = \"\";\r\n  }\r\n\r\n  closeBtn.addEventListener(\"click\", closePopup);\r\n  overlay.addEventListener(\"click\", closePopup);\r\n\r\n  likeBtn.addEventListener(\"click\", async () => {\r\n    if (!currentPopupWord) return;\r\n    const wordRef = ref(db, `wordCloud\/${currentPopupWord}`);\r\n    await runTransaction(wordRef, (current) => {\r\n      if (!current) return undefined;\r\n      return { ...current, likes: (current.likes ?? 0) + 1 };\r\n    });\r\n    const snap = await get(wordRef);\r\n    if (snap.exists()) {\r\n      popupLikes.textContent = `\u2764\ufe0f ${snap.val().likes ?? 0} \u3044\u3044\u306d`;\r\n    }\r\n  });\r\n\r\n  \/\/ \u2461\u901a\u5831\u30dc\u30bf\u30f3 \u2192 \u2462\u78ba\u8a8d\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u8868\u793a\r\n  reportBtn.addEventListener(\"click\", () => {\r\n    if (!currentPopupWord) return;\r\n    try {\r\n      const reported = JSON.parse(localStorage.getItem(WC_REPORT_KEY) || \"[]\");\r\n      if (reported.includes(currentPopupWord)) {\r\n        reportMsg.textContent = \"\u3053\u306e\u6295\u7a3f\u306f\u3059\u3067\u306b\u901a\u5831\u6e08\u307f\u3067\u3059\u3002\";\r\n        return;\r\n      }\r\n    } catch(e) {}\r\n    reportConfirm.classList.add(\"active\");\r\n  });\r\n\r\n  \/\/ \u30ad\u30e3\u30f3\u30bb\u30eb\r\n  reportNoBtn.addEventListener(\"click\", () => {\r\n    reportConfirm.classList.remove(\"active\");\r\n  });\r\n\r\n  \/\/ \u901a\u5831\u78ba\u5b9a\uff08\u2460set\u3067\u66f8\u304d\u8fbc\u307f\uff09\r\n  reportYesBtn.addEventListener(\"click\", async () => {\r\n    if (!currentPopupWord) return;\r\n    reportConfirm.classList.remove(\"active\");\r\n\r\n    try {\r\n      const reportRef  = ref(db, `reports\/${currentPopupWord}`);\r\n      const reportSnap = await get(reportRef);\r\n      const currentCount = reportSnap.exists() ? (reportSnap.val() ?? 0) : 0;\r\n      await set(reportRef, currentCount + 1);\r\n\r\n      \/\/ \u901a\u5831\u6e08\u307f\u3092localStorage\u306b\u8a18\u9332\r\n      try {\r\n        const reported = JSON.parse(localStorage.getItem(WC_REPORT_KEY) || \"[]\");\r\n        reported.push(currentPopupWord);\r\n        localStorage.setItem(WC_REPORT_KEY, JSON.stringify(reported));\r\n      } catch(e) {}\r\n\r\n      reportBtn.textContent = \"\u2691 \u901a\u5831\u6e08\u307f\";\r\n      reportBtn.style.color = \"#e57373\";\r\n      reportMsg.textContent = \"\u901a\u5831\u3092\u53d7\u3051\u4ed8\u3051\u307e\u3057\u305f\u3002\u3054\u5354\u529b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002\";\r\n\r\n      \/\/ 5\u56de\u4ee5\u4e0a\u3067\u81ea\u52d5\u524a\u9664\r\n      if (currentCount + 1 >= REPORT_THRESHOLD) {\r\n        await remove(ref(db, `wordCloud\/${currentPopupWord}`));\r\n        await remove(reportRef);\r\n        closePopup();\r\n      }\r\n    } catch(e) {\r\n      console.error(\"\u901a\u5831\u30a8\u30e9\u30fc:\", e);\r\n      reportMsg.textContent = \"\u901a\u5831\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002\";\r\n    }\r\n  });\r\n\r\n  onValue(ref(db, \"wordCloud\"), (snapshot) => {\r\n    wordData = snapshot.val() ?? {};\r\n    renderWordCloud(wordData);\r\n  });\r\n\r\n  try {\r\n    if (localStorage.getItem(WC_STORAGE_KEY) === getTodayStr()) {\r\n      btn.disabled = true;\r\n      btn.style.filter = \"brightness(0.7)\";\r\n      msgEl.textContent = \"\u672c\u65e5\u306f\u3059\u3067\u306b\u6295\u7a3f\u6e08\u307f\u3067\u3059\u3002\u660e\u65e5\u307e\u305f\u6295\u7a3f\u3067\u304d\u307e\u3059\uff01\";\r\n    }\r\n  } catch(e) {}\r\n\r\n  input.addEventListener(\"keydown\", (e) => {\r\n    if (e.key === \"Enter\" && !e.isComposing) btn.click();\r\n  });\r\n\r\n  btn.addEventListener(\"click\", async () => {\r\n    const word = input.value.trim();\r\n\r\n    if (!word) { msgEl.textContent = \"\u6587\u5b57\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\"; return; }\r\n    if (word.length > 20) { msgEl.textContent = \"20\u6587\u5b57\u4ee5\u5185\u3067\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\"; return; }\r\n    if (containsNgWord(word)) { msgEl.textContent = \"\u305d\u306e\u8a00\u8449\u306f\u6295\u7a3f\u3067\u304d\u307e\u305b\u3093\u3002\"; return; }\r\n\r\n    try {\r\n      if (localStorage.getItem(WC_STORAGE_KEY) === getTodayStr()) {\r\n        msgEl.textContent = \"\u672c\u65e5\u306f\u3059\u3067\u306b\u6295\u7a3f\u6e08\u307f\u3067\u3059\u3002\u660e\u65e5\u307e\u305f\u6295\u7a3f\u3067\u304d\u307e\u3059\uff01\";\r\n        return;\r\n      }\r\n    } catch(e) {}\r\n\r\n    btn.disabled = true;\r\n    btn.style.filter = \"brightness(0.7)\";\r\n    msgEl.textContent = \"\u6295\u7a3f\u4e2d...\";\r\n\r\n    try {\r\n      const wordRef  = ref(db, `wordCloud\/${word}`);\r\n      const snapshot = await get(wordRef);\r\n\r\n      if (!snapshot.exists()) {\r\n        await set(wordRef, { count: 1, likes: 0, timestamp: Date.now() });\r\n      } else {\r\n        await runTransaction(wordRef, (current) => {\r\n          if (current === null) return undefined;\r\n          return { ...current, count: (current.count ?? 0) + 1, timestamp: Date.now() };\r\n        });\r\n      }\r\n\r\n      try { localStorage.setItem(WC_STORAGE_KEY, getTodayStr()); } catch(e) {}\r\n      msgEl.textContent = \"\u6295\u7a3f\u3057\u307e\u3057\u305f\uff01\";\r\n      input.value = \"\";\r\n    } catch(e) {\r\n      console.error(\"\u6295\u7a3f\u30a8\u30e9\u30fc:\", e);\r\n      msgEl.textContent = \"\u6295\u7a3f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002\";\r\n      btn.disabled = false;\r\n      btn.style.filter = \"\";\r\n    }\r\n  });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-200b711 e-flex e-con-boxed e-con e-parent\" data-id=\"200b711\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6d0db21 elementor-widget elementor-widget-heading\" data-id=\"6d0db21\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span style=\"font-size: 32px;font-weight: 500\">\u8056\u5730\u5de1\u793c\u306b\u95a2\u3059\u308b\u6ce8\u610f\u4e8b\u9805<\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5066b21 elementor-widget elementor-widget-text-editor\" data-id=\"5066b21\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>\u6bce\u5e74\u3001\u91ce\u7363\u90b8\u306b\u306f114514\u4eba\u3082\u306e\u4eba\u304c\u8056\u5730\u5de1\u793c\u3092\u3057\u306b\u8a2a\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u5de1\u793c\u306e\u969b\u306b\u306f\u4ee5\u4e0b\u306b\u3042\u308b\u6ce8\u610f\u4e8b\u9805\u3092\u5b88\u3063\u3066\u3044\u305f\u3060\u304f\u3088\u3046\u304a\u9858\u3044\u3044\u305f\u3057\u307e\u3059\u3002<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-477cd4f elementor-widget elementor-widget-text-editor\" data-id=\"477cd4f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-size: 21px;\">\u30fb8\u670810\u65e5\u306f\u91ce\u7363\u90b8\u306b\u8fd1\u3065\u304b\u305a\u3001\u672c\u30b5\u30a4\u30c8\u304b\u3089\u30ea\u30e2\u30fc\u30c8\u3067\u91ce\u7363\u90b8\u3092\u5de1\u793c\u3059\u308b\u3053\u3068\u3002<\/span><br style=\"font-size: 21px;\"><span style=\"font-size: 21px;\">\u30fb\u62d3\u4e5f\u770c\u3067\u62d3\u4e5f\u306e\u7948\u7977\uff083000\u5186\uff09\u3092\u53d7\u3051\u308b\u3053\u3068\u3002<\/span><br style=\"font-size: 21px;\"><span style=\"font-size: 21px;\">\u30fb\u91ce\u7363\u90b8\u306e\u65b9\u5411\u306b\u5411\u304b\u3063\u30661\u65e5114514\u56de\u793c\u62dd\u3057\u3001\u5de1\u793c\u3059\u308b\u5f53\u65e5\u306f\u65ad\u98df\uff08\u9234\u6728\u7a7a\u8179\uff09\u3092\u3059\u308b\u3053\u3068\u3002<\/span><br><span style=\"font-size: 21px;\">\u30fb\u5de1\u793c\u306e\u969b\u306b\u306f\u516b\u4e00\u793c\u3001\u8feb\u771f\u62cd\u624b\u3001\u5343\u62dd\u3001\u793c\u30d7\u3092\u5fd8\u308c\u305a\u306b\u3002<\/span><br style=\"font-size: 21px;\"><span style=\"font-size: 21px;\">\u30fbGO\u69d8\u3078\u306e\u611f\u8b1d\u3068\u656c\u610f\u3092\u8fbc\u3081\u3066\u3001\u4e01\u5be7\u306b\u884c\u3046\u3053\u3068\u3002<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-eb98bce e-con e-atomic-element e-flexbox-base e-5545782 \" data-id=\"eb98bce\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"eb98bce\">\n    \t\t<div class=\"elementor-element elementor-element-9e495d6 elementor-widget elementor-widget-heading\" data-id=\"9e495d6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u8fd1\u5e74\u554f\u984c\u3068\u306a\u3063\u3066\u3044\u308b\u73fe\u7269\u5de1\u793c\u306b\u3064\u3044\u3066<\/h2>\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-71d6802 e-flex e-con-boxed e-con e-parent\" data-id=\"71d6802\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-85bdf5f e-con-full e-flex e-con e-child\" data-id=\"85bdf5f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f5280cd elementor-widget elementor-widget-image\" data-id=\"f5280cd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1500\" height=\"1080\" src=\"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/184962.jpg\" class=\"attachment-full size-full wp-image-90\" alt=\"\" srcset=\"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/184962.jpg 1500w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/184962-300x216.jpg 300w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/184962-1024x737.jpg 1024w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/184962-768x553.jpg 768w\" sizes=\"(max-width: 1500px) 100vw, 1500px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">\u274c\u8056\u5730\u5de1\u793c\u306e\u30c0\u30e1\u306a\u4f8b<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8a2c952 e-con-full e-flex e-con e-child\" data-id=\"8a2c952\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b2c0337 elementor-widget elementor-widget-image\" data-id=\"b2c0337\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1406\" height=\"1080\" src=\"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/184964.jpg\" class=\"attachment-full size-full wp-image-91\" alt=\"\" srcset=\"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/184964.jpg 1406w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/184964-300x230.jpg 300w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/184964-1024x787.jpg 1024w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/184964-768x590.jpg 768w\" sizes=\"(max-width: 1406px) 100vw, 1406px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">\u2b55\u8056\u5730\u5de1\u793c\u306e\u826f\u3044\u4f8b<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3d88497 e-con-full e-flex e-con e-child\" data-id=\"3d88497\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9823df5 elementor-widget elementor-widget-text-editor\" data-id=\"9823df5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>\u8fd1\u5e74\u3001\u8056\u5730\u5de1\u793c\u3068\u79f0\u3057\u3066\u91ce\u7363\u90b8\u3092\u8a2a\u308c\u308b\u30db\u30e2\u30ac\u30ad\u304c\u5897\u52a0\u50be\u5411\u306b\u3042\u308a\u307e\u3059\u3002\u7279\u306b8\u670810\u65e5\uff08\u901a\u79f0\uff1a\u91ce\u7363\u306e\u65e5\uff09\u306f\u4e00\u5e74\u9593\u306e\u4e2d\u3067\u3082\u4e00\u756a\u5de1\u793c\u8005\u304c\u591a\u304f\u3001\u9053\u8def\u306b\u3042\u3075\u308c\u51fa\u305f\u30db\u30e2\u30ac\u30ad\u3092\u6291\u3048\u3053\u3080\u305f\u3081\u306b\u8b66\u5bdf\u304c\u51fa\u52d5\u3059\u308b\u4e8b\u614b\u306b\u307e\u3067\u767a\u5c55\u3057\u3066\u304a\u308a\u307e\u3059\u3002<\/p><p>\u3082\u3057\u304b\u3057\u305f\u3089\u3001\u5de1\u793c\u8005\u4e00\u4eba\u3072\u3068\u308a\u306f\u8efd\u3044\u6c17\u6301\u3061\u3067\u6765\u3066\u3044\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u3067\u3059\u304c\u3001\u3053\u308c\u306f\u8fd1\u96a3\u4f4f\u6c11\u306b\u591a\u5927\u306a\u8ff7\u60d1\u3092\u304b\u3051\u3066\u3057\u307e\u3046\u3060\u3051\u3067\u306a\u304f\u3001\u300c\u6deb\u5922\u300d\u3068\u3044\u3046\u30b3\u30f3\u30c6\u30f3\u30c4\u5168\u4f53\u306e\u5370\u8c61\u3092\u60aa\u5316\u3055\u305b\u308b\u3053\u3068\u306b\u3082\u7e4b\u304c\u3063\u3066\u3044\u308b\u306e\u3067\u3059\u3002\u78ba\u304b\u306b\u3001\u91ce\u7363\u306e\u65e5\u306b\u91ce\u7363\u90b8\u3092\u8a2a\u308c\u305f\u304f\u306a\u308b\u6c17\u6301\u3061\u306f\u5206\u304b\u308a\u307e\u3059\u3002\u3067\u3059\u304c\u3001\u3053\u3053\u3067\u81ea\u5206\u306e\u81ea\u5df1\u6e80\u8db3\u3092\u793e\u4f1a\u5229\u76ca\u3088\u308a\u3082\u512a\u5148\u3057\u3066\u3057\u307e\u3046\u3068\u3001\u6deb\u5922\u3068\u3044\u3046\u4f1d\u7d71\u3042\u308b\u65e5\u672c\u6587\u5316\u306e\u54c1\u4f4d\u3092\u4e0b\u3052\u3066\u3057\u307e\u3046\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002\u672c\u5f53\u306b\u6deb\u5922\u304c\u597d\u304d\u306a<span style=\"font-size: 16px;\">\u4eba\u3060\u304b\u3089\u3053\u305d\u3001\u4e00\u6642\u7684\u306a\u76db\u308a\u4e0a\u304c\u308a\u3092\u8ffd\u3044\u304b\u3051\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u9577\u671f\u7684\u306a\u8996\u70b9\u304b\u3089\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u5b58\u7d9a\u3055\u305b\u3066\u3044\u304f\u3079\u304d\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002<\/span><\/p><p><span style=\"font-size: 16px;\">\u73fe\u7269\u5de1\u793c\u3001\u30c0\u30e1\u3001\u7d76\u5bfe\u3002\u307f\u3093\u306a\u3067\u697d\u3057\u304f\u30eb\u30fc\u30eb\u3092\u5b88\u308a\u306a\u304c\u3089\u91ce\u7363\u90b8\u3092\u5de1\u793c\u3057\u307e\u3057\u3087\u3046\u3002<\/span><\/p><p><span style=\"font-size: 16px;\">\u6771\u4eac\u6deb\u5922\u5927\u5b66\u7dcf\u9577\u3000\u7530\u6240\u6d69\u5341<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f7d825f e-con e-atomic-element e-flexbox-base e-0c0f088 \" data-id=\"f7d825f\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"f7d825f\">\n    \t\t<div class=\"elementor-element elementor-element-a7343b4 elementor-widget elementor-widget-heading\" data-id=\"a7343b4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u6771\u4eac\u6deb\u5922\u5927\u5b66\u516c\u5f0f\u30b5\u30a4\u30c8\u3082\u3088\u308d\u3057\u304f\uff01<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6754fd0 elementor-widget elementor-widget-html\" data-id=\"6754fd0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<button id=\"pink-btn\">\r\n  \u6771\u4eac\u6deb\u5922\u5927\u5b66\u516c\u5f0f\u30b5\u30a4\u30c8\r\n<\/button>\r\n\r\n<style>\r\n#pink-btn {\r\n  background-color: #FF00FF;\r\n  color: white;\r\n  border: none;\r\n  border-radius: 12px;\r\n  padding: 12px 24px;\r\n  font-size: 19px;\r\n  cursor: pointer;\r\n  transition: opacity 0.2s ease;\r\n}\r\n\r\n#pink-btn:hover {\r\n  opacity: 0.85;\r\n}\r\n<\/style>\r\n\r\n<script>\r\ndocument.getElementById(\"pink-btn\").addEventListener(\"click\", function() {\r\n  window.open(\"https:\/\/tokyoinmu-u.jp\/\", \"_blank\");\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f0c0353 elementor-widget elementor-widget-text-editor\" data-id=\"f0c0353\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>4\u6708\u306e\u9803\u306e\u30b5\u30a4\u30c8\u304b\u3089\u3060\u3044\u3076\u5909\u308f\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u4e00\u5ea6\u898b\u305f\u3053\u3068\u3042\u308b\u4eba\u3082\u662f\u975e\u904a\u3073\u306b\u6765\u3066\u306d\u3002<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-770a554 e-con e-atomic-element e-flexbox-base e-770a554-d5fcb88 \" data-id=\"770a554\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"770a554\">\n    \t\t<div class=\"elementor-element elementor-element-3e16e97 elementor-widget elementor-widget-heading\" data-id=\"3e16e97\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">X\u3082\u3084\u3063\u3066\u307e\u3059\uff01<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-82f8a58 elementor-widget elementor-widget-html\" data-id=\"82f8a58\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<button id=\"x-btn\">\r\n  \u91ce\u7363\u796d\u516c\u5f0fX\u30a2\u30ab\u30a6\u30f3\u30c8\r\n<\/button>\r\n\r\n<style>\r\n#x-btn {\r\n  background-color: #FFFF00;\r\n  color: black;\r\n  border: none;\r\n  border-radius: 12px;\r\n  padding: 12px 24px;\r\n  font-size: 19px;\r\n  cursor: pointer;\r\n  transition: opacity 0.2s ease;\r\n}\r\n\r\n#x-btn:hover {\r\n  opacity: 0.85;\r\n}\r\n<\/style>\r\n\r\n<script>\r\ndocument.getElementById(\"x-btn\").addEventListener(\"click\", function() {\r\n  window.open(\"https:\/\/x.com\/tokyoinmu_u\", \"_blank\");\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e1398ab elementor-widget elementor-widget-text-editor\" data-id=\"e1398ab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>\u6771\u4eac\u6deb\u5922\u5927\u5b66\u516c\u5f0f\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u4ee3\u308f\u308b\u65b0\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u958b\u8a2d\u3057\u307e\u3057\u305f\u3002<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-262671a e-flex e-con-boxed e-con e-parent\" data-id=\"262671a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-126d438 elementor-widget elementor-widget-text-editor\" data-id=\"126d438\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>\u4ed6\u306e\u30da\u30fc\u30b8\u306b\u884c\u304f\u3068\u304d\u306f\u3001\u4e0b\u306e\u753b\u50cf<span style=\"font-style: inherit; font-weight: inherit;\">\u3092\u62bc\u3057\u3066\u304f\u3060\u3055\u3044\uff01<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ff94cbb e-grid e-con-boxed e-con e-parent\" data-id=\"ff94cbb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a447ea0 elementor-widget elementor-widget-image\" data-id=\"a447ea0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/tokyoinmu-u.jp\/yajusai\/home\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1570\" height=\"1082\" src=\"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/06\/dbb91d5de018c4cce6390e119a03dbbd.png\" class=\"attachment-full size-full wp-image-610\" alt=\"\" srcset=\"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/06\/dbb91d5de018c4cce6390e119a03dbbd.png 1570w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/06\/dbb91d5de018c4cce6390e119a03dbbd-300x207.png 300w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/06\/dbb91d5de018c4cce6390e119a03dbbd-1024x706.png 1024w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/06\/dbb91d5de018c4cce6390e119a03dbbd-768x529.png 768w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/06\/dbb91d5de018c4cce6390e119a03dbbd-1536x1059.png 1536w\" sizes=\"(max-width: 1570px) 100vw, 1570px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">\u91ce\u7363\u796d2026<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9ace9ee elementor-widget elementor-widget-image\" data-id=\"9ace9ee\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/tokyoinmu-u.jp\/yajusai\/project\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1448\" height=\"1086\" src=\"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/692aada4-423e-4b6d-9ede-2739e42c4646.png\" class=\"attachment-full size-full wp-image-452\" alt=\"\" srcset=\"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/692aada4-423e-4b6d-9ede-2739e42c4646.png 1448w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/692aada4-423e-4b6d-9ede-2739e42c4646-300x225.png 300w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/692aada4-423e-4b6d-9ede-2739e42c4646-1024x768.png 1024w, https:\/\/tokyoinmu-u.jp\/yajusai\/wp-content\/uploads\/2026\/05\/692aada4-423e-4b6d-9ede-2739e42c4646-768x576.png 768w\" sizes=\"(max-width: 1448px) 100vw, 1448px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">\u4f01\u753b\u7d39\u4ecb<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-523720c elementor-align-center elementor-widget__width-initial elementor-widget elementor-widget-button\" data-id=\"523720c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/tokyoinmu-u.jp\/yajusai\/yajubox\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u91ce\u7363\u30dc\u30c3\u30af\u30b9<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u73fe\u5728 &#8230; \u4eba\u304c\u8056\u5730\u5de1\u793c\u6e08\u307f\u3067\u3059\uff01 \ud83d\uddfe \u8056\u5730\u5de1\u793c \ud83c\udfc6 \u5de1\u793c\u30de\u30a4\u30eb\u30b9\u30c8\u30fc\u30f3 \ud83d\uddfa\ufe0f \u5de1\u793c\u8005 TOP10\u5730\u57df \u591a\u304f\u306e\u8981\u671b\u304c\u3042\u3063\u305f\u305f\u3081\u3001\u91ce\u7363\u90b8\u3092\u30c7\u30b8\u30bf\u30eb\u5316\u3044\u305f\u3057\u307e\u3057\u305f\u3002\u3053\u3061\u3089\u306e\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3068\u3001\u91ce\u7363\u90b8\u3092\u8056\u5730\u5de1\u793c\u3057\u305f\u3053\u3068\u306b [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-16","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-json\/wp\/v2\/pages\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-json\/wp\/v2\/comments?post=16"}],"version-history":[{"count":266,"href":"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-json\/wp\/v2\/pages\/16\/revisions"}],"predecessor-version":[{"id":929,"href":"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-json\/wp\/v2\/pages\/16\/revisions\/929"}],"wp:attachment":[{"href":"https:\/\/tokyoinmu-u.jp\/yajusai\/wp-json\/wp\/v2\/media?parent=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}