{"id":487,"date":"2026-04-11T21:09:22","date_gmt":"2026-04-11T12:09:22","guid":{"rendered":"https:\/\/www.growthbridge.biz\/lifegame\/library\/"},"modified":"2026-04-16T13:43:27","modified_gmt":"2026-04-16T04:43:27","slug":"library","status":"publish","type":"page","link":"https:\/\/www.growthbridge.biz\/lifegame\/library\/","title":{"rendered":"\u56f3\u66f8\u9928"},"content":{"rendered":"\n<style>\n\n\/* WP layout overrides \u2014 \u56f3\u66f8\u9928\u30da\u30fc\u30b8\u5c02\u7528 *\/\n.lifegame-sidebar { display: none !important; }\n.page-title, .wp-block-post-title { display: none !important; }\n.lifegame-main { display: block !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; }\n.article-feed { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }\n.page-body { background: none !important; border: none !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; }\n.page-text { padding: 0 !important; margin: 0 !important; max-width: 100% !important; }\n.entry-content { padding: 0 !important; margin: 0 !important; max-width: 100% !important; }\n.wp-block-post-content { padding: 0 !important; margin: 0 !important; max-width: 100% !important; }\n.wp-site-blocks {\n  background: #0a0e1a !important;\n  padding: 0 !important;\n}\n.wp-site-blocks > * { margin-block-start: 0 !important; }\n.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {\n  max-width: 100% !important;\n  margin-left: 0 !important;\n  margin-right: 0 !important;\n}\n.is-layout-flow > * { margin-block-start: 0 !important; }\n\/* Hero\u753b\u50cf\u3092\u753b\u9762\u5e45\u3044\u3063\u3071\u3044\u306b *\/\n.library-hero {\n  margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px)) !important;\n  margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px)) !important;\n  width: calc(100% + var(--wp--style--root--padding-left, 0px) + var(--wp--style--root--padding-right, 0px)) !important;\n  max-width: none !important;\n}\n\n\n:root {\n  \/* LifeGame\u5171\u901a\u30d1\u30ec\u30c3\u30c8 *\/\n  --bg-dark:     #0a0e1a;\n  --bg-panel:    #131a2e;\n  --bg-card:     #1a2340;\n  --border:      #2a3456;\n  --gold:        #d4af37;\n  --gold-light:  #f0d68a;\n  --teal:        #4ecdc4;\n  --purple:      #a78bfa;\n  --red:         #e74c3c;\n  --text-main:   #c8cad0;\n  --text-bright: #e8e8ed;\n  --text-dim:    #8b93a5; \/* \u56f3\u66f8\u9928\u9650\u5b9a: #6b7280\u2192#8b93a5 \u53ef\u8996\u6027\u6539\u5584 (5.5:1) *\/\n  --text-nav:    #8892a8;\n\n  \/* \u56f3\u66f8\u9928\u56fa\u6709\u30ab\u30e9\u30fc *\/\n  --lib-warm:    #2a1f0e;\n  --lib-amber:   #c9943e;\n  --lib-parchment: #f5e6c8;\n  --lib-wood:    #3d2b1a;\n  --lib-candle:  #f0c040;\n}\n\n\/* ============================================================\n   LIBRARY HERO \u2014 \u56f3\u66f8\u9928\u306e\u5165\u53e3\n   ============================================================ *\/\n.library-hero {\n  position: relative;\n  overflow: hidden;\n  padding: 80px 20px 60px;\n  text-align: center;\n  \/* Hero\u80cc\u666f\u753b\u50cf \u2014 library.jpg \u3092 LifeGame\/village\/assets\/ \u306b\u914d\u7f6e *\/\n  background:\n    linear-gradient(180deg,\n      rgba(10, 14, 26, 0.35) 0%,\n      rgba(10, 14, 26, 0.55) 40%,\n      rgba(10, 14, 26, 0.85) 80%,\n      #0a0e1a 100%),\n    url('https:\/\/www.growthbridge.biz\/lifegame\/wp-content\/uploads\/2026\/04\/library.jpg') center top \/ cover no-repeat;\n  min-height: 320px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: flex-end;\n}\n\n\/* \u6d6e\u904a\u3059\u308b\u5149\u306e\u7c92\u5b50 *\/\n.library-hero::before {\n  content: '';\n  position: absolute;\n  top: 0; left: 0; right: 0; bottom: 0;\n  background-image:\n    radial-gradient(1px 1px at 20% 30%, rgba(240, 192, 64, 0.6), transparent),\n    radial-gradient(1px 1px at 40% 70%, rgba(240, 192, 64, 0.4), transparent),\n    radial-gradient(1.5px 1.5px at 60% 20%, rgba(240, 192, 64, 0.5), transparent),\n    radial-gradient(1px 1px at 80% 60%, rgba(240, 192, 64, 0.3), transparent),\n    radial-gradient(1px 1px at 10% 80%, rgba(240, 192, 64, 0.4), transparent),\n    radial-gradient(1.5px 1.5px at 90% 40%, rgba(240, 192, 64, 0.5), transparent);\n  animation: dustFloat 8s ease-in-out infinite alternate;\n  pointer-events: none;\n}\n\n@keyframes dustFloat {\n  0%   { transform: translateY(0) translateX(0); opacity: 0.6; }\n  50%  { opacity: 1; }\n  100% { transform: translateY(-15px) translateX(5px); opacity: 0.5; }\n}\n\n\/* \u30a2\u30fc\u30c1\u578b\u306e\u7a93\u30d5\u30ec\u30fc\u30e0\u88c5\u98fe *\/\n.arch-decoration {\n  position: absolute;\n  top: 0;\n  left: 50%;\n  transform: translateX(-50%);\n  width: 200px;\n  height: 100px;\n  border: 2px solid rgba(212, 175, 55, 0.1);\n  border-bottom: none;\n  border-radius: 100px 100px 0 0;\n  pointer-events: none;\n}\n\n.hero-icon {\n  font-size: 48px;\n  margin-bottom: 16px;\n  filter: drop-shadow(0 0 20px rgba(240, 192, 64, 0.3));\n  position: relative;\n}\n\n.hero-title {\n  font-family: 'Press Start 2P', monospace;\n  font-size: 22px;\n  color: var(--gold);\n  letter-spacing: 3px;\n  margin-bottom: 8px;\n  text-shadow: 0 0 30px rgba(212, 175, 55, 0.3);\n  position: relative;\n}\n\n.hero-subtitle {\n  font-family: 'DotGothic16', monospace;\n  font-size: 13px;\n  color: var(--lib-amber);\n  opacity: 0.8;\n  margin-bottom: 24px;\n  position: relative;\n}\n\n.hero-description {\n  font-size: 14px;\n  color: var(--text-dim);\n  max-width: 520px;\n  margin: 0 auto;\n  line-height: 1.8;\n  position: relative;\n}\n\n\/* \u88c5\u98fe\u7f6b\u7dda *\/\n.ornament {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 12px;\n  margin: 20px 0;\n  position: relative;\n}\n\n.ornament::before,\n.ornament::after {\n  content: '';\n  width: 60px;\n  height: 1px;\n  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.3), transparent);\n}\n\n.ornament span {\n  font-size: 10px;\n  color: rgba(212, 175, 55, 0.4);\n}\n\n\/* ============================================================\n   CATEGORY CARDS \u2014 \u30ab\u30c6\u30b4\u30ea\u30ab\u30fc\u30c9\n   ============================================================ *\/\n.category-cards {\n  display: flex;\n  justify-content: center;\n  gap: 20px;\n  flex-wrap: wrap;\n  margin: 40px 0 10px;\n}\n\n.category-card {\n  background: var(--bg-panel);\n  border: 1px solid var(--border);\n  border-radius: 14px;\n  padding: 28px 24px 24px;\n  text-align: center;\n  cursor: pointer;\n  transition: all 0.3s ease;\n  width: 240px;\n  position: relative;\n  overflow: hidden;\n}\n\n.category-card:hover {\n  border-color: rgba(212, 175, 55, 0.3);\n  transform: translateY(-3px);\n  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 0 20px rgba(212, 175, 55, 0.05);\n}\n\n.category-card::after {\n  content: '';\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  height: 3px;\n  border-radius: 0 0 14px 14px;\n  background: var(--card-accent, var(--gold));\n  opacity: 0;\n  transition: opacity 0.3s ease;\n}\n\n.category-card:hover::after {\n  opacity: 1;\n}\n\n.category-card-icon {\n  font-size: 40px;\n  margin-bottom: 14px;\n  display: block;\n  filter: drop-shadow(0 0 8px rgba(240, 192, 64, 0.2));\n}\n\n.category-card-title {\n  font-family: 'DotGothic16', monospace;\n  font-size: 14px;\n  color: var(--gold-light);\n  margin-bottom: 8px;\n  letter-spacing: 0.5px;\n}\n\n.category-card-desc {\n  font-size: 12px;\n  color: var(--text-dim);\n  line-height: 1.6;\n  margin-bottom: 14px;\n  min-height: 38px;\n}\n\n.category-card-count {\n  display: inline-block;\n  font-family: 'DotGothic16', monospace;\n  font-size: 11px;\n  padding: 3px 12px;\n  border-radius: 20px;\n  background: rgba(212, 175, 55, 0.08);\n  border: 1px solid rgba(212, 175, 55, 0.15);\n  color: var(--gold);\n}\n\n.category-card-count.coming-soon {\n  background: rgba(107, 114, 128, 0.1);\n  border-color: rgba(107, 114, 128, 0.2);\n  color: var(--text-dim);\n}\n\n\/* \u30ab\u30c6\u30b4\u30ea\u30ab\u30fc\u30c9\u3092\u30ea\u30f3\u30af\u3068\u3057\u3066\u4f7f\u3046\u5834\u5408 *\/\na.category-card {\n  text-decoration: none;\n  color: inherit;\n}\n\n\/* \u9078\u629e\u4e2d\u306e\u30ab\u30c6\u30b4\u30ea\u30ab\u30fc\u30c9 *\/\n.category-card.active {\n  border-color: var(--card-accent);\n  box-shadow: 0 0 16px rgba(212, 175, 55, 0.15);\n}\n\n\/* ============================================================\n   MAIN CONTENT \u2014 \u56f3\u66f8\u9928\u306e\u66f8\u67b6\n   ============================================================ *\/\n.library-main {\n  max-width: 900px;\n  margin: 0 auto;\n  padding: 0 20px 60px;\n}\n\n\/* \u30bb\u30af\u30b7\u30e7\u30f3\u30d8\u30c3\u30c0\u30fc\uff08\u66f8\u67b6\u306e\u672d\uff09 *\/\n.shelf-header {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  margin: 40px 0 20px;\n  padding-bottom: 12px;\n  border-bottom: 1px solid rgba(212, 175, 55, 0.12);\n}\n\n.shelf-icon {\n  font-size: 18px;\n}\n\n.shelf-title {\n  font-family: 'DotGothic16', monospace;\n  font-size: 15px;\n  color: var(--gold-light);\n  letter-spacing: 1px;\n}\n\n.shelf-count {\n  font-family: 'DotGothic16', monospace;\n  font-size: 11px;\n  color: var(--text-dim);\n  margin-left: auto;\n}\n\n\/* ============================================================\n   BOOK CARDS \u2014 \u8535\u66f8\u30ab\u30fc\u30c9\uff08\u30e1\u30a4\u30f3\uff09\n   ============================================================ *\/\n.book-list {\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n}\n\n.book-card {\n  background:\n    linear-gradient(145deg, rgba(42, 31, 14, 0.3), rgba(20, 28, 45, 0.8));\n  border: 1px solid rgba(212, 175, 55, 0.12);\n  border-radius: 14px;\n  overflow: hidden;\n  transition: all 0.3s ease;\n  cursor: pointer;\n  position: relative;\n}\n\n.book-card:hover {\n  border-color: rgba(212, 175, 55, 0.3);\n  transform: translateY(-2px);\n  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 0 20px rgba(212, 175, 55, 0.05);\n}\n\n\/* \u30ab\u30fc\u30c9\u306e\u5de6\u7aef\u30e9\u30a4\u30f3\uff08\u672c\u306e\u80cc\u8868\u7d19\u30a4\u30e1\u30fc\u30b8\uff09 *\/\n.book-card::before {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 5px;\n  height: 100%;\n  border-radius: 14px 0 0 14px;\n}\n\n.book-card.tome-1::before {\n  background: linear-gradient(180deg, #d4af37, #8b6914);\n}\n\n.book-card.tome-2::before {\n  background: linear-gradient(180deg, #4ecdc4, #1a8a7d);\n}\n\n.book-card.tome-3::before {\n  background: linear-gradient(180deg, #a78bfa, #6d4fc7);\n}\n\n.book-card-inner {\n  padding: 24px 24px 24px 28px;\n  display: flex;\n  gap: 20px;\n}\n\n\/* \u5dfb\u6570\u30d0\u30c3\u30b8 *\/\n.tome-badge {\n  flex-shrink: 0;\n  width: 56px;\n  height: 72px;\n  background: rgba(212, 175, 55, 0.06);\n  border: 1px solid rgba(212, 175, 55, 0.15);\n  border-radius: 4px 10px 10px 4px; \/* \u672c\u306e\u5f62 *\/\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 2px;\n  position: relative;\n}\n\n\/* \u672c\u306e\u80cc\u8868\u7d19\u306e\u3088\u3046\u306a\u7dda *\/\n.tome-badge::before {\n  content: '';\n  position: absolute;\n  left: 4px;\n  top: 6px;\n  bottom: 6px;\n  width: 1px;\n  background: rgba(212, 175, 55, 0.15);\n}\n\n.tome-label {\n  font-family: 'DotGothic16', monospace;\n  font-size: 9px;\n  color: var(--text-dim);\n  text-transform: uppercase;\n  letter-spacing: 1px;\n}\n\n.tome-number {\n  font-family: 'Press Start 2P', monospace;\n  font-size: 18px;\n  color: var(--gold);\n  text-shadow: 0 0 10px rgba(212, 175, 55, 0.3);\n}\n\n.tome-1 .tome-number { color: #d4af37; }\n.tome-2 .tome-number { color: #4ecdc4; }\n.tome-3 .tome-number { color: #a78bfa; }\n\n\/* \u30ab\u30fc\u30c9\u672c\u6587 *\/\n.book-content {\n  flex: 1;\n  min-width: 0;\n}\n\n.book-meta {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  margin-bottom: 8px;\n  flex-wrap: wrap;\n}\n\n.book-tag {\n  font-family: 'DotGothic16', monospace;\n  font-size: 10px;\n  padding: 2px 8px;\n  border-radius: 4px;\n  letter-spacing: 0.5px;\n}\n\n.tag-origin { background: rgba(78, 205, 196, 0.12); color: #4ecdc4; }\n.tag-chapter { background: rgba(167, 139, 250, 0.12); color: #a78bfa; }\n\n.book-reading-time {\n  font-family: 'DotGothic16', monospace;\n  font-size: 10px;\n  color: var(--text-dim);\n  margin-left: auto;\n}\n\n.book-title {\n  font-family: 'Noto Sans JP', sans-serif;\n  font-size: 17px;\n  font-weight: 700;\n  color: var(--text-bright);\n  line-height: 1.5;\n  margin-bottom: 8px;\n}\n\n.book-excerpt {\n  font-size: 13.5px;\n  color: var(--text-dim);\n  line-height: 1.7;\n  display: -webkit-box;\n  -webkit-line-clamp: 3;\n  -webkit-box-orient: vertical;\n  overflow: hidden;\n  margin-bottom: 14px;\n}\n\n\/* \u5404\u30ab\u30fc\u30c9\u4e0b\u90e8\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u30d0\u30fc *\/\n.book-status-bar {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding-top: 12px;\n  border-top: 1px solid rgba(255, 255, 255, 0.04);\n  flex-wrap: wrap;\n}\n\n.read-link {\n  margin-left: auto;\n  font-family: 'DotGothic16', monospace;\n  font-size: 11px;\n  color: var(--gold);\n  text-decoration: none;\n  display: flex;\n  align-items: center;\n  gap: 4px;\n  opacity: 0.7;\n  transition: opacity 0.2s;\n}\n\n.book-card:hover .read-link { opacity: 1; }\n\n\n\/* ============================================================\n   NOTE LINK CTA \u2014 Note\u3078\u306e\u8a98\u5c0e\n   ============================================================ *\/\n.note-cta {\n  margin-top: 32px;\n  text-align: center;\n  padding: 28px;\n  background: rgba(255, 255, 255, 0.02);\n  border: 1px dashed rgba(212, 175, 55, 0.15);\n  border-radius: 14px;\n}\n\n.note-cta-text {\n  font-family: 'DotGothic16', monospace;\n  font-size: 13px;\n  color: var(--text-dim);\n  margin-bottom: 16px;\n}\n\n.note-cta-link {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  font-family: 'DotGothic16', monospace;\n  font-size: 13px;\n  color: #2cb54c;\n  text-decoration: none;\n  padding: 10px 24px;\n  background: rgba(44, 181, 76, 0.08);\n  border: 1px solid rgba(44, 181, 76, 0.2);\n  border-radius: 8px;\n  transition: all 0.2s;\n}\n\n.note-cta-link:hover {\n  background: rgba(44, 181, 76, 0.15);\n  border-color: rgba(44, 181, 76, 0.35);\n}\n\n\/* ============================================================\n   FOOTER \u2014 \u5171\u901a\u30d5\u30c3\u30bf\u30fc\n   ============================================================ *\/\n.site-footer {\n  text-align: center;\n  padding: 32px 20px;\n  border-top: 1px solid rgba(255, 255, 255, 0.04);\n}\n\n.footer-quote {\n  font-family: 'DotGothic16', monospace;\n  font-size: 11px;\n  color: var(--text-dim);\n  opacity: 0.6;\n  margin-bottom: 8px;\n  font-style: italic;\n}\n\n.footer-copy {\n  font-family: 'DotGothic16', monospace;\n  font-size: 9.5px;\n  color: var(--text-dim);\n  opacity: 0.4;\n}\n\n\/* ============================================================\n   RESPONSIVE \u2014 \u30e2\u30d0\u30a4\u30eb\u5bfe\u5fdc (\u2264480px)\n   ============================================================ *\/\n@media (max-width: 480px) {\n  \/* \u30d8\u30c3\u30c0\u30fc\u306f\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u5074\u3067\u5236\u5fa1 *\/\n\n  \/* \u30d2\u30fc\u30ed\u30fc *\/\n  .library-hero {\n    padding: 50px 16px 36px;\n    min-height: 220px;\n  }\n  .arch-decoration { display: none; }\n  .hero-icon { font-size: 36px; }\n  .hero-title { font-size: 16px; letter-spacing: 2px; }\n  .hero-subtitle { font-size: 11px; }\n  .hero-description { font-size: 13px; }\n\n  \/* \u30e1\u30a4\u30f3\u30b3\u30f3\u30c6\u30f3\u30c4 *\/\n  .library-main { padding: 0 16px 40px; }\n  .shelf-header { margin: 28px 0 14px; }\n\n  \/* \u30ab\u30c6\u30b4\u30ea\u30ab\u30fc\u30c9 \u2014 \u30e2\u30d0\u30a4\u30eb\u6a2a\u4e26\u3073\u30b3\u30f3\u30d1\u30af\u30c8 *\/\n  .category-cards {\n    flex-direction: column;\n    align-items: stretch;\n    gap: 8px;\n    padding: 0;\n  }\n  .category-card {\n    width: 100%;\n    max-width: none;\n    padding: 10px 14px;\n    display: grid;\n    grid-template-columns: 28px 1fr auto;\n    grid-template-rows: auto auto;\n    gap: 2px 10px;\n    text-align: left;\n  }\n  .category-card::after { display: none; }\n  .category-card-icon { font-size: 20px; margin-bottom: 0; grid-row: 1 \/ 3; align-self: center; }\n  .category-card-title { font-size: 12px; margin-bottom: 0; grid-column: 2; }\n  .category-card-desc { font-size: 10px; min-height: auto; margin-bottom: 0; grid-column: 2 \/ 4; line-height: 1.4; }\n  .category-card-count { font-size: 10px; padding: 2px 8px; grid-column: 3; grid-row: 1; align-self: center; }\n\n  \/* \u30d6\u30c3\u30af\u30ab\u30fc\u30c9 *\/\n  .book-card-inner {\n    padding: 16px 16px 16px 20px;\n    flex-direction: row;\n    gap: 10px;\n  }\n\n  .tome-badge {\n    width: 40px;\n    height: 40px;\n    min-width: 40px;\n    border-radius: 8px;\n    padding: 0;\n  }\n\n  .tome-badge::before { display: none; }\n\n  .tome-number { font-size: 18px; }\n\n  .book-title { font-size: 15px; }\n  .book-excerpt { font-size: 13px; -webkit-line-clamp: 2; }\n\n  .book-status-bar {\n    gap: 10px;\n  }\n\n  .book-reading-time { margin-left: 0; }\n\n  \/* Note CTA *\/\n  .note-cta { padding: 20px 16px; }\n\n}\n\n<\/style>\n\n<!-- ============================================================\n     HERO \u2014 \u56f3\u66f8\u9928\u306e\u5165\u53e3\n     ============================================================ -->\n<section class=\"library-hero\">\n  <div class=\"arch-decoration\"><\/div>\n  <div class=\"hero-icon\">\ud83d\udcdc<\/div>\n  <h1 class=\"hero-title\">LIBRARY<\/h1>\n  <p class=\"hero-subtitle\">\u2014 \u77e5\u8b58\u306e\u66f8\u67b6 \u2014<\/p>\n  <div class=\"ornament\"><span>\u25c6<\/span><\/div>\n  <p class=\"hero-description\">\n    \u5192\u967a\u8005Hiro\u306e\u65c5\u8def\u3067\u5f97\u305f\u77e5\u898b\u3068\u8a18\u9332\u304c\u3001\u3053\u306e\u66f8\u67b6\u306b\u53ce\u3081\u3089\u308c\u3066\u3044\u308b\u3002<br>\n    \u3053\u3053\u306b\u4e26\u3076\u66f8\u7269\u306f\u3001\u3059\u3079\u3066\u5b9f\u969b\u306e\u5192\u967a\u304b\u3089\u751f\u307e\u308c\u305f\u3082\u306e\u3060\u3002\n  <\/p>\n<\/section>\n\n<main class=\"library-main\">\n\n  <!-- \u30ab\u30c6\u30b4\u30ea\u30ab\u30fc\u30c9\u4e00\u89a7 -->\n  <div class=\"category-cards\" id=\"lib-categories\"><\/div>\n\n  <!-- \u66f8\u67b6\u898b\u51fa\u3057 + \u8535\u66f8\u4e00\u89a7 -->\n  <div class=\"shelf-header\" id=\"lib-shelf-header\">\n    <span class=\"shelf-icon\">\ud83d\udcda<\/span>\n    <h2 class=\"shelf-title\">\u65b0\u7740\u306e\u66f8<\/h2>\n    <span class=\"shelf-count\" id=\"lib-count\"><\/span>\n  <\/div>\n  <div class=\"book-list\" id=\"lib-books\">\n    <div style=\"text-align:center;padding:60px 0;color:#6b7280;font-family:'DotGothic16',monospace;\">\n      <p style=\"font-size:24px;margin-bottom:12px;\">\ud83d\udcda<\/p>\n      <p>\u8535\u66f8\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u2026<\/p>\n    <\/div>\n  <\/div>\n\n  <script>\n  (function(){\n    var API = \"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\";\n    var LIB_URL = \"https:\/\/www.growthbridge.biz\/lifegame\/library\/\";\n\n    var SHELVES = [\n      { id: 38, slug: 'chronicles', icon: '\\uD83D\\uDCD6', name: 'KindBoss Chronicles', desc: '55\\u6B73\\u3001\\u793E\\u54E1\\u30BC\\u30ED\\u3002AI\\u3060\\u3051\\u3067\\u4F1A\\u793E\\u3092\\u56DE\\u3057\\u3066\\u307F\\u305F', color: '#c9943e' },\n      { id: 39, slug: 'sage-wisdom', icon: '\\uD83D\\uDCDC', name: '\\u8CE2\\u8005\\u306E\\u6559\\u3048', desc: '\\u4ED5\\u4E8B\\u3068\\u6210\\u9577\\u306B\\u307E\\u3064\\u308F\\u308B\\u77E5\\u6075\\u3068\\u5B9F\\u8DF5\\u30AC\\u30A4\\u30C9', color: '#38bdf8' },\n      { id: 40, slug: 'adventure-guide', icon: '\\uD83C\\uDFAE', name: '\\u5192\\u967A\\u306E\\u624B\\u5F15\\u304D', desc: '\\u4ED5\\u4E8B\\u3092RPG\\u306B\\u5909\\u3048\\u308B\\u30B2\\u30FC\\u30DF\\u30D5\\u30A3\\u30B1\\u30FC\\u30B7\\u30E7\\u30F3\\u5B9F\\u8DF5', color: '#a78bfa' }\n    ];\n\n    var SHELVES_MAP = {};\n    SHELVES.forEach(function(s){ SHELVES_MAP[s.id] = s; });\n\n    \/* URL?cat= \u30d1\u30e9\u30e1\u30fc\u30bf\u8aad\u307f\u53d6\u308a *\/\n    var params = new URLSearchParams(window.location.search);\n    var filterSlug = params.get('cat') || '';\n    var filterShelf = SHELVES.find(function(s){ return s.slug === filterSlug; });\n\n    function strip(html){\n      var d = document.createElement('div'); d.innerHTML = html;\n      return d.textContent || d.innerText || '';\n    }\n\n    function darken(hex, amt){\n      var r = parseInt(hex.slice(1,3),16), g = parseInt(hex.slice(3,5),16), b = parseInt(hex.slice(5,7),16);\n      r = Math.max(0, r - amt); g = Math.max(0, g - amt); b = Math.max(0, b - amt);\n      return '#' + [r,g,b].map(function(c){ return ('0'+c.toString(16)).slice(-2); }).join('');\n    }\n\n    function hexToRgb(hex){\n      return parseInt(hex.slice(1,3),16)+','+parseInt(hex.slice(3,5),16)+','+parseInt(hex.slice(5,7),16);\n    }\n\n    \/* API URL\u69cb\u7bc9 *\/\n    var fetchUrl = filterShelf\n      ? API + '\/posts?categories=' + filterShelf.id + '&per_page=100&orderby=date&order=desc'\n      : API + '\/posts?categories_exclude=3&per_page=100&orderby=date&order=desc';\n\n    fetch(fetchUrl)\n    .then(function(r){ return r.json(); })\n    .then(function(posts){\n\n      \/* \u30ab\u30c6\u30b4\u30ea\u5225\u306e\u6295\u7a3f\u6570\u30ab\u30a6\u30f3\u30c8\uff08\u5168\u4ef6\u53d6\u5f97\u3057\u3066\u6570\u3048\u308b\uff09 *\/\n      if (filterShelf) {\n        \/* \u30d5\u30a3\u30eb\u30bf\u4e2d: \u5168\u4ef6\u3082\u5225\u9014\u53d6\u5f97\u3057\u3066\u30ab\u30fc\u30c9\u7528\u30ab\u30a6\u30f3\u30c8\u3092\u5f97\u308b *\/\n        fetch(API + '\/posts?categories_exclude=3&per_page=100&orderby=date&order=desc')\n        .then(function(r2){ return r2.json(); })\n        .then(function(allPosts){ renderPage(posts, allPosts); });\n      } else {\n        renderPage(posts, posts);\n      }\n    })\n    .catch(function(e){\n      document.getElementById('lib-books').innerHTML = '<div style=\"color:#e74c3c;padding:20px;font-family:DotGothic16,monospace;\">\\u8AAD\\u307F\\u8FBC\\u307F\\u30A8\\u30E9\\u30FC: ' + e.message + '<\/div>';\n    });\n\n    function renderPage(displayPosts, allPosts) {\n      \/* \u30ab\u30c6\u30b4\u30ea\u5225\u30ab\u30a6\u30f3\u30c8 *\/\n      var counts = {};\n      SHELVES.forEach(function(s){ counts[s.id] = 0; });\n      allPosts.forEach(function(p){\n        (p.categories || []).forEach(function(cid){\n          if (counts[cid] !== undefined) counts[cid]++;\n        });\n      });\n\n      \/* \u30ab\u30c6\u30b4\u30ea\u30ab\u30fc\u30c9\u63cf\u753b *\/\n      var catEl = document.getElementById('lib-categories');\n      catEl.innerHTML = SHELVES.map(function(s){\n        var count = counts[s.id] || 0;\n        var isActive = filterShelf && filterShelf.id === s.id;\n        var countLabel = count > 0\n          ? '<span class=\"category-card-count\">' + count + ' \\u5DFB<\/span>'\n          : '<span class=\"category-card-count coming-soon\">Coming Soon<\/span>';\n        var href = isActive ? LIB_URL : LIB_URL + '?cat=' + s.slug;\n        var activeClass = isActive ? ' active' : '';\n        return '<a href=\"' + href + '\" class=\"category-card' + activeClass + '\" style=\"--card-accent:' + s.color + '\">'\n          + '<span class=\"category-card-icon\">' + s.icon + '<\/span>'\n          + '<div class=\"category-card-title\">' + s.name + '<\/div>'\n          + '<div class=\"category-card-desc\">' + s.desc + '<\/div>'\n          + countLabel\n          + '<\/a>';\n      }).join('');\n\n      \/* \u898b\u51fa\u3057\u66f4\u65b0 *\/\n      var headerIcon = document.querySelector('#lib-shelf-header .shelf-icon');\n      var headerTitle = document.querySelector('#lib-shelf-header .shelf-title');\n      var headerCount = document.getElementById('lib-count');\n      if (filterShelf) {\n        headerIcon.textContent = filterShelf.icon;\n        headerTitle.textContent = filterShelf.name;\n      } else {\n        headerIcon.textContent = '\\uD83D\\uDCDA';\n        headerTitle.textContent = '\\u65B0\\u7740\\u306E\\u66F8';\n      }\n      headerCount.textContent = '\\u5168' + displayPosts.length + '\\u5DFB';\n\n      \/* \u8535\u66f8\u30ab\u30fc\u30c9\u63cf\u753b *\/\n      var booksEl = document.getElementById('lib-books');\n      if (!displayPosts.length) {\n        booksEl.innerHTML = '<div style=\"text-align:center;padding:60px 0;color:#6b7280;font-family:DotGothic16,monospace;\"><p>\\u8535\\u66F8\\u306F\\u307E\\u3060\\u3042\\u308A\\u307E\\u305B\\u3093\\u3002<\/p><\/div>';\n        return;\n      }\n\n      booksEl.innerHTML = displayPosts.map(function(p){\n        \/* \u3053\u306epost\u306e\u30ab\u30c6\u30b4\u30ea\u304b\u3089SHELVES\u8a72\u5f53\u3092\u63a2\u3059 *\/\n        var shelf = null;\n        (p.categories || []).forEach(function(cid){\n          if (!shelf && SHELVES_MAP[cid]) shelf = SHELVES_MAP[cid];\n        });\n        if (!shelf) return '';\n\n        var spineColor = shelf.color;\n        var spineColorDark = darken(spineColor, 80);\n        var title = strip(p.title.rendered);\n        var excerpt = strip(p.excerpt.rendered).slice(0, 150);\n        var wordCount = strip(p.content.rendered).length;\n        var readMin = Math.max(1, Math.round(wordCount \/ 400));\n\n        return '<article class=\"book-card\" onclick=\"window.location.href=\\'' + p.link + '\\'\" style=\"cursor:pointer\">'\n          + '<div style=\"position:absolute;top:0;left:0;width:5px;height:100%;border-radius:14px 0 0 14px;background:linear-gradient(180deg,' + spineColor + ',' + spineColorDark + ')\"><\/div>'\n          + '<div class=\"book-card-inner\">'\n          + '<div class=\"tome-badge\" style=\"background:rgba(' + hexToRgb(spineColor) + ',0.06);border-color:rgba(' + hexToRgb(spineColor) + ',0.15)\">'\n          + '<span class=\"tome-number\" style=\"color:' + spineColor + ';font-size:24px\">' + shelf.icon + '<\/span>'\n          + '<\/div>'\n          + '<div class=\"book-content\">'\n          + '<div class=\"book-meta\">'\n          + '<span class=\"book-tag\" style=\"background:rgba(' + hexToRgb(spineColor) + ',0.12);color:' + spineColor + '\">' + shelf.icon + ' ' + shelf.name + '<\/span>'\n          + '<span class=\"book-reading-time\">\\u23F1 \\u7D04' + readMin + '\\u5206<\/span>'\n          + '<\/div>'\n          + '<h3 class=\"book-title\">' + title + '<\/h3>'\n          + '<p class=\"book-excerpt\">' + excerpt + '<\/p>'\n          + '<div class=\"book-status-bar\">'\n          + '<a href=\"' + p.link + '\" class=\"read-link\">\\u3053\\u306E\\u5DFB\\u3092\\u8AAD\\u3080 \\u2192<\/a>'\n          + '<\/div>'\n          + '<\/div>'\n          + '<\/div>'\n          + '<\/article>';\n      }).join('');\n    }\n  })();\n  <\/script>\n\n  <!-- ============================================================\n       Note CTA\n       ============================================================ -->\n  <div class=\"note-cta\">\n    <p class=\"note-cta-text\">KindBoss Chronicles\u306fNote\u3067\u3082\u516c\u958b\u3057\u3066\u3044\u307e\u3059<\/p>\n    <a href=\"https:\/\/note.com\/kindboss_hiro\" class=\"note-cta-link\" target=\"_blank\" rel=\"noopener\">\n      \ud83d\udcdd Note\u3067\u8aad\u3080\n    <\/a>\n  <\/div>\n\n<\/main>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udcdc<br \/>\n  LIBRARY<br \/>\n  \u2014 \u77e5\u8b58\u306e\u66f8\u67b6 \u2014<br \/>\n  \u25c6<\/p>\n<p>    \u5192\u967a\u8005Hiro\u306e\u65c5\u8def\u3067\u5f97\u305f\u77e5\u898b\u3068\u8a18\u9332\u304c\u3001\u3053\u306e\u66f8\u67b6\u306b\u53ce\u3081\u3089\u308c\u3066\u3044\u308b\u3002<br \/>\n    \u3053\u3053\u306b\u4e26\u3076\u66f8\u7269\u306f\u3001\u3059\u3079\u3066\u5b9f\u969b\u306e\u5192\u967a\u304b\u3089\u751f\u307e\u308c\u305f\u3082\u306e\u3060\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-487","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\/pages\/487","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=487"}],"version-history":[{"count":25,"href":"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\/pages\/487\/revisions"}],"predecessor-version":[{"id":791,"href":"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\/pages\/487\/revisions\/791"}],"wp:attachment":[{"href":"https:\/\/www.growthbridge.biz\/lifegame\/wp-json\/wp\/v2\/media?parent=487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}