{"id":108,"date":"2026-04-04T23:45:26","date_gmt":"2026-04-04T14:45:26","guid":{"rendered":"https:\/\/www.growthbridge.biz\/lifegame\/bokentecho\/"},"modified":"2026-04-16T18:12:10","modified_gmt":"2026-04-16T09:12:10","slug":"journal","status":"publish","type":"page","link":"https:\/\/www.growthbridge.biz\/lifegame\/journal\/","title":{"rendered":"\u5192\u967a\u624b\u5e33"},"content":{"rendered":"\n<style>\n\/* WP layout overrides *\/\n.lifegame-sidebar { display: none !important; }\n.page-title, .wp-block-post-title { display: none !important; }\n.lifegame-main { display: block !important; padding-top: 0 !important; }\n.article-feed { max-width: 100%; }\n.page-body { background: none !important; border: none !important; padding: 0 !important; }\n.wp-site-blocks {\n  background:\n    linear-gradient(180deg, rgba(10,14,26,0.85) 0%, rgba(10,14,26,0.7) 50%, rgba(10,14,26,0.9) 100%),\n    url(\"https:\/\/www.growthbridge.biz\/lifegame\/wp-content\/uploads\/lifegame\/journal_bg.png\") center top \/ cover no-repeat fixed !important;\n}\n\n\n\/* ====== \u30da\u30fc\u30b8\u30bf\u30a4\u30c8\u30eb ====== *\/\n.jv2-header {\n  text-align: center;\n  padding: 20px 24px 12px;\n}\n.jv2-header h1 {\n  font-family: 'DotGothic16', monospace;\n  font-size: 22px;\n  color: #f0d68a;\n}\n.jv2-header h1::before { content: '\ud83d\udcd6  '; }\n.jv2-header p {\n  font-size: 13px;\n  color: #6b7280;\n  margin-top: 4px;\n}\n\n\/* ====== \u30b9\u30c6\u30fc\u30bf\u30b9\u30d0\u30fc ====== *\/\n.jv2-status {\n  max-width: 860px;\n  margin: 24px auto 32px;\n  padding: 14px 20px;\n  background: #0d1225;\n  border: 1px solid #2a3456;\n  border-radius: 8px;\n}\n.jv2-status-inner {\n  display: flex;\n  align-items: center;\n  gap: 20px;\n  flex-wrap: wrap;\n}\n.jv2-status-label {\n  font-family: 'Press Start 2P', monospace;\n  font-size: 7px;\n  color: #4ecdc4;\n  letter-spacing: 1px;\n  flex-shrink: 0;\n}\n.jv2-status-name {\n  font-family: 'DotGothic16', monospace;\n  font-size: 15px;\n  color: #f0d68a;\n}\n.jv2-status-class {\n  font-family: 'Press Start 2P', monospace;\n  font-size: 7px;\n  color: #d4a843;\n}\n.jv2-exp-section {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  margin-left: auto;\n}\n.jv2-exp-track {\n  width: 120px;\n  height: 6px;\n  background: #0a0e1a;\n  border: 1px solid #2a3456;\n}\n.jv2-exp-fill {\n  height: 100%;\n  background: #4ecdc4;\n}\n.jv2-exp-text {\n  font-family: 'Press Start 2P', monospace;\n  font-size: 6px;\n  color: #6b7280;\n}\n.jv2-stats {\n  display: flex;\n  gap: 20px;\n}\n.jv2-stat-item { text-align: center; }\n.jv2-stat-value {\n  font-family: 'DotGothic16', monospace;\n  font-size: 18px;\n  color: #fff;\n}\n.jv2-stat-label {\n  font-family: 'Press Start 2P', monospace;\n  font-size: 5px;\n  color: #6b7280;\n  letter-spacing: 1px;\n  margin-top: 2px;\n}\n\n\/* ====== \u30bf\u30a4\u30e0\u30e9\u30a4\u30f3 + \u30ab\u30fc\u30c9\u4e00\u89a7 ====== *\/\n.jv2-list {\n  max-width: 860px;\n  margin: 0 auto;\n  padding: 0 24px 60px;\n  position: relative;\n}\n.jv2-list::before {\n  content: '';\n  position: absolute;\n  left: 56px;\n  top: 0;\n  bottom: 0;\n  width: 1px;\n  background: #2a3456;\n}\n\n.jv2-entry {\n  display: flex;\n  gap: 0;\n  margin-bottom: 20px;\n  position: relative;\n}\n\n\/* DAY\u30de\u30fc\u30ab\u30fc\uff084\u6841\u5bfe\u5fdc\uff09 *\/\n.jv2-day-marker {\n  width: 72px;\n  flex-shrink: 0;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  padding-top: 18px;\n  position: relative;\n}\n.jv2-day-dot {\n  width: 9px; height: 9px;\n  background: #0a0e1a;\n  border: 2px solid #2a3456;\n  position: relative;\n  z-index: 2;\n}\n.jv2-day-dot.is-levelup {\n  width: 11px; height: 11px;\n  background: #d4a843;\n  border-color: #d4a843;\n  box-shadow: 0 0 6px rgba(212,168,67,0.4);\n}\n.jv2-day-label {\n  font-family: 'Press Start 2P', monospace;\n  font-size: 5px;\n  color: #6b7280;\n  margin-top: 6px;\n  letter-spacing: 0.5px;\n  white-space: nowrap;\n}\n\n\/* ====== \u30a8\u30f3\u30c8\u30ea\u30fc\u30ab\u30fc\u30c9 ====== *\/\n.jv2-card {\n  flex: 1;\n  background: #0d1225;\n  border: 1px solid #2a3456;\n  border-radius: 8px;\n  cursor: pointer;\n  transition: border-color 0.25s, box-shadow 0.25s;\n  text-decoration: none;\n  display: block;\n  color: inherit;\n}\n.jv2-card:hover {\n  border-color: #4ecdc4;\n  box-shadow: 0 0 0 1px rgba(78,205,196,0.15);\n}\n.jv2-card.is-levelup {\n  border-color: #d4a843;\n  border-width: 2px;\n}\n.jv2-card.is-levelup:hover {\n  border-color: #f0d68a;\n  box-shadow: 0 0 12px rgba(212,168,67,0.15);\n}\n\n.jv2-card-inner { display: flex; }\n\n\/* \u30b5\u30e0\u30cd\u30a4\u30eb *\/\n.jv2-thumb {\n  width: 180px;\n  min-height: 140px;\n  flex-shrink: 0;\n  overflow: hidden;\n  background: #131a2e;\n  border-radius: 8px 0 0 8px;\n  display: flex;\n  align-items: center;\n}\n.jv2-thumb img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  display: block;\n}\n.jv2-thumb-none {\n  width: 180px;\n  min-height: 140px;\n  flex-shrink: 0;\n  background: linear-gradient(135deg, #1a1a2e, #16213e);\n  border-radius: 8px 0 0 8px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 32px;\n}\n\n\/* \u30ab\u30fc\u30c9\u53f3\u5074 *\/\n.jv2-body {\n  flex: 1;\n  padding: 14px 18px;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  min-width: 0;\n}\n\n\/* \u30d0\u30c3\u30b8\u884c *\/\n.jv2-badges {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  margin-bottom: 8px;\n  flex-wrap: wrap;\n}\n.jv2-badge {\n  font-family: 'Press Start 2P', monospace;\n  font-size: 6px;\n  padding: 3px 6px;\n  letter-spacing: 0.5px;\n  line-height: 1;\n}\n.jv2-badge-day {\n  background: rgba(78,205,196,0.1);\n  color: #4ecdc4;\n  border: 1px solid rgba(78,205,196,0.25);\n}\n.jv2-badge-lv {\n  background: rgba(212,168,67,0.1);\n  color: #d4a843;\n  border: 1px solid rgba(212,168,67,0.25);\n}\n.jv2-badge-levelup {\n  background: rgba(212,168,67,0.15);\n  color: #f0d68a;\n  border: 1px solid #d4a843;\n}\n\n\/* \u30bf\u30a4\u30c8\u30eb *\/\n.jv2-title {\n  font-family: 'DotGothic16', monospace;\n  font-size: 16px;\n  color: #e8e8e8;\n  line-height: 1.4;\n  margin-bottom: 6px;\n}\n.jv2-card:hover .jv2-title { color: #4ecdc4; }\n.jv2-card.is-levelup .jv2-title { color: #f0d68a; }\n.jv2-card.is-levelup:hover .jv2-title { color: #f0d68a; }\n\n\/* \u629c\u7c8b *\/\n.jv2-excerpt {\n  font-size: 13px;\n  color: #6b7280;\n  line-height: 1.6;\n  display: -webkit-box;\n  -webkit-line-clamp: 2;\n  -webkit-box-orient: vertical;\n  overflow: hidden;\n}\n\n\/* \u30d5\u30c3\u30bf\u30fc\u884c *\/\n.jv2-card-footer {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  margin-top: 8px;\n}\n.jv2-date {\n  font-family: 'Press Start 2P', monospace;\n  font-size: 6px;\n  color: #475569;\n  letter-spacing: 1px;\n}\n.jv2-arrow {\n  font-family: 'DotGothic16', monospace;\n  font-size: 14px;\n  color: #334155;\n  transition: color 0.2s;\n}\n.jv2-card:hover .jv2-arrow { color: #4ecdc4; }\n\n\/* \u30da\u30fc\u30b8\u30cd\u30fc\u30b7\u30e7\u30f3 *\/\n.jv2-pagination {\n  max-width: 860px;\n  margin: 0 auto 48px;\n  padding: 0 24px;\n  display: flex;\n  justify-content: center;\n  gap: 12px;\n}\n.jv2-page-btn {\n  font-family: 'DotGothic16', monospace;\n  font-size: 14px;\n  padding: 8px 20px;\n  border: 1px solid #2a3456;\n  background: #0d1225;\n  color: #6b7280;\n  cursor: pointer;\n  transition: border-color 0.2s, color 0.2s;\n}\n.jv2-page-btn:hover { border-color: #4ecdc4; color: #4ecdc4; }\n.jv2-page-btn:disabled { opacity: 0.3; cursor: default; }\n\n\/* \u30ed\u30fc\u30c7\u30a3\u30f3\u30b0 *\/\n.jv2-loading {\n  text-align: center;\n  padding: 80px 0;\n  color: #6b7280;\n  font-family: 'DotGothic16', monospace;\n}\n\n\/* \u30ec\u30b9\u30dd\u30f3\u30b7\u30d6 *\/\n@media (max-width: 640px) {\n  .jv2-list::before { display: none; }\n  .jv2-day-marker { width: 48px; padding-top: 14px; }\n  .jv2-card-inner { flex-direction: column; }\n  .jv2-thumb, .jv2-thumb-none { width: 100%; height: 150px; border-radius: 8px 8px 0 0; }\n  .jv2-body { padding: 12px 14px; }\n  .jv2-title { font-size: 14px; }\n  .jv2-status-inner { gap: 10px; }\n  .jv2-exp-section { margin-left: 0; width: 100%; }\n  .jv2-exp-track { flex: 1; }\n  .jv2-stats { width: 100%; justify-content: space-around; }\n  .jv2-header { padding: 32px 16px 8px; }\n}\n<\/style>\n\n<div class=\"jv2-header\">\n  <h1>ADVENTURE LOG<\/h1>\n  <p>Kind Boss Hiro \u306e\u5192\u967a\u306e\u8a18\u9332<\/p>\n<\/div>\n\n<div class=\"jv2-status\">\n  <div class=\"jv2-status-inner\">\n    <span class=\"jv2-status-label\">ADVENTURER<\/span>\n    <span class=\"jv2-status-name\" id=\"jv2-name\">&#8230;<\/span>\n    <span class=\"jv2-status-class\" id=\"jv2-class\">&#8230;<\/span>\n    <div class=\"jv2-exp-section\">\n      <span class=\"jv2-status-label\">EXP<\/span>\n      <div class=\"jv2-exp-track\"><div class=\"jv2-exp-fill\" id=\"jv2-exp-bar\" style=\"width:0%\"><\/div><\/div>\n      <span class=\"jv2-exp-text\" id=\"jv2-exp-text\">\u2014 \/ \u2014<\/span>\n    <\/div>\n    <div class=\"jv2-stats\">\n      <div class=\"jv2-stat-item\">\n        <div class=\"jv2-stat-value\" id=\"jv2-days\">\u2014<\/div>\n        <div class=\"jv2-stat-label\">DAYS<\/div>\n      <\/div>\n      <div class=\"jv2-stat-item\">\n        <div class=\"jv2-stat-value\" id=\"jv2-posts\">\u2014<\/div>\n        <div class=\"jv2-stat-label\">POSTS<\/div>\n      <\/div>\n      <div class=\"jv2-stat-item\">\n        <div class=\"jv2-stat-value\" id=\"jv2-followers\">\u2014<\/div>\n        <div class=\"jv2-stat-label\">FOLLOWERS<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"jv2-list\" id=\"jv2-list\">\n  <div class=\"jv2-loading\">\u23f3 \u5192\u967a\u306e\u8a18\u9332\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u2026<\/div>\n<\/div>\n<div class=\"jv2-pagination\" id=\"jv2-pagination\" style=\"display:none;\"><\/div>\n<\/div>\n<script>\n(function(){\n  var API = \"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\";\n  var STATUS_URL = \"https:\/\/www.growthbridge.biz\/lifegame\/wp-content\/uploads\/lifegame\/status.json\";\n  var CAT = 3;\n  var PER = 10;\n  var currentPage = 1;\n\n  \/\/ \u30b9\u30c6\u30fc\u30bf\u30b9\u30d0\u30fc\u66f4\u65b0\n  fetch(STATUS_URL + '?t=' + Date.now())\n    .then(function(r){ return r.json(); })\n    .then(function(d){\n      var c = d.character || {};\n      var hp = d.hp || {};\n      var mp = d.mp || {};\n      document.getElementById('jv2-name').textContent = c.name || 'Kind Boss Hiro';\n      document.getElementById('jv2-class').textContent = 'LV.' + (c.level||1) + ' ' + (c.job||'Wanderer');\n      var cur = c.exp_current || 0, next = c.exp_next_level || 1;\n      document.getElementById('jv2-exp-text').textContent = cur.toLocaleString() + ' \/ ' + next.toLocaleString();\n      document.getElementById('jv2-exp-bar').style.width = Math.min(100, Math.round(cur\/next*100)) + '%';\n      document.getElementById('jv2-days').textContent = c.adventure_days || '\u2014';\n      \/* posts count is set by jv2Load from API X-WP-Total *\/\n      document.getElementById('jv2-followers').textContent = (mp.followers || 0);\n    }).catch(function(){});\n\n  function fmtDate(iso){\n    var d = new Date(iso);\n    return d.getFullYear() + '.' + String(d.getMonth()+1).padStart(2,'0') + '.' + String(d.getDate()).padStart(2,'0');\n  }\n  function strip(html){\n    var d = document.createElement('div');\n    d.innerHTML = html;\n    return d.textContent || d.innerText || '';\n  }\n\n  function render(posts, total){\n    var el = document.getElementById('jv2-list');\n    var pgEl = document.getElementById('jv2-pagination');\n    if (!posts.length) {\n      el.innerHTML = \"<div class='jv2-loading'>\u5192\u967a\u306e\u8a18\u9332\u304c\u307e\u3060\u3042\u308a\u307e\u305b\u3093\u3002<\/div>\";\n      return;\n    }\n\n    \/\/ LEVEL UP\u691c\u51fa\n    var sorted = posts.slice().sort(function(a,b){\n      var da = parseInt((a.title.rendered.match(\/Day\\s*(\\d+)\/)||[0,0])[1]);\n      var db = parseInt((b.title.rendered.match(\/Day\\s*(\\d+)\/)||[0,0])[1]);\n      return da - db;\n    });\n    var levelUpIds = {};\n    var prevLv = 0;\n    sorted.forEach(function(p){\n      var lv = parseInt((p.meta && p.meta.lifegame_level) || 0);\n      if (lv > prevLv && prevLv > 0) levelUpIds[p.id] = true;\n      if (lv > 0) prevLv = lv;\n    });\n\n    el.innerHTML = posts.map(function(p){\n      var hasFeat = p._embedded && p._embedded['wp:featuredmedia'] && p._embedded['wp:featuredmedia'][0];\n      var thumbHtml = hasFeat\n        ? \"<div class='jv2-thumb'><img src='\" + p._embedded['wp:featuredmedia'][0].source_url + \"' alt=''><\/div>\"\n        : \"<div class='jv2-thumb-none'>\\uD83D\\uDCD6<\/div>\";\n\n      var titleText = strip(p.title.rendered);\n      var dayMatch = titleText.match(\/Day\\s*(\\d+)\/);\n      var dayNum = dayMatch ? parseInt(dayMatch[1]) : 0;\n      var isLevelUp = !!levelUpIds[p.id];\n      var meta = p.meta || {};\n      var lv = meta.lifegame_level || '';\n      var excerpt = strip(p.excerpt.rendered).slice(0, 100) + '...';\n\n      var dotClass = 'jv2-day-dot' + (isLevelUp ? ' is-levelup' : '');\n      var cardClass = 'jv2-card' + (isLevelUp ? ' is-levelup' : '');\n\n      var badges = \"<span class='jv2-badge jv2-badge-day'>DAY \" + dayNum + \"<\/span>\";\n      if (isLevelUp) badges += \" <span class='jv2-badge jv2-badge-levelup'>\\u2605 LEVEL UP<\/span>\";\n      if (lv) badges += \" <span class='jv2-badge jv2-badge-lv'>LV.\" + lv + \"<\/span>\";\n\n      return \"<article class='jv2-entry'>\"\n        + \"<div class='jv2-day-marker'>\"\n        + \"<div class='\" + dotClass + \"'><\/div>\"\n        + \"<div class='jv2-day-label'>DAY \" + dayNum + \"<\/div>\"\n        + \"<\/div>\"\n        + \"<a class='\" + cardClass + \"' href='\" + p.link + \"'>\"\n        + \"<div class='jv2-card-inner'>\"\n        + thumbHtml\n        + \"<div class='jv2-body'>\"\n        + \"<div class='jv2-badges'>\" + badges + \"<\/div>\"\n        + \"<div class='jv2-title'>\" + titleText + \"<\/div>\"\n        + \"<p class='jv2-excerpt'>\" + excerpt + \"<\/p>\"\n        + \"<div class='jv2-card-footer'>\"\n        + \"<span class='jv2-date'>\" + fmtDate(p.date) + \"<\/span>\"\n        + \"<span class='jv2-arrow'>\\u25B8<\/span>\"\n        + \"<\/div><\/div><\/div><\/a><\/article>\";\n    }).join('');\n\n    var totalPages = Math.ceil(total \/ PER);\n    if (totalPages > 1) {\n      pgEl.style.display = 'flex';\n      pgEl.innerHTML =\n        \"<button class='jv2-page-btn' id='jv2-prev' onclick='jv2Load(\" + Math.max(1, currentPage-1) + \")'>\\u2190 \u524d\u306e\u30da\u30fc\u30b8<\/button>\"\n        + \"<button class='jv2-page-btn' id='jv2-next' onclick='jv2Load(\" + Math.min(totalPages, currentPage+1) + \")'>\u6b21\u306e\u30da\u30fc\u30b8 \\u2192<\/button>\";\n      document.getElementById('jv2-prev').disabled = (currentPage === 1);\n      document.getElementById('jv2-next').disabled = (currentPage === totalPages);\n    } else {\n      pgEl.style.display = 'none';\n    }\n  }\n\n  window.jv2Load = function(p) {\n    currentPage = p;\n    document.getElementById('jv2-list').innerHTML = \"<div class='jv2-loading'>\\u23F3 \u8aad\u307f\u8fbc\u307f\u4e2d...<\/div>\";\n    fetch(API + '\/posts?categories=' + CAT + '&per_page=' + PER + '&page=' + p + '&_embed=1&orderby=date&order=desc')\n      .then(function(r){ var t = parseInt(r.headers.get('X-WP-Total') || '0'); return r.json().then(function(d){ return {posts:d, total:t}; }); })\n      .then(function(d){ document.getElementById('jv2-posts').textContent = d.total; render(d.posts, d.total); })\n      .catch(function(){ document.getElementById('jv2-list').innerHTML = \"<div class='jv2-loading'>\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f<\/div>\"; });\n  };\n\n  jv2Load(1);\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>ADVENTURE LOG<br \/>\n  Kind Boss Hiro \u306e\u5192\u967a\u306e\u8a18\u9332<\/p>\n<p>    ADVENTURER<br \/>\n    &#8230;<br \/>\n    &#8230;<\/p>\n<p>      EXP<\/p>\n<p>      \u2014 \/ \u2014<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":10,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-108","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\/pages\/108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\/comments?post=108"}],"version-history":[{"count":24,"href":"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\/pages\/108\/revisions"}],"predecessor-version":[{"id":816,"href":"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\/pages\/108\/revisions\/816"}],"wp:attachment":[{"href":"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\/media?parent=108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}