{"id":547,"date":"2026-06-13T09:28:58","date_gmt":"2026-06-13T09:28:58","guid":{"rendered":"https:\/\/shuminotamariba.com\/?page_id=547"},"modified":"2026-06-23T03:29:18","modified_gmt":"2026-06-22T18:29:18","slug":"bekkan-tags","status":"publish","type":"page","link":"https:\/\/shuminotamariba.com\/index.php\/bekkan-tags\/","title":{"rendered":"\u30bf\u30b0\u4e00\u89a7<\u5225\u9928>"},"content":{"rendered":"\n<!-- \u5225\u9928\u30bf\u30b0\u4e00\u89a7 v12\uff1a\u4e0b\u90e8\u30d5\u30c3\u30bf\u30fc\u524d\u306b\u8efd\u3081\u306ePR\u8868\u8a18\u3092\u8ffd\u52a0 -->\n<!-- \u5225\u9928\u30bf\u30b0\u4e00\u89a7 v11\uff1a\u30b9\u30de\u30db\u30d8\u30c3\u30c0\u30fc\u6a2a\u4e26\u3073 \/ \u623b\u308b\u30dc\u30bf\u30f3\u53f3\u914d\u7f6e -->\n<style>\n  @import url(\"https:\/\/fonts.googleapis.com\/css2?family=Yuji+Boku&family=Yomogi&display=swap\");\n\n  html,\n  body {\n    overflow-x: hidden !important;\n  }\n\n  body,\n  .wp-site-blocks,\n  main.wp-block-group,\n  .wp-block-post-content {\n    background: #070b0f !important;\n  }\n\n  .wp-site-blocks > header,\n  header.wp-block-template-part,\n  .wp-block-post-title,\n  .entry-header,\n  .wp-site-blocks > .wp-block-group:first-child,\n  main > .wp-block-group:first-child:not(:has(.yt-bekkan-tags-page)) {\n    display: none !important;\n  }\n\n  .wp-site-blocks,\n  main,\n  .wp-block-post-content {\n    margin-top: 0 !important;\n    padding-top: 0 !important;\n  }\n\n  .yt-bekkan-tags-page {\n    --yt-bg: #070b0f;\n    --yt-bg2: #0b1016;\n    --yt-panel: rgba(12,18,24,.92);\n    --yt-panel2: rgba(18,28,38,.78);\n    --yt-text: #f3fbff;\n    --yt-muted: #a8bdc7;\n    --yt-soft: #c7d6df;\n    --yt-cyan: #45eedb;\n    --yt-blue: #38a8ff;\n    --yt-line: rgba(69,238,219,.55);\n    --yt-line2: rgba(69,238,219,.22);\n    --yt-card: linear-gradient(135deg, rgba(15,38,52,.78), rgba(8,14,21,.92));\n    --yt-shadow: 0 0 28px rgba(69,238,219,.10);\n\n    position: relative;\n    left: 50%;\n    right: 50%;\n    width: 100vw;\n    max-width: 100vw;\n    margin-left: -50vw !important;\n    margin-right: -50vw !important;\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n    min-height: 100vh;\n    overflow-x: hidden;\n    color: var(--yt-text);\n    background:\n      radial-gradient(circle at 18% 0%, rgba(69,238,219,.12), transparent 30%),\n      radial-gradient(circle at 92% 18%, rgba(56,168,255,.11), transparent 32%),\n      linear-gradient(180deg,var(--yt-bg) 0%,var(--yt-bg2) 55%,var(--yt-bg) 100%);\n    padding: clamp(34px,4vw,64px) clamp(14px,3vw,34px) clamp(18px,3vw,34px);\n    box-sizing: border-box;\n    font-family: system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Hiragino Sans\",\"Yu Gothic\",sans-serif;\n  }\n\n  .yt-bekkan-tags-page,\n  .yt-bekkan-tags-page * {\n    box-sizing: border-box;\n  }\n\n  .yt-shell {\n    width: min(100%, 1460px);\n    margin: 0 auto;\n  }\n\n  .yt-header {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) auto;\n    gap: 18px;\n    align-items: center;\n    padding: 16px;\n    border: 1px solid var(--yt-line);\n    border-radius: 22px;\n    background: var(--yt-card);\n    box-shadow: var(--yt-shadow);\n    margin-bottom: 18px;\n  }\n\n  .yt-brand {\n    display: flex;\n    align-items: center;\n    gap: 14px;\n    min-width: 0;\n  }\n\n  .yt-logo {\n    flex: 0 0 62px;\n    width: 62px;\n    height: 62px;\n    border-radius: 16px;\n    overflow: hidden;\n    border: 1px solid var(--yt-line2);\n    background: var(--yt-panel2);\n  }\n\n  .yt-logo img {\n    width: 100%;\n    height: 100%;\n    display: block;\n    object-fit: cover;\n  }\n\n  .yt-title {\n    margin: 0;\n    color: var(--yt-text);\n    font-family: \"Mushin\",\"\u7121\u5fc3\",\"MODI_mushin\",\"Yomogi\",\"Hiragino Maru Gothic ProN\",\"Yu Gothic\",system-ui,sans-serif;\n    font-size: clamp(28px,3vw,42px);\n    line-height: 1.05;\n    letter-spacing: -.06em;\n    white-space: nowrap;\n  }\n\n  .yt-title span {\n    color: var(--yt-cyan);\n  }\n\n  .yt-tagline {\n    margin: 6px 0 0;\n    color: var(--yt-muted);\n    font-size: 13px;\n    line-height: 1.5;\n    font-weight: 700;\n  }\n\n  .yt-nav {\n    display: flex;\n    justify-content: flex-end;\n    align-items: center;\n  }\n\n  .yt-nav a,\n  .yt-btn {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 40px;\n    padding: 9px 16px;\n    border-radius: 999px;\n    border: 1px solid rgba(69,238,219,.76);\n    color: #061018 !important;\n    background: linear-gradient(90deg, #45eedb, #38a8ff);\n    text-decoration: none;\n    font-size: 12.5px;\n    line-height: 1;\n    font-weight: 1000;\n    white-space: nowrap;\n  }\n\n  .yt-nav a:hover,\n  .yt-btn:hover {\n    color: var(--yt-cyan) !important;\n    background:\n      radial-gradient(circle at 18% 20%, rgba(69,238,219,.18), transparent 36%),\n      linear-gradient(135deg, rgba(15,38,52,.72), rgba(8,14,21,.76));\n    border-color: rgba(69,238,219,.95);\n    box-shadow: 0 0 22px rgba(69,238,219,.22);\n  }\n\n  .yt-control-panel {\n    display: grid;\n    grid-template-columns: minmax(0,1fr) auto;\n    gap: 12px;\n    align-items: center;\n    margin-bottom: 18px;\n    padding: 14px;\n    border: 1px solid var(--yt-line);\n    border-radius: 20px;\n    background: var(--yt-card);\n    box-shadow: var(--yt-shadow);\n  }\n\n  .yt-search-row {\n    display: grid;\n    grid-template-columns: minmax(0,1fr) auto;\n    gap: 8px;\n    align-items: center;\n  }\n\n  .yt-search-wrap {\n    position: relative;\n    min-width: 0;\n  }\n\n  .yt-input {\n    width: 100%;\n    min-height: 42px;\n    border-radius: 14px;\n    border: 1px solid var(--yt-line2);\n    background: rgba(255,255,255,.08);\n    color: var(--yt-text);\n    padding: 0 42px 0 12px;\n    font-size: 14px;\n    font-weight: 800;\n    outline: none;\n  }\n\n  .yt-input::placeholder {\n    color: var(--yt-muted);\n  }\n\n  .yt-clear {\n    position: absolute;\n    top: 50%;\n    right: 9px;\n    width: 26px;\n    height: 26px;\n    transform: translateY(-50%);\n    border: 0;\n    border-radius: 999px;\n    color: #ffffff;\n    background: transparent;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 20px;\n    line-height: 1;\n    font-weight: 900;\n    cursor: pointer;\n  }\n\n  .yt-clear:hover {\n    color: var(--yt-cyan);\n  }\n\n  .yt-count-total {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 34px;\n    padding: 6px 12px;\n    border-radius: 999px;\n    color: #061018;\n    background: linear-gradient(90deg, #45eedb, #38a8ff);\n    font-weight: 1000;\n    font-size: 13px;\n    white-space: nowrap;\n  }\n\n  .yt-tags-main {\n    display: grid;\n    gap: 14px;\n  }\n\n  .yt-tag-group {\n    min-width: 0;\n    padding: 16px;\n    border: 1px solid var(--yt-line);\n    border-radius: 22px;\n    background: var(--yt-card);\n    box-shadow: var(--yt-shadow);\n  }\n\n  .yt-tag-group-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 12px;\n    margin-bottom: 12px;\n  }\n\n  .yt-tag-group-title {\n    margin: 0;\n    color: var(--yt-text);\n    font-family: \"Yuji Boku\",\"Yomogi\",\"Hiragino Mincho ProN\",\"Yu Mincho\",serif;\n    font-weight: 700;\n    letter-spacing: -.03em;\n    font-size: clamp(23px,2.4vw,31px);\n    line-height: 1.2;\n  }\n\n  .yt-tag-group-count {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 30px;\n    min-width: 44px;\n    padding: 5px 11px;\n    border-radius: 999px;\n    color: #061018;\n    background: linear-gradient(90deg, #45eedb, #38a8ff);\n    font-weight: 1000;\n    font-size: 12px;\n    line-height: 1.2;\n    white-space: nowrap;\n  }\n\n  .yt-tag-list {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px;\n  }\n\n  .yt-tag-link {\n    display: inline-flex;\n    align-items: center;\n    gap: 7px;\n    min-height: 36px;\n    padding: 8px 11px;\n    border-radius: 999px;\n    border: 1px solid rgba(255,223,112,.78);\n    background: linear-gradient(90deg, rgba(255,223,112,.98), rgba(255,190,64,.94));\n    color: #151006 !important;\n    text-decoration: none;\n    font-size: 12.5px;\n    line-height: 1.2;\n    font-weight: 900;\n    box-shadow: 0 0 10px rgba(255,209,102,.10);\n    transition:\n      color .18s ease,\n      background .18s ease,\n      border-color .18s ease,\n      box-shadow .18s ease,\n      filter .18s ease;\n  }\n\n  .yt-tag-link:hover {\n    color: var(--yt-cyan) !important;\n    border-color: rgba(69,238,219,.92);\n    background:\n      radial-gradient(circle at 20% 20%, rgba(69,238,219,.14), transparent 38%),\n      rgba(255,255,255,.045);\n    box-shadow:\n      0 0 0 1px rgba(69,238,219,.10),\n      0 0 18px rgba(69,238,219,.18);\n    filter: brightness(1.04);\n  }\n\n  .yt-tag-num {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-width: 22px;\n    height: 22px;\n    padding: 0 6px;\n    border-radius: 999px;\n    color: #061018;\n    background: rgba(255,255,255,.52);\n    border: 1px solid rgba(6,16,24,.12);\n    font-size: 10.5px;\n    line-height: 1;\n    font-weight: 1000;\n  }\n\n  .yt-tag-group[data-group=\"sale\"] .yt-tag-link {\n    width: 100%;\n    min-height: 42px;\n    justify-content: center;\n    color: #061018 !important;\n    background: linear-gradient(90deg, #ff8aa0, #ffd166);\n    border-color: rgba(255,209,102,.82);\n    box-shadow: 0 0 12px rgba(255,138,160,.18);\n    font-weight: 1000;\n  }\n\n  .yt-tag-group[data-group=\"sale\"] .yt-tag-link:hover {\n    color: var(--yt-cyan) !important;\n    background:\n      radial-gradient(circle at 18% 20%, rgba(69,238,219,.18), transparent 36%),\n      linear-gradient(135deg, rgba(15,38,52,.72), rgba(8,14,21,.76));\n    border-color: rgba(69,238,219,.95);\n    box-shadow:\n      0 0 0 1px rgba(69,238,219,.12),\n      0 0 22px rgba(69,238,219,.22);\n  }\n\n  .yt-tag-group[data-group=\"sale\"] .yt-tag-num {\n    background: rgba(6,10,14,.82);\n    color: var(--yt-cyan);\n    border: 1px solid rgba(69,238,219,.42);\n  }\n\n  .yt-empty,\n  .yt-loading {\n    width: 100%;\n    padding: 13px;\n    border-radius: 14px;\n    border: 1px dashed var(--yt-line2);\n    color: var(--yt-muted);\n    background: rgba(255,255,255,.035);\n    font-size: 13px;\n    line-height: 1.7;\n    font-weight: 700;\n  }\n\n  .yt-footer {\n    margin-top: 20px;\n    display: grid;\n    grid-template-columns: repeat(4,minmax(0,1fr));\n    gap: 12px;\n    border: 1px solid var(--yt-line);\n    border-radius: 20px;\n    padding: 14px;\n    background: rgba(6,10,14,.78);\n    box-shadow: 0 0 28px rgba(69,238,219,.08);\n  }\n\n  .yt-footer a {\n    display: block;\n    padding: 12px;\n    border-radius: 15px;\n    background: rgba(255,255,255,.04);\n    color: var(--yt-muted);\n    font-size: 13px;\n    line-height: 1.6;\n    font-weight: 400;\n    text-decoration: none;\n    border: 1px solid rgba(255,255,255,.06);\n  }\n\n  .yt-footer strong {\n    display: block;\n    color: var(--yt-text);\n    font-size: 15px;\n    line-height: 1.35;\n    font-weight: 700;\n    margin-bottom: 5px;\n  }\n\n  .yt-footer a:hover {\n    color: var(--yt-cyan);\n    border-color: var(--yt-cyan);\n  }\n\n  .yt-footer a:hover strong {\n    color: var(--yt-cyan);\n  }\n\n  @media (max-width: 900px) {\n    .yt-header,\n    .yt-control-panel {\n      grid-template-columns: 1fr;\n      gap: 10px;\n    }\n\n    .yt-logo {\n      flex-basis: 48px;\n      width: 48px;\n      height: 48px;\n      border-radius: 12px;\n    }\n\n    .yt-title {\n      font-size: clamp(23px,5.8vw,30px);\n      letter-spacing: -.09em;\n    }\n\n    .yt-tagline {\n      font-size: 11px;\n    }\n\n    .yt-nav {\n      justify-content: flex-start;\n    }\n\n    .yt-nav a {\n      width: 100%;\n    }\n\n    .yt-footer {\n      grid-template-columns: repeat(2,minmax(0,1fr));\n    }\n  }\n\n  @media (max-width: 640px) {\n    .yt-bekkan-tags-page {\n      padding: 14px 12px 18px;\n    }\n\n    .yt-header,\n    .yt-control-panel,\n    .yt-tag-group,\n    .yt-footer {\n      border-radius: 17px;\n    }\n\n    .yt-header,\n    .yt-control-panel,\n    .yt-tag-group {\n      padding: 14px;\n    }\n\n    .yt-brand {\n      gap: 10px;\n    }\n\n    .yt-title {\n      font-size: clamp(22px,6vw,28px);\n      line-height: 1.12;\n      letter-spacing: -.1em;\n      white-space: nowrap;\n    }\n\n    .yt-search-row {\n      grid-template-columns: 1fr;\n    }\n\n    .yt-btn {\n      width: 100%;\n    }\n\n    .yt-tag-group-title {\n      font-size: 22px;\n    }\n\n    .yt-tag-link {\n      min-height: 34px;\n      padding: 7px 10px;\n      font-size: 12px;\n    }\n\n    .yt-footer {\n      grid-template-columns: 1fr;\n      gap: 8px;\n      padding: 12px;\n    }\n  }\n\n\/* v4\u4fee\u6b63\uff1a\u691c\u7d22\u6b04\u306a\u3057\u3002\u30bb\u30fc\u30eb\u3092\u6700\u4e0a\u6bb5\u306b\u3057\u3066\u3001\u30bf\u30b0\u4e00\u89a7\u3092\u7d20\u76f4\u306b\u4e26\u3079\u308b *\/\n.yt-bekkan-tags-page .yt-tags-main {\n  margin-top: 18px !important;\n}\n\n.yt-bekkan-tags-page .yt-tag-group[data-group=\"sale\"] {\n  order: -1 !important;\n}\n\n.yt-bekkan-tags-page .yt-tag-group[data-group=\"sale\"] .yt-tag-group-title::before {\n  content: \"SALE\";\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 22px;\n  margin-right: 8px;\n  padding: 3px 8px;\n  border-radius: 999px;\n  color: #061018;\n  background: linear-gradient(90deg, #ff8aa0, #ffd166);\n  font-family: system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\n  font-size: 11px;\n  line-height: 1;\n  font-weight: 1000;\n  vertical-align: middle;\n}\n\n.yt-bekkan-tags-page .yt-tag-list {\n  align-items: center !important;\n}\n\n\n\/* v5\u4fee\u6b63\uff1a\u623b\u308b\u30dc\u30bf\u30f3\u306e\u30d5\u30a9\u30f3\u30c8\u3092\u624b\u66f8\u304d\u7cfb\u306b\u5f15\u3063\u5f35\u3089\u308c\u306a\u3044\u3088\u3046\u56fa\u5b9a *\/\n.yt-bekkan-tags-page .yt-nav a,\n.yt-bekkan-tags-page .yt-btn,\n.yt-bekkan-tags-page .yt-footer a,\n.yt-bekkan-tags-page .yt-footer strong {\n  font-family: system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Hiragino Sans\",\"Yu Gothic\",\"Meiryo\",sans-serif !important;\n  letter-spacing: 0 !important;\n}\n\n\/* v5\u4fee\u6b63\uff1a\u8aad\u307f\u8fbc\u307f\u5931\u6557\u6642\u3082\u67a0\u5d29\u308c\u3057\u306a\u3044 *\/\n.yt-bekkan-tags-page .yt-tags-main > .yt-empty,\n.yt-bekkan-tags-page .yt-tags-main > .yt-loading {\n  margin-top: 18px !important;\n}\n\n\n\/* v6\u4fee\u6b63\uff1a\u623b\u308b\u30dc\u30bf\u30f3\u3060\u3051\u306f\u901a\u5e38\u30d5\u30a9\u30f3\u30c8\u306b\u5b8c\u5168\u56fa\u5b9a *\/\n.yt-bekkan-tags-page .yt-nav,\n.yt-bekkan-tags-page .yt-nav *,\n.yt-bekkan-tags-page .yt-nav a {\n  font-family: system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Hiragino Sans\",\"Yu Gothic\",\"Meiryo\",sans-serif !important;\n  font-weight: 1000 !important;\n  letter-spacing: 0 !important;\n}\n\n\n\/* v7\u4fee\u6b63\uff1a\u4e0a\u90e8\u30dc\u30bf\u30f3\u306e\u30d5\u30a9\u30f3\u30c8\u3092\u901a\u5e38\u8868\u793a\u3078\u56fa\u5b9a *\/\n.yt-bekkan-tags-page .yt-nav a {\n  font-family: system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Hiragino Sans\",\"Yu Gothic\",\"Meiryo\",sans-serif !important;\n  font-size: 12.5px !important;\n  font-weight: 1000 !important;\n  letter-spacing: 0 !important;\n}\n\n\n\/* v8\u4fee\u6b63\uff1a\u901a\u5e38\u30bf\u30b0\u306e\u6d3e\u624b\u306a\u80cc\u666f\u3092\u5916\u3057\u3066\u30c1\u30ab\u30c1\u30ab\u8efd\u6e1b\u3002\u30bb\u30fc\u30eb\u306f\u305d\u306e\u307e\u307e *\/\n.yt-bekkan-tags-page .yt-tag-group:not([data-group=\"sale\"]) .yt-tag-link {\n  color: #ffd166 !important;\n  background: transparent !important;\n  border-color: rgba(255,209,102,.58) !important;\n  box-shadow: none !important;\n  filter: none !important;\n  transition:\n    color .12s ease,\n    border-color .12s ease !important;\n}\n\n.yt-bekkan-tags-page .yt-tag-group:not([data-group=\"sale\"]) .yt-tag-link:hover {\n  color: var(--yt-cyan) !important;\n  background: transparent !important;\n  border-color: rgba(69,238,219,.88) !important;\n  box-shadow: none !important;\n  filter: none !important;\n}\n\n.yt-bekkan-tags-page .yt-tag-group:not([data-group=\"sale\"]) .yt-tag-num {\n  color: #ffd166 !important;\n  background: rgba(6,10,14,.62) !important;\n  border: 1px solid rgba(255,209,102,.45) !important;\n  box-shadow: none !important;\n}\n\n\/* \u30bb\u30fc\u30eb\u67a0\u306f\u7dad\u6301\u3002\u305f\u3060\u3057hover\u306e\u30c1\u30ab\u30c1\u30ab\u3060\u3051\u5c11\u3057\u6291\u3048\u308b *\/\n.yt-bekkan-tags-page .yt-tag-group[data-group=\"sale\"] .yt-tag-link {\n  transition:\n    color .12s ease,\n    border-color .12s ease,\n    filter .12s ease !important;\n}\n\n.yt-bekkan-tags-page .yt-tag-group[data-group=\"sale\"] .yt-tag-link:hover {\n  box-shadow: 0 0 14px rgba(255,138,160,.16) !important;\n}\n\n\n\/* v9\u4fee\u6b63\uff1a\u30bf\u30b0\u306e\u30d5\u30a9\u30f3\u30c8\u3092\u30ec\u30d3\u30e5\u30fc\u5074\u30bf\u30b0\u306b\u8fd1\u3044UD\/\u30b4\u30b7\u30c3\u30af\u7cfb\u3078 *\/\n.yt-bekkan-tags-page .yt-tag-link,\n.yt-bekkan-tags-page .yt-tag-num,\n.yt-bekkan-tags-page .yt-tag-group-count,\n.yt-bekkan-tags-page .yt-nav a {\n  font-family: \"BIZ UDPGothic\",\"BIZ UDGothic\",\"UD Digi Kyokasho N-R\",\"Hiragino Sans\",\"Yu Gothic\",\"Meiryo\",system-ui,sans-serif !important;\n  letter-spacing: 0 !important;\n}\n\n\/* v9\u4fee\u6b63\uff1a\u901a\u5e38\u30bf\u30b0\u306f\u80cc\u666f\u306a\u3057\uff0b\u666e\u901a\u306e\u7d30\u67a0\u3002\u30c1\u30ab\u30c1\u30ab\u3092\u3055\u3089\u306b\u6291\u3048\u308b *\/\n.yt-bekkan-tags-page .yt-tag-group:not([data-group=\"sale\"]) .yt-tag-link {\n  color: var(--yt-soft) !important;\n  background: transparent !important;\n  border: 1px solid rgba(255,255,255,.16) !important;\n  box-shadow: none !important;\n  filter: none !important;\n  text-shadow: none !important;\n  font-weight: 850 !important;\n  transition:\n    color .12s ease,\n    border-color .12s ease,\n    background .12s ease !important;\n}\n\n.yt-bekkan-tags-page .yt-tag-group:not([data-group=\"sale\"]) .yt-tag-link:hover {\n  color: var(--yt-cyan) !important;\n  background: rgba(255,255,255,.035) !important;\n  border-color: rgba(69,238,219,.55) !important;\n  box-shadow: none !important;\n  filter: none !important;\n}\n\n.yt-bekkan-tags-page .yt-tag-group:not([data-group=\"sale\"]) .yt-tag-num {\n  color: var(--yt-soft) !important;\n  background: rgba(255,255,255,.055) !important;\n  border: 1px solid rgba(255,255,255,.13) !important;\n  box-shadow: none !important;\n}\n\n\/* v9\u4fee\u6b63\uff1a\u30bb\u30fc\u30eb\u306f\u7279\u5225\u8272\u3092\u7dad\u6301\u3057\u3064\u3064\u3001\u6a2a\u5e45\u3092\u5e83\u3052\u3059\u304e\u306a\u3044 *\/\n.yt-bekkan-tags-page .yt-tag-group[data-group=\"sale\"] .yt-tag-list {\n  display: flex !important;\n  justify-content: flex-start !important;\n  align-items: center !important;\n  flex-wrap: wrap !important;\n}\n\n.yt-bekkan-tags-page .yt-tag-group[data-group=\"sale\"] .yt-tag-link {\n  width: auto !important;\n  min-width: 180px !important;\n  max-width: 100% !important;\n  min-height: 40px !important;\n  padding: 9px 18px !important;\n  justify-content: center !important;\n  border-radius: 999px !important;\n  color: #061018 !important;\n  background: linear-gradient(90deg, #ff8aa0, #ffd166) !important;\n  border-color: rgba(255,209,102,.82) !important;\n  box-shadow: 0 0 12px rgba(255,138,160,.12) !important;\n  font-weight: 1000 !important;\n}\n\n.yt-bekkan-tags-page .yt-tag-group[data-group=\"sale\"] .yt-tag-link:hover {\n  color: #061018 !important;\n  background: linear-gradient(90deg, #ff8aa0, #ffd166) !important;\n  border-color: rgba(255,209,102,.92) !important;\n  box-shadow: 0 0 14px rgba(255,138,160,.18) !important;\n  filter: brightness(1.03) !important;\n}\n\n@media (max-width: 640px) {\n  .yt-bekkan-tags-page .yt-tag-group[data-group=\"sale\"] .yt-tag-link {\n    min-width: 0 !important;\n    width: 100% !important;\n  }\n}\n\n\n\/* v10\u4fee\u6b63\uff1a\u901a\u5e38\u30bf\u30b0\u306f\u767d\u3059\u304e\u306a\u3044\u3088\u3046\u306b\u3001\u67a0\u7dda\u3092\u30b7\u30a2\u30f3\u30fb\u9752\u5bc4\u305b\u3078 *\/\n.yt-bekkan-tags-page .yt-tag-group:not([data-group=\"sale\"]) .yt-tag-link {\n  color: #c7d6df !important;\n  background: rgba(69,238,219,.035) !important;\n  border: 1px solid rgba(69,238,219,.38) !important;\n  box-shadow: inset 0 0 0 1px rgba(56,168,255,.06) !important;\n  filter: none !important;\n  text-shadow: none !important;\n  font-weight: 850 !important;\n}\n\n.yt-bekkan-tags-page .yt-tag-group:not([data-group=\"sale\"]) .yt-tag-link:hover {\n  color: var(--yt-cyan) !important;\n  background: rgba(69,238,219,.075) !important;\n  border-color: rgba(69,238,219,.72) !important;\n  box-shadow: inset 0 0 0 1px rgba(56,168,255,.10) !important;\n  filter: none !important;\n}\n\n.yt-bekkan-tags-page .yt-tag-group:not([data-group=\"sale\"]) .yt-tag-num {\n  color: var(--yt-cyan) !important;\n  background: rgba(6,16,24,.82) !important;\n  border: 1px solid rgba(69,238,219,.34) !important;\n  box-shadow: none !important;\n}\n\n\/* v10\u4fee\u6b63\uff1a\u30bb\u30fc\u30eb\u306f\u7279\u5225\u8272\u3092\u305d\u306e\u307e\u307e\u7dad\u6301 *\/\n.yt-bekkan-tags-page .yt-tag-group[data-group=\"sale\"] .yt-tag-link {\n  color: #061018 !important;\n  background: linear-gradient(90deg, #ff8aa0, #ffd166) !important;\n  border-color: rgba(255,209,102,.82) !important;\n}\n\n\n\/* v11\uff1a\u30b9\u30de\u30db\u3067\u300c\u5225\u9928\u30c8\u30c3\u30d7\u3078\u623b\u308b\u300d\u3092\u30bf\u30a4\u30c8\u30eb\u53f3\u5074\u3078\u914d\u7f6e *\/\n@media (max-width: 640px) {\n  .yt-bekkan-tags-page .yt-header {\n    display: grid !important;\n    grid-template-columns: minmax(0,1fr) auto !important;\n    gap: 10px !important;\n    align-items: center !important;\n    padding: 12px !important;\n    border-radius: 18px !important;\n  }\n\n  .yt-bekkan-tags-page .yt-brand {\n    display: grid !important;\n    grid-template-columns: 44px minmax(0,1fr) !important;\n    gap: 9px !important;\n    align-items: center !important;\n    min-width: 0 !important;\n  }\n\n  .yt-bekkan-tags-page .yt-logo {\n    width: 44px !important;\n    height: 44px !important;\n    flex-basis: 44px !important;\n    border-radius: 13px !important;\n  }\n\n  .yt-bekkan-tags-page .yt-title {\n    font-size: clamp(16px,4.35vw,20px) !important;\n    line-height: 1.12 !important;\n    letter-spacing: -.08em !important;\n    white-space: nowrap !important;\n    overflow: hidden !important;\n    text-overflow: ellipsis !important;\n    max-width: 100% !important;\n  }\n\n  .yt-bekkan-tags-page .yt-tagline {\n    margin-top: 4px !important;\n    font-size: 9.8px !important;\n    line-height: 1.25 !important;\n    white-space: nowrap !important;\n    overflow: hidden !important;\n    text-overflow: ellipsis !important;\n  }\n\n  .yt-bekkan-tags-page .yt-nav {\n    display: flex !important;\n    width: auto !important;\n    justify-content: flex-end !important;\n    align-items: center !important;\n    min-width: 0 !important;\n  }\n\n  .yt-bekkan-tags-page .yt-nav a {\n    width: auto !important;\n    min-width: 118px !important;\n    min-height: 38px !important;\n    padding: 8px 11px !important;\n    border-radius: 999px !important;\n    font-size: 11px !important;\n    line-height: 1 !important;\n    white-space: nowrap !important;\n  }\n}\n\n\/* v11\uff1a\u304b\u306a\u308a\u72ed\u3044\u753b\u9762\u3060\u3051\u3055\u3089\u306b\u8a70\u3081\u308b *\/\n@media (max-width: 390px) {\n  .yt-bekkan-tags-page .yt-header {\n    gap: 8px !important;\n    padding: 11px !important;\n  }\n\n  .yt-bekkan-tags-page .yt-brand {\n    grid-template-columns: 40px minmax(0,1fr) !important;\n    gap: 8px !important;\n  }\n\n  .yt-bekkan-tags-page .yt-logo {\n    width: 40px !important;\n    height: 40px !important;\n    flex-basis: 40px !important;\n  }\n\n  .yt-bekkan-tags-page .yt-title {\n    font-size: clamp(15px,4.05vw,18px) !important;\n  }\n\n  .yt-bekkan-tags-page .yt-tagline {\n    font-size: 9px !important;\n  }\n\n  .yt-bekkan-tags-page .yt-nav a {\n    min-width: 108px !important;\n    padding: 8px 9px !important;\n    font-size: 10.5px !important;\n  }\n}\n\n\n  \/* \u4e0b\u90e8PR\u8868\u8a18\uff1a\u30d5\u30c3\u30bf\u30fc\u524d\u306b\u8efd\u304f\u8868\u793a *\/\n  .yt-pr-footer-note {\n    margin: 18px 0 0 !important;\n    padding: 10px 13px !important;\n    border-radius: 16px !important;\n    border: 1px solid rgba(69,238,219,.24) !important;\n    background:\n      radial-gradient(circle at 14% 0%, rgba(69,238,219,.08), transparent 34%),\n      rgba(255,255,255,.032) !important;\n    color: var(--yt-muted) !important;\n    font-size: 12px !important;\n    line-height: 1.65 !important;\n    font-weight: 700 !important;\n    text-align: center !important;\n    box-shadow: 0 0 14px rgba(69,238,219,.055) !important;\n  }\n\n  .yt-pr-footer-note strong {\n    display: inline-flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    min-height: 20px !important;\n    margin-right: 7px !important;\n    padding: 3px 8px !important;\n    border-radius: 999px !important;\n    color: #061018 !important;\n    background: linear-gradient(90deg, var(--yt-cyan), var(--yt-blue)) !important;\n    font-size: 11px !important;\n    line-height: 1 !important;\n    font-weight: 1000 !important;\n    vertical-align: middle !important;\n  }\n\n  .yt-pr-footer-note a {\n    color: var(--yt-cyan) !important;\n    font-weight: 1000 !important;\n    text-decoration: underline !important;\n    text-underline-offset: 3px !important;\n  }\n\n  .yt-pr-footer-note a:hover {\n    color: #f3fbff !important;\n  }\n\n  @media (max-width: 640px) {\n    .yt-pr-footer-note {\n      margin-top: 14px !important;\n      padding: 9px 10px !important;\n      border-radius: 14px !important;\n      font-size: 11.2px !important;\n      line-height: 1.6 !important;\n      text-align: left !important;\n    }\n\n    .yt-pr-footer-note strong {\n      margin-right: 6px !important;\n      padding: 3px 7px !important;\n      font-size: 10.5px !important;\n    }\n  }\n\n<\/style>\n\n<div class=\"yt-bekkan-tags-page\">\n  <div class=\"yt-shell\">\n\n    <header class=\"yt-header\">\n      <div class=\"yt-brand\">\n        <div class=\"yt-logo\">\n          <img decoding=\"async\" src=\"https:\/\/shuminotamariba.com\/wp-content\/uploads\/2026\/06\/icon-bekkan.png\" alt=\"\u5225\u9928\u30a2\u30a4\u30b3\u30f3\">\n        <\/div>\n        <div>\n          <h1 class=\"yt-title\">\u8da3\u5473\u306e\u305f\u307e\u308a\u5834\uff5c<span>\u5225\u9928<\/span><\/h1>\n          <p class=\"yt-tagline\">\u5225\u9928\u30ec\u30d3\u30e5\u30fc\u3092\u63a2\u3059<\/p>\n        <\/div>\n      <\/div>\n\n      <nav class=\"yt-nav\" aria-label=\"\u5225\u9928\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\">\n        <a href=\"https:\/\/shuminotamariba.com\/index.php\/bekkan\/\">\u5225\u9928\u30c8\u30c3\u30d7\u3078\u623b\u308b<\/a>\n      <\/nav>\n    <\/header>\n\n    <main class=\"yt-tags-main\" data-tag-groups>\n      <div class=\"yt-loading\">\u30bf\u30b0\u3092\u8aad\u307f\u8fbc\u307f\u4e2d&#8230;<\/div>\n    <\/main>\n\n    <section class=\"yt-pr-footer-note\" aria-label=\"PR\u8868\u8a18\">\n      <strong>PR<\/strong>\u3053\u306e\u30da\u30fc\u30b8\u306b\u306f\u30a2\u30d5\u30a3\u30ea\u30a8\u30a4\u30c8\u30ea\u30f3\u30af\u3092\u542b\u3080\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u8a73\u3057\u304f\u306f<a href=\"https:\/\/shuminotamariba.com\/index.php\/pr-bekkan\/\">PR\u8868\u8a18<\/a>\u3092\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\u3002\n    <\/section>\n\n    <footer class=\"yt-footer\">\n      <a href=\"https:\/\/shuminotamariba.com\/index.php\/bekkan-about\/\"><strong>\u3053\u306e\u30b5\u30a4\u30c8\u306b\u3064\u3044\u3066<\/strong>\u5225\u9928\u306e\u65b9\u91dd\u30fb\u6271\u3046\u5185\u5bb9<\/a>\n      <a href=\"https:\/\/shuminotamariba.com\/index.php\/contact\/\"><strong>\u304a\u554f\u3044\u5408\u308f\u305b<\/strong>\u9023\u7d61\u30fb\u4fee\u6b63\u4f9d\u983c\u306a\u3069<\/a>\n      <a href=\"https:\/\/shuminotamariba.com\/index.php\/pr\/\"><strong>PR\u8868\u8a18<\/strong>\u5e83\u544a\u30fb\u30a2\u30d5\u30a3\u30ea\u30a8\u30a4\u30c8\u306b\u3064\u3044\u3066<\/a>\n      <a href=\"https:\/\/shuminotamariba.com\/index.php\/privacy-policy\/\"><strong>\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc\u30dd\u30ea\u30b7\u30fc<\/strong>\u500b\u4eba\u60c5\u5831\u30fbCookie\u306a\u3069<\/a>\n    <\/footer>\n\n  <\/div>\n<\/div>\n\n<script>\n  (() => {\n    const iconUrl = 'https:\/\/shuminotamariba.com\/wp-content\/uploads\/2026\/06\/icon-bekkan.png?v=bekkan-tags-v3';\n    let icon = document.querySelector('link[rel=\"icon\"]');\n    if (!icon) {\n      icon = document.createElement('link');\n      icon.rel = 'icon';\n      document.head.appendChild(icon);\n    }\n    icon.type = 'image\/png';\n    icon.href = iconUrl;\n\n    let appleIcon = document.querySelector('link[rel=\"apple-touch-icon\"]');\n    if (!appleIcon) {\n      appleIcon = document.createElement('link');\n      appleIcon.rel = 'apple-touch-icon';\n      document.head.appendChild(appleIcon);\n    }\n    appleIcon.href = iconUrl;\n  })();\n\n  (() => {\n    const root = document.querySelector('.yt-bekkan-tags-page');\n    if (!root) return;\n\n    const WORKS_PAGE_URL = 'https:\/\/shuminotamariba.com\/index.php\/bekkan-works\/';\n    const CATEGORY_SLUG = 'bekkan-review';\n\n    const groupWrap = root.querySelector('[data-tag-groups]');\n    const state = {\n      groups: []\n    };\n\n    const groupsBase = [\n      { key: 'sale', title: '\u30bb\u30fc\u30eb', items: [] },\n      { key: 'staff', title: '\u4f5c\u8005\u30fb\u30b5\u30fc\u30af\u30eb', items: [] },\n      { key: 'type', title: '\u4f5c\u54c1\u533a\u5206\u30fb\u4ed5\u69d8', items: [] },\n      { key: 'situation', title: '\u95a2\u4fc2\u6027\u30fb\u30b7\u30c1\u30e5', items: [] },\n      { key: 'outfit', title: '\u898b\u305f\u76ee\u30fb\u670d\u88c5', items: [] },\n      { key: 'fetish', title: '\u30d5\u30a7\u30c1\u30fb\u63cf\u5199', items: [] },\n      { key: 'play', title: '\u30d7\u30ec\u30a4\u30fb\u4f53\u4f4d', items: [] }\n    ];\n\n    const filterKeyAliases = {\n      circle: 'staff',\n      creator: 'staff',\n      author: 'staff',\n      type: 'type',\n      work: 'type',\n      spec: 'type',\n      format: 'type',\n      series: 'type',\n      episode: 'type',\n      censorship: 'type',\n      situation: 'situation',\n      scene: 'situation',\n      relationship: 'situation',\n      relation: 'situation',\n      attribute: 'situation',\n      attr: 'situation',\n      outfit: 'outfit',\n      costume: 'outfit',\n      look: 'outfit',\n      appearance: 'outfit',\n      fetish: 'fetish',\n      description: 'fetish',\n      depiction: 'fetish',\n      other: 'fetish',\n      play: 'play',\n      position: 'play',\n      sale: 'sale'\n    };\n\n    const tagCategoryMap = {\n      \"narusawa-kei\": \"staff\",\n      \"sound-sticker\": \"staff\",\n\n      \"ero-doujinshi\": \"type\",\n      \"series\": \"type\",\n      \"episode-1\": \"type\",\n      \"black-bar-censorship\": \"type\",\n      \"sale\": \"sale\",\n\n      \"neighbor\": \"situation\",\n      \"otoutobun\": \"situation\",\n      \"bss\": \"situation\",\n      \"taboo-sex\": \"situation\",\n      \"someone-elses-room\": \"situation\",\n      \"peeping\": \"situation\",\n      \"male-masturbation-witness\": \"situation\",\n      \"older-woman\": \"situation\",\n      \"body-size-difference\": \"situation\",\n      \"virgin\": \"situation\",\n      \"virgin-unknown\": \"situation\",\n      \"strong-libido\": \"situation\",\n      \"seiso-character\": \"situation\",\n      \"proactive-heroine\": \"situation\",\n\n      \"blonde-long-hair\": \"outfit\",\n      \"large-breasts\": \"outfit\",\n      \"fair-skin\": \"outfit\",\n      \"white-knee-socks\": \"outfit\",\n      \"pink-panties\": \"outfit\",\n      \"nude\": \"outfit\",\n      \"pubic-hair\": \"outfit\",\n\n      \"love-juice\": \"fetish\",\n      \"semen-drip\": \"fetish\",\n      \"kupa\": \"fetish\",\n      \"uterus-cross-section\": \"fetish\",\n      \"first-ejaculation\": \"fetish\",\n\n      \"fellatio\": \"play\",\n      \"raw-insertion\": \"play\",\n      \"nakadashi\": \"play\",\n      \"multiple-nakadashi\": \"play\",\n      \"nipple-sucking\": \"play\",\n      \"missionary-position\": \"play\",\n      \"daishuki-hold\": \"play\",\n      \"rear-sitting-position\": \"play\",\n      \"rear-side-position\": \"play\"\n    };\n\n    const groupOrder = {\n      sale: 1,\n      staff: 2,\n      type: 3,\n      situation: 4,\n      outfit: 5,\n      fetish: 6,\n      play: 7\n    };\n\n    const typeOrder = [\n      'ero-doujinshi',\n      'episode-1',\n      'series',\n      'black-bar-censorship'\n    ];\n\n    const normalizeFilterKey = (key) => {\n      const normalized = String(key || '').trim();\n      return filterKeyAliases[normalized] || normalized;\n    };\n\n    const escapeText = (value) => {\n      const span = document.createElement('span');\n      span.textContent = String(value ?? '');\n      return span.innerHTML;\n    };\n\n    const apiPath = (path, params = {}) => {\n      const query = new URLSearchParams();\n      Object.entries(params).forEach(([key, value]) => {\n        if (value === undefined || value === null || value === '') return;\n        query.set(key, value);\n      });\n\n      return path + (query.toString() ? '?' + query.toString() : '');\n    };\n\n    const apiFetch = async (path, params = {}) => {\n      const builtPath = apiPath(path, params);\n\n      \/\/ \u4f5c\u54c1\u4e00\u89a7\u3067\u5b89\u5b9a\u3057\u3066\u3044\u305f\u65b9\u5f0f\u306b\u5408\u308f\u305b\u308b\u3002\n      \/\/ \/wp-json\/ \u304c\u53d6\u308c\u306a\u3044\u74b0\u5883\u3067\u306f \/index.php\/wp-json\/ \u3082\u8a66\u3059\u3002\n      const urls = [\n        window.location.origin + builtPath,\n        window.location.origin + '\/index.php' + builtPath\n      ];\n\n      let lastError = null;\n\n      for (const url of urls) {\n        try {\n          const response = await fetch(url, { credentials: 'same-origin' });\n          if (!response.ok) throw new Error('API error: ' + response.status + ' ' + url);\n          const data = await response.json();\n          return { data, response };\n        } catch (error) {\n          lastError = error;\n        }\n      }\n\n      throw lastError || new Error('API error');\n    };\n\n    const getCategoryId = async () => {\n      try {\n        const { data } = await apiFetch('\/wp-json\/wp\/v2\/categories', {\n          slug: CATEGORY_SLUG,\n          per_page: 1,\n          _fields: 'id,slug,name'\n        });\n\n        return data && data[0] ? data[0].id : null;\n      } catch (error) {\n        console.warn('\u5225\u9928\u30ec\u30d3\u30e5\u30fc\u30ab\u30c6\u30b4\u30ea\u30fcID\u306e\u53d6\u5f97\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u5168\u6295\u7a3f\u8d70\u67fb\u3078\u5207\u308a\u66ff\u3048\u307e\u3059\u3002', error);\n        return null;\n      }\n    };\n\n    const fetchPostsPage = async (params = {}) => {\n      const posts = [];\n      let page = 1;\n      let totalPages = 1;\n\n      do {\n        try {\n          const { data, response } = await apiFetch('\/wp-json\/wp\/v2\/posts', {\n            per_page: 100,\n            page,\n            _embed: 1,\n            ...params\n          });\n\n          totalPages = Math.min(Number(response.headers.get('X-WP-TotalPages') || 1), 10);\n          posts.push(...(data || []));\n          page += 1;\n        } catch (error) {\n          console.warn('\u6295\u7a3f\u53d6\u5f97\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002', error);\n          break;\n        }\n      } while (page <= totalPages);\n\n      return posts;\n    };\n\n    const fetchAllPosts = async (categoryId) => {\n      if (!categoryId) return [];\n      return fetchPostsPage({ categories: categoryId });\n    };\n\n    const isBekkanReviewPost = (post) => {\n      const embeddedGroups = post?._embedded?.['wp:term'] || [];\n      const terms = embeddedGroups.flat();\n\n      const hasBekkanCategory = terms.some((term) => {\n        if (!term || term.taxonomy !== 'category') return false;\n        return term.slug === CATEGORY_SLUG || term.name === '\u5225\u9928\u30ec\u30d3\u30e5\u30fc';\n      });\n\n      if (hasBekkanCategory) return true;\n\n      const content = String(post?.content?.rendered || '');\n      return content.includes('yt-bekkan-review-page');\n    };\n\n    const fetchBekkanReviewPosts = async () => {\n      const categoryId = await getCategoryId();\n\n      if (categoryId) {\n        const byCategory = await fetchAllPosts(categoryId);\n        if (byCategory.length) return byCategory;\n      }\n\n      \/\/ \u30ab\u30c6\u30b4\u30ea\u30fcAPI\u304c\u53d6\u308c\u306a\u3044\u74b0\u5883\u5411\u3051\u306e\u4fdd\u967a\u3002\n      \/\/ \u5168\u6295\u7a3f\u3092\u53d6\u5f97\u3057\u3001\u57cb\u3081\u8fbc\u307f\u30ab\u30c6\u30b4\u30ea\u307e\u305f\u306f\u672c\u6587\u30af\u30e9\u30b9\u3067\u5225\u9928\u30ec\u30d3\u30e5\u30fc\u3060\u3051\u306b\u7d5e\u308b\u3002\n      const allPosts = await fetchPostsPage();\n      return allPosts.filter(isBekkanReviewPost);\n    };\n\n    const fetchAllTags = async () => {\n      const tags = [];\n      let page = 1;\n      let totalPages = 1;\n\n      do {\n        try {\n          const { data, response } = await apiFetch('\/wp-json\/wp\/v2\/tags', {\n            per_page: 100,\n            page,\n            hide_empty: false,\n            _fields: 'id,name,slug,count'\n          });\n\n          totalPages = Math.min(Number(response.headers.get('X-WP-TotalPages') || 1), 10);\n          tags.push(...(data || []));\n          page += 1;\n        } catch (error) {\n          console.warn('\u30bf\u30b0\u53d6\u5f97\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002', error);\n          break;\n        }\n      } while (page <= totalPages);\n\n      return tags;\n    };\n\n    const termsFromPost = (post, fallbackTagMap) => {\n      const embeddedGroups = post?._embedded?.['wp:term'] || [];\n      const embeddedTags = embeddedGroups.flat().filter((term) => term && term.taxonomy === 'post_tag');\n\n      if (embeddedTags.length) {\n        return embeddedTags.map((tag) => ({\n          id: tag.id,\n          name: tag.name,\n          slug: tag.slug\n        }));\n      }\n\n      return (post.tags || [])\n        .map((id) => fallbackTagMap.get(id))\n        .filter(Boolean);\n    };\n\n    const detectGroup = (tag) => {\n      const slug = String(tag.slug || '').toLowerCase();\n\n      if (slug === 'sale') return 'sale';\n      if (tagCategoryMap[slug]) return tagCategoryMap[slug];\n\n      const prefix = slug.split('-')[0];\n      if (filterKeyAliases[prefix]) return filterKeyAliases[prefix];\n\n      \/\/ \u672a\u5206\u985e\u30bf\u30b0\u3092\u6d88\u3055\u306a\u3044\u305f\u3081\u3001\u4fdd\u967a\u3068\u3057\u3066\u30d5\u30a7\u30c1\u30fb\u63cf\u5199\u3078\u5165\u308c\u308b\u3002\n      return 'fetish';\n    };\n\n    const tagUrl = (tag) => {\n      const url = new URL(WORKS_PAGE_URL);\n\n      if (tag.key === 'sale' || tag.slug === 'sale') {\n        url.searchParams.set('tag', 'sale');\n        url.searchParams.set('sort', 'sale-end');\n      } else {\n        url.searchParams.set('tag', tag.slug);\n        url.searchParams.set('key', normalizeFilterKey(tag.key));\n      }\n\n      return url.toString();\n    };\n\n    const buildGroupsFromPosts = (posts, allTags) => {\n      const fallbackTagMap = new Map(allTags.map((tag) => [tag.id, tag]));\n      const counts = new Map();\n      const tagInfo = new Map();\n\n      posts.forEach((post) => {\n        const seenInPost = new Set();\n        const terms = termsFromPost(post, fallbackTagMap);\n\n        terms.forEach((term) => {\n          const slug = String(term.slug || '').toLowerCase();\n          if (!slug || seenInPost.has(slug)) return;\n\n          seenInPost.add(slug);\n\n          const id = term.id || slug;\n          tagInfo.set(slug, {\n            id,\n            name: term.name || slug,\n            slug\n          });\n\n          counts.set(slug, (counts.get(slug) || 0) + 1);\n        });\n      });\n\n      const groups = groupsBase.map((group) => ({\n        ...group,\n        items: []\n      }));\n\n      Array.from(tagInfo.values()).forEach((tag) => {\n        const key = detectGroup(tag);\n        const group = groups.find((item) => item.key === key);\n        if (!group) return;\n\n        group.items.push({\n          ...tag,\n          key,\n          count: counts.get(tag.slug) || 0\n        });\n      });\n\n      groups.forEach((group) => {\n        group.items.sort((a, b) => {\n          if (group.key === 'type') {\n            const ai = typeOrder.includes(a.slug) ? typeOrder.indexOf(a.slug) : 999;\n            const bi = typeOrder.includes(b.slug) ? typeOrder.indexOf(b.slug) : 999;\n            return ai - bi || b.count - a.count || a.name.localeCompare(b.name, 'ja');\n          }\n\n          if (group.key === 'sale') {\n            return 0;\n          }\n\n          if (b.count !== a.count) return b.count - a.count;\n          return a.name.localeCompare(b.name, 'ja');\n        });\n      });\n\n      state.groups = groups;\n    };\n\n    const filteredItems = (group) => group.items;\n\n    const render = () => {\n      let visibleTagTotal = 0;\n      let workTotal = 0;\n\n      const html = state.groups.map((group) => {\n        const items = filteredItems(group);\n\n        const body = (() => {\n          if (group.key === 'sale') {\n            const saleTag = group.items.find((tag) => tag.slug === 'sale') || {\n              name: '\u30bb\u30fc\u30eb\u4f5c\u54c1\u3092\u898b\u308b',\n              slug: 'sale',\n              key: 'sale',\n              count: 0\n            };\n\n            workTotal += saleTag.count || 0;\n\n            return `<div class=\"yt-tag-list\">\n              <a class=\"yt-tag-link\" href=\"${tagUrl(saleTag)}\">\n                <span>\u30bb\u30fc\u30eb\u4f5c\u54c1\u3092\u898b\u308b<\/span>\n                <span class=\"yt-tag-num\">${saleTag.count || 0}<\/span>\n              <\/a>\n            <\/div>`;\n          }\n\n          return items.length\n            ? `<div class=\"yt-tag-list\">${items.map((tag) => `\n                <a class=\"yt-tag-link\" href=\"${tagUrl(tag)}\">\n                  <span>${escapeText(tag.name)}<\/span>\n                  <span class=\"yt-tag-num\">${tag.count}<\/span>\n                <\/a>\n              `).join('')}<\/div>`\n            : `<div class=\"yt-empty\">\u307e\u3060\u767b\u9332\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002<\/div>`;\n        })();\n\n        const countText = group.key === 'sale'\n          ? (((group.items.find((tag) => tag.slug === 'sale') || {}).count || 0) + '\u4ef6')\n          : (items.length + '\u4ef6');\n\n        return `\n          <section class=\"yt-tag-group\" data-group=\"${escapeText(group.key)}\">\n            <div class=\"yt-tag-group-head\">\n              <h2 class=\"yt-tag-group-title\">${escapeText(group.title)}<\/h2>\n              <span class=\"yt-tag-group-count\">${countText}<\/span>\n            <\/div>\n            ${body}\n          <\/section>\n        `;\n      }).join('');\n\n      groupWrap.innerHTML = html;\n    };\n\n    const load = async () => {\n      const [posts, allTags] = await Promise.all([\n        fetchBekkanReviewPosts(),\n        fetchAllTags()\n      ]);\n\n      if (!posts.length) {\n        groupWrap.innerHTML = '<div class=\"yt-empty\">\u5225\u9928\u30ec\u30d3\u30e5\u30fc\u6295\u7a3f\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002\u6295\u7a3f\u306b\u300c\u5225\u9928\u30ec\u30d3\u30e5\u30fc\u300d\u30ab\u30c6\u30b4\u30ea\u30fc\u3001\u307e\u305f\u306f\u672c\u6587\u5185\u306e yt-bekkan-review-page \u304c\u3042\u308b\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/div>';\n        return;\n      }\n\n      buildGroupsFromPosts(posts, allTags);\n      render();\n    };\nload().catch((error) => {\n      console.error(error);\n      groupWrap.innerHTML = '<div class=\"yt-empty\">\u30bf\u30b0\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u6295\u7a3f\u30bf\u30b0\u306e\u540c\u671f\u72b6\u614b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/div>';\n    });\n  })();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>\u8da3\u5473\u306e\u305f\u307e\u308a\u5834\uff5c\u5225\u9928 \u5225\u9928\u30ec\u30d3\u30e5\u30fc\u3092\u63a2\u3059 \u5225\u9928\u30c8\u30c3\u30d7\u3078\u623b\u308b \u30bf\u30b0\u3092\u8aad\u307f\u8fbc\u307f\u4e2d&#8230; PR\u3053\u306e\u30da\u30fc\u30b8\u306b\u306f\u30a2\u30d5\u30a3\u30ea\u30a8\u30a4\u30c8\u30ea\u30f3\u30af\u3092\u542b\u3080\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u8a73\u3057\u304f\u306fPR\u8868\u8a18\u3092\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\u3002 \u3053\u306e\u30b5\u30a4\u30c8\u306b\u3064\u3044\u3066\u5225\u9928\u306e\u65b9\u91dd\u30fb\u6271 [&hellip;]<\/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-547","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/shuminotamariba.com\/index.php\/wp-json\/wp\/v2\/pages\/547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shuminotamariba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/shuminotamariba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/shuminotamariba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/shuminotamariba.com\/index.php\/wp-json\/wp\/v2\/comments?post=547"}],"version-history":[{"count":32,"href":"https:\/\/shuminotamariba.com\/index.php\/wp-json\/wp\/v2\/pages\/547\/revisions"}],"predecessor-version":[{"id":872,"href":"https:\/\/shuminotamariba.com\/index.php\/wp-json\/wp\/v2\/pages\/547\/revisions\/872"}],"wp:attachment":[{"href":"https:\/\/shuminotamariba.com\/index.php\/wp-json\/wp\/v2\/media?parent=547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}