{"id":199,"date":"2026-09-23T21:26:04","date_gmt":"2026-09-23T12:26:04","guid":{"rendered":"https:\/\/www.yukitari.com\/?page_id=199"},"modified":"2026-09-27T17:33:49","modified_gmt":"2026-09-27T08:33:49","slug":"%e8%87%aa%e7%ab%8b%e3%81%b8%e3%81%ae%e8%a8%98%e9%8c%b2","status":"publish","type":"page","link":"https:\/\/www.yukitari.com\/?page_id=199","title":{"rendered":"\u81ea\u7acb\u3078\u306e\u8a18\u9332"},"content":{"rendered":"\n<div id=\"rtoc-mokuji-wrapper\" class=\"rtoc-mokuji-content frame2 preset2 animation-fade rtoc_open default\" data-id=\"199\" data-theme=\"JIN:R\">\n\t\t\t<div id=\"rtoc-mokuji-title\" class=\"rtoc_btn_none rtoc_left\">\n\t\t\t\n\t\t\t<span>Contents<\/span>\n\t\t\t<\/div><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-1\">\u76ee\u7684<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-2\">\u76ee\u6a19\u3068\u73fe\u5728\u5730<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-3\">\u73fe\u5728\u306e\u8cc7\u7523\u984d\u306e\u5185\u8a33<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-4\">\u8cc7\u7523\u63a8\u79fb<\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-5\">\u8cc7\u7523\u306e\u63a8\u79fb<\/a><\/li><\/ol><\/div><h3 id=\"rtoc-1\"  class=\"wp-block-heading jinr-heading d--bold\">\u76ee\u7684<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u751f\u6d3b\u306e\u305f\u3081\u306b\u671b\u307e\u306a\u3044\u4ed5\u4e8b\u3092\u7d9a\u3051\u308b\u5fc5\u8981\u304c\u306a\u304f\u3001\u81ea\u5206\u306e\u6642\u9593\u306e\u4f7f\u3044\u65b9\u3092\u81ea\u5206\u81ea\u8eab\u3067\u6c7a\u3081\u3089\u308c\u308b\u72b6\u614b\u306b\u306a\u308b\u3002<\/p>\n\n\n\n<h3 id=\"rtoc-2\"  class=\"wp-block-heading jinr-heading d--bold\">\u76ee\u6a19\u3068\u73fe\u5728\u5730<\/h3>\n\n\n\n<div class=\"wp-block-columns js--scr-animation is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<style data-wp-block-html=\"css\">\n.asset-progress {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  width: 100%;\n  margin: 30px 0;\n  padding: 24px 0;\n  overflow: hidden;\n  color: #4466ce;\n  background-color: #ffffff;\n  font-family: \"Meiryo\", \"\u30e1\u30a4\u30ea\u30aa\", sans-serif;\n  font-weight: bold;\n  box-sizing: border-box;\n}\n\n.asset-progress-item {\n  position: relative;\n  min-width: 0;\n  padding: 10px 16px;\n  overflow: hidden;\n  text-align: center;\n  box-sizing: border-box;\n}\n\n\/* 3\u9805\u76ee\u306e\u9593\u306b\u7e26\u7dda\u3092\u8868\u793a *\/\n.asset-progress-item + .asset-progress-item::before {\n  position: absolute;\n  top: 5%;\n  bottom: 5%;\n  left: 0;\n  width: 2px;\n  background-color: #4466ce;\n  content: \"\";\n}\n\n.asset-progress-label {\n  margin-bottom: 8px;\n  color: #4466ce;\n  font-size: clamp(13px, 1.8vw, 17px);\n  line-height: 1.5;\n  white-space: nowrap;\n}\n\n.asset-progress-value {\n  display: flex;\n  align-items: baseline;\n  justify-content: center;\n  max-width: 100%;\n  gap: 4px;\n  color: #4466ce;\n  font-size: clamp(25px, 4.5vw, 48px);\n  line-height: 1.15;\n  white-space: nowrap;\n}\n\n.asset-counter {\n  min-width: 0;\n}\n\n.asset-unit {\n  flex-shrink: 0;\n  font-size: 0.43em;\n}\n\n.asset-deadline {\n  margin-top: 7px;\n  color: #4466ce;\n  font-size: 11px;\n  line-height: 1.4;\n  opacity: 0.8;\n}\n\n\/* \u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u3067\u30823\u5217\u3092\u7dad\u6301 *\/\n@media (max-width: 700px) {\n  .asset-progress {\n    padding: 18px 0;\n  }\n\n  .asset-progress-item {\n    padding: 8px 3px;\n  }\n\n  .asset-progress-item + .asset-progress-item::before {\n    top: 3%;\n    bottom: 3%;\n    width: 1px;\n  }\n\n  .asset-progress-label {\n    margin-bottom: 7px;\n    font-size: clamp(10px, 3vw, 12px);\n  }\n\n  \/*\n  \u6570\u5b57\u3068\u5358\u4f4d\u3092\u4e0a\u4e0b\u306b\u5206\u3051\u308b\u3053\u3068\u3067\u3001\n  \u300c1000\u4e07\u5186\u300d\u306a\u3069\u306e\u9577\u3044\u6570\u5b57\u304c\u7e26\u7dda\u306b\u91cd\u306a\u308b\u306e\u3092\u9632\u304e\u307e\u3059\u3002\n  *\/\n  .asset-progress-value {\n    flex-direction: column;\n    align-items: center;\n    gap: 4px;\n    font-size: clamp(18px, 6vw, 25px);\n    line-height: 1;\n  }\n\n  .asset-unit {\n    font-size: 10px;\n    line-height: 1;\n  }\n\n  .asset-deadline {\n    margin-top: 6px;\n    font-size: 9px;\n  }\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\n(function () {\n  function initializeAssetProgress() {\n    const areas = document.querySelectorAll(\n      \".asset-progress:not([data-initialized])\"\n    );\n\n    areas.forEach(function (area) {\n      area.dataset.initialized = \"true\";\n\n      \/*\n      \u91d1\u984d\u306f\u4e07\u5186\u5358\u4f4d\u3067\u6271\u3044\u307e\u3059\u3002\n\n      \u76ee\u6a19\u7dcf\u8cc7\u7523\uff1a5\u5104\u5186 = 50,000\u4e07\u5186\n      \u73fe\u5728\u7dcf\u8cc7\u7523\uff1a38\u4e07\u5186\n      *\/\n\n      const goalMan = 50000;\n      const currentMan = 38;\n\n      const goalDisplay = convertMoney(goalMan);\n      const currentDisplay = convertMoney(currentMan);\n\n      \/*\n      \u9054\u6210\u7387\uff1a\n      38\u4e07\u5186 \u00f7 5\u5104\u5186 \u00d7 100\n      *\/\n      const achievementRate =\n        goalMan > 0 ? (currentMan \/ goalMan) * 100 : 0;\n\n      const goalNumber =\n        area.querySelector(\".asset-goal-number\");\n      const goalUnit =\n        area.querySelector(\".asset-goal-unit\");\n      const currentNumber =\n        area.querySelector(\".asset-current-number\");\n      const currentUnit =\n        area.querySelector(\".asset-current-unit\");\n      const rateNumber =\n        area.querySelector(\".asset-rate-number\");\n\n      setCounter(\n        goalNumber,\n        goalDisplay.value,\n        goalDisplay.decimals\n      );\n\n      if (goalUnit) {\n        goalUnit.textContent = goalDisplay.unit;\n      }\n\n      setCounter(\n        currentNumber,\n        currentDisplay.value,\n        currentDisplay.decimals\n      );\n\n      if (currentUnit) {\n        currentUnit.textContent = currentDisplay.unit;\n      }\n\n      setCounter(\n        rateNumber,\n        achievementRate,\n        getRateDecimals(achievementRate)\n      );\n\n      const counters = area.querySelectorAll(\".asset-counter\");\n\n      \/* \u52d5\u304d\u3092\u6e1b\u3089\u3059\u8a2d\u5b9a\u306e\u7aef\u672b\u3067\u306f\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u884c\u3044\u307e\u305b\u3093 *\/\n      if (\n        window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches\n      ) {\n        counters.forEach(showFinalNumber);\n        return;\n      }\n\n      const observer = new IntersectionObserver(\n        function (entries, observerInstance) {\n          entries.forEach(function (entry) {\n            if (!entry.isIntersecting) return;\n\n            animateNumber(entry.target);\n            observerInstance.unobserve(entry.target);\n          });\n        },\n        {\n          threshold: 0.35\n        }\n      );\n\n      counters.forEach(function (counter) {\n        observer.observe(counter);\n      });\n    });\n  }\n\n  \/*\n  1\u5104\u5186\u672a\u6e80\u306f\u300c\u4e07\u5186\u300d\u3001\n  1\u5104\u5186\u4ee5\u4e0a\u306f\u300c\u5104\u5186\u300d\u3067\u81ea\u52d5\u8868\u793a\u3057\u307e\u3059\u3002\n  *\/\n  function convertMoney(amountMan) {\n    if (amountMan >= 10000) {\n      const amountOku = amountMan \/ 10000;\n\n      return {\n        value: amountOku,\n        unit: \"\u5104\u5186\",\n        decimals: Number.isInteger(amountOku) ? 0 : 2\n      };\n    }\n\n    return {\n      value: amountMan,\n      unit: \"\u4e07\u5186\",\n      decimals: Number.isInteger(amountMan) ? 0 : 1\n    };\n  }\n\n  function getRateDecimals(rate) {\n    if (rate === 0) return 0;\n    if (rate >= 1) return 1;\n    if (rate >= 0.1) return 1;\n    if (rate >= 0.01) return 2;\n    if (rate >= 0.001) return 3;\n    return 4;\n  }\n\n  function setCounter(element, value, decimals) {\n    if (!element) return;\n\n    element.dataset.value = String(value);\n    element.dataset.decimals = String(decimals);\n    element.textContent = \"0\";\n  }\n\n  function formatNumber(number, decimals) {\n    return number.toLocaleString(\"ja-JP\", {\n      minimumFractionDigits: 0,\n      maximumFractionDigits: decimals\n    });\n  }\n\n  function showFinalNumber(element) {\n    const target = Number(element.dataset.value);\n    const decimals = Number(element.dataset.decimals || 0);\n\n    element.textContent = formatNumber(target, decimals);\n  }\n\n  function animateNumber(element) {\n    const target = Number(element.dataset.value);\n    const decimals = Number(element.dataset.decimals || 0);\n    const duration = 1600;\n    const startTime = performance.now();\n\n    function updateNumber(currentTime) {\n      const progress = Math.min(\n        (currentTime - startTime) \/ duration,\n        1\n      );\n\n      const easing = 1 - Math.pow(1 - progress, 3);\n      const displayedNumber = target * easing;\n\n      element.textContent = formatNumber(\n        displayedNumber,\n        decimals\n      );\n\n      if (progress < 1) {\n        requestAnimationFrame(updateNumber);\n      } else {\n        showFinalNumber(element);\n      }\n    }\n\n    requestAnimationFrame(updateNumber);\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\n      \"DOMContentLoaded\",\n      initializeAssetProgress\n    );\n  } else {\n    initializeAssetProgress();\n  }\n})();\n<\/script>\n\n<!--\n\u3010\u91d1\u984d\u306e\u8a2d\u5b9a\u65b9\u6cd5\u3011\n\u91d1\u984d\u306f\u3059\u3079\u3066\u300c\u4e07\u5186\u5358\u4f4d\u300d\u3067\u5165\u529b\u3057\u307e\u3059\u3002\n\n10\u4e07\u5186    = 10\n100\u4e07\u5186   = 100\n1000\u4e07\u5186  = 1000\n1\u5104\u5186     = 10000\n10\u5104\u5186    = 100000\n100\u5104\u5186   = 1000000\n\n1\u5104\u5186\u53f0\u306b\u5230\u9054\u3057\u3066\u3082\u30b3\u30fc\u30c9\u306e\u5909\u66f4\u306f\u4e0d\u8981\u3067\u3059\u3002\ndata-current-man\u306e\u6570\u5b57\u3060\u3051\u5909\u66f4\u3059\u308b\u3068\u3001\n\u300c\u4e07\u5186\u300d\u304b\u3089\u300c\u5104\u5186\u300d\u3078\u81ea\u52d5\u7684\u306b\u5207\u308a\u66ff\u308f\u308a\u307e\u3059\u3002\n-->\n\n<div class=\"asset-progress\" data-goal-man=\"500000\" data-current-man=\"42\">\n  <div class=\"asset-progress-item\">\n    <div class=\"asset-progress-label\">\u76ee\u6a19\u7dcf\u8cc7\u7523<\/div>\n\n    <div class=\"asset-progress-value\">\n      <span class=\"asset-counter asset-goal-number\">0<\/span>\n      <span class=\"asset-unit asset-goal-unit\">\u5104\u5186<\/span>\n    <\/div>\n\n    <!-- \u671f\u9650\u3092\u5909\u66f4\u3059\u308b\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e2041\u5e74\u3092\u66f8\u304d\u63db\u3048\u307e\u3059 -->\n    <div class=\"asset-deadline\">\u671f\u9650\uff1a2041\u5e74<\/div>\n  <\/div>\n\n  <div class=\"asset-progress-item\">\n    <div class=\"asset-progress-label\">\u73fe\u5728\u7dcf\u8cc7\u7523<\/div>\n\n    <div class=\"asset-progress-value\">\n      <span class=\"asset-counter asset-current-number\">0<\/span>\n      <span class=\"asset-unit asset-current-unit\">\u5104\u5186<\/span>\n    <\/div>\n  <\/div>\n\n  <div class=\"asset-progress-item\">\n    <div class=\"asset-progress-label\">\u9054\u6210\u7387<\/div>\n\n    <div class=\"asset-progress-value\">\n      <span class=\"asset-counter asset-rate-number\">0<\/span>\n      <span class=\"asset-unit\">\uff05<\/span>\n    <\/div>\n  <\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<h3 id=\"rtoc-3\"  class=\"wp-block-heading jinr-heading d--bold\">\u73fe\u5728\u306e\u8cc7\u7523\u984d\u306e\u5185\u8a33<\/h3>\n\n\n\n<style data-wp-block-html=\"css\">\n.asset-breakdown {\n  display: grid;\n  grid-template-columns: minmax(180px, 42%) minmax(0, 1fr);\n  align-items: center;\n  gap: 40px;\n  width: 100%;\n  padding: 32px;\n  background-color: #ffffff;\n  font-family: \"Meiryo\", \"\u30e1\u30a4\u30ea\u30aa\", sans-serif;\n  box-sizing: border-box;\n}\n\n\/* \u5186\u30b0\u30e9\u30d5\u5074 *\/\n.asset-breakdown-chart-area {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  min-width: 0;\n}\n\n.asset-pie-chart {\n  width: min(100%, 300px);\n  aspect-ratio: 1 \/ 1;\n  border-radius: 50%;\n  background-color: #eeeeee;\n  box-shadow: 0 8px 25px rgba(40, 50, 90, 0.12);\n}\n\n.asset-total-area {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  margin-top: 20px;\n  color: #333333;\n}\n\n.asset-total-label {\n  margin-bottom: 4px;\n  color: #777777;\n  font-size: 13px;\n  font-weight: bold;\n}\n\n#assetTotalAmount {\n  color: #4466ce;\n  font-size: clamp(20px, 3vw, 30px);\n  font-weight: bold;\n}\n\n\/* \u5185\u8a33\u5074 *\/\n.asset-breakdown-list {\n  display: flex;\n  flex-direction: column;\n  min-width: 0;\n}\n\n.asset-breakdown-item {\n  display: grid;\n  grid-template-columns: 18px minmax(0, 1fr);\n  align-items: center;\n  gap: 13px;\n  padding: 16px 0;\n  border-bottom: 1px solid #e7e9f2;\n}\n\n.asset-breakdown-item:first-child {\n  padding-top: 0;\n}\n\n.asset-breakdown-item:last-child {\n  padding-bottom: 0;\n  border-bottom: none;\n}\n\n\/* \u9805\u76ee\u5de6\u5074\u306e\u8272\u4ed8\u304d\u306e\u5186 *\/\n.asset-color-circle {\n  display: block;\n  width: 14px;\n  height: 14px;\n  border-radius: 50%;\n}\n\n.asset-item-content {\n  min-width: 0;\n}\n\n.asset-item-top {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n}\n\n.asset-item-name {\n  min-width: 0;\n  color: #333333;\n  font-size: 15px;\n  font-weight: bold;\n}\n\n.asset-item-percentage {\n  flex-shrink: 0;\n  color: #4466ce;\n  font-size: 17px;\n  font-weight: bold;\n}\n\n.asset-item-amount {\n  margin-top: 5px;\n  color: #666666;\n  font-size: 14px;\n  font-weight: bold;\n}\n\n\/* \u30bf\u30d6\u30ec\u30c3\u30c8\u30fb\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3 *\/\n@media (max-width: 700px) {\n  .asset-breakdown {\n    grid-template-columns: minmax(120px, 40%) minmax(0, 1fr);\n    gap: 18px;\n    padding: 20px 12px;\n  }\n\n  .asset-pie-chart {\n    width: min(100%, 190px);\n  }\n\n  .asset-total-area {\n    margin-top: 12px;\n  }\n\n  .asset-total-label {\n    font-size: 10px;\n  }\n\n  #assetTotalAmount {\n    font-size: clamp(15px, 4vw, 20px);\n  }\n\n  .asset-breakdown-item {\n    grid-template-columns: 12px minmax(0, 1fr);\n    gap: 7px;\n    padding: 11px 0;\n  }\n\n  .asset-color-circle {\n    width: 10px;\n    height: 10px;\n  }\n\n  .asset-item-top {\n    gap: 5px;\n  }\n\n  .asset-item-name {\n    font-size: clamp(10px, 3vw, 13px);\n  }\n\n  .asset-item-percentage {\n    font-size: clamp(11px, 3.2vw, 14px);\n  }\n\n  .asset-item-amount {\n    margin-top: 3px;\n    font-size: clamp(10px, 2.8vw, 12px);\n  }\n}\n\n\/* \u5e45\u304c\u975e\u5e38\u306b\u72ed\u3044\u753b\u9762 *\/\n@media (max-width: 380px) {\n  .asset-breakdown {\n    grid-template-columns: 115px minmax(0, 1fr);\n    gap: 10px;\n    padding: 16px 8px;\n  }\n\n  .asset-item-name {\n    font-size: 10px;\n  }\n\n  .asset-item-percentage,\n  .asset-item-amount {\n    font-size: 10px;\n  }\n}\n\n\/* \u5186\u30b0\u30e9\u30d5\u306e\u8868\u793a\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3 *\/\n.asset-pie-chart {\n  opacity: 0.35;\n  transform: scale(0.9);\n  transition:\n    opacity 0.6s ease,\n    transform 0.6s ease;\n}\n\n.asset-breakdown.is-animated .asset-pie-chart {\n  opacity: 1;\n  transform: scale(1);\n}\n\n\/* \u53f3\u5074\u306e\u9805\u76ee\u3092\u9806\u756a\u306b\u8868\u793a *\/\n.asset-breakdown-item {\n  opacity: 0;\n  transform: translateY(12px);\n  transition:\n    opacity 0.5s ease,\n    transform 0.5s ease;\n  transition-delay: calc(var(--item-index) * 0.1s);\n}\n\n.asset-breakdown.is-animated .asset-breakdown-item {\n  opacity: 1;\n  transform: translateY(0);\n}\n\n\/* \u52d5\u304d\u3092\u6e1b\u3089\u3059\u8a2d\u5b9a\u306b\u5bfe\u5fdc *\/\n@media (prefers-reduced-motion: reduce) {\n  .asset-pie-chart,\n  .asset-breakdown-item {\n    opacity: 1;\n    transform: none;\n    transition: none;\n  }\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  \/*\n   * \u8cc7\u7523\u984d\u306e\u8a2d\u5b9a\u5834\u6240\u3067\u3059\u3002\n   * amount\u306b\u306f\u5186\u5358\u4f4d\u3067\u5165\u529b\u3057\u307e\u3059\u3002\n   *\n   * 10\u4e07\u5186   = 100000\n   * 100\u4e07\u5186  = 1000000\n   * 1000\u4e07\u5186 = 10000000\n   * 1\u5104\u5186    = 100000000\n   *\/\n\n  const assetData = [\n    {\n      name: \"\u682a\u5f0f\uff08\u73fe\u7269\uff09\",\n      amount: 268000,\n      color: \"#e85d5d\"\n    },\n    {\n      name: \"\u6295\u8cc7\u4fe1\u8a17\",\n      amount: 85000,\n      color: \"#f2c94c\"\n    },\n    {\n      name: \"\u9810\u91d1\u30fb\u73fe\u91d1\",\n      amount: 30000,\n      color: \"#4466ce\"\n    },\n    {\n      name: \"\u30dd\u30a4\u30f3\u30c8\",\n      amount: 773,\n      color: \"#9b51e0\"\n    }\n  ];\n\n  const container =\n    document.querySelector(\".asset-breakdown\");\n\n  const chart =\n    document.getElementById(\"assetPieChart\");\n\n  const list =\n    document.getElementById(\"assetBreakdownList\");\n\n  const totalElement =\n    document.getElementById(\"assetTotalAmount\");\n\n  if (!container || !chart || !list || !totalElement) {\n    return;\n  }\n\n  const totalAmount = assetData.reduce(\n    function (total, item) {\n      return total + item.amount;\n    },\n    0\n  );\n\n  if (totalAmount <= 0) {\n    chart.style.background = \"#eeeeee\";\n    totalElement.textContent = \"0\u5186\";\n    return;\n  }\n\n  let accumulatedPercentage = 0;\n  const calculatedData = [];\n  const itemElements = [];\n\n  \/*\n   * \u91d1\u984d\u304b\u3089\u5272\u5408\u3068\u5186\u30b0\u30e9\u30d5\u4e0a\u306e\u4f4d\u7f6e\u3092\u8a08\u7b97\n   *\/\n  assetData.forEach(function (item, index) {\n    const percentage =\n      (item.amount \/ totalAmount) * 100;\n\n    const startPercentage = accumulatedPercentage;\n    const endPercentage =\n      accumulatedPercentage + percentage;\n\n    accumulatedPercentage = endPercentage;\n\n    calculatedData.push({\n      name: item.name,\n      amount: item.amount,\n      color: item.color,\n      percentage: percentage,\n      start: startPercentage,\n      end: endPercentage\n    });\n\n    \/*\n     * \u53f3\u5074\u306e\u9805\u76ee\u3092\u4f5c\u6210\n     *\/\n    const listItem = document.createElement(\"div\");\n    listItem.className = \"asset-breakdown-item\";\n    listItem.style.setProperty(\"--item-index\", index);\n\n    const colorCircle =\n      document.createElement(\"span\");\n\n    colorCircle.className = \"asset-color-circle\";\n    colorCircle.style.backgroundColor = item.color;\n\n    const content =\n      document.createElement(\"div\");\n\n    content.className = \"asset-item-content\";\n\n    const itemTop =\n      document.createElement(\"div\");\n\n    itemTop.className = \"asset-item-top\";\n\n    const itemName =\n      document.createElement(\"span\");\n\n    itemName.className = \"asset-item-name\";\n    itemName.textContent = item.name;\n\n    const percentageElement =\n      document.createElement(\"span\");\n\n    percentageElement.className =\n      \"asset-item-percentage\";\n\n    percentageElement.textContent = \"0\uff05\";\n\n    const amountElement =\n      document.createElement(\"div\");\n\n    amountElement.className = \"asset-item-amount\";\n    amountElement.textContent = \"0\u5186\";\n\n    itemTop.appendChild(itemName);\n    itemTop.appendChild(percentageElement);\n\n    content.appendChild(itemTop);\n    content.appendChild(amountElement);\n\n    listItem.appendChild(colorCircle);\n    listItem.appendChild(content);\n\n    list.appendChild(listItem);\n\n    itemElements.push({\n      amountElement: amountElement,\n      percentageElement: percentageElement\n    });\n  });\n\n  \/*\n   * \u5186\u30b0\u30e9\u30d5\u306e\u521d\u671f\u72b6\u614b\n   *\/\n  chart.style.background =\n    \"conic-gradient(#eef0f6 0% 100%)\";\n\n  totalElement.textContent = \"0\u5186\";\n\n  \/*\n   * \u5186\u30b0\u30e9\u30d5\u3068\u6570\u5024\u3092\u63cf\u753b\n   *\/\n  function renderAnimation(progress) {\n    const gradientParts = [];\n\n    calculatedData.forEach(function (item, index) {\n      const animatedStart = item.start * progress;\n      const animatedEnd = item.end * progress;\n\n      gradientParts.push(\n        item.color +\n          \" \" +\n          animatedStart +\n          \"% \" +\n          animatedEnd +\n          \"%\"\n      );\n\n      const animatedAmount =\n        item.amount * progress;\n\n      const animatedPercentage =\n        item.percentage * progress;\n\n      itemElements[index].amountElement.textContent =\n        formatYen(animatedAmount);\n\n      itemElements[\n        index\n      ].percentageElement.textContent =\n        formatPercentage(animatedPercentage) + \"\uff05\";\n    });\n\n    const filledPercentage = 100 * progress;\n\n    gradientParts.push(\n      \"#eef0f6 \" +\n        filledPercentage +\n        \"% 100%\"\n    );\n\n    chart.style.background =\n      \"conic-gradient(\" +\n      gradientParts.join(\", \") +\n      \")\";\n\n    totalElement.textContent =\n      formatYen(totalAmount * progress);\n  }\n\n  \/*\n   * \u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u672c\u4f53\n   *\/\n  function startAnimation() {\n    const duration = 1800;\n    let startTime = null;\n\n    container.classList.add(\"is-animated\");\n\n    function animate(currentTime) {\n      if (startTime === null) {\n        startTime = currentTime;\n      }\n\n      const elapsed = currentTime - startTime;\n\n      const normalProgress = Math.min(\n        elapsed \/ duration,\n        1\n      );\n\n      \/*\n       * \u6700\u521d\u306f\u901f\u304f\u3001\u6700\u5f8c\u306f\u3086\u3063\u304f\u308a\u306b\u306a\u308b\u52d5\u304d\n       *\/\n      const easedProgress =\n        1 - Math.pow(1 - normalProgress, 3);\n\n      renderAnimation(easedProgress);\n\n      if (normalProgress < 1) {\n        requestAnimationFrame(animate);\n      } else {\n        renderAnimation(1);\n      }\n    }\n\n    requestAnimationFrame(animate);\n  }\n\n  \/*\n   * \u8aad\u307f\u4e0a\u3052\u7528\u306e\u8aac\u660e\n   *\/\n  chart.setAttribute(\n    \"aria-label\",\n    calculatedData\n      .map(function (item) {\n        return (\n          item.name +\n          \" \" +\n          formatYen(item.amount) +\n          \" \" +\n          formatPercentage(item.percentage) +\n          \"\u30d1\u30fc\u30bb\u30f3\u30c8\"\n        );\n      })\n      .join(\"\u3001\")\n  );\n\n  \/*\n   * \u52d5\u304d\u3092\u6e1b\u3089\u3059\u8a2d\u5b9a\u306e\u5834\u5408\u306f\u3059\u3050\u306b\u6700\u7d42\u7d50\u679c\u3092\u8868\u793a\n   *\/\n  if (\n    window.matchMedia(\n      \"(prefers-reduced-motion: reduce)\"\n    ).matches\n  ) {\n    container.classList.add(\"is-animated\");\n    renderAnimation(1);\n    return;\n  }\n\n  \/*\n   * \u753b\u9762\u5185\u306b\u5165\u3063\u305f\u3068\u304d\u306b\u4e00\u5ea6\u3060\u3051\u958b\u59cb\n   *\/\n  const observer = new IntersectionObserver(\n    function (entries, observerInstance) {\n      entries.forEach(function (entry) {\n        if (!entry.isIntersecting) {\n          return;\n        }\n\n        startAnimation();\n        observerInstance.unobserve(entry.target);\n      });\n    },\n    {\n      threshold: 0.3\n    }\n  );\n\n  observer.observe(container);\n\n  \/*\n   * \u5186\u8868\u793a\n   *\/\n  function formatYen(amount) {\n    return Math.round(amount).toLocaleString(\"ja-JP\") +\n      \"\u5186\";\n  }\n\n  \/*\n   * \u5272\u5408\u8868\u793a\n   *\/\n  function formatPercentage(percentage) {\n    let decimalPlaces = 1;\n\n    if (percentage === 0) {\n      decimalPlaces = 0;\n    } else if (percentage < 0.001) {\n      decimalPlaces = 4;\n    } else if (percentage < 0.01) {\n      decimalPlaces = 3;\n    } else if (percentage < 0.1) {\n      decimalPlaces = 2;\n    }\n\n    return percentage.toLocaleString(\"ja-JP\", {\n      minimumFractionDigits: 0,\n      maximumFractionDigits: decimalPlaces\n    });\n  }\n});\uff53\n<\/script>\n\n<div class=\"asset-breakdown\">\n  <!-- \u5de6\u5074\uff1a\u5186\u30b0\u30e9\u30d5 -->\n  <div class=\"asset-breakdown-chart-area\">\n    <div id=\"assetPieChart\" class=\"asset-pie-chart\" role=\"img\" aria-label=\"\u8cc7\u7523\u984d\u306e\u5185\u8a33\u3092\u793a\u3059\u5186\u30b0\u30e9\u30d5\"><\/div>\n\n    <div class=\"asset-total-area\">\n      <span class=\"asset-total-label\">\u7dcf\u8cc7\u7523\u984d<\/span>\n      <strong id=\"assetTotalAmount\">0\u5186<\/strong>\n    <\/div>\n  <\/div>\n\n  <!-- \u53f3\u5074\uff1a\u8cc7\u7523\u306e\u5185\u8a33 -->\n  <div id=\"assetBreakdownList\" class=\"asset-breakdown-list\"><\/div>\n<\/div>\n\n\n\n<h3 id=\"rtoc-4\"  class=\"wp-block-heading jinr-heading d--bold\">\u8cc7\u7523\u63a8\u79fb<\/h3>\n\n\n\n<style data-wp-block-html=\"css\">\n.asset-history-chart {\n  width: 100%;\n  padding: 28px 18px 18px;\n  overflow: hidden;\n  background-color: #ffffff;\n  border: 1px solid #e5e8f1;\n  border-radius: 12px;\n  font-family: \"Meiryo\", \"\u30e1\u30a4\u30ea\u30aa\", sans-serif;\n  box-sizing: border-box;\n}\n\n.asset-history-title {\n  margin: 0 0 20px;\n  color: #30385f;\n  font-size: 21px;\n  font-weight: bold;\n  text-align: center;\n}\n\n.asset-history-container {\n  width: 100%;\n  min-width: 0;\n  overflow: hidden;\n}\n\n.asset-line-chart {\n  display: block;\n  width: 100%;\n  min-width: 0;\n  height: auto;\n  overflow: visible;\n}\n\n\/* \u6a2a\u65b9\u5411\u306e\u88dc\u52a9\u7dda *\/\n.asset-grid-line {\n  stroke: #e2e6f0;\n  stroke-width: 1;\n  stroke-dasharray: 4 4;\n}\n\n\/* \u7e26\u8ef8\u3068\u6a2a\u8ef8 *\/\n.asset-axis-line {\n  stroke: #737b91;\n  stroke-width: 1.2;\n}\n\n\/* \u7e26\u8ef8\u306e\u91d1\u984d\u3068\u6a2a\u8ef8\u306e\u5e74 *\/\n.asset-axis-text {\n  fill: #687087;\n  font-family: \"Meiryo\", \"\u30e1\u30a4\u30ea\u30aa\", sans-serif;\n  font-size: 11px;\n  font-weight: bold;\n}\n\n\/* \u300c\u91d1\u984d\u300d\u300c\u5e74\u300d\u306e\u6587\u5b57 *\/\n.asset-axis-title {\n  fill: #30385f;\n  font-family: \"Meiryo\", \"\u30e1\u30a4\u30ea\u30aa\", sans-serif;\n  font-size: 12px;\n  font-weight: bold;\n}\n\n\/* \u6298\u308c\u7dda\u306e\u4e0b\u5074 *\/\n.asset-history-area {\n  opacity: 0;\n  transition: opacity 1s ease 0.45s;\n}\n\n.asset-history-chart.is-visible .asset-history-area {\n  opacity: 1;\n}\n\n\/* \u6298\u308c\u7dda *\/\n.asset-history-line {\n  fill: none;\n  stroke: #4466ce;\n  stroke-width: 4;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n  stroke-dasharray: var(--line-length);\n  stroke-dashoffset: var(--line-length);\n  transition: stroke-dashoffset 1.8s ease;\n}\n\n.asset-history-chart.is-visible .asset-history-line {\n  stroke-dashoffset: 0;\n}\n\n\/* \u30b0\u30e9\u30d5\u4e0a\u306e\u70b9 *\/\n.asset-point-group {\n  opacity: 0;\n  transition: opacity 0.35s ease;\n  transition-delay: var(--point-delay);\n}\n\n.asset-history-chart.is-visible .asset-point-group {\n  opacity: 1;\n}\n\n.asset-point {\n  fill: #ffffff;\n  stroke: #4466ce;\n  stroke-width: 3;\n}\n\n.asset-point-value {\n  fill: #4466ce;\n  font-family: \"Meiryo\", \"\u30e1\u30a4\u30ea\u30aa\", sans-serif;\n  font-size: 11px;\n  font-weight: bold;\n  text-anchor: middle;\n}\n\n.asset-history-note {\n  margin: 10px 0 0;\n  color: #798097;\n  font-size: 11px;\n  text-align: center;\n}\n\n@media (max-width: 600px) {\n  .asset-history-chart {\n    padding: 20px 6px 14px;\n    border-radius: 8px;\n  }\n\n  .asset-history-title {\n    margin-bottom: 12px;\n    font-size: 18px;\n  }\n\n  .asset-axis-text {\n    font-size: 9px;\n  }\n\n  .asset-axis-title {\n    font-size: 10px;\n  }\n\n  .asset-point-value {\n    font-size: 9px;\n  }\n\n  .asset-history-line {\n    stroke-width: 3;\n  }\n\n  .asset-point {\n    stroke-width: 2.5;\n  }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .asset-history-line {\n    stroke-dashoffset: 0;\n    transition: none;\n  }\n\n  .asset-history-area,\n  .asset-point-group {\n    opacity: 1;\n    transition: none;\n  }\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  \/*\n   * \u5e74\u3054\u3068\u306e\u8cc7\u7523\u984d\u3092\u8a2d\u5b9a\u3059\u308b\u5834\u6240\u3067\u3059\u3002\n   * amount\u306b\u306f\u5186\u5358\u4f4d\u3067\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n   *\n   * 10\u4e07\u5186   = 100000\n   * 100\u4e07\u5186  = 1000000\n   * 1000\u4e07\u5186 = 10000000\n   * 1\u5104\u5186    = 100000000\n   *\/\n\n  const assetHistoryData = [\n    {\n      year: 2026,\n      amount: 383773\n    },\n    {\n      year: 2027,\n      amount: 383773\n    },\n    {\n      year: 2028,\n      amount: 383773\n    },\n    {\n      year: 2029,\n      amount: 383773\n    },\n    {\n      year: 2030,\n      amount: 383773\n    }\n  ];\n\n  const svg =\n    document.getElementById(\"assetLineChart\");\n\n  const chartContainer =\n    document.querySelector(\".asset-history-container\");\n\n  const section =\n    document.querySelector(\".asset-history-chart\");\n\n  if (\n    !svg ||\n    !chartContainer ||\n    !section ||\n    assetHistoryData.length === 0\n  ) {\n    return;\n  }\n\n  const svgNamespace =\n    \"http:\/\/www.w3.org\/2000\/svg\";\n\n  let hasAnimated = false;\n  let resizeTimer;\n\n  \/*\n   * \u30b0\u30e9\u30d5\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n   *\/\n  function drawChart() {\n    svg.replaceChildren();\n\n    \/*\n     * \u89aa\u8981\u7d20\u306e\u6a2a\u5e45\u306b\u5408\u308f\u305b\u307e\u3059\u3002\n     * \u6700\u5c0f\u5e45\u3092\u8a2d\u5b9a\u3057\u306a\u3044\u305f\u3081\u3001\u6a2a\u30b9\u30af\u30ed\u30fc\u30eb\u306f\u767a\u751f\u3057\u307e\u305b\u3093\u3002\n     *\/\n    const chartWidth = Math.max(\n      280,\n      Math.floor(\n        chartContainer.clientWidth ||\n        section.clientWidth ||\n        320\n      )\n    );\n\n    const isMobile = chartWidth <= 600;\n\n    const chartHeight = isMobile ? 350 : 430;\n\n    const margin = isMobile\n      ? {\n          top: 55,\n          right: 12,\n          bottom: 58,\n          left: 62\n        }\n      : {\n          top: 65,\n          right: 30,\n          bottom: 68,\n          left: 88\n        };\n\n    const graphWidth =\n      chartWidth - margin.left - margin.right;\n\n    const graphHeight =\n      chartHeight - margin.top - margin.bottom;\n\n    svg.setAttribute(\n      \"viewBox\",\n      \"0 0 \" + chartWidth + \" \" + chartHeight\n    );\n\n    svg.setAttribute(\n      \"preserveAspectRatio\",\n      \"xMidYMid meet\"\n    );\n\n    \/*\n     * \u7e26\u8ef8\u306e\u6700\u5927\u5024\u3092\u6c7a\u5b9a\u3057\u307e\u3059\u3002\n     *\/\n    const largestAmount = Math.max(\n      ...assetHistoryData.map(function (item) {\n        return item.amount;\n      })\n    );\n\n    const maximumAmount =\n      createNiceMaximum(largestAmount);\n\n    \/*\n     * \u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n     *\/\n    const definitions =\n      createSvgElement(\"defs\");\n\n    const gradient =\n      createSvgElement(\"linearGradient\");\n\n    gradient.setAttribute(\n      \"id\",\n      \"assetAreaGradient\"\n    );\n\n    gradient.setAttribute(\"x1\", \"0\");\n    gradient.setAttribute(\"y1\", \"0\");\n    gradient.setAttribute(\"x2\", \"0\");\n    gradient.setAttribute(\"y2\", \"1\");\n\n    const gradientTop =\n      createSvgElement(\"stop\");\n\n    gradientTop.setAttribute(\"offset\", \"0%\");\n    gradientTop.setAttribute(\n      \"stop-color\",\n      \"#4466ce\"\n    );\n    gradientTop.setAttribute(\n      \"stop-opacity\",\n      \"0.28\"\n    );\n\n    const gradientBottom =\n      createSvgElement(\"stop\");\n\n    gradientBottom.setAttribute(\n      \"offset\",\n      \"100%\"\n    );\n    gradientBottom.setAttribute(\n      \"stop-color\",\n      \"#4466ce\"\n    );\n    gradientBottom.setAttribute(\n      \"stop-opacity\",\n      \"0.02\"\n    );\n\n    gradient.appendChild(gradientTop);\n    gradient.appendChild(gradientBottom);\n    definitions.appendChild(gradient);\n    svg.appendChild(definitions);\n\n    \/*\n     * \u6a2a\u65b9\u5411\u306e\u88dc\u52a9\u7dda\u3068\u7e26\u8ef8\u306e\u91d1\u984d\n     *\/\n    const numberOfYLines = isMobile ? 4 : 5;\n\n    for (\n      let index = 0;\n      index <= numberOfYLines;\n      index++\n    ) {\n      const positionRatio =\n        index \/ numberOfYLines;\n\n      const y =\n        margin.top +\n        graphHeight * positionRatio;\n\n      const amount =\n        maximumAmount * (1 - positionRatio);\n\n      const gridLine =\n        createSvgElement(\"line\");\n\n      gridLine.setAttribute(\n        \"class\",\n        \"asset-grid-line\"\n      );\n\n      gridLine.setAttribute(\n        \"x1\",\n        margin.left\n      );\n\n      gridLine.setAttribute(\n        \"x2\",\n        chartWidth - margin.right\n      );\n\n      gridLine.setAttribute(\"y1\", y);\n      gridLine.setAttribute(\"y2\", y);\n\n      svg.appendChild(gridLine);\n\n      const amountText =\n        createSvgElement(\"text\");\n\n      amountText.setAttribute(\n        \"class\",\n        \"asset-axis-text\"\n      );\n\n      amountText.setAttribute(\n        \"x\",\n        margin.left - 8\n      );\n\n      amountText.setAttribute(\n        \"y\",\n        y + 4\n      );\n\n      amountText.setAttribute(\n        \"text-anchor\",\n        \"end\"\n      );\n\n      amountText.textContent =\n        formatShortAmount(amount);\n\n      svg.appendChild(amountText);\n    }\n\n    \/*\n     * \u7e26\u8ef8\n     *\/\n    const verticalAxis =\n      createSvgElement(\"line\");\n\n    verticalAxis.setAttribute(\n      \"class\",\n      \"asset-axis-line\"\n    );\n\n    verticalAxis.setAttribute(\n      \"x1\",\n      margin.left\n    );\n\n    verticalAxis.setAttribute(\n      \"x2\",\n      margin.left\n    );\n\n    verticalAxis.setAttribute(\n      \"y1\",\n      margin.top\n    );\n\n    verticalAxis.setAttribute(\n      \"y2\",\n      chartHeight - margin.bottom\n    );\n\n    svg.appendChild(verticalAxis);\n\n    \/*\n     * \u6a2a\u8ef8\n     *\/\n    const horizontalAxis =\n      createSvgElement(\"line\");\n\n    horizontalAxis.setAttribute(\n      \"class\",\n      \"asset-axis-line\"\n    );\n\n    horizontalAxis.setAttribute(\n      \"x1\",\n      margin.left\n    );\n\n    horizontalAxis.setAttribute(\n      \"x2\",\n      chartWidth - margin.right\n    );\n\n    horizontalAxis.setAttribute(\n      \"y1\",\n      chartHeight - margin.bottom\n    );\n\n    horizontalAxis.setAttribute(\n      \"y2\",\n      chartHeight - margin.bottom\n    );\n\n    svg.appendChild(horizontalAxis);\n\n    \/*\n     * \u7e26\u8ef8\u306e\u30bf\u30a4\u30c8\u30eb\n     *\/\n    const yAxisTitle =\n      createSvgElement(\"text\");\n\n    yAxisTitle.setAttribute(\n      \"class\",\n      \"asset-axis-title\"\n    );\n\n    yAxisTitle.setAttribute(\n      \"transform\",\n      \"translate(\" +\n        (isMobile ? 13 : 20) +\n        \" \" +\n        (margin.top + graphHeight \/ 2) +\n        \") rotate(-90)\"\n    );\n\n    yAxisTitle.setAttribute(\n      \"text-anchor\",\n      \"middle\"\n    );\n\n    yAxisTitle.textContent = \"\u91d1\u984d\";\n\n    svg.appendChild(yAxisTitle);\n\n    \/*\n     * \u6a2a\u8ef8\u306e\u30bf\u30a4\u30c8\u30eb\n     *\/\n    const xAxisTitle =\n      createSvgElement(\"text\");\n\n    xAxisTitle.setAttribute(\n      \"class\",\n      \"asset-axis-title\"\n    );\n\n    xAxisTitle.setAttribute(\n      \"x\",\n      margin.left + graphWidth \/ 2\n    );\n\n    xAxisTitle.setAttribute(\n      \"y\",\n      chartHeight - 10\n    );\n\n    xAxisTitle.setAttribute(\n      \"text-anchor\",\n      \"middle\"\n    );\n\n    xAxisTitle.textContent = \"\u5e74\";\n\n    svg.appendChild(xAxisTitle);\n\n    \/*\n     * \u5404\u30c7\u30fc\u30bf\u306e\u5ea7\u6a19\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\n     *\/\n    const points = assetHistoryData.map(\n      function (item, index) {\n        const x =\n          assetHistoryData.length === 1\n            ? margin.left + graphWidth \/ 2\n            : margin.left +\n              (graphWidth * index) \/\n                (assetHistoryData.length - 1);\n\n        const y =\n          margin.top +\n          graphHeight -\n          (item.amount \/ maximumAmount) *\n            graphHeight;\n\n        return {\n          x: x,\n          y: y,\n          year: item.year,\n          amount: item.amount\n        };\n      }\n    );\n\n    \/*\n     * \u753b\u9762\u5185\u306b\u8868\u793a\u3067\u304d\u308b\u5e74\u306e\u6570\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\n     * \u30c7\u30fc\u30bf\u306f\u7701\u7565\u305b\u305a\u3001\u5e74\u306e\u6587\u5b57\u3060\u3051\u3092\u9593\u5f15\u304d\u307e\u3059\u3002\n     *\/\n    const maximumLabels = Math.max(\n      2,\n      Math.floor(\n        graphWidth \/ (isMobile ? 62 : 78)\n      )\n    );\n\n    const labelStep = Math.max(\n      1,\n      Math.ceil(\n        (points.length - 1) \/\n          Math.max(maximumLabels - 1, 1)\n      )\n    );\n\n    function shouldShowLabel(index) {\n      return (\n        index === 0 ||\n        index === points.length - 1 ||\n        index % labelStep === 0\n      );\n    }\n\n    \/*\n     * \u6a2a\u8ef8\u306b\u5e74\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n     *\/\n    points.forEach(function (point, index) {\n      if (!shouldShowLabel(index)) {\n        return;\n      }\n\n      const yearText =\n        createSvgElement(\"text\");\n\n      yearText.setAttribute(\n        \"class\",\n        \"asset-axis-text\"\n      );\n\n      yearText.setAttribute(\"x\", point.x);\n\n      yearText.setAttribute(\n        \"y\",\n        chartHeight - margin.bottom + 25\n      );\n\n      yearText.setAttribute(\n        \"text-anchor\",\n        \"middle\"\n      );\n\n      yearText.textContent =\n        point.year + \"\u5e74\";\n\n      svg.appendChild(yearText);\n    });\n\n    \/*\n     * \u6298\u308c\u7dda\u306e\u5f62\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n     *\/\n    const linePath = points\n      .map(function (point, index) {\n        return (\n          (index === 0 ? \"M \" : \"L \") +\n          point.x +\n          \" \" +\n          point.y\n        );\n      })\n      .join(\" \");\n\n    \/*\n     * \u6298\u308c\u7dda\u306e\u4e0b\u5074\u3092\u5857\u308a\u307e\u3059\u3002\n     *\/\n    const areaPath =\n      linePath +\n      \" L \" +\n      points[points.length - 1].x +\n      \" \" +\n      (chartHeight - margin.bottom) +\n      \" L \" +\n      points[0].x +\n      \" \" +\n      (chartHeight - margin.bottom) +\n      \" Z\";\n\n    const area =\n      createSvgElement(\"path\");\n\n    area.setAttribute(\n      \"class\",\n      \"asset-history-area\"\n    );\n\n    area.setAttribute(\"d\", areaPath);\n\n    area.setAttribute(\n      \"fill\",\n      \"url(#assetAreaGradient)\"\n    );\n\n    svg.appendChild(area);\n\n    \/*\n     * \u6298\u308c\u7dda\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n     *\/\n    const line =\n      createSvgElement(\"path\");\n\n    line.setAttribute(\n      \"class\",\n      \"asset-history-line\"\n    );\n\n    line.setAttribute(\"d\", linePath);\n\n    svg.appendChild(line);\n\n    const lineLength =\n      line.getTotalLength();\n\n    line.style.setProperty(\n      \"--line-length\",\n      lineLength\n    );\n\n    if (hasAnimated) {\n      line.style.strokeDashoffset = \"0\";\n    }\n\n    \/*\n     * \u70b9\u3068\u8cc7\u7523\u984d\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n     *\/\n    points.forEach(function (point, index) {\n      const pointGroup =\n        createSvgElement(\"g\");\n\n      pointGroup.setAttribute(\n        \"class\",\n        \"asset-point-group\"\n      );\n\n      pointGroup.style.setProperty(\n        \"--point-delay\",\n        0.35 + index * 0.12 + \"s\"\n      );\n\n      \/*\n       * \u91d1\u984d\u306e\u6587\u5b57\u306f\u5e74\u3068\u540c\u3058\u9593\u9694\u3067\u8868\u793a\u3057\u307e\u3059\u3002\n       * \u3053\u308c\u306b\u3088\u308a\u30b9\u30de\u30db\u3067\u3082\u6587\u5b57\u304c\u91cd\u306a\u308a\u307e\u305b\u3093\u3002\n       *\/\n      if (shouldShowLabel(index)) {\n        const valueText =\n          createSvgElement(\"text\");\n\n        valueText.setAttribute(\n          \"class\",\n          \"asset-point-value\"\n        );\n\n        valueText.setAttribute(\n          \"x\",\n          point.x\n        );\n\n        valueText.setAttribute(\n          \"y\",\n          point.y - 13\n        );\n\n        valueText.textContent =\n          formatShortAmount(point.amount);\n\n        pointGroup.appendChild(valueText);\n      }\n\n      const circle =\n        createSvgElement(\"circle\");\n\n      circle.setAttribute(\n        \"class\",\n        \"asset-point\"\n      );\n\n      circle.setAttribute(\n        \"cx\",\n        point.x\n      );\n\n      circle.setAttribute(\n        \"cy\",\n        point.y\n      );\n\n      circle.setAttribute(\n        \"r\",\n        isMobile ? \"4\" : \"5.5\"\n      );\n\n      const pointTitle =\n        createSvgElement(\"title\");\n\n      pointTitle.textContent =\n        point.year +\n        \"\u5e74\uff1a\" +\n        point.amount.toLocaleString(\"ja-JP\") +\n        \"\u5186\";\n\n      circle.appendChild(pointTitle);\n      pointGroup.appendChild(circle);\n      svg.appendChild(pointGroup);\n    });\n\n    \/*\n     * \u4e00\u5ea6\u52d5\u3044\u305f\u5f8c\u306e\u753b\u9762\u30b5\u30a4\u30ba\u5909\u66f4\u3067\u306f\u3001\n     * \u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u7d42\u4e86\u72b6\u614b\u3067\u8868\u793a\u3057\u307e\u3059\u3002\n     *\/\n    if (hasAnimated) {\n      section.classList.add(\"is-visible\");\n    }\n  }\n\n  \/*\n   * \u6700\u521d\u306e\u30b0\u30e9\u30d5\u3092\u63cf\u753b\u3057\u307e\u3059\u3002\n   *\/\n  drawChart();\n\n  \/*\n   * \u753b\u9762\u5185\u306b\u5165\u3063\u305f\u3068\u304d\u306b\u52d5\u304b\u3057\u307e\u3059\u3002\n   *\/\n  if (\n    window.matchMedia(\n      \"(prefers-reduced-motion: reduce)\"\n    ).matches\n  ) {\n    hasAnimated = true;\n    section.classList.add(\"is-visible\");\n  } else {\n    const observer = new IntersectionObserver(\n      function (entries, observerInstance) {\n        entries.forEach(function (entry) {\n          if (!entry.isIntersecting) {\n            return;\n          }\n\n          hasAnimated = true;\n          section.classList.add(\"is-visible\");\n          observerInstance.unobserve(entry.target);\n        });\n      },\n      {\n        threshold: 0.25\n      }\n    );\n\n    observer.observe(section);\n  }\n\n  \/*\n   * \u753b\u9762\u5e45\u304c\u5909\u308f\u3063\u305f\u5834\u5408\u306f\u63cf\u304d\u76f4\u3057\u307e\u3059\u3002\n   *\/\n  window.addEventListener(\"resize\", function () {\n    clearTimeout(resizeTimer);\n\n    resizeTimer = setTimeout(function () {\n      drawChart();\n    }, 180);\n  });\n\n  \/*\n   * SVG\u8981\u7d20\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n   *\/\n  function createSvgElement(elementName) {\n    return document.createElementNS(\n      svgNamespace,\n      elementName\n    );\n  }\n\n  \/*\n   * \u7e26\u8ef8\u306e\u6700\u5927\u5024\u3092\u898b\u3084\u3059\u3044\u6570\u5024\u306b\u8abf\u6574\u3057\u307e\u3059\u3002\n   *\/\n  function createNiceMaximum(amount) {\n    if (amount <= 0) {\n      return 1000000;\n    }\n\n    const magnitude = Math.pow(\n      10,\n      Math.floor(Math.log10(amount))\n    );\n\n    const normalizedAmount =\n      amount \/ magnitude;\n\n    let roundedAmount;\n\n    if (normalizedAmount <= 1) {\n      roundedAmount = 1;\n    } else if (normalizedAmount <= 2) {\n      roundedAmount = 2;\n    } else if (normalizedAmount <= 5) {\n      roundedAmount = 5;\n    } else {\n      roundedAmount = 10;\n    }\n\n    return roundedAmount * magnitude;\n  }\n\n  \/*\n   * \u5186\u3092\u4e07\u5186\u30fb\u5104\u5186\u3078\u5909\u63db\u3057\u307e\u3059\u3002\n   *\/\n  function formatShortAmount(amount) {\n    if (amount >= 100000000) {\n      return (\n        formatNumber(amount \/ 100000000) +\n        \"\u5104\u5186\"\n      );\n    }\n\n    if (amount >= 10000) {\n      return (\n        formatNumber(amount \/ 10000) +\n        \"\u4e07\u5186\"\n      );\n    }\n\n    return (\n      Math.round(amount).toLocaleString(\"ja-JP\") +\n      \"\u5186\"\n    );\n  }\n\n  function formatNumber(number) {\n    return number.toLocaleString(\"ja-JP\", {\n      minimumFractionDigits: 0,\n      maximumFractionDigits: 2\n    });\n  }\n});\n<\/script>\n\n<section class=\"asset-history-chart\">\n  <h2 id=\"rtoc-5\"  class=\"asset-history-title\">\u8cc7\u7523\u306e\u63a8\u79fb<\/h2>\n\n  <div class=\"asset-history-container\">\n    <svg id=\"assetLineChart\" class=\"asset-line-chart\" role=\"img\" aria-label=\"\u5e74\u3054\u3068\u306e\u8cc7\u7523\u984d\u306e\u63a8\u79fb\u3092\u793a\u3059\u6298\u308c\u7dda\u30b0\u30e9\u30d5\"><\/svg>\n  <\/div>\n\n  <p class=\"asset-history-note\">\n    \u7e26\u8ef8\uff1a\u8cc7\u7523\u984d\u3000\u6a2a\u8ef8\uff1a\u5e74\n  <\/p>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Contents \u76ee\u7684 \u76ee\u6a19\u3068\u73fe\u5728\u5730 \u73fe\u5728\u306e\u8cc7\u7523\u984d\u306e\u5185\u8a33 \u8cc7\u7523\u63a8\u79fb \u8cc7\u7523\u306e\u63a8\u79fb \u76ee\u7684 \u751f\u6d3b\u306e\u305f\u3081\u306b\u671b\u307e\u306a\u3044\u4ed5\u4e8b\u3092\u7d9a\u3051\u308b\u5fc5\u8981\u304c\u306a\u304f\u3001\u81ea\u5206\u306e\u6642\u9593\u306e\u4f7f\u3044\u65b9\u3092\u81ea\u5206\u81ea\u8eab\u3067\u6c7a\u3081\u3089\u308c\u308b\u72b6\u614b\u306b\u306a\u308b\u3002 \u76ee\u6a19\u3068\u73fe\u5728\u5730 \u76ee\u6a19\u7dcf\u8cc7\u7523 0 \u5104\u5186  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_jinr_url_youtube":"","_jinr_pip_youtube":false,"_jinr_time_youtube":"","_jinr_thumb_youtube":"","_jinr_media_youtube":"","_jinr_category_edit":false,"_jinr_category":"","_jinr_title_display":false,"_jinr_snsbutton_display":false,"_jinr_ads_display":false,"_jinr_thumbnail_display":false,"_jinr_profile_display":false,"_jinr_representations_display":false,"_jinr_relatedpost_display":false,"_jinr_sidebar1col_display":false,"_jinr_sidebar2col_display":false,"_jinr_seotitle_display":"","_jinr_description_display":"","_jinr_keyword_display":"","_jinr_hastag_display":"","_jinr_canonical_display":"","_jinr_noindex_display":false,"_jinr_paidpost":false,"_jinr_paidpost_product_id":"","_jinr_headtag_article":"","footnotes":""},"class_list":["post-199","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.yukitari.com\/index.php?rest_route=\/wp\/v2\/pages\/199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yukitari.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.yukitari.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.yukitari.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yukitari.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=199"}],"version-history":[{"count":10,"href":"https:\/\/www.yukitari.com\/index.php?rest_route=\/wp\/v2\/pages\/199\/revisions"}],"predecessor-version":[{"id":234,"href":"https:\/\/www.yukitari.com\/index.php?rest_route=\/wp\/v2\/pages\/199\/revisions\/234"}],"wp:attachment":[{"href":"https:\/\/www.yukitari.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}