PageSourceSearch

https://corporate.kakaku.com/privacy/about/optout

html kakaku.com collected 2026-09-24 08:24:38 UTC 207,409 bytes, 343 lines download raw bytes

1<!DOCTYPE html><html  lang="ja"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>外部送信(オプトアウト) | 株式会社カカクコム</title><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
1<script type="importmap">{"imports":{"#entry":"/_nuxt/Dc0Wt18z.js"}}</script>
1<style>/* メガメニュー用スタイル */
2  #nav-list-1, #nav-list-2, #nav-list-3, #nav-list-4, #nav-list-5, #nav-list-6 {
3      cursor: pointer;
4      position: relative;
5  }
6  
7  #mega-menu-container {
8      visibility: hidden;
9      opacity: 0;
10      transition: all 0.3s ease;
11      position: absolute;
12      top: 124px;
13      left: 0;
14  }
15  
16  #overlay {
17      visibility: hidden;
18      opacity: 0;
19      transition: all 0.3s ease;
20      position: fixed;
21      top: 0;
22      left: 0;
23      width: 100%;
24      height: 100%;
25      background: rgba(45, 45, 45, 0.40);
26  }
27  
28  #header,  
29  #header nav,
30  #header .nav,
31  #header [id^="nav-"] {
32      position: relative;
33  }
34
35  #header-pc {
36    min-width: 1024px !important;
37    margin: 0 auto;
38  }
39
40  /* 1024pxから1170pxの間でgapを調整するメディアクエリ */
41  @media screen and (min-width: 1025px) and (max-width: 1169px) {
42    #header-pc ul.sd { 
43      gap: calc(18px + (100vw - 960px) * 0.08);
44      font-size: 16px !important;
45    }
46  }
47
48  /* 1170px以上の場合は固定のgapを設定 */
49  @media screen and (min-width: 1170px) {
50    #header-pc ul.sd {
51      gap: 48px !important;
52      font-size: 16px !important;
53    }
54  }
55
56  /* 1024px以下の場合はgapを23pxに固定するメディアクエリを追加 */
57  @media screen and (max-width: 1024px) {
58    #header-pc ul.sd {
59      gap: 23px !important;
60      font-size: 15px !important;
61    }
62  }
63  
64  #nav-item-1, #nav-item-2, #nav-item-3, #nav-item-4, #nav-item-5, #nav-item-6 {
65      display: none;
66  }
67  
68  /* サブメニュー用スタイル */
69  [id^="menu-list-"] {
70      cursor: pointer;
71      position: relative;
72  }
73  
74  [id^="menu-item-"] {
75      display: none;
76      opacity: 0;
77      transition: all 0.3s ease;
78      position: absolute;
79      left: 0;
80      top: 0;
81  }
82  
83  /* フォームバリデーション用スタイル */
84  #submit-button {
85      padding: 15px 72px !important;
86      border: 1px solid !important;
87      border-radius: 40px !important;
88      font-size: 16px !important;
89      font-weight: 500 !important;
90      transition: all 0.3s ease !important;
91      cursor: not-allowed !important;
92      background: #E7E7E7 !important;
93      color: #B5B5B5 !important;
94      border-color: #E7E7E7 !important;
95      opacity: 1 !important;
96  }
97  
98  @media (max-width: 840px) {
99      #submit-button {
100          padding: 14px 16px !important;
101          font-weight: 700 !important;
102      }
103  }
104  
105      #submit-button:disabled,
106  #submit-button.disabled {
107      background: #F3F3F3 !important;
108      color: #B5B5B5 !important;
109      cursor: pointer !important;
110      border-color: #F3F3F3 !important;
111      opacity: 1 !important;
112      pointer-events: auto !important;
113      user-select: none !important;
114      -webkit-user-select: none !important;
115      -moz-user-select: none !important;
116      -ms-user-select: none !important;
117      -webkit-tap-highlight-color: transparent !important;
118      touch-action: manipulation !important;
119  }
120  #submit-button:disabled p.sd,
121  #submit-button.disabled p.sd {
122    color: #B5B5B5 !important;
123  }
124  
125  #submit-button.button.enabled:not(:disabled),
126  #submit-button.enabled:not(:disabled) {
127      background: #2D2D2D !important;
128      color: #FFFFFF !important;
129      cursor: pointer !important;
130      border-color: #2D2D2D !important;
131  }
132  
133  #submit-button.button.enabled:not(:disabled):hover,
134  #submit-button.enabled:not(:disabled):hover {
135      border-color: #2D2D2D !important;
136      background: #FFFFFF !important;
137      border-color: #E7E7E7 !important;
138  }
139  
140  #submit-button.button.enabled:not(:disabled):hover p,
141  #submit-button.enabled:not(:disabled):hover p {
142      background: linear-gradient(90deg, #115fe1 0%, #6f91ff 50%, #8b4dbe 100%) !important;
143      background-clip: text !important;
144      -webkit-background-clip: text !important;
145      -webkit-text-fill-color: transparent !important;
146      color: transparent !important;
147  }
148  
149  #js-error-email {
150      color: #ff0000;
151      font-size: 14px;
152      margin-top: 5px;
153      margin-bottom: 5px;
154      display: block;
155  }
156  
157  input:invalid,
158  textarea:invalid,
159  select:invalid {
160      border-color: #ff0000;
161  }
162  
163  #submit-button.enabled:not(:disabled):focus {
164      outline: 2px solid #115fe1;
165      outline-offset: 2px;
166  }
167  
168  /* サービスカセットのスタイル調整 */
169  #top-service-cassette a.sd {
170      width: calc(25% - 23px) !important;
171      min-height: 128px !important;
172      padding: 22px 12px;
173  }
174  
175  @media screen and (max-width: 840px) and (min-width: 541px) {
176      #top-service-cassette a.sd {
177          width: calc(33.3% - 16px) !important;
178          max-width: 33.3% !important;
179      }
180  }
181  
182  @media screen and (max-width: 540px) {
183      #top-service-cassette a.sd {
184          width: 47% !important;
185          min-height: 78px !important;
186          padding: 32px 8px;
187      }
188  }
189  
190          /* リンクボタンのスタイル調整 */
191  a#c-btn {
192      min-width: 220px;
193  }
194  
195  a#c-btn p.sd {
196      font-weight: 700 !important;
197  }
198  
199  @media screen and (max-width: 768px) {
200    a#c-btn {
201        min-width: 180px;
202    }
203  }
204  @media screen and (max-width: 1008px) and (min-width: 841px) {
205    #ir-link-btn a#ir-btn.sd {
206        min-width: 180px !important;
207        padding: 12px 32px 13px !important;
208    }
209    #ir-link-btn a#ir-btn p.sd {
210        font-size: 13px !important;
211        font-weight: 700 !important;
212    }
213  }
214  @media screen and (max-width: 840px) and (min-width: 817px) {
215    #ir-link-btn a#ir-btn.sd {
216        padding: 14px 72px 16px !important;
217    }
218    #ir-link-btn a#ir-btn p.sd {
219        font-size: 16px !important;
220        font-weight: 700 !important;
221    }
222  }
223  @media screen and (max-width: 816px) {
224    #ir-link-btn a#ir-btn.sd {
225        min-width: 180px !important;
226        padding: 12px 32px 13px !important;
227    }
228    #ir-link-btn a#ir-btn p.sd {
229        font-size: 13px !important;
230        font-weight: 700 !important;
231    }
232  }
233  
234                /* リッチテキストのスタイル調整 */
235  .richText p {
236    font-family: var(--s-font-6cbe308b);
237    font-size: 16px;
238    
239    line-height: 1.7;
240  }
241  #rich-link-s.richText p {
242    font-weight: 400 !important;
243  }
244  .richText a:hover {
245    color: transparent !important;
246    background: var(--s-color-a5befdf4);
247    background-clip: text;
248    -webkit-background-clip: text;
249  }
250  @media screen and (max-width: 840px) {
251    .richText p {
252      font-size: 14px;
253      
254    }
255    #rich-link-s.richText p {
256      font-size: 13px;
257      font-weight: 400 !important;
258    }
259  }
260  
261  /* トップ用のグラデーション線表示時に非表示 */
262  #header:not(.fixed) [id^="nav-list-"]:hover ~ #grad-line,
263  #header:not(.fixed) [id^="nav-list-"]:hover + * #grad-line,
264  #header:not(.fixed) [id^="nav-list-"]:hover ~ * #grad-line {
265      display: none !important;
266  }
267  
268  #header.fixed #grad-line {
269      display: none !important;
270  }
271
272  
273
274  /* トップキャッチコピー(ミッション)のスタイル調整 */
275  #catch.sd {
276    top: calc((((100vh - 324px) * 1) - 100%)) !important;
277  }
278  @media screen and (max-width: 840px) {
279    #catch.sd {
280      top: calc((((100vh - 560px) * 1) - 100%)) !important;
281    }
282  }
283
284  
285  
286  /* 画像、動画、キャンバスのスタイル調整 */
287  img.sd, video.sd, canvas.sd {
288      overflow: hidden !important; /* または auto, scroll */
289  }
290
291    /* 動画タグのレスポンシブ調整 */
292  #video-container {
293    position: relative !important;
294    height: 0 !important; /* 高さを0にして、パディングで高さを決める */
295    padding-top: 56.25% !important; /* これで動画分の高さを確保する */
296  }
297  video.sd {
298    position: absolute !important;
299    top: 0 !important;
300    left: 0 !important;
301    width: 100% !important;
302    height: 100% !important;
303    max-width: 1280px !important;
304  }
305  
306  @media screen and (min-width: 1281px) {
307    video.sd {
308        width: 100% !important;
309        max-width: none !important;
310    }
311  }
312      @media screen and (max-width: 540px) {
313    #video-container {
314      padding-top: 150% !important;
315    }
316  }
317
318  #kv-catch.sd {
319    top: 65% !important;
320    left: 50% !important;
321    transform: translateX(-50%) translateY(-50%) !important;
322  }
323  @media screen and (max-width: 540px) {
324    #kv-catch.sd {
325      top: 72% !important;
326    }
327  }
328  .sd[data-s-5f9c74ca-5543-4722-95fc-c7b9c265efa4],
329  .sd[data-s-37c2f8db-e92a-4597-948e-70c40b855f46],
330  .sd[data-s-9e814c6b-2ee4-4872-8ea8-f26c2365a202],
331  .sd[data-s-c1e586a3-86b9-4798-9a56-98e348061904],
332  .sd[data-s-e0be5cad-772e-4b15-bec3-54abc7f673be]  {
333    max-width: calc(100% - 240px) !important;
334  }
335  @media screen and (max-width: 840px) {
336    .sd[data-s-5f9c74ca-5543-4722-95fc-c7b9c265efa4],
337    .sd[data-s-37c2f8db-e92a-4597-948e-70c40b855f46],
338    .sd[data-s-9e814c6b-2ee4-4872-8ea8-f26c2365a202],
339    .sd[data-s-c1e586a3-86b9-4798-9a56-98e348061904],
340    .sd[data-s-e0be5cad-772e-4b15-bec3-54abc7f673be] {
341      max-width: calc(100% - 48px) !important;
342    }
343  }</style><link rel="stylesheet" href="/_nuxt/entry.C8IAa5VU.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Dc0Wt18z.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/CbXtAM7H.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/Cqksm9lV.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BFxFTo-w.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/HclGiUj8.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DcbrWFll.js">
343<link rel="modulepreload" as="script" crossorigin href="/_nuxt/Dbyh_wr5.js">
343<script type="module" src="/_nuxt/Dc0Wt18z.js" crossorigin></script>
343<link rel="prefetch" as="script" crossorigin href="/_nuxt/BsPUGHV6.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/Cd_VlwL6.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/BDNMzG2s.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/BM_giJ62.js"><meta name="generator" content="Studio.Design"><meta name="robots" content="all"><meta property="og:site_name" content="株式会社カカクコム"><meta property="og:title" content="外部送信(オプトアウト) | 株式会社カカクコム"><meta property="og:image" content="https://storage.googleapis.com/production-os-assets/assets/2f723e20-e92d-437e-8078-30d4d2ee248c"><meta property="og:description" content="株式会社カカクコムの個人情報の取扱いについて、外部送信(オプトアウト)についての情報を掲載しています。"><meta property="og:type" content="website"><meta name="description" content="株式会社カカクコムの個人情報の取扱いについて、外部送信(オプトアウト)についての情報を掲載しています。"><meta property="twitter:card" content="summary_large_image"><meta property="twitter:image" content="https://storage.googleapis.com/production-os-assets/assets/2f723e20-e92d-437e-8078-30d4d2ee248c"><meta name="apple-mobile-web-app-title" content="外部送信(オプトアウト) | 株式会社カカクコム"><meta name="format-detection" content="telephone=no,email=no,address=no"><meta name="chrome" content="nointentdetection"><meta property="og:url" content="/privacy/about/optout"><link rel="icon" type="image/png" href="https://storage.googleapis.com/production-os-assets/assets/ec625d03-2c3f-4a89-b986-d6c80fd7267d" data-hid="favicon"><link rel="apple-touch-icon" type="image/png" href="https://storage.googleapis.com/production-os-assets/assets/ec625d03-2c3f-4a89-b986-d6c80fd7267d" data-hid="apple-touch-icon"></head><body><div id="__nuxt"><!--[--><span></span><div><span></span><span></span><!----></div><!--]--></div><div id="teleports"></div>
343<script>window.__NUXT__={};window.__NUXT__.config={public:{apiBaseUrl:"https://api.studiodesignapp.com/api",cmsApiBaseUrl:"https://api.cms.studiodesignapp.com",firebaseApiKey:"AIzaSyDtGBC8qbNKQ_ibWHZSJmaNfjbOhs7pj5g",firebaseProjectId:"studio-7e371",firebaseAuthDomain:"studio-7e371.firebaseapp.com",firebaseDatabaseURL:"https://studio-7e371.firebaseio.com",firebaseStorageBucket:"studio-7e371.appspot.com",firebaseMessagingSenderId:"373326844567",firebaseAppId:"1:373326844567:web:9d1c205102ce520ce84fd2",firebaseUseEmulator:false,studioDomain:".studio.site",studioPublishUrl:"https://storage.googleapis.com/studio-publish",studioPublishIndexUrl:"https://storage.googleapis.com/studio-publish-index",rssApiPath:"https://rss.studiodesignapp.com/rssConverter",embedSandboxDomain:".studioiframesandbox.com",apiProxyUrl:"https://studio-api-proxy-rajzgb4wwq-an.a.run.app",proxyApiBaseUrl:"https://api.studiodesignapp.com/data_proxy_api",isDev:false,fontsApiBaseUrl:"https://fonts.studio.design",selfHostedFontsBaseUrl:"https://fonts.studio.design/ts",studioFrontUrl:"https://app.studio.design",jwtCookieName:"jwt_token",chillnnCdnUrl:"https://cdn.chillnn.com"},app:{baseURL:"/",buildId:"13abee19-e4c9-4c67-971a-629477348dee",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script>
343<script type="application/json" data-nuxt-data="nuxt-app" data-ssr="true" id="__NUXT_DATA__">[["ShallowReactive",1],{"data":2,"state":5,"once":7,"_errors":8,"serverRendered":10,"path":11,"pinia":12},["ShallowReactive",3],{"dynamicDataprivacy\u002Fabout\u002Foptout":4},null,["Reactive",6],{},["Set"],["ShallowReactive",9],{"dynamicDataprivacy\u002Fabout\u002Foptout":-1},true,"\u002Fprivacy\u002Fabout\u002Foptout",["Reactive",13],{"cmsContentStore":14,"projectStore":17,"productStore":30,"pageHeadStore":2013,"cmsStore":2017},{"listContentsMap":15,"contentMap":16},["Map"],["Map"],{"project":18},{"id":19,"name":20,"customDomain":21,"iconImage":21,"coverImage":22,"displayBadge":23,"integrations":24,"snapshot_path":28,"snapshot_id":29,"recaptchaSiteKey":-1,"conversionEvents":-1},"XKOkd744q4","カカクコムコーポレートサイト","","https:\u002F\u002Fstorage.googleapis.com\u002Fproduction-os-assets\u002Fassets\u002F2f723e20-e92d-437e-8078-30d4d2ee248c",false,[25],{"integration_name":26,"code":27},"custom-code","true","https:\u002F\u002Fstorage.googleapis.com\u002Fstudio-publish\u002Fprojects\u002FXKOkd744q4\u002FRa4NnjgzOD\u002F","Ra4NnjgzOD",{"product":31,"isLoaded":10,"selectedModalIds":2010,"redirectPage":4,"isInitializedRSS":23,"pageViewMap":2011,"symbolViewMap":2012},{"breakPoints":32,"colors":42,"fonts":43,"head":77,"info":105,"pages":116,"resources":1628,"symbols":1632,"style":1714,"styleVars":1716,"enablePassword":23,"classes":1798,"publishedUid":2009},[33,36,39],{"maxWidth":34,"name":35},540,"mobile",{"maxWidth":37,"name":38},840,"tablet",{"maxWidth":40,"name":41},360,"mini",[],[44,61,72],{"family":45,"subsets":46,"variants":49,"vendor":60},"Lato",[47,48],"latin","latin-ext",[50,51,52,53,54,55,56,57,58,59],"100","100italic","300","300italic","regular","italic","700","700italic","900","900italic","google",{"family":62,"subsets":63,"variants":67,"vendor":60},"Noto Sans JP",[64,65,47,48,66],"cyrillic","japanese","vietnamese",[50,68,52,54,69,70,56,71,58],"200","500","600","800",{"family":73,"variants":74,"vendor":76},"Helvetica",[52,75,56],"400","system-font",{"customCode":78,"favicon":101,"meta":102,"title":104},{"bodyEnd":79,"headEnd":92},[80,84,88],{"memo":81,"src":82,"uuid":83},"ナビゲーション.js","\u003Cscript>\n  (function() {\n      'use strict';\n      if (window.studioDesignNavigationInitialized) return;\n      \n      \u002F\u002F メガメニュー機能\n      function initMegaMenu() {\n          const navItems = Array.from({length: 6}, (_, i) => document.getElementById(`nav-list-${i + 1}`));\n          const megaMenuContents = Array.from({length: 6}, (_, i) => document.getElementById(`nav-item-${i + 1}`));\n          const megaMenuContainer = document.getElementById('mega-menu-container');\n          const overlay = document.getElementById('overlay');\n          const header = document.getElementById('header');\n          \n          \u002F\u002F 必要な要素が存在するかチェック\n          const hasRequiredElements = navItems.some(item => item) && megaMenuContents.some(menu => menu) && \n                                    megaMenuContainer && overlay && header;\n          if (!hasRequiredElements) return false;\n          \n          let activeMenu = null, hideTimer = null;\n          \n          function showMenu(menuId) {\n              if (activeMenu === menuId) return;\n              if (activeMenu) {\n                  const current = document.getElementById(activeMenu);\n                  if (current) current.style.display = 'none';\n              }\n              const target = document.getElementById(menuId);\n              if (target) {\n                  target.style.display = 'block';\n                  activeMenu = menuId;\n              }\n              if (megaMenuContainer) {\n                  megaMenuContainer.style.visibility = 'visible';\n                  megaMenuContainer.style.opacity = '1';\n              }\n              if (overlay) {\n                  overlay.style.visibility = 'visible';\n                  overlay.style.opacity = '1';\n              }\n          }\n          \n          function hideMenu() {\n              if (megaMenuContainer) {\n                  megaMenuContainer.style.visibility = 'hidden';
343\n                  megaMenuContainer.style.opacity = '0';\n              }\n              if (overlay) {\n                  overlay.style.visibility = 'hidden';\n                  overlay.style.opacity = '0';\n              }\n              megaMenuContents.forEach(menu => {\n                  if (menu) menu.style.display = 'none';\n              });\n              activeMenu = null;\n          }\n          \n          const setHeaderStyle = (bg, border) => {\n              if (header && !header.isSticky) {\n                  header.style.backgroundColor = bg;\n                  header.style.borderBottom = border;\n                  header.style.borderImage = border ? 'linear-gradient(90deg, #603ee7 30%, #776dd1 50%, #fa9f3d 75%, #fbb36c 100%) 1' : '';\n                  const gradLine = document.getElementById('grad-line');\n                  if (gradLine) gradLine.style.display = border ? 'none' : '';\n              }\n          };\n          \n          navItems.forEach((item, index) => {\n              if (item) {\n                  const menuId = `nav-item-${index + 1}`;\n                  item.addEventListener('mouseenter', () => {\n                      clearTimeout(hideTimer);\n                      showMenu(menuId);\n                      setHeaderStyle('#ffffff', '1px solid transparent');\n                  });\n                  item.addEventListener('mouseleave', () => {\n                      hideTimer = setTimeout(() => {\n                          hideMenu();\n                          setHeaderStyle('', '');\n                      }, 200);\n                  });\n              }\n          });\n          \n          megaMenuContents.forEach(menu => {\n              if (menu) {\n                  menu.addEventListener('mouseenter', () => {\n                      clearTimeout(hideTimer);\n                      setHeaderStyle('#ffffff', '1px solid transparent');\n                  });\n                  menu.addEventListener('mouseleave', () => {\n                      hideTimer = setTimeout(() => {\n                          hideMenu();\n                          setHeaderStyle('', '');\n                      }, 200);\n                  });\n              }\n          });\n          \n          hideMenu();\n          return true; \u002F\u002F 初期化成功\n      }\n      \n      \u002F\u002F サブメニュー機能\n      function initSubMenu() {\n          const menuLists = [], menuItems = [];\n          for (let i = 1; i \u003C= 10; i++) {\n              const list = document.getElementById(`menu-list-${i}`);\n              const item = document.getElementById(`menu-item-${i}`);\n              if (list) menuLists.push({ element: list, index: i });\n              if (item) menuItems.push({ element: item, index: i });\n          }\n          \n          \u002F\u002F 必要な要素が存在するかチェック\n          if (menuLists.length === 0 && menuItems.length === 0) return false;\n          \n          let currentSubMenu = null, hideTimer = null;\n          \n          function showSubMenu(itemId) {\n              if (currentSubMenu === itemId) return;\n              if (currentSubMenu) {\n                  const current = document.getElementById(currentSubMenu);\n                  if (current) {\n                      current.style.display = 'none';\n                      current.style.opacity = '0';\n                  }\n              }\n              const target = document.getElementById(itemId);\n              if (target) {\n                  target.style.cssText = 'display: block !important;opacity: 1;visibility: visible !important;position: absolute !important;left: 0 !important;top: 0px !important;width: 100% !important;';\n                  currentSubMenu = itemId;\n              }\n          }\n          \n          function hideSubMenu() {\n              if (currentSubMenu) {\n                  const current = document.getElementById(currentSubMenu);\n                  if (current) {\n                      current.style.display = 'none';\n                      current.style.opacity = '0';\n                  }\n                  currentSubMenu = null;\n              }\n          }\n          \n          const addEvent = (el, type, fn) => {\n              el.addEventListener(type, (e) => {\n                  if (['click', 'mousedown', 'mouseup', 'touchstart', 'touchend', 'pointerdown'].includes(type)) {\n                      e.preventDefault();\n                  }\n                  e.stopPropagation();\n                  fn();\n              });\n          };
343\n          \n          menuLists.forEach(({ element, index }) => {\n              const itemId = `menu-item-${index}`;\n              addEvent(element, 'mouseenter', () => {\n                  clearTimeout(hideTimer);\n                  showSubMenu(itemId);\n              });\n              addEvent(element, 'mouseleave', () => {\n                  hideTimer = setTimeout(hideSubMenu, 150);\n              });\n          });\n          \n          menuItems.forEach(({ element }) => {\n              addEvent(element, 'mouseenter', () => clearTimeout(hideTimer));\n              addEvent(element, 'mouseleave', () => {\n                  hideTimer = setTimeout(hideSubMenu, 150);\n              });\n          });\n          \n          menuItems.forEach(({ element }) => {\n              if (element) {\n                  element.style.cssText = 'display: none !important;opacity: 0 !important;visibility: hidden !important;position: absolute !important;z-index: 99999 !important;';\n              }\n          });\n          \n          return true; \u002F\u002F 初期化成功\n      }\n      \n      \u002F\u002F ナビゲーショントップ項目の背景色変更機能\n      function initNavTopBackground() {\n          const navTopItems = [], navItems = [];\n          for (let i = 1; i \u003C= 6; i++) {\n              const topItem = document.getElementById(`nav-item-top-${i}`);\n              const item = document.getElementById(`nav-item-${i}`);\n              if (topItem) navTopItems.push({ element: topItem, index: i });\n              if (item) navItems.push({ element: item, index: i });\n          }\n          \n          \u002F\u002F 必要な要素が存在するかチェック\n          if (navTopItems.length === 0) return false;\n          \n          const resetBackgrounds = () => navItems.forEach(({ element }) => element && (element.style.backgroundColor = ''));\n          \n          navTopItems.forEach(({ element, index }) => {\n              const targetItem = document.getElementById(`nav-item-${index}`);\n              element.addEventListener('mouseenter', () => {\n                  resetBackgrounds();\n                  if (targetItem) targetItem.style.backgroundColor = '#f9f9f9';\n              });\n              element.addEventListener('mouseleave', () => {\n                  if (targetItem) targetItem.style.backgroundColor = '';\n              });\n          });\n          \n          return true; \u002F\u002F 初期化成功\n      }\n      \n      \u002F\u002F ナビゲーション機能の初期化\n      function initializeNavigation() {\n          if (window.studioDesignNavigationInitialized) return;\n          \n          try {\n              let initializedCount = 0;\n              const totalFunctions = 3; \u002F\u002F ナビゲーション機能の数\n              \n              \u002F\u002F メガメニュー初期化\n              if (initMegaMenu()) initializedCount++;\n              \n              \u002F\u002F サブメニュー初期化\n              if (initSubMenu()) initializedCount++;\n              \n              \u002F\u002F ナビゲーション背景色変更初期化\n              if (initNavTopBackground()) initializedCount++;\n              \n              \u002F\u002F ナビゲーション機能が正常に初期化された場合のみフラグを設定\n              if (initializedCount > 0) {\n                  window.studioDesignNavigationInitialized = true;\n              }\n          } catch (error) {\n              \u002F\u002F エラーハンドリング(ログ出力なし)\n          }\n      }\n      \n      \u002F\u002F DOM変化監視(ナビゲーション関連)\n      function setupNavigationObserver() {\n          const header = document.getElementById('header');\n          if (!header) return null;\n          \n          const headerObserver = new MutationObserver((mutations) => {\n              let shouldInitialize = false;\n              \n              mutations.forEach((mutation) => {\n                  if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\n                      const hasNavElements = Array.from(mutation.addedNodes).some(node => {\n                          return node.nodeType === Node.ELEMENT_NODE && node.id && (\n                              node.id.startsWith('nav-list-') || node.id.startsWith('nav-item-') ||\n                              node.id === 'mega-menu-container' || node.id === 'overlay' ||\n                              node.id.startsWith('menu-list-') || node.id.startsWith('menu-item-') ||\n                              node.id.startsWith('nav-item-top-')\n                          );\n                      });\n                      if (hasNavElements) shouldInitialize = true;\n                  }\n                  \n                  if (mutation.type === 'attributes' && mutation.attributeName === 'id') {\n                      const target = mutation.target;\n                      if (target.id && (\n                          target.id.startsWith('nav-list-') || target.id.startsWith('nav-item-') ||\n                          target.id === 'mega-menu-container' || target.id === 'overlay' ||\n                          target.id.startsWith('menu-list-') || target.id.startsWith('menu-item-') ||\n                          target.id.startsWith('nav-item-top-')\n                      )) {\n                          shouldInitialize = true;\n                      }\n                  }\n              });\n              \n              if (shouldInitialize) {\n                  window.studioDesignNavigationInitialized = false;\n                  setTimeout(() => initializeNavigation(), 1000);\n              }\n          });\n          \n          headerObserver.observe(header, {\n              childList: true, subtree: true, attributes: true, attributeFilter: ['id', 'class']\n          });\n          \n          return headerObserver;\n      }\n      \n      \u002F\u002F ナビゲーション要素の存在チェック\n      const hasNavigationElements = () => {\n          const header = document.getElementById('header');\n          const navItems = Array.from({length: 6}, (_, i) => document.getElementById(`nav-list-${i + 1}`));\n          return !!(header && navItems.some(item => item));\n      };\n\n      \u002F\u002F 初期化実行\n      const executeNavigationInitialization = () => {\n          if (window.studioDesignNavigationInitialized) return;\n          \n          \u002F\u002F ナビゲーション要素が存在しない場合は早期終了\n          if (!hasNavigationElements()) {\n              return;\n          }\n          \n          initializeNavigation();\n          if (!window.studioDesignNavigationObserver) {\n              window.studioDesignNavigationObserver = setupNavigationObserver();\n          }\n      };\n\n      const handlePageChange = () => {\n          window.studioDesignNavigationInitialized = false;\n          setTimeout(() => executeNavigationInitialization(), 1000);\n      };\n\n      window.addEventListener('popstate', handlePageChange);\n\n      const originalPushState = history.pushState;\n      const originalReplaceState = history.replaceState;
343\n\n      history.pushState = function() {\n          originalPushState.apply(history, arguments);\n          handlePageChange();\n      };\n\n      history.replaceState = function() {\n          originalReplaceState.apply(history, arguments);\n          handlePageChange();\n      };\n\n      const initOnDOMReady = () => {\n          if (document.readyState === 'loading') {\n              document.addEventListener('DOMContentLoaded', executeNavigationInitialization);\n          } else {\n              executeNavigationInitialization();\n          }\n      };\n\n      initOnDOMReady();\n\n      window.addEventListener('load', executeNavigationInitialization);\n      setTimeout(executeNavigationInitialization, 500);\n      setTimeout(executeNavigationInitialization, 1000);\n\n      \u002F\u002F 定期チェックを改善:ナビゲーション要素が存在する場合のみ実行\n      setInterval(() => {\n          if (!window.studioDesignNavigationInitialized && hasNavigationElements()) {\n              setTimeout(() => executeNavigationInitialization(), 1000);\n          }\n      }, 2000);\n      \n  })();\n  \u003C\u002Fscript>","e8781ae4-85ae-4fa0-bee5-14c3aeefbc8f",{"memo":85,"src":86,"uuid":87},"ヘッダー追従.js","\u003Cscript>\n  (function() {\n      'use strict';\n      if (window.studioDesignStickyHeaderInitialized) return;\n      \n      \u002F\u002F ヘッダー追従機能\n      function initStickyHeader() {\n          const header = document.getElementById('header');\n          if (!header) return false;\n          \n          let headerHeight = 0;\n          const updateHeights = () => headerHeight = header.offsetHeight;\n          \n          const handleScroll = () => {\n              const scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n              const gradLine = document.getElementById('grad-line');\n              \n              if (scrollTop >= headerHeight) {\n                  Object.assign(header.style, {\n                      position: 'fixed', top: '0', left: '0', width: '100%', zIndex: '10000',\n                      backgroundColor: '#ffffff', borderBottom: '1px solid',\n                      borderImage: 'linear-gradient(90deg, #603ee7 30%, #776dd1 50%, #fa9f3d 75%, #fbb36c 100%) 1'\n                  });\n                  header.isSticky = true;\n                  if (gradLine) gradLine.style.display = 'none';\n              } else {\n                  Object.assign(header.style, {\n                      position: '', top: '', left: '', width: '', zIndex: '',\n                      backgroundColor: '', borderBottom: '', borderImage: ''\n                  });\n                  header.isSticky = false;\n                  if (gradLine) gradLine.style.display = '';\n              }\n          };\n          \n          updateHeights();\n          window.addEventListener('scroll', handleScroll);\n          window.addEventListener('resize', updateHeights);\n          handleScroll();\n          \n          return true; \u002F\u002F 初期化成功\n      }\n      \n      \u002F\u002F ヘッダー追従機能の初期化\n      function initializeStickyHeader() {\n          if (window.studioDesignStickyHeaderInitialized) return;\n          \n          try {\n              if (initStickyHeader()) {\n                  window.studioDesignStickyHeaderInitialized = true;\n              }\n          } catch (error) {\n              \u002F\u002F エラーハンドリング(ログ出力なし)\n          }\n      }\n      \n      \u002F\u002F DOM変化監視(ヘッダー関連)\n      function setupStickyHeaderObserver() {\n          const header = document.getElementById('header');\n          if (!header) return null;\n          \n          const headerObserver = new MutationObserver((mutations) => {\n              let shouldInitialize = false;\n              \n              mutations.forEach((mutation) => {\n                  if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\n                      const hasHeaderElements = Array.from(mutation.addedNodes).some(node => {\n                          return node.nodeType === Node.ELEMENT_NODE && node.id && (\n                              node.id === 'header' || node.id === 'grad-line'\n                          );\n                      });\n                      if (hasHeaderElements) shouldInitialize = true;\n                  }\n                  \n                  if (mutation.type === 'attributes' && mutation.attributeName === 'id') {\n                      const target = mutation.target;\n                      if (target.id && (\n                          target.id === 'header' || target.id === 'grad-line'\n                      )) {\n                          shouldInitialize = true;\n                      }\n                  }\n              });\n              \n              if (shouldInitialize) {\n                  window.studioDesignStickyHeaderInitialized = false;\n                  setTimeout(() => initializeStickyHeader(), 1000);\n              }\n          });\n          \n          headerObserver.observe(header, {\n              childList: true, subtree: true, attributes: true, attributeFilter: ['id', 'class']\n          });\n          \n          return headerObserver;\n      }\n      \n      \u002F\u002F ヘッダー要素の存在チェック\n      const hasHeaderElements = () => {\n          const header = document.getElementById('header');\n          return !!header;\n      };\n\n      \u002F\u002F 初期化実行\n      const executeStickyHeaderInitialization = () => {\n          if (window.studioDesignStickyHeaderInitialized) return;\n          \n          \u002F\u002F ヘッダー要素が存在しない場合は早期終了\n          if (!hasHeaderElements()) {\n              return;\n          }\n          \n          initializeStickyHeader();\n          if (!window.studioDesignStickyHeaderObserver) {\n              window.studioDesignStickyHeaderObserver = setupStickyHeaderObserver();\n          }\n      };\n\n      const handlePageChange = () => {\n          window.studioDesignStickyHeaderInitialized = false;\n          setTimeout(() => executeStickyHeaderInitialization(), 1000);\n      };\n\n      window.addEventListener('popstate', handlePageChange);\n\n      const originalPushState = history.pushState;\n      const originalReplaceState = history.replaceState;
343\n\n      history.pushState = function() {\n          originalPushState.apply(history, arguments);\n          handlePageChange();\n      };\n\n      history.replaceState = function() {\n          originalReplaceState.apply(history, arguments);\n          handlePageChange();\n      };\n\n      const initOnDOMReady = () => {\n          if (document.readyState === 'loading') {\n              document.addEventListener('DOMContentLoaded', executeStickyHeaderInitialization);\n          } else {\n              executeStickyHeaderInitialization();\n          }\n      };\n\n      initOnDOMReady();\n\n      window.addEventListener('load', executeStickyHeaderInitialization);\n      setTimeout(executeStickyHeaderInitialization, 500);\n      setTimeout(executeStickyHeaderInitialization, 1000);\n\n      \u002F\u002F 定期チェックを改善:ヘッダー要素が存在する場合のみ実行\n      setInterval(() => {\n          if (!window.studioDesignStickyHeaderInitialized && hasHeaderElements()) {\n              setTimeout(() => executeStickyHeaderInitialization(), 1000);\n          }\n      }, 2000);\n      \n  })();\n  \u003C\u002Fscript>","ce9378c0-e923-431e-8f67-c42178798633",{"memo":89,"src":90,"uuid":91},"フォームバリデーション.js","\u003Cscript>\n(function () {\n  \"use strict\";\n  if (window.studioDesignFormInitialized) return;\n\n  \u002F\u002F フォームバリデーション機能\n  function FormValidatorLite() {\n    this.form = document.getElementById(\"form\");\n    this.submitButton = document.getElementById(\"submit-button\");\n    this.emailInput = document.getElementById(\"email\");\n    this.emailErrorDiv = document.getElementById(\"js-error-email\");\n    this.requiredFields = [];\n    this.initialized = false;\n    this.init();\n  }\n\n  FormValidatorLite.prototype = {\n    init: function () {\n      if (!this.form || !this.submitButton) {\n        return;\n      }\n\n      this.requiredFields = Array.from(\n        this.form.querySelectorAll(\n          \"input[required], textarea[required], select[required]\"\n        )\n      );\n\n      if (this.requiredFields.length === 0) {\n        return;\n      }\n\n      this.setupEventListeners();\n      this.updateSubmitButton(false);\n      this.initialized = true;\n    },\n\n    setupEventListeners: function () {\n      const self = this;\n\n      this.requiredFields.forEach((field) => {\n        field.addEventListener(\"input\", () => self.validateForm());\n        if (field.type === \"checkbox\") {\n          field.addEventListener(\"change\", () => self.validateForm());\n        }\n      });\n\n      if (this.emailInput) {\n        this.emailInput.addEventListener(\"input\", () => {\n          self.validateForm();\n          self.validateEmail();\n        });\n        this.emailInput.addEventListener(\"blur\", () => self.validateEmail());\n      }\n\n      this.form.addEventListener(\"submit\", (e) => {\n        if (!self.validateForm()) {\n          e.preventDefault();\n          e.stopPropagation();\n          self.scrollToFirstError();\n          return false;\n        }\n      });\n\n      const handleDisabledClick = (e) => {\n        if (this.submitButton.disabled) {\n          e.preventDefault();\n          e.stopPropagation();\n          self.scrollToFirstError();\n          return false;\n        }\n      };\n\n      this.submitButton.addEventListener(\"click\", handleDisabledClick);\n      [\"mousedown\", \"mouseup\", \"touchend\", \"pointerdown\"].forEach(\n        (eventType) => {\n          this.submitButton.addEventListener(eventType, handleDisabledClick);\n        }\n      );\n    },\n\n    validateForm: function () {\n      let isValid = true;\n\n      for (let i = 0; i \u003C this.requiredFields.length; i++) {\n        const field = this.requiredFields[i];\n\n        if (field.type === \"checkbox\") {\n          if (!field.checked) {\n            isValid = false;\n            break;\n          }\n        } else if (field.tagName === \"SELECT\") {\n          if (!field.value || field.value === \"\" || field.value === \"0\") {\n            isValid = false;\n            break;\n          }\n        } else {\n          if (!field.value.trim()) {\n            isValid = false;\n            break;\n          }\n        }\n      }\n\n      if (this.emailInput && isValid) {\n        const emailValue = this.emailInput.value.trim();\n        if (!emailValue || !this.isValidEmail(emailValue)) {\n          isValid = false;\n        }\n      }\n\n      this.updateSubmitButton(isValid);\n      return isValid;\n    },\n\n    validateEmail: function () {\n      const email = this.emailInput.value.trim();\n\n      if (!email) {\n        this.showEmailError(\"メールアドレスを入力してください。\");\n        return false;\n      }\n\n      if (!this.isValidEmail(email)) {\n        this.showEmailError(\n          \"有効なメールアドレスを入力してください。(例:[email protected])\"\n        );\n        return false;\n      }\n\n      this.clearEmailError();\n      return true;\n    },\n\n    isValidEmail: function (email) {\n      const emailRegex =\n        \u002F^[a-zA-Z0-9.!#$%&'*+\u002F=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$\u002F;\n\n      if (!emailRegex.test(email)) return false;\n\n      const parts = email.split(\"@\");\n      if (parts.length !== 2) return false;\n\n      const domain = parts[1];\n      const domainParts = domain.split(\".\");\n\n      if (domainParts.length \u003C 2) return false;\n\n      const tld = domainParts[domainParts.length - 1];\n      if (tld.length \u003C 2) return false;\n\n      const domainRegex = \u002F^[a-zA-Z0-9.-]+$\u002F;\n      return domainRegex.test(domain);\n    },\n\n    showEmailError: function (message) {\n      if (this.emailErrorDiv) {\n        this.emailErrorDiv.textContent = message;\n        this.emailErrorDiv.style.color = \"#ff0000\";\n        this.emailErrorDiv.style.fontSize = \"14px\";\n        this.emailErrorDiv.style.marginTop = \"5px\";\n      }\n    },\n\n    clearEmailError: function () {\n      if (this.emailErrorDiv) this.emailErrorDiv.textContent = \"\";\n    },\n\n    updateSubmitButton: function (isValid) {\n      if (!this.submitButton) return;\n\n      if (isValid) {\n        Object.assign(this.submitButton, {\n          disabled: false,\n          style: Object.assign(this.submitButton.style, {\n            background: \"#2D2D2D\",\n            color: \"#FFFFFF\",\n            cursor: \"pointer\",\n            borderColor: \"#2D2D2D\",\n          }),\n        });\n        this.submitButton.classList.add(\"enabled\");\n        this.submitButton.classList.remove(\"disabled\");\n      } else {\n        Object.assign(this.submitButton, {\n          disabled: true,\n          style: Object.assign(this.submitButton.style, {\n            background: \"#F3F3F3\",\n            color: \"#B5B5B5\",\n            cursor: \"pointer\",\n            borderColor: \"#F3F3F3\",\n            pointerEvents: \"auto\",\n            userSelect: \"none\",\n          }),\n        });\n        this.submitButton.classList.add(\"disabled\");\n        this.submitButton.classList.remove(\"enabled\");\n      }\n    },\n\n    scrollToFirstError: function () {\n      let firstErrorElement = null;\n\n      \u002F\u002F 必須フィールドのエラーチェック\n      for (let i = 0; i \u003C this.requiredFields.length;
343 i++) {\n        const field = this.requiredFields[i];\n\n        if (field.type === \"checkbox\") {\n          if (!field.checked) {\n            firstErrorElement = field;\n            break;\n          }\n        } else if (field.tagName === \"SELECT\") {\n          if (!field.value || field.value === \"\" || field.value === \"0\") {\n            firstErrorElement = field;\n            break;\n          }\n        } else {\n          if (!field.value.trim()) {\n            firstErrorElement = field;\n            break;\n          }\n        }\n      }\n\n      \u002F\u002F メールアドレスのエラーチェック\n      if (\n        !firstErrorElement &&\n        this.emailInput &&\n        !this.isValidEmail(this.emailInput.value.trim())\n      ) {\n        firstErrorElement = this.emailInput;\n      }\n\n      if (firstErrorElement) {\n        \u002F\u002F エラー要素に赤いボーダーを設定\n        firstErrorElement.style.borderColor = \"#ff0000\";\n        firstErrorElement.style.borderWidth = \"2px\";\n        firstErrorElement.style.borderStyle = \"solid\";\n\n        \u002F\u002F ヘッダーの高さを取得(複数のパターンに対応)\n        const header = document.getElementById(\"header\");\n        const headerPc = document.getElementById(\"header-pc\");\n        const headerSp = document.getElementById(\"header-sp\");\n\n        let headerHeight = 0;\n\n        \u002F\u002F ヘッダーの高さを計算\n        if (header) {\n          headerHeight = header.offsetHeight;\n        } else if (headerPc && headerSp) {\n          const isMobile = window.innerWidth \u003C= 768;\n          headerHeight = isMobile\n            ? headerSp.offsetHeight\n            : headerPc.offsetHeight;\n        } else if (headerPc) {\n          headerHeight = headerPc.offsetHeight;\n        } else if (headerSp) {\n          headerHeight = headerSp.offsetHeight;\n        }\n\n        \u002F\u002F 要素の位置を取得\n        const elementRect = firstErrorElement.getBoundingClientRect();\n        const elementTop = elementRect.top + window.pageYOffset;\n\n        \u002F\u002F スクロールオフセットを設定\n        const isMobile = window.innerWidth \u003C= 768;\n        const scrollOffset = isMobile ? 80 : 60;\n\n        \u002F\u002F スクロール位置を計算\n        const scrollPosition = elementTop - headerHeight - scrollOffset;\n\n        \u002F\u002F スムーズスクロール実行\n        window.scrollTo({\n          top: Math.max(0, scrollPosition),\n          behavior: \"smooth\",\n        });\n\n        \u002F\u002F フォーカスとスクロール調整\n        setTimeout(() => {\n          firstErrorElement.focus();\n\n          \u002F\u002F スクロール後の位置を再確認\n          const finalRect = firstErrorElement.getBoundingClientRect();\n          const finalTop = finalRect.top + window.pageYOffset;\n\n          \u002F\u002F ヘッダーに隠れている場合は再調整\n          if (finalRect.top \u003C headerHeight + scrollOffset) {\n            const adjustedPosition = finalTop - headerHeight - scrollOffset;\n            window.scrollTo({\n              top: Math.max(0, adjustedPosition),\n              behavior: \"smooth\",\n            });\n          }\n        }, 500);\n\n        \u002F\u002F エラーボーダーを10秒後に削除\n        setTimeout(() => {\n          firstErrorElement.style.borderColor = \"\";\n          firstErrorElement.style.borderWidth = \"\";\n          firstErrorElement.style.borderStyle = \"\";\n        }, 10000);\n      }\n    },\n  };\n\n  \u002F\u002F フォーム機能の初期化\n  function initializeForm() {\n    if (window.studioDesignFormInitialized) return;\n\n    try {\n      const form = document.getElementById(\"form\");\n      const submitButton = document.getElementById(\"submit-button\");\n\n      if (form && submitButton) {\n        new FormValidatorLite();\n        window.studioDesignFormInitialized = true;\n      }\n    } catch (error) {\n      \u002F\u002F エラーハンドリング(ログ出力なし)\n    }\n  }\n\n  \u002F\u002F DOM変化監視(フォーム関連)\n  function setupFormObserver() {\n    const form = document.getElementById(\"form\");\n    if (!form) return null;\n\n    const formObserver = new MutationObserver((mutations) =>
343 {\n      let shouldInitialize = false;\n\n      mutations.forEach((mutation) => {\n        if (mutation.type === \"childList\" && mutation.addedNodes.length > 0) {\n          const hasFormElements = Array.from(mutation.addedNodes).some(\n            (node) => {\n              return (\n                node.nodeType === Node.ELEMENT_NODE &&\n                node.id &&\n                (node.id === \"submit-button\" ||\n                  node.id === \"email\" ||\n                  node.id === \"js-error-email\" ||\n                  node.id.startsWith(\"form-\"))\n              );\n            }\n          );\n          if (hasFormElements) shouldInitialize = true;\n        }\n\n        if (mutation.type === \"attributes\" && mutation.attributeName === \"id\") {\n          const target = mutation.target;\n          if (\n            target.id &&\n            (target.id === \"submit-button\" ||\n              target.id === \"email\" ||\n              target.id === \"js-error-email\" ||\n              target.id.startsWith(\"form-\"))\n          ) {\n            shouldInitialize = true;\n          }\n        }\n      });\n\n      if (shouldInitialize) {\n        window.studioDesignFormInitialized = false;\n        setTimeout(() => initializeForm(), 1000);\n      }\n    });\n\n    formObserver.observe(form, {\n      childList: true,\n      subtree: true,\n      attributes: true,\n      attributeFilter: [\"id\", \"class\"],\n    });\n\n    return formObserver;\n  }\n\n  \u002F\u002F フォーム要素の存在チェック\n  const hasFormElements = () => {\n    const form = document.getElementById(\"form\");\n    const submitButton = document.getElementById(\"submit-button\");\n    return !!(form && submitButton);\n  };\n\n  \u002F\u002F 初期化実行\n  const executeFormInitialization = () => {\n    if (window.studioDesignFormInitialized) return;\n    \n    \u002F\u002F フォーム要素が存在しない場合は早期終了\n    if (!hasFormElements()) {\n      return;\n    }\n    \n    initializeForm();\n    if (!window.studioDesignFormObserver) {\n      window.studioDesignFormObserver = setupFormObserver();\n    }\n  };\n\n  const handlePageChange = () => {\n    window.studioDesignFormInitialized = false;\n    setTimeout(() => executeFormInitialization(), 1000);\n  };\n\n  window.addEventListener(\"popstate\", handlePageChange);\n\n  const originalPushState = history.pushState;\n  const originalReplaceState = history.replaceState;\n\n  history.pushState = function () {\n    originalPushState.apply(history, arguments);\n    handlePageChange();\n  };\n\n  history.replaceState = function () {\n    originalReplaceState.apply(history, arguments);\n    handlePageChange();\n  };\n\n  const initOnDOMReady = () => {\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\"DOMContentLoaded\", executeFormInitialization);\n    } else {\n      executeFormInitialization();\n    }\n  };\n\n  initOnDOMReady();\n\n  window.addEventListener(\"load\", executeFormInitialization);\n  setTimeout(executeFormInitialization, 500);\n  setTimeout(executeFormInitialization, 1000);\n\n  \u002F\u002F 定期チェックを改善:フォーム要素が存在する場合のみ実行\n  setInterval(() => {\n    if (!window.studioDesignFormInitialized && hasFormElements()) {\n      setTimeout(() => executeFormInitialization(), 1000);\n    }\n  }, 2000);\n})();\n  \u003C\u002Fscript>","73a0576a-6e03-4b51-97c3-16954773c52e",[93],{"memo":94,"src":95,"tags":96,"uuid":100},"【style】Studio.design統合コード","\u003Cstyle>\n  \u002F* メガメニュー用スタイル *\u002F\n  #nav-list-1, #nav-list-2, #nav-list-3, #nav-list-4, #nav-list-5, #nav-list-6 {\n      cursor: pointer;\n      position: relative;\n  }\n  \n  #mega-menu-container {\n      visibility: hidden;\n      opacity: 0;\n      transition: all 0.3s ease;\n      position: absolute;\n      top: 124px;\n      left: 0;\n  }\n  \n  #overlay {\n      visibility: hidden;\n      opacity: 0;\n      transition: all 0.3s ease;\n      position: fixed;\n      top: 0;\n      left: 0;\n      width: 100%;\n      height: 100%;\n      background: rgba(45, 45, 45, 0.40);\n  }\n  \n  #header,  \n  #header nav,\n  #header .nav,\n  #header [id^=\"nav-\"] {\n      position: relative;\n  }\n\n  #header-pc {\n    min-width: 1024px !important;\n    margin: 0 auto;\n  }\n\n  \u002F* 1024pxから1170pxの間でgapを調整するメディアクエリ *\u002F\n  @media screen and (min-width: 1025px) and (max-width: 1169px) {\n    #header-pc ul.sd { \n      gap: calc(18px + (100vw - 960px) * 0.08);\n      font-size: 16px !important;\n    }\n  }\n\n  \u002F* 1170px以上の場合は固定のgapを設定 *\u002F\n  @media screen and (min-width: 1170px) {\n    #header-pc ul.sd {\n      gap: 48px !important;\n      font-size: 16px !important;\n    }\n  }\n\n  \u002F* 1024px以下の場合はgapを23pxに固定するメディアクエリを追加 *\u002F\n  @media screen and (max-width: 1024px) {\n    #header-pc ul.sd {\n      gap: 23px !important;\n      font-size: 15px !important;\n    }\n  }\n  \n  #nav-item-1, #nav-item-2, #nav-item-3, #nav-item-4, #nav-item-5, #nav-item-6 {\n      display: none;\n  }\n  \n  \u002F* サブメニュー用スタイル *\u002F\n  [id^=\"menu-list-\"] {\n      cursor: pointer;\n      position: relative;\n  }\n  \n  [id^=\"menu-item-\"] {\n      display: none;\n      opacity: 0;\n      transition: all 0.3s ease;\n      position: absolute;\n      left: 0;\n      top: 0;\n  }\n  \n  \u002F* フォームバリデーション用スタイル *\u002F\n  #submit-button {\n      padding: 15px 72px !important;\n      border: 1px solid !important;\n      border-radius: 40px !important;\n      font-size: 16px !important;\n      font-weight: 500 !important;\n      transition: all 0.3s ease !important;
343\n      cursor: not-allowed !important;\n      background: #E7E7E7 !important;\n      color: #B5B5B5 !important;\n      border-color: #E7E7E7 !important;\n      opacity: 1 !important;\n  }\n  \n  @media (max-width: 840px) {\n      #submit-button {\n          padding: 14px 16px !important;\n          font-weight: 700 !important;\n      }\n  }\n  \n      #submit-button:disabled,\n  #submit-button.disabled {\n      background: #F3F3F3 !important;\n      color: #B5B5B5 !important;\n      cursor: pointer !important;\n      border-color: #F3F3F3 !important;\n      opacity: 1 !important;\n      pointer-events: auto !important;\n      user-select: none !important;\n      -webkit-user-select: none !important;\n      -moz-user-select: none !important;\n      -ms-user-select: none !important;\n      -webkit-tap-highlight-color: transparent !important;\n      touch-action: manipulation !important;\n  }\n  #submit-button:disabled p.sd,\n  #submit-button.disabled p.sd {\n    color: #B5B5B5 !important;\n  }\n  \n  #submit-button.button.enabled:not(:disabled),\n  #submit-button.enabled:not(:disabled) {\n      background: #2D2D2D !important;\n      color: #FFFFFF !important;\n      cursor: pointer !important;\n      border-color: #2D2D2D !important;\n  }\n  \n  #submit-button.button.enabled:not(:disabled):hover,\n  #submit-button.enabled:not(:disabled):hover {\n      border-color: #2D2D2D !important;\n      background: #FFFFFF !important;\n      border-color: #E7E7E7 !important;\n  }\n  \n  #submit-button.button.enabled:not(:disabled):hover p,\n  #submit-button.enabled:not(:disabled):hover p {\n      background: linear-gradient(90deg, #115fe1 0%, #6f91ff 50%, #8b4dbe 100%) !important;\n      background-clip: text !important;\n      -webkit-background-clip: text !important;\n      -webkit-text-fill-color: transparent !important;\n      color: transparent !important;\n  }\n  \n  #js-error-email {\n      color: #ff0000;\n      font-size: 14px;\n      margin-top: 5px;\n      margin-bottom: 5px;\n      display: block;\n  }\n  \n  input:invalid,\n  textarea:invalid,\n  select:invalid {\n      border-color: #ff0000;\n  }\n  \n  #submit-button.enabled:not(:disabled):focus {\n      outline: 2px solid #115fe1;\n      outline-offset: 2px;\n  }\n  \n  \u002F* サービスカセットのスタイル調整 *\u002F\n  #top-service-cassette a.sd {\n      width: calc(25% - 23px) !important;\n      min-height: 128px !important;\n      padding: 22px 12px;\n  }\n  \n  @media screen and (max-width: 840px) and (min-width: 541px) {\n      #top-service-cassette a.sd {\n          width: calc(33.3% - 16px) !important;\n          max-width: 33.3% !important;\n      }\n  }\n  \n  @media screen and (max-width: 540px) {\n      #top-service-cassette a.sd {\n          width: 47% !important;\n          min-height: 78px !important;\n          padding: 32px 8px;\n      }\n  }\n  \n          \u002F* リンクボタンのスタイル調整 *\u002F\n  a#c-btn {\n      min-width: 220px;\n  }\n  \n  a#c-btn p.sd {\n      font-weight: 700 !important;\n  }\n  \n  @media screen and (max-width: 768px) {\n    a#c-btn {\n        min-width: 180px;\n    }\n  }\n  @media screen and (max-width: 1008px) and (min-width: 841px) {\n    #ir-link-btn a#ir-btn.sd {\n        min-width: 180px !important;\n        padding: 12px 32px 13px !important;\n    }\n    #ir-link-btn a#ir-btn p.sd {\n        font-size: 13px !important;\n        font-weight: 700 !important;\n    }\n  }\n  @media screen and (max-width: 840px) and (min-width: 817px) {\n    #ir-link-btn a#ir-btn.sd {\n        padding: 14px 72px 16px !important;\n    }\n    #ir-link-btn a#ir-btn p.sd {\n        font-size: 16px !important;\n        font-weight: 700 !important;\n    }\n  }\n  @media screen and (max-width: 816px) {\n    #ir-link-btn a#ir-btn.sd {\n        min-width: 180px !important;\n        padding: 12px 32px 13px !important;\n    }\n    #ir-link-btn a#ir-btn p.sd {\n        font-size: 13px !important;\n        font-weight: 700 !important;\n    }\n  }\n  \n                \u002F* リッチテキストのスタイル調整 *\u002F\n  .richText p {\n    font-family: var(--s-font-6cbe308b);\n    font-size: 16px;\n    \n    line-height: 1.7;\n  }\n  #rich-link-s.richText p {\n    font-weight: 400 !important;\n  }\n  .richText a:hover {\n    color: transparent !important;\n    background: var(--s-color-a5befdf4);\n    background-clip: text;\n    -webkit-background-clip: text;\n  }\n  @media screen and (max-width: 840px) {\n    .richText p {\n      font-size: 14px;\n      \n    }\n    #rich-link-s.richText p {\n      font-size: 13px;\n      font-weight: 400 !important;\n    }\n  }\n  \n  \u002F* トップ用のグラデーション線表示時に非表示 *\u002F\n  #header:not(.fixed) [id^=\"nav-list-\"]:hover ~ #grad-line,\n  #header:not(.fixed) [id^=\"nav-list-\"]:hover + * #grad-line,\n  #header:not(.fixed) [id^=\"nav-list-\"]:hover ~ * #grad-line {\n      display: none !important;\n  }\n  \n  #header.fixed #grad-line {\n      display: none !important;\n  }\n\n  \n\n  \u002F* トップキャッチコピー(ミッション)のスタイル調整 *\u002F\n  #catch.sd {\n    top: calc((((100vh - 324px) * 1) - 100%)) !important;\n  }\n  @media screen and (max-width: 840px) {\n    #catch.sd {\n      top: calc((((100vh - 560px) * 1) - 100%)) !important;\n    }\n  }\n\n  \n  \n  \u002F* 画像、動画、キャンバスのスタイル調整 *\u002F\n  img.sd, video.sd, canvas.sd {\n      overflow: hidden !important; \u002F* または auto, scroll *\u002F\n  }\n\n    \u002F* 動画タグのレスポンシブ調整 *\u002F\n  #video-container {\n    position: relative !important;\n    height: 0 !important; \u002F* 高さを0にして、パディングで高さを決める *\u002F\n    padding-top: 56.25% !important; \u002F* これで動画分の高さを確保する *\u002F\n  }\n  video.sd {\n    position: absolute !important;\n    top: 0 !important;\n    left: 0 !important;\n    width: 100% !important;\n    height: 100% !important;\n    max-width: 1280px !important;\n  }\n  \n  @media screen and (min-width: 1281px) {\n    video.sd {\n        width: 100% !important;\n        max-width: none !important;\n    }\n  }\n      @media screen and (max-width: 540px) {\n    #video-container {\n      padding-top: 150% !important;\n    }\n  }\n\n  #kv-catch.sd {\n    top: 65% !important;\n    left: 50% !important;\n    transform: translateX(-50%) translateY(-50%) !important;\n  }\n  @media screen and (max-width: 540px) {\n    #kv-catch.sd {\n      top: 72% !important;\n    }\n  }\n  .sd[data-s-5f9c74ca-5543-4722-95fc-c7b9c265efa4],\n  .sd[data-s-37c2f8db-e92a-4597-948e-70c40b855f46],\n  .sd[data-s-9e814c6b-2ee4-4872-8ea8-f26c2365a202],\n  .sd[data-s-c1e586a3-86b9-4798-9a56-98e348061904],\n  .sd[data-s-e0be5cad-772e-4b15-bec3
343-54abc7f673be]  {\n    max-width: calc(100% - 240px) !important;\n  }\n  @media screen and (max-width: 840px) {\n    .sd[data-s-5f9c74ca-5543-4722-95fc-c7b9c265efa4],\n    .sd[data-s-37c2f8db-e92a-4597-948e-70c40b855f46],\n    .sd[data-s-9e814c6b-2ee4-4872-8ea8-f26c2365a202],\n    .sd[data-s-c1e586a3-86b9-4798-9a56-98e348061904],\n    .sd[data-s-e0be5cad-772e-4b15-bec3-54abc7f673be] {\n      max-width: calc(100% - 48px) !important;\n    }\n  }\n\u003C\u002Fstyle>",[97],{"children":98,"tagName":99},"\u002F* メガメニュー用スタイル *\u002F\n  #nav-list-1, #nav-list-2, #nav-list-3, #nav-list-4, #nav-list-5, #nav-list-6 {\n      cursor: pointer;\n      position: relative;\n  }\n  \n  #mega-menu-container {\n      visibility: hidden;\n      opacity: 0;\n      transition: all 0.3s ease;\n      position: absolute;\n      top: 124px;\n      left: 0;\n  }\n  \n  #overlay {\n      visibility: hidden;\n      opacity: 0;\n      transition: all 0.3s ease;\n      position: fixed;\n      top: 0;\n      left: 0;\n      width: 100%;\n      height: 100%;\n      background: rgba(45, 45, 45, 0.40);\n  }\n  \n  #header,  \n  #header nav,\n  #header .nav,\n  #header [id^=\"nav-\"] {\n      position: relative;\n  }\n\n  #header-pc {\n    min-width: 1024px !important;\n    margin: 0 auto;\n  }\n\n  \u002F* 1024pxから1170pxの間でgapを調整するメディアクエリ *\u002F\n  @media screen and (min-width: 1025px) and (max-width: 1169px) {\n    #header-pc ul.sd { \n      gap: calc(18px + (100vw - 960px) * 0.08);\n      font-size: 16px !important;\n    }\n  }\n\n  \u002F* 1170px以上の場合は固定のgapを設定 *\u002F\n  @media screen and (min-width: 1170px) {\n    #header-pc ul.sd {\n      gap: 48px !important;\n      font-size: 16px !important;\n    }\n  }\n\n  \u002F* 1024px以下の場合はgapを23pxに固定するメディアクエリを追加 *\u002F\n  @media screen and (max-width: 1024px) {\n    #header-pc ul.sd {\n      gap: 23px !important;\n      font-size: 15px !important;\n    }\n  }\n  \n  #nav-item-1, #nav-item-2, #nav-item-3, #nav-item-4, #nav-item-5, #nav-item-6 {\n      display: none;\n  }\n  \n  \u002F* サブメニュー用スタイル *\u002F\n  [id^=\"menu-list-\"] {\n      cursor: pointer;\n      position: relative;\n  }\n  \n  [id^=\"menu-item-\"] {\n      display: none;\n      opacity: 0;\n      transition: all 0.3s ease;\n      position: absolute;\n      left: 0;\n      top: 0;\n  }\n  \n  \u002F* フォームバリデーション用スタイル *\u002F\n  #submit-button {\n      padding: 15px 72px !important;\n      border: 1px solid !important;\n      border-radius: 40px !important;\n      font-size: 16px !important;\n      font-weight: 500 !important;\n      transition: all 0.3s ease !important;\n      cursor: not-allowed !important;\n      background: #E7E7E7 !important;\n      color: #B5B5B5 !important;\n      border-color: #E7E7E7 !important;\n      opacity: 1 !important;\n  }\n  \n  @media (max-width: 840px) {\n      #submit-button {\n          padding: 14px 16px !important;\n          font-weight: 700 !important;\n      }\n  }\n  \n      #submit-button:disabled,\n  #submit-button.disabled {\n      background: #F3F3F3 !important;\n      color: #B5B5B5 !important;\n      cursor: pointer !important;\n      border-color: #F3F3F3 !important;\n      opacity: 1 !important;\n      pointer-events: auto !important;\n      user-select: none !important;\n      -webkit-user-select: none !important;\n      -moz-user-select: none !important;\n      -ms-user-select: none !important;\n      -webkit-tap-highlight-color: transparent !important;\n      touch-action: manipulation !important;\n  }\n  #submit-button:disabled p.sd,\n  #submit-button.disabled p.sd {\n    color: #B5B5B5 !important;\n  }\n  \n  #submit-button.button.enabled:not(:disabled),\n  #submit-button.enabled:not(:disabled) {\n      background: #2D2D2D !important;\n      color: #FFFFFF !important;\n      cursor: pointer !important;\n      border-color: #2D2D2D !important;\n  }\n  \n  #submit-button.button.enabled:not(:disabled):hover,\n  #submit-button.enabled:not(:disabled):hover {\n      border-color: #2D2D2D !important;\n      background: #FFFFFF !important;\n      border-color: #E7E7E7 !important;\n  }\n  \n  #submit-button.button.enabled:not(:disabled):hover p,\n  #submit-button.enabled:not(:disabled):hover p {\n      background: linear-gradient(90deg, #115fe1 0%, #6f91ff 50%, #8b4dbe 100%) !important;\n      background-clip: text !important;\n      -webkit-background-clip: text !important;\n      -webkit-text-fill-color: transparent !important;\n      color: transparent !important;\n  }\n  \n  #js-error-email {\n      color: #ff0000;\n      font-size: 14px;\n      margin-top: 5px;\n      margin-bottom: 5px;\n      display: block;\n  }
343\n  \n  input:invalid,\n  textarea:invalid,\n  select:invalid {\n      border-color: #ff0000;\n  }\n  \n  #submit-button.enabled:not(:disabled):focus {\n      outline: 2px solid #115fe1;\n      outline-offset: 2px;\n  }\n  \n  \u002F* サービスカセットのスタイル調整 *\u002F\n  #top-service-cassette a.sd {\n      width: calc(25% - 23px) !important;\n      min-height: 128px !important;\n      padding: 22px 12px;\n  }\n  \n  @media screen and (max-width: 840px) and (min-width: 541px) {\n      #top-service-cassette a.sd {\n          width: calc(33.3% - 16px) !important;\n          max-width: 33.3% !important;\n      }\n  }\n  \n  @media screen and (max-width: 540px) {\n      #top-service-cassette a.sd {\n          width: 47% !important;\n          min-height: 78px !important;\n          padding: 32px 8px;\n      }\n  }\n  \n          \u002F* リンクボタンのスタイル調整 *\u002F\n  a#c-btn {\n      min-width: 220px;\n  }\n  \n  a#c-btn p.sd {\n      font-weight: 700 !important;\n  }\n  \n  @media screen and (max-width: 768px) {\n    a#c-btn {\n        min-width: 180px;\n    }\n  }\n  @media screen and (max-width: 1008px) and (min-width: 841px) {\n    #ir-link-btn a#ir-btn.sd {\n        min-width: 180px !important;\n        padding: 12px 32px 13px !important;\n    }\n    #ir-link-btn a#ir-btn p.sd {\n        font-size: 13px !important;\n        font-weight: 700 !important;\n    }\n  }\n  @media screen and (max-width: 840px) and (min-width: 817px) {\n    #ir-link-btn a#ir-btn.sd {\n        padding: 14px 72px 16px !important;\n    }\n    #ir-link-btn a#ir-btn p.sd {\n        font-size: 16px !important;\n        font-weight: 700 !important;\n    }\n  }\n  @media screen and (max-width: 816px) {\n    #ir-link-btn a#ir-btn.sd {\n        min-width: 180px !important;\n        padding: 12px 32px 13px !important;\n    }\n    #ir-link-btn a#ir-btn p.sd {\n        font-size: 13px !important;\n        font-weight: 700 !important;\n    }\n  }\n  \n                \u002F* リッチテキストのスタイル調整 *\u002F\n  .richText p {\n    font-family: var(--s-font-6cbe308b);\n    font-size: 16px;\n    \n    line-height: 1.7;\n  }\n  #rich-link-s.richText p {\n    font-weight: 400 !important;\n  }\n  .richText a:hover {\n    color: transparent !important;\n    background: var(--s-color-a5befdf4);\n    background-clip: text;\n    -webkit-background-clip: text;\n  }\n  @media screen and (max-width: 840px) {\n    .richText p {\n      font-size: 14px;\n      \n    }\n    #rich-link-s.richText p {\n      font-size: 13px;\n      font-weight: 400 !important;\n    }\n  }\n  \n  \u002F* トップ用のグラデーション線表示時に非表示 *\u002F\n  #header:not(.fixed) [id^=\"nav-list-\"]:hover ~ #grad-line,\n  #header:not(.fixed) [id^=\"nav-list-\"]:hover + * #grad-line,\n  #header:not(.fixed) [id^=\"nav-list-\"]:hover ~ * #grad-line {\n      display: none !important;\n  }\n  \n  #header.fixed #grad-line {\n      display: none !important;\n  }\n\n  \n\n  \u002F* トップキャッチコピー(ミッション)のスタイル調整 *\u002F\n  #catch.sd {\n    top: calc((((100vh - 324px) * 1) - 100%)) !important;\n  }\n  @media screen and (max-width: 840px) {\n    #catch.sd {\n      top: calc((((100vh - 560px) * 1) - 100%)) !important;\n    }\n  }\n\n  \n  \n  \u002F* 画像、動画、キャンバスのスタイル調整 *\u002F\n  img.sd, video.sd, canvas.sd {\n      overflow: hidden !important; \u002F* または auto, scroll *\u002F\n  }\n\n    \u002F* 動画タグのレスポンシブ調整 *\u002F\n  #video-container {\n    position: relative !important;\n    height: 0 !important; \u002F* 高さを0にして、パディングで高さを決める *\u002F\n    padding-top: 56.25% !important; \u002F* これで動画分の高さを確保する *\u002F\n  }\n  video.sd {\n    position: absolute !important;\n    top: 0 !important;\n    left: 0 !important;\n    width: 100% !important;\n    height: 100% !important;\n    max-width: 1280px !important;\n  }\n  \n  @media screen and (min-width: 1281px) {\n    video.sd {\n        width: 100% !important;\n        max-width: none !important;\n    }\n  }\n      @media screen and (max-width: 540px) {\n    #video-container {\n      padding-top: 150% !important;\n    }\n  }\n\n  #kv-catch.sd {\n    top: 65% !important;\n    left: 50% !important;\n    transform: translateX(-50%) translateY(-50%) !important;\n  }\n  @media screen and (max-width: 540px) {\n    #kv-catch.sd {\n      top: 72% !important;\n    }\n  }\n  .sd[data-s-5f9c74ca-5543-4722-95fc-c7b9c265efa4],\n  .sd[data-s-37c2f8db-e92a-4597-948e-70c40b855f46],\n  .sd[data-s-9e814c6b-2ee4-4872-8ea8-f26c2365a202],\n  .sd[data-s-c1e586a3-86b9-4798-9a56-98e348061904],\n  .sd[data-s-e0be5cad-772e-4b15-bec3
343-54abc7f673be]  {\n    max-width: calc(100% - 240px) !important;\n  }\n  @media screen and (max-width: 840px) {\n    .sd[data-s-5f9c74ca-5543-4722-95fc-c7b9c265efa4],\n    .sd[data-s-37c2f8db-e92a-4597-948e-70c40b855f46],\n    .sd[data-s-9e814c6b-2ee4-4872-8ea8-f26c2365a202],\n    .sd[data-s-c1e586a3-86b9-4798-9a56-98e348061904],\n    .sd[data-s-e0be5cad-772e-4b15-bec3-54abc7f673be] {\n      max-width: calc(100% - 48px) !important;\n    }\n  }","style","f5d8ee16-4953-455c-b083-052546aafba3","https:\u002F\u002Fstorage.googleapis.com\u002Fproduction-os-assets\u002Fassets\u002Fec625d03-2c3f-4a89-b986-d6c80fd7267d",{"description":103,"og:image":21},"株式会社カカクコムの公式企業サイトです。企業情報、ニュース、サービス、IR情報、サステナビリティ、採用情報、お問い合わせ窓口などを掲載しています。","株式会社カカクコム",{"baseWidth":106,"collabWriteOrigin":107,"created_at":110,"screen":111,"type":113,"updated_at":114,"version":115},1280,{"tabSessionId":108,"writeId":109},"54a9d28c-79b8-4f68-9422-b32b1e444813","e5823549-c54d-4e47-8d3e-0dfd6423bd9f",1518591100346,{"baseWidth":106,"height":112,"isAutoHeight":23,"width":106,"workingState":23},600,"web",1518792996878,"4.2.0",[117,148,168,177,187,195,220,229,238,246,254,259,278,292,296,300,323,339,355,371,379,397,411,427,443,451,459,471,479,497,513,529,543,552,577,593,597,614,631,649,657,665,685,693,701,709,717,725,733,743,751,759,767,775,791,804,821,836,852,867,883,897,905,913,921,929,937,954,967,982,997,1009,1017,1025,1038,1047,1060,1069,1077,1085,1099,1107,1115,1123,1131,1139,1147,1155,1159,1163,1167,1171,1175,1179,1183,1187,1190,1193,1197,1201,1205,1208,1211,1215,1218,1221,1224,1232,1248,1256,1264,1272,1276,1284,1292,1300,1308,1316,1324,1332,1341,1349,1353,1364,1372,1380,1388,1402,1410,1417,1432,1447,1456,1464,1472,1476,1492,1506,1515,1523,1530,1536,1542,1548,1554,1562,1566,1581,1593,1605,1617],{"head":118,"id":133,"type":137,"uuid":138,"symbolIds":139},{"customCode":119,"lang":133,"meta":134,"title":136},{"headEnd":120},[121],{"memo":122,"src":123,"tags":124,"uuid":132},"iframe高さ取得","\u003Cstyle>\n  iframe {\n    display: block;\n    width: 100%;\n    border: none;\n    min-height: 400px;\n  }\n\u003C\u002Fstyle>\n\u003Cscript type=\"text\u002Fjavascript\">\n  \u002F\u002F postMessageでiframeの高さを受信・設定する関数\n  function setupIframeHeightHandler() {\n    window.addEventListener('message', function (event) {\n      \u002F\u002F メッセージの検証\n      if (event.data && event.data.type === 'iframe-height-change') {\n        const height = event.data.height;\n        const source = event.data.source;\n\n        console.log('Received iframe height: ' + height + 'px from ' + source);\n\n        \u002F\u002F 対応するiframeを見つけて高さを設定\n        const iframe = document.getElementById(source);\n        if (iframe && height > 0) {\n          iframe.style.height = height + 'px';\n          console.log('Set iframe height to: ' + height + 'px');\n        }\n      }\n    }, false);\n  }\n\n  \u002F\u002F ページロード後にpostMessageリスナーを設定\n  document.addEventListener('DOMContentLoaded', function () {\n    setupIframeHeightHandler();\n  });\n\u003C\u002Fscript>",[125,127],{"children":126,"tagName":99},"iframe {\n    display: block;\n    width: 100%;\n    border: none;\n    min-height: 400px;\n  }",{"attrs":128,"children":130,"tagName":131},{"type":129},"text\u002Fjavascript","\u002F\u002F postMessageでiframeの高さを受信・設定する関数\n  function setupIframeHeightHandler() {\n    window.addEventListener('message', function (event) {\n      \u002F\u002F メッセージの検証\n      if (event.data && event.data.type === 'iframe-height-change') {\n        const height = event.data.height;\n        const source = event.data.source;\n\n        console.log('Received iframe height: ' + height + 'px from ' + source);\n\n        \u002F\u002F 対応するiframeを見つけて高さを設定\n        const iframe = document.getElementById(source);\n        if (iframe && height > 0) {\n          iframe.style.height = height + 'px';\n          console.log('Set iframe height to: ' + height + 'px');\n        }\n      }\n    }, false);\n  }\n\n  \u002F\u002F ページロード後にpostMessageリスナーを設定\n  document.addEventListener('DOMContentLoaded', function () {\n    setupIframeHeightHandler();\n  });","script","9a3cabe0-5f41-425e-9d35-300c43bf1c05","en",{"description":135},"Kakaku.com, Inc.’s corporate website provides information on the company, its services, and investor relations.","Kakaku.com","page","2e22189e-1551-4d37-99eb-c26fc4260127",[140,141,142,143,144,145,146,147],"bceab1fc-2155-453e-92c6-7cd4a358fb92","dbbc8cce-fb13-49e9-9b80-8d8188a6e4eb","15d2c5e2-3068-4612-abc7-ce9d3c54b9a1","1a7c6eef-9399-4a04-a715-53992db3b150","84096ffe-0e72-4c45-bde3-3d96f22ee727","ff2aefb8-ee0c-4a02-8642-b7e6d7d09544","4fc5ea63-4916-4b9a-ab4e-b297ebdb90b6","2d7f0b8a-6c03-4301-9651-755840b22920",{"head":149,"id":162,"type":137,"uuid":163,"symbolIds":164},{"customCode":150,"lang":133,"meta":159,"title":161},{"headEnd":151},[152],{"memo":153,"src":154,"tags":155,"uuid":158},"メディアクエリの調整","\u003Cstyle>\n  \u002F* コーポレートリンクカセットのレスポンシブ対応 *\u002F\n  #com-cassette a.sd,\n  #com-link-cassette a.sd {\n    width: calc((100% - 80px) \u002F 3) !important;\n    max-width: calc((100% - 80px) \u002F 3) !important;\n    box-sizing: border-box !important;\n  }\n\n  \u002F* 1024px以下 - 2カラム表示 *\u002F\n  @media (max-width: 1024px) and (min-width: 541px) {\n    #com-cassette a.sd,\n    #com-link-cassette a.sd {\n      width: calc((100% - 40px) \u002F 2) !important;\n      max-width: calc((100% - 40px) \u002F 2) !important;\n    }\n  }\n  @media (max-width: 841px) {\n    #com-link-cassette a.sd {\n      width: 100% !important;\n      max-width: 100% !important;\n    }\n  }\n\n  \u002F* 540px以下 - 1カラム表示 *\u002F\n  @media screen and (max-width: 540px) {\n    #com-cassette a.sd,\n    #com-link-cassette a.sd {\n      width: 100% !important;\n      max-width: 100% !important;\n    }\n  }\n\u003C\u002Fstyle>",[156],{"children":157,"tagName":99},"\u002F* コーポレートリンクカセットのレスポンシブ対応 *\u002F\n  #com-cassette a.sd,\n  #com-link-cassette a.sd {\n    width: calc((100% - 80px) \u002F 3) !important;\n    max-width: calc((100% - 80px) \u002F 3) !important;\n    box-sizing: border-box !important;\n  }\n\n  \u002F* 1024px以下 - 2カラム表示 *\u002F\n  @media (max-width: 1024px) and (min-width: 541px) {\n    #com-cassette a.sd,\n    #com-link-cassette a.sd {\n      width: calc((100% - 40px) \u002F 2) !important;\n      max-width: calc((100% - 40px) \u002F 2) !important;\n    }\n  }\n  @media (max-width: 841px) {\n    #com-link-cassette a.sd {\n      width: 100% !important;\n      max-width: 100% !important;\n    }\n  }\n\n  \u002F* 540px以下 - 1カラム表示 *\u002F\n  @media screen and (max-width: 540px) {\n    #com-cassette a.sd,\n    #com-link-cassette a.sd {\n      width: 100% !important;\n      max-width: 100% !important;\n    }\n  }","8df872f4-3fa2-4a94-ad07-7b1d8b90fda7",{"description":160}
343,"Company information page for Kakaku.com, Inc. containing its corporate profile, a message from the President, its mission and values, executive profiles, company history, office locations, and etc.","Company Information | Kakaku.com","en\u002Fcompany","80a9938c-c765-471e-a007-31bb93519254",[165,141,142,166,167,147],"a2b1cfbc-1560-4f21-b342-18cffe4f13ad","d1708d18-54db-4ee4-b948-a49b1b81e7de","05019148-9a56-48d4-a3cb-86641a3f22e9",{"head":169,"id":173,"type":137,"uuid":174,"symbolIds":175},{"lang":133,"meta":170,"title":172},{"description":171},"Overview of services operated by Kakaku.com, Inc.","Service Overview | Kakaku.com","en\u002Fservice","ee8b1de8-6ebe-48c7-8a53-a90d12740f68",[165,141,142,166,167,176,147],"1451bb53-3b88-4263-bdb0-96ec699dc811",{"head":178,"id":182,"type":137,"uuid":183,"symbolIds":184},{"lang":133,"meta":179,"title":181},{"description":180},"The corporate profile of Kakaku.com, Inc. and other company information.","Corporate Profile | Kakaku.com","en\u002Fcompany\u002Fprofile","971d05d0-897b-47db-b9b9-e16d21abc5b1",[165,141,142,166,167,143,185,186,147],"0bcd309d-cf4e-4d22-816c-dd4a3ef16ead","85bcd1eb-0466-47a1-93b8-a776665ab5f6",{"head":188,"id":192,"type":137,"uuid":193,"symbolIds":194},{"lang":133,"meta":189,"title":191},{"description":190},"A message from Atsuhiro Murakami, President and Representative Director of Kakaku.com, Inc.","Message from the President | Kakaku.com","en\u002Fcompany\u002Fmessage","0d611099-b8fa-4aaf-8c41-639452c2c21c",[165,141,142,166,167,186,147],{"head":196,"id":216,"type":137,"uuid":217,"symbolIds":218},{"customCode":197,"lang":133,"meta":213,"title":215},{"headEnd":198},[199,206],{"memo":200,"src":201,"tags":202,"uuid":205},"ミッション画像のスタイル調整","\u003Cstyle>\n  \u002F* ミッション画像の固定スタイル(841px以上) *\u002F\n  @media screen and (min-width: 841px) {\n    #mission-contents {\n      position: relative !important;\n    }\n    \n    article#mission #mission-bg {\n      position: absolute !important;\n      top: 120px !important;\n      right: -400px !important;\n      z-index: -1 !important;\n      width: 1128px !important;\n      max-width: 1128px !important;\n    }\n  }\n\n  \u002F* ミッション画像の調整スタイル(840px以下〜541px) *\u002F\n  @media screen and (max-width: 840px) and (min-width: 541px) {\n    #mission-contents {\n      position: relative !important;\n    }\n    \n    article#mission #mission-bg {\n      position: absolute !important;\n      top: 150px !important;\n      z-index: -1 !important;\n      width: 720px !important;\n      max-width: 720px !important;\n    }\n  }\n\n  \u002F* ミッション画像の調整スタイル(840px以下〜541px) *\u002F\n  @media screen and (max-width: 840px) and (min-width: 541px) and (orientation: portrait) {\n    article#mission #mission-bg {\n      top: 80px !important;\n    }\n  }\n  \n\n  \u002F* ミッション画像の調整スタイル(540px以下〜361px) *\u002F\n  @media screen and (max-width: 540px) and (min-width: 361px) {\n    #mission-contents {\n      position: relative !important;\n    }\n    \n    article#mission #mission-bg {\n      position: absolute !important;\n      top: 220px !important;\n      z-index: -1 !important;\n      width: 720px !important;\n      max-width: 720px !important;\n    }\n  }\n  \n\u003C\u002Fstyle>",[203],{"children":204,"tagName":99},"\u002F* ミッション画像の固定スタイル(841px以上) *\u002F\n  @media screen and (min-width: 841px) {\n    #mission-contents {\n      position: relative !important;\n    }\n    \n    article#mission #mission-bg {\n      position: absolute !important;\n      top: 120px !important;\n      right: -400px !important;\n      z-index: -1 !important;\n      width: 1128px !important;\n      max-width: 1128px !important;\n    }\n  }\n\n  \u002F* ミッション画像の調整スタイル(840px以下〜541px) *\u002F\n  @media screen and (max-width: 840px) and (min-width: 541px) {\n    #mission-contents {\n      position: relative !important;\n    }\n    \n    article#mission #mission-bg {\n      position: absolute !important;\n      top: 150px !important;\n      z-index: -1 !important;\n      width: 720px !important;\n      max-width: 720px !important;\n    }\n  }
343\n\n  \u002F* ミッション画像の調整スタイル(840px以下〜541px) *\u002F\n  @media screen and (max-width: 840px) and (min-width: 541px) and (orientation: portrait) {\n    article#mission #mission-bg {\n      top: 80px !important;\n    }\n  }\n  \n\n  \u002F* ミッション画像の調整スタイル(540px以下〜361px) *\u002F\n  @media screen and (max-width: 540px) and (min-width: 361px) {\n    #mission-contents {\n      position: relative !important;\n    }\n    \n    article#mission #mission-bg {\n      position: absolute !important;\n      top: 220px !important;\n      z-index: -1 !important;\n      width: 720px !important;\n      max-width: 720px !important;\n    }\n  }","a753a4b7-ae45-454b-bee9-c374511aa58d",{"memo":207,"src":208,"tags":209,"uuid":212},"ミッションキャッチ境界線","\u003Cstyle>\n  \u002F* ミッション・バリュー 1118px以下でボーダー調整 *\u002F\n  @media screen and (max-width: 1118px) {\n  #value_item #value_catch_bd1.sd,\n  #value_item #value_catch_bd2.sd,\n  #value_item #value_catch_bd3.sd,\n  #value_item #value_catch_bd4.sd {\n      display: none !important;\n    }\n\n  #value_item p.sd{\n      margin-left: 0 !important;\n    }\n  }\n  \n\u003C\u002Fstyle>",[210],{"children":211,"tagName":99},"\u002F* ミッション・バリュー 1118px以下でボーダー調整 *\u002F\n  @media screen and (max-width: 1118px) {\n  #value_item #value_catch_bd1.sd,\n  #value_item #value_catch_bd2.sd,\n  #value_item #value_catch_bd3.sd,\n  #value_item #value_catch_bd4.sd {\n      display: none !important;\n    }\n\n  #value_item p.sd{\n      margin-left: 0 !important;\n    }\n  }","4e56caf3-058d-4475-b564-958a0ffd25c6",{"description":214},"Kakaku.com, Inc.'s mission and values.","Mission and Values | Kakaku.com","en\u002Fcompany\u002Fmission","5ed990c7-15c6-43e1-b40a-ce256c607fb5",[165,141,142,166,167,143,219,186,147],"5d82bc5a-4fca-4c31-833f-691ad5543316",{"head":221,"id":225,"type":137,"uuid":226,"symbolIds":227},{"lang":133,"meta":222,"title":224},{"description":223},"Brief biographies and other information about the executives of Kakaku.com, Inc.","Directors | Kakaku.com","en\u002Fcompany\u002Fofficer","d9bc5096-862a-430f-8942-10e995258579",[165,141,142,166,167,228,219,186,147],"847c6674-699c-4da5-b51a-16d266935b5b",{"head":230,"id":234,"type":137,"uuid":235,"symbolIds":236},{"lang":133,"meta":231,"title":233},{"description":232},"Introduction to Kakaku.com, Inc.’s \"Basic Policy on Corporate Governance\".","Corporate Governance | Kakaku.com","en\u002Fcompany\u002Fgovernance","fc8de5f8-b739-457f-b6a9-f9e70b333252",[165,141,142,166,167,143,237,186,147],"41a003d7-b489-486e-8d0b-807f7da613b7",{"head":239,"id":243,"type":137,"uuid":244,"symbolIds":245},{"lang":133,"meta":240,"title":242},{"description":241},"The history of Kakaku.com, Inc. at a glance.","History | Kakaku.com","en\u002Fcompany\u002Fstory","9ce984fd-6a88-4114-8ab5-b0bb4202cca3",[165,141,142,166,167,186,147],{"head":247,"id":251,"type":137,"uuid":252,"symbolIds":253},{"lang":133,"meta":248,"title":250},{"description":249},"Kakaku.com, Inc. list of offices.","Offices | Kakaku.com","en\u002Fcompany\u002Foffice","e789a4d5-7f1b-49b5-b11a-a0a498c73c4d",[165,141,142,166,167,143,185,186,147],{"id":255,"isCreatedInV4":23,"redirectTo":256,"type":257,"uuid":258},"press\u002Fnews","\u002Fnews\u002Finfo","redirect","f35186ce-7377-4f9e-9e3c-66f280d4b899",{"head":260,"id":272,"type":137,"uuid":273,"symbolIds":274},{"customCode":261,"lang":133,"meta":269,"title":271},{"headEnd":262},[263],{"memo":122,"src":123,"tags":264,"uuid":268},[265,266],{"children":126,"tagName":99},{"attrs":267,"children":130,"tagName":131},{"type":129},"e832ac5d-b421-4b22-95d2-e79d6071feae",{"description":270},"Investor relations page for Kakaku.com, Inc., containing information such as IR releases, the IR library, shareholder and stock information, and the IR calendar.","Investor Relations | Kakaku.com","en\u002Fir","51147453-a444-4f44-87de-f5aa92943328",[165,141,142,166,167,275,276,277,147],"e165d393-189b-43be-8bb6-7554665bae97","d3c3aa8c-d85d-4a53-9593-b9b7b3e85616","08749ac5-9b75-4f3b-8ee8-f4ffebb19737",{"head":279,"id":289,"type":137,"uuid":290,"symbolIds":291},{"customCode":280,"lang":133,"meta":286,"title":288},{"bodyEnd":281},[282],{"memo":283,"src":284,"uuid":285},"iframe高さ取得用JS","\u003Cscript>\n  window.addEventListener('message', function (event) {\n    if (\n      event.data.type === 'iframe-height-change' &&\n      event.data.source === 'ir-release-iframe'\n    ) {\n      const iframe = document.getElementById('ir-release-iframe');\n      if (iframe) {\n        iframe.style.height = event.data.height + 'px';\n      }\n    }\n  });\n\u003C\u002Fscript>","06be0f6e-ef72-4e10-a872-2ea799f39ebb",{"description":287},"IR news releases from Kakaku.com, Inc.","IR News | Kakaku.com","en\u002Fir\u002Frelease-ir","0c74fa6f-048d-4a4d-a4ad-f670bee25918",[165,141,142,166,167,277,275,276,147],{"id":293,"isCreatedInV4":10,"redirectTo":294,"type":257,"uuid":295},"pdf\u002Fsoukai29_shoshu_web","https:\u002F\u002Fstorage.googleapis.com\u002Fstudio-design-asset-files\u002Fprojects\u002FXKOkd744q4\u002Fs-1x1_d9648518-f4f7-42bd-9537-70046df88606.pdf","eb11a2e1-6efb-4749-a966-e9291e50a1b1",{"id":297,"isCreatedInV4":10,"redirectTo":298,"type":257,"uuid":299},"pdf\u002Fsoukai29_shoshu","https:\u002F\u002Fstorage.googleapis.com\u002Fstudio-design-asset-files\u002Fprojects\u002FXKOkd744q4\u002Fs-1x1_c3199297-977f-452a-aadd-d7a7ecd8f9e2.pdf","d7b74a84-c946-48b9-9aef-fc4859435924",{"head":301,"id":319,"type":137,"uuid":320,"symbolIds":321},{"customCode":302,"lang":133,"meta":316,"title":318},{"bodyEnd":303,"headEnd":308}
343,[304],{"memo":305,"src":306,"uuid":307},"iframe高さ取得用","\u003Cscript type=\"text\u002Fjavascript\">\n  const lastReceivedHeights = {};\n  function setupIframeHeightHandler() {\n    window.addEventListener('message', function (event) {\n      \n      if (event.data && event.data.type === 'iframe-height-change') {\n        const height = event.data.height;\n        const source = event.data.source;\n        \n        if (typeof height !== 'number' || height \u003C= 0) {\n          console.warn('Invalid height received:', height);\n          return;\n        }\n\n        if (lastReceivedHeights[source] === height) {\n          return;\n        }\n\n        console.log('Received iframe height: ' + height + 'px from ' + source);\n        \n        let iframe = document.getElementById(source);\n        \n        if (!iframe) {\n          iframe = document.querySelector('iframe[data-source=\"' + source + '\"]');\n        }\n        \n        if (!iframe) {\n          const iframes = document.querySelectorAll('iframe');\n          for (let i = 0; i \u003C iframes.length; i++) {\n            try {\n              if (iframes[i].contentWindow === event.source) {\n                iframe = iframes[i];\n                break;\n              }\n            } catch (e) {\n              continue;\n            }\n          }\n        }\n        \n        if (iframe) {\n          lastReceivedHeights[source] = height;\n          iframe.style.height = height + 'px';\n          \n          iframe.style.overflow = 'hidden';\n          iframe.setAttribute('scrolling', 'no');\n          \n          console.log('Set iframe height to: ' + height + 'px');\n        } else {\n          console.warn('Iframe not found for source:', source);\n        }\n      }\n    }, false);\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', function () {\n      setupIframeHeightHandler();\n    });\n  } else {\n    setupIframeHeightHandler();\n  }\n\u003C\u002Fscript>","3204c151-738a-4ae2-95e9-6fea31a5fa52",[309],{"memo":310,"src":311,"tags":312,"uuid":315},"特定のテキストスタイル","\u003Cstyle>\n  \u002F* IRページ用の特定フォントテキスト スタイル *\u002F\n  #ir-library .text.sd {\n    font-weight: 700 !important;\n  }\n  @media screen and (max-width: 840px) {\n    #ir-library .text.sd {\n      font-weight: 500 !important;\n    }\n  }\n\u003C\u002Fstyle>",[313],{"children":314,"tagName":99},"\u002F* IRページ用の特定フォントテキスト スタイル *\u002F\n  #ir-library .text.sd {\n    font-weight: 700 !important;\n  }\n  @media screen and (max-width: 840px) {\n    #ir-library .text.sd {\n      font-weight: 500 !important;\n    }\n  }","d91dd4ea-5ea6-49d4-9815-443f90ddecf1",{"description":317},"IR library, containing information for investors, such as financial results and presentation materials.","IR Library | Kakaku.com","en\u002Fir\u002Flibrary","c6041c4a-a7bc-4c87-9ac4-4ac0e1764631",[165,141,142,166,167,143,237,322,277,275,276,147],"30d696e8-3ca5-4857-981e-01fa9fd99f97",{"head":324,"id":336,"type":137,"uuid":337,"symbolIds":338},{"customCode":325,"lang":133,"meta":333,"title":335},{"headEnd":326},[327],{"memo":122,"src":123,"tags":328,"uuid":332},[329,330],{"children":126,"tagName":99},{"attrs":331,"children":130,"tagName":131},{"type":129},"f74941d5-c2ed-4183-9ffc-e8fc2e9ea823",{"description":334},"Financial results and detailed financial data for Kakaku.com, Inc.","Financial Results | Kakaku.com","en\u002Fir\u002Flibrary\u002Fir_info","401771cf-c513-49bb-b546-12705d192fe2",[165,141,142,166,167,277,275,276,147],{"head":340,"id":352,"type":137,"uuid":353,"symbolIds":354},{"customCode":341,"lang":133,"meta":349,"title":351},{"headEnd":342},[343],{"memo":122,"src":123,"tags":344,"uuid":348},[345,346],{"children":126,"tagName":99},{"attrs":347,"children":130,"tagName":131},{"type":129},"6457a56e-e117-4a77-b18c-1911f0a1f68b",{"description":350},"Earnings results materials of Kakaku.com, Inc.","Earnings Results Materials | Kakaku.com","en\u002Fir\u002Flibrary\u002Fmaterials","1f7f5867-cda2-42e1-be48-71e107b83096",[165,141,142,166,167,277,275,276,147],{"head":356,"id":368,"type":137,"uuid":369,"symbolIds":370},{"customCode":357,"lang":133,"meta":365,"title":367},{"headEnd":358},[359],{"memo":310,"src":360,"tags":361,"uuid":364},"\u003Cstyle>\n  \u002F* IRページ用の特定フォントテキスト スタイル *\u002F\n  #ir-meeting .text.sd {\n    font-weight: 700 !important;\n  }\n  @media screen and (max-width: 840px) {\n    #ir-meeting .text.sd {\n      font-weight: 500 !important;\n    }\n  }\n\u003C\u002Fstyle>",[362],{"children":363,"tagName":99},"\u002F* IRページ用の特定フォントテキスト スタイル *\u002F\n  #ir-meeting .text.sd {\n    font-weight: 700 !important;\n  }\n  @media screen and (max-width: 840px) {\n    #ir-meeting .text.sd {\n      font-weight: 500 !important;\n    }\n  }","67be9443-170a-4475-aa96-377479a402bf",{"description":366},"Notices of the general shareholders' meeting issued by Kakaku.com, Inc.","General Shareholders’ meeting | Kakaku.com","en\u002Fir\u002Flibrary\u002Fmeeting","834013c7-c077-4745-b072-2ac4f9c6102b",[165,141,142,166,167,143,237,277,275,276,147],{"head":372,"i
343d":376,"type":137,"uuid":377,"symbolIds":378},{"lang":133,"meta":373,"title":375},{"description":374},"Kakaku.com, Inc.'s medium-term management plan.","Medium-Term Management Plan | Kakaku.com","en\u002Fir\u002Flibrary\u002Fmanagementplan","b186a4e5-862f-4631-9f22-129317ea60f5",[165,141,142,166,167,143,277,275,276,147],{"head":380,"id":392,"type":137,"uuid":393,"symbolIds":394},{"customCode":381,"lang":133,"meta":389,"title":391},{"headEnd":382},[383],{"memo":122,"src":123,"tags":384,"uuid":388},[385,386],{"children":126,"tagName":99},{"attrs":387,"children":130,"tagName":131},{"type":129},"cb0595ef-5e7a-469e-90b6-d9772b3c46e1",{"description":390},"Annual and quarterly earnings trend for Kakaku.com, Inc.","Financial Highlights | Kakaku.com","en\u002Fir\u002Ffinance\u002Fhighlight_annual","37f624fe-a34a-45ce-a38f-72042d768b9a",[165,141,142,166,167,143,395,396,277,275,276,147],"94d20183-f67b-41cb-9846-8ec6421c3721","7dea6de2-fd8e-47be-a780-cec5ee640ae3",{"head":398,"id":408,"type":137,"uuid":409,"symbolIds":410},{"customCode":399,"lang":133,"meta":407,"title":391},{"headEnd":400},[401],{"memo":122,"src":123,"tags":402,"uuid":406},[403,404],{"children":126,"tagName":99},{"attrs":405,"children":130,"tagName":131},{"type":129},"5e0149b8-e6bb-44bf-802f-5c67d4fe2397",{"description":390},"en\u002Fir\u002Ffinance\u002Fhighlight_quarterly","c2131d35-93c8-4dea-99f7-323ab1298adf",[165,141,142,166,167,143,395,396,277,275,276,147],{"head":412,"id":424,"type":137,"uuid":425,"symbolIds":426},{"customCode":413,"lang":133,"meta":421,"title":423},{"headEnd":414},[415],{"memo":122,"src":123,"tags":416,"uuid":420},[417,418],{"children":126,"tagName":99},{"attrs":419,"children":130,"tagName":131},{"type":129},"a0c6afcb-b2c9-4dd9-bd86-d41243f7aece",{"description":422},"Financial position of Kakaku.com, Inc.","Financial Position | Kakaku.com","en\u002Fir\u002Ffinance\u002Ffinancial_position","d4eb45be-f6b4-4d65-81e5-837f9ba560b4",[165,141,142,166,167,143,395,277,275,276,147],{"head":428,"id":440,"type":137,"uuid":441,"symbolIds":442},{"customCode":429,"lang":133,"meta":437,"title":439},{"headEnd":430},[431],{"memo":122,"src":123,"tags":432,"uuid":436},[433,434],{"children":126,"tagName":99},{"attrs":435,"children":130,"tagName":131},{"type":129},"9d3d14d8-4828-4bf4-9eaf-ed7158ebf227",{"description":438},"Cash Flow Status of Kakaku.com, Inc.","Cash Flow | Kakaku.com","en\u002Fir\u002Ffinance\u002Fcashflow","75589239-d426-4366-aff7-aefda5c0502e",[165,141,142,166,167,143,395,277,275,276,147],{"head":444,"id":448,"type":137,"uuid":449,"symbolIds":450},{"lang":133,"meta":445,"title":447},{"description":446},"Information on Kakaku.com, Inc. stocks, including the number of shares issued, the number of shareholders and a list of major shareholders.","Stock Information | Kakaku.com","en\u002Fir\u002Fstock\u002Finfo","b319c95a-edbf-4968-8f74-016ce064cffe",[165,141,142,166,167,143,277,275,276,147],{"head":452,"id":456,"type":137,"uuid":457,"symbolIds":458},{"lang":133,"meta":453,"title":455},{"description":454},"List of analysts who cover Kakaku.com, Inc.","Analyst Coverage | Kakaku.com","en\u002Fir\u002Fstock\u002Fanalyst","14453f71-8358-4516-b5c9-7cde0387745a",[165,141,142,166,167,277,275,276,147],{"head":460,"id":468,"type":137,"uuid":469,"symbolIds":470},{"customCode":461,"lang":133,"meta":465,"title":467},{"bodyEnd":462},[463],{"memo":122,"src":306,"uuid":464},"947ef5dc-4a23-4082-b396-d70be80a7a92",{"description":466},"Kakaku.com, Inc. IR Calendar.","IR Calendar | Kakaku.com","en\u002Fir\u002Fcalendar","c0144b47-cc20-40db-aee2-47720a064790",[165,141,142,166,167,277,275,276,147],{"head":472,"id":476,"type":137,"uuid":477,"symbolIds":478},{"lang":133,"meta":473,"title":475},{"description":474},"Disclosure policy for investor relations information from Kakaku.com, Inc.","Disclosure Policy | Kakaku.com","en\u002Fir\u002Fdisclosure","cc205865-5a84-4786-a2a4-154e077283bc",[165,141,142,166,167,277,275,276,147],{"head":480,"id":493,"type":137,"uuid":494,"symbolIds":495},{"customCode":481,"lang":133,"meta":490,"title":492},{"headEnd":482},[483],{"memo":484,"src":485,"tags":486,"uuid":489},"リッチテキスト用","\u003Cstyle>\n  .richText p {\n    font-family: var(--s-font-6cbe308b);\n    font-size: 16px;\n    font-weight: 500;\n    line-height: 1.7;\n  }\n  .richText a:hover,\n  .sd a:hover,\n  .richText .sd a:hover {\n    color: transparent !important;\n    background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n    background-clip: text;\n    -webkit-background-clip: text;\n  }\n  @media screen and (max-width: 840px) {\n    .richText p {\n      font-size: 14px;\n      font-weight: 400;\n    }\n  }\n\u003C\u002Fstyle>",[487],{"children":488,"tagName":99},".richText p {\n    font-family: var(--s-font-6cbe308b);\n    font-size: 16px;\n    font-weight: 500;\n    line-height: 1.7;\n  }\n  .richText a:hover,\n  .sd a:hover,\n  .richText .sd a:hover {\n    color: transparent !important;\n    background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n    background-clip: text;\n    -webkit-background-clip: text;\n  }\n  @media screen and (max-width: 840px) {\n    .richText p {\n      font-size: 14px;\n      font-weight: 400;\n    }\n  }","3824b119-e110-4e48-858c-353514814ff5",{"description":491},"A list of frequently asked questions from investors of Kakaku.com, Inc. ","Frequently Asked Questions | Kakaku.com","en\u002Fir\u002Ffaq","65aa049a-a714-4406-9a84-b8de806ea9b1",[165,141,142,166,167,143,219,496,277,275,276,147],"00175541-ed8e-4ecd-8cfc-06b05ec847b7",{"head":498,"id":510,"type":137,"uuid":511,"symbolIds":512},{"customCode":499,"lang":133,"meta":507,"title":509},{"headEnd":500},[501],{"memo":484,"src":502,"tags":503,"uuid":506},"\u003Cstyle>\n.richText p {\n  font-family: var(--s-font-6cbe308b);\n  font-size: 16px;\n  font-weight: 500;\n  line-height: 1.7;\n}
343\n.richText a:hover {\n  color: transparent;\n  background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n  background-clip: text;\n  -webkit-background-clip: text;\n}\n@media screen and (max-width: 840px) {\n  .richText p {\n    font-size: 14px;\n    font-weight: 400;\n  }\n}\n\u003C\u002Fstyle>",[504],{"children":505,"tagName":99},".richText p {\n  font-family: var(--s-font-6cbe308b);\n  font-size: 16px;\n  font-weight: 500;\n  line-height: 1.7;\n}\n.richText a:hover {\n  color: transparent;\n  background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n  background-clip: text;\n  -webkit-background-clip: text;\n}\n@media screen and (max-width: 840px) {\n  .richText p {\n    font-size: 14px;\n    font-weight: 400;\n  }\n}","046e454d-bbff-4955-8bc6-b69883e78458",{"description":508},"The privacy policy of Kakaku.com, Inc. ","Privacy Policy | Kakaku.com","en\u002Fprivacy","b590e39c-0a25-4c43-9da6-a762a982e0a8",[165,141,142,166,167,147],{"head":514,"id":526,"type":137,"uuid":527,"symbolIds":528},{"customCode":515,"lang":133,"meta":523,"title":525},{"headEnd":516},[517],{"memo":484,"src":518,"tags":519,"uuid":522},"\u003Cstyle>\n#privacy-about .richText p,\n#informative .richText p {\n  font-family: var(--s-font-6cbe308b);\n  font-size: 16px;\n  font-weight: 500;\n  line-height: 1.7;\n}\n#privacy-about .richText a:hover,\n#informative .richText a:hover {\n  color: transparent;\n  background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n  background-clip: text;\n  -webkit-background-clip: text;\n}\n@media screen and (max-width: 840px) {\n  #privacy-about .richText p,\n  #informative .richText p {\n    font-size: 14px;\n    font-weight: 400;\n  }\n}\n\u003C\u002Fstyle>",[520],{"children":521,"tagName":99},"#privacy-about .richText p,\n#informative .richText p {\n  font-family: var(--s-font-6cbe308b);\n  font-size: 16px;\n  font-weight: 500;\n  line-height: 1.7;\n}\n#privacy-about .richText a:hover,\n#informative .richText a:hover {\n  color: transparent;\n  background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n  background-clip: text;\n  -webkit-background-clip: text;\n}\n@media screen and (max-width: 840px) {\n  #privacy-about .richText p,\n  #informative .richText p {\n    font-size: 14px;\n    font-weight: 400;\n  }\n}","4f82197b-8f57-437c-bdd1-d6e95bb51a5a",{"description":524},"Information regarding the handling of personal information by Kakaku.com, Inc.","Handling of Personal Information | Kakaku.com","en\u002Fprivacy\u002Fabout","bdc2a203-05f0-4810-98d0-0d81dec601c9",[165,141,142,166,167,143,147],{"head":530,"id":539,"type":137,"uuid":540,"symbolIds":541},{"customCode":531,"lang":133,"meta":536,"title":538},{"headEnd":532},[533],{"memo":484,"src":518,"tags":534,"uuid":522},[535],{"children":521,"tagName":99},{"description":537},"Information regarding the handling of personal information by Kakaku.com, Inc., specifically concerning external transmission (opt-out).","External Transmission (Opt-out) | Kakaku.com","en\u002Fprivacy\u002Fabout\u002Foptout","283bca90-30fd-4059-bf03-9f0e6d0a3d8b",[165,141,142,166,167,219,496,143,542,147],"d5a25348-2f8e-4d10-99ad-692ca6c1d79c",{"head":544,"id":548,"type":137,"uuid":549,"symbolIds":550},{"lang":133,"meta":545,"title":547},{"description":546},"A sitemap of the Kakaku.com, Inc. corporate website.","Site Map | Kakaku.com","en\u002Fsitemap","d3326229-7735-4cd8-9b7c-33f17d3d9eb6",[165,141,142,166,167,143,551,147],"94e05c14-a331-4fde-8581-67ec8abefbdc",{"head":553,"id":570,"type":137,"uuid":571,"symbolIds":572},{"customCode":554,"lang":568,"meta":569,"title":104},{"headEnd":555},[556,561],{"memo":122,"src":123,"tags":557,"uuid":132},[558,559],{"children":126,"tagName":99},{"attrs":560,"children":130,"tagName":131},{"type":129},{"memo":562,"src":563,"tags":564,"uuid":567},"タブスクロールのスタイル調整","\u003Cstyle>\n  \u002F* トップニュースタブのスタイル調整 *\u002F\n  @media screen and (max-width: 540px) {\n    #tab-scroll {\n      padding: 0 24px !important;\n    }\n  } \n  \n\u003C\u002Fstyle>",[565],{"children":566,"tagName":99},"\u002F* トップニュースタブのスタイル調整 *\u002F\n  @media screen and (max-width: 540px) {\n    #tab-scroll {\n      padding: 0 24px !important;\n    }\n  }","fa6d24f3-26e8-403e-9edf-f79bc5c47674","ja",{"description":103},"\u002F","3412cfc4-8e5f-4236-a897-3716ec0959a2",[573,141,142,574,143,144,145,146,575,576],"552ca993-eef4-4d9f-8d3f-60bdeb4c5b7b","3386913e-b0d4-41cb-b3f4-94d5845b4a1d","2e8a167a-836a-4260-a030-b8caf7b04e84","f3e0b396-cbda-4c27-988f-0b0df8eab3d0",{"head":578,"id":590,"type":137,"uuid":591,"symbolIds":592},{"customCode":579,"lang":568,"meta":589,"title":104},{"headEnd":580},[581,586],{"memo":122,"src":123,"tags":582,"uuid":132},[583,584],{"children":126,"tagName":99},{"attrs":585,"children":130,"tagName":131},{"type":129},{"memo":562,"src":563,"tags":587,"uuid":567},[588],{"children":566,"tagName":99},{"description":103},"top-press","b2356330-b821-40a4-88b3-346aeaeebe86",[573,141,142,574,143,144,145,146,575,576],{"id":594,"isCreatedInV4":23,"redirectTo":595,"type":257,"uuid":596},"press\u002Frelease","\u002Fnews\u002Fpress","2a6fcab8-05ad-411a-9254-822e32827091",{"head":598,"id":611,"type":137,"uuid":612,"symbolIds":613},{"customCode":599,"lang":568,"meta":610,"title":104},{"headEnd":600},[601,606],{"memo":122,"src":123,"tags":602,"uuid":132},[603,604],{"children":126,"tagName":99},{"attrs":605,"children":130,"tagName":131},{"type":129},{"memo":562,"src":563,"tags":607,"uuid":609},[608],{"children":566,"tagName":99},"969e5e96-41f5-4195-96c9-ad2744ef15dc",{"description":103},"group","19f23904-9136-4894-a3b4-f9abfbbe8d54",[573,141,142,574,143,144,145,146,575,576],{"head":615,"id":628,"type":137,"uuid":629,"symbolIds":630},{"customCode":616,"lang":568,"meta":627,"title":104},{"headEnd":617},[618,623],{"memo":122,"src":123,"tags":619,"uuid":132},[620,621],{"children":126,"tagName":99},{"attrs":622,"children":130,"tagName":131},{"type":129},{"memo":562,"src":563,"tags":624,"uuid":626},[625],{"children":566,"tagName":99},"066f3363-692c-4db4-b2fb-3ff4743e0a04",{"description":103},"info","a3b4b220-b6eb-4707-ac50-e836a2f15031",[573,141,142,574,143,144,145,146,575,576],{"head":632,"id":643,"type":137,"uuid":644,"symbolIds":645}
343,{"customCode":633,"lang":568,"meta":640,"title":642},{"headEnd":634},[635],{"memo":153,"src":636,"tags":637,"uuid":639},"\u003Cstyle>\n     \u002F* コーポレートリンクカセットのレスポンシブ対応 *\u002F\n  #com-cassette a.sd,\n  #com-link-cassette a.sd {\n    width: calc((100% - 80px) \u002F 3) !important;\n    max-width: calc((100% - 80px) \u002F 3) !important;\n    box-sizing: border-box !important;\n  }\n\n  \u002F* 1024px以下 - 2カラム表示 *\u002F\n  @media (max-width: 1024px) and (min-width: 541px) {\n    #com-cassette a.sd,\n    #com-link-cassette a.sd {\n      width: calc((100% - 40px) \u002F 2) !important;\n      max-width: calc((100% - 40px) \u002F 2) !important;\n    }\n  }\n  @media (max-width: 841px) {\n    #com-link-cassette a.sd {\n      width: 100% !important;\n      max-width: 100% !important;\n    }\n  }\n\n  \u002F* 540px以下 - 1カラム表示 *\u002F\n  @media screen and (max-width: 540px) {\n    #com-cassette a.sd,\n    #com-link-cassette a.sd {\n      width: 100% !important;\n      max-width: 100% !important;\n    }\n  }\n  \n\u003C\u002Fstyle>",[638],{"children":157,"tagName":99},"e20c8d3c-1490-43cb-b036-39e4a9b1954b",{"description":641},"株式会社カカクコムの企業情報ページです。トップメッセージ、ミッション・バリュー、役員紹介、企業沿革、事業所一覧などの情報を掲載しています。","企業情報 | 株式会社カカクコム","company","6836a56a-2608-46ee-987f-631d56eb2528",[646,647,648,141,142,166,167,576],"3f9e9b7e-301b-469f-a23d-f038dcfb7b47","4ad86388-efef-4b02-a33e-8bdb13e6df50","93c19229-8ef4-4723-9732-718103646c92",{"head":650,"id":654,"type":137,"uuid":655,"symbolIds":656},{"lang":568,"meta":651,"title":653},{"description":652},"株式会社カカクコムの会社概要などの情報を掲載しています。","会社概要 | 株式会社カカクコム","company\u002Fprofile","6e7f2663-cfe5-4b8e-898c-4a61980fd621",[646,647,648,141,142,166,167,237,143,185,186,576],{"head":658,"id":662,"type":137,"uuid":663,"symbolIds":664},{"lang":568,"meta":659,"title":661},{"description":660},"株式会社カカクコム代表取締役社長・村上敦浩によるメッセージを掲載しています。","トップメッセージ | 株式会社カカクコム","company\u002Fmessage","c41c1899-ab4c-42ab-b2fc-11c7285455a2",[646,647,648,141,142,166,167,186,576],{"head":666,"id":682,"type":137,"uuid":683,"symbolIds":684},{"customCode":667,"lang":568,"meta":679,"title":681},{"headEnd":668},[669,673],{"memo":200,"src":201,"tags":670,"uuid":672},[671],{"children":204,"tagName":99},"72280944-7b45-4a15-996c-65903d8540e2",{"memo":207,"src":674,"tags":675,"uuid":678},"\u003Cstyle>\n  \u002F* ミッション・バリュー 1080px以下でボーダー調整 *\u002F\n  @media screen and (max-width: 1080px) {\n  #value_item #value_catch_bd1.sd,\n  #value_item #value_catch_bd2.sd,\n  #value_item #value_catch_bd3.sd,\n  #value_item #value_catch_bd4.sd {\n      display: none !important;\n    }\n\n  #value_item p.sd{\n      margin-left: 0 !important;\n    }\n  }\n  \n\u003C\u002Fstyle>",[676],{"children":677,"tagName":99},"\u002F* ミッション・バリュー 1080px以下でボーダー調整 *\u002F\n  @media screen and (max-width: 1080px) {\n  #value_item #value_catch_bd1.sd,\n  #value_item #value_catch_bd2.sd,\n  #value_item #value_catch_bd3.sd,\n  #value_item #value_catch_bd4.sd {\n      display: none !important;\n    }\n\n  #value_item p.sd{\n      margin-left: 0 !important;\n    }\n  }","f9003c1b-d864-4a66-919a-bbb137a28f08",{"description":680},"株式会社カカクコムが掲げるミッションとバリューについて掲載しています。","ミッション・バリュー | 株式会社カカクコム","company\u002Fmission","ca256af4-b7fc-4bcd-906b-c0a61a07e88e",[646,647,648,141,142,166,167,143,186,576],{"head":686,"id":690,"type":137,"uuid":691,"symbolIds":692},{"lang":568,"meta":687,"title":689},{"description":688},"株式会社カカクコムの役員に関する略歴などの情報を掲載しています。","役員紹介 | 株式会社カカクコム","company\u002Fofficer","b9c80623-12ff-4dc7-aa82-5754d64765f3",[646,647,648,141,142,166,167,228,143,219,186,576],{"head":694,"id":698,"type":137,"uuid":699,"symbolIds":700},{"lang":568,"meta":695,"title":697},{"description":696},"株式会社カカクコムが掲げるコーポレート・ガバナンスの基本的な取り組みについて紹介します。","コーポレート・ガバナンス | 株式会社カカクコム","company\u002Fgovernance","430216d7-9d0f-4abe-bae0-62938309785c",[646,647,648,141,142,166,167,143,237,186,576],{"head":702,"id":706,"type":137,"uuid":707,"symbolIds":708},{"lang":568,"meta":703,"title":705},{"description":704},"株式会社カカクコムの創業からこれまでの大まかな歴史について紹介します。","カカクコムの歩み | 株式会社カカクコム","company\u002Fhistory","e0052903-78a2-4192-80e3-475db28c5051",[646,647,648,141,142,166,167,143,219,186,576],{"head":710,"id":714,"type":137,"uuid":715,"symbolIds":716},{"lang":568,"meta":711,"title":713},{"description":712},"株式会社カカクコムの大まかな歴史を年表としてまとめています。","企業沿革 | 株式会社カカクコム","company\u002Fstory","38ecc2c6-435e-48bf-8341-b83a2097ab60",[646,647,648,141,142,166,167,186,576],{"head":718,"id":722,"type":137,"uuid":723,"symbolIds":724},{"lang":568,"meta":719,"title":721},{"description":720},"株式会社カカクコムの事業所一覧を掲載しています。","事業所一覧 | 株式会社カカクコム","company\u002Foffice","e60b5e93-e19b-4b1c-bf24-20cb3abb5379",[646,647,648,141,142,166,167,143,185,186,576],{"head":726,"id":730,"type":137,"uuid":731,"symbolIds":732},{"lang":568,"meta":727,"title":729},{"description":728},"株式会社カカクコムのサービスページです。運営サービスを一覧で掲載しています。","サービス | 株式会社カカクコム","service","49ce610d-8061-4e79-8ec6-a3dcc3425491",[646,647,648,141,142,166,167,143,176,576],{"head":734,"id":735,"query":736,"type":137,"uuid":739,"symbolIds":740},{"lang":568,"title":21},"news\u002Fsearch",[737],{"key":738}
343,"q","13cd1c69-bf40-402e-a106-a3c73871185e",[166,167,741,742,576,646,647,648,141,142],"94b94aa6-876c-430d-b7af-e45929ffecf1","c2f17e2c-02ac-42f3-891b-cbf189454485",{"head":744,"id":748,"type":137,"uuid":749,"symbolIds":750},{"lang":568,"meta":745,"title":747},{"description":746},"株式会社カカクコムのお知らせ一覧です。キャンペーン情報などを掲載しています。","お知らせ | 株式会社カカクコム","news\u002Finfo","efa8b367-123c-4fa7-a41e-ce099c044819",[166,646,647,648,141,142,167,741,742,576],{"head":752,"id":756,"type":137,"uuid":757,"symbolIds":758},{"lang":568,"meta":753,"title":755},{"description":754},"株式会社カカクコムのグループニュース一覧です。グループ企業の情報を掲載しています。","グループニュース | 株式会社カカクコム","news\u002Fgroup","4a2bc5a4-dfa7-4f21-9bf4-7178a2137fe1",[166,646,647,648,141,142,167,741,742,576],{"head":760,"id":764,"type":137,"uuid":765,"symbolIds":766},{"lang":568,"meta":761,"title":763},{"description":762},"株式会社カカクコムが発信するプレスリリース一覧です。報道機関・投資家向けの主要情報を掲載しています。","プレスリリース | 株式会社カカクコム","news\u002Fpress","47d021a3-b9a7-4970-a7da-e1870715230b",[166,646,647,648,141,142,167,741,742,576],{"head":768,"id":772,"type":137,"uuid":773,"symbolIds":774},{"lang":568,"meta":769,"title":771},{"description":770},"株式会社カカクコムのニュースページです。プレスリリースを中心に、カカクコムグループからの発表情報を掲載しています。","ニュース | 株式会社カカクコム","news","d6ea2974-b302-41fd-a3ed-25132850e936",[166,646,647,648,141,142,167,741,742,576],{"head":776,"id":787,"type":137,"uuid":788,"symbolIds":789},{"customCode":777,"lang":568,"meta":784,"title":786},{"headEnd":778},[779],{"memo":122,"src":123,"tags":780,"uuid":268},[781,782],{"children":126,"tagName":99},{"attrs":783,"children":130,"tagName":131},{"type":129},{"description":785},"株式会社カカクコムの投資家向け情報ページです。IRリリース、IRライブラリ、業績・利用者情報、株主・株式情報、IRカレンダー、電子公告などの情報を掲載しています。","IR情報 | 株式会社カカクコム","ir","23f8402c-11c0-43f2-a084-a130a5f05f9b",[646,647,648,141,142,166,167,275,276,790,576],"08d47133-82a2-424b-a713-4ebb0b6e0d87",{"head":792,"id":801,"type":137,"uuid":802,"symbolIds":803},{"customCode":793,"lang":568,"meta":798,"title":800},{"bodyEnd":794},[795],{"memo":283,"src":796,"uuid":797},"\u003Cscript>\n  (function() {\n    'use strict';\n  \n    var IframeAutoResize = {\n      \u002F\u002F 設定可能なオプション\n      options: {\n        minHeight: 100,           \u002F\u002F 最小高さ\n        maxHeight: null,          \u002F\u002F 最大高さ(nullは無制限)\n        padding: 0,               \u002F\u002F 追加パディング\n        debug: false,             \u002F\u002F デバッグモード\n        allowedOrigins: ['*'],    \u002F\u002F 許可するオリジン(セキュリティ向上のため具体的なドメインを指定推奨)\n        transitionDuration: '0.3s' \u002F\u002F 高さ変更時のアニメーション\n      },\n      \n      \u002F\u002F 管理対象のiframe\n      managedIframes: new Map(),\n      \n      \u002F**\n        * 初期化\n        * @param {Object} config 設定オプション\n        *\u002F\n      init: function(config) {\n        \u002F\u002F オプションをマージ\n        if (config) {\n          for (var key in config) {\n            if (config.hasOwnProperty(key)) {\n              this.options[key] = config[key];\n            }\n          }\n        }\n        \n        \u002F\u002F postMessageイベントリスナーを登録\n        if (window.addEventListener) {\n          window.addEventListener('message', this.handleMessage.bind(this), false);\n        } else if (window.attachEvent) {\n          window.attachEvent('onmessage', this.handleMessage.bind(this));\n        }\n        \n        if (this.options.debug) {\n          console.log('IframeAutoResize initialized', this.options);\n        }\n      },\n      \n      \u002F**\n        * iframeを管理対象に追加\n        * @param {HTMLIFrameElement|string} iframe iframeエレメントまたはセレクタ\n        * @param {Object} options 個別オプション\n        *\u002F\n      addIframe: function(iframe, options) {\n        var element = typeof iframe === 'string' ? document.querySelector(iframe) : iframe;\n        \n        if (!element || element.tagName.toLowerCase() !== 'iframe') {\n          console.error('Invalid iframe element provided');\n          return false;\n        }\n        \n        \u002F\u002F 個別オプションをマージ\n        var mergedOptions = {};\n        for (var key in this.options) {\n          if (this.options.hasOwnProperty(key)) {\n            mergedOptions[key] = this.options[key];\n          }\n        }\n        if (options) {\n          for (var key in options) {\n            if (options.hasOwnProperty(key)) {\n              mergedOptions[key] = options[key];\n            }\n          }\n        }\n        \n        \u002F\u002F CSSトランジションを設定\n        element.style.transition = 'height ' + mergedOptions.transitionDuration;\n        \n        \u002F\u002F 管理対象に追加\n        this.managedIframes.set(element, mergedOptions);\n        \n        if (this.options.debug) {\n          console.log('Added iframe to management', element, mergedOptions);\n        }\n        \n        return true;\n      },\n      \n      \u002F**\n        * iframeを管理対象から削除\n        * @param {HTMLIFrameElement|string} iframe iframeエレメントまたはセレクタ\n        *\u002F\n      removeIframe: function(iframe) {\n        var element = typeof iframe === 'string' ? document.querySelector(iframe) : iframe;\n        \n        if (this.managedIframes.has(element)) {\n          this.managedIframes.delete(element);\n          element.style.transition = '';\n          \n          if (this.options.debug) {\n            console.log('Removed iframe from management', element);\n          }\n          \n          return true;\n        }\n        \n        return false;\n      },\n      \n      \u002F**\n        * postMessageを処理\n        * @param {MessageEvent} event \n        *\u002F\n      handleMessage: function(event) {\n        \u002F\u002F メッセージの形式をチェック\n        if (!event.data || typeof event.data !== 'object' || event.data.type !== '
343iframe-height') {\n          return;\n        }\n        \n        var height = event.data.height;\n        var origin = event.data.origin;\n        \n        if (typeof height !== 'number' || height \u003C 0) {\n          if (this.options.debug) {\n            console.warn('Invalid height received:', height);\n          }\n          return;\n        }\n        \n        \u002F\u002F オリジンチェック\n        if (!this.isOriginAllowed(event.origin)) {\n          if (this.options.debug) {\n            console.warn('Message from disallowed origin:', event.origin);\n          }\n          return;\n        }\n        \n        \u002F\u002F 送信元iframeを特定\n        var targetIframe = this.findTargetIframe(event.source);\n        \n        if (targetIframe && this.managedIframes.has(targetIframe)) {\n          this.resizeIframe(targetIframe, height);\n        } else if (this.options.debug) {\n          console.warn('Target iframe not found or not managed');\n        }\n      },\n      \n      \u002F**\n        * オリジンが許可されているかチェック\n        * @param {string} origin \n        * @returns {boolean}\n        *\u002F\n      isOriginAllowed: function(origin) {\n        var allowedOrigins = this.options.allowedOrigins;\n        \n        if (allowedOrigins.indexOf('*') !== -1) {\n          return true;\n        }\n        \n        for (var i = 0; i \u003C allowedOrigins.length; i++) {\n          if (allowedOrigins[i] === origin) {\n            return true;\n          }\n        }\n        \n        return false;\n      },\n      \n      \u002F**\n        * メッセージの送信元iframeを特定\n        * @param {Window} source \n        * @returns {HTMLIFrameElement|null}\n        *\u002F\n      findTargetIframe: function(source) {\n        var iframes = this.managedIframes.keys();\n        var iframe;\n        \n        while (!(iframe = iframes.next()).done) {\n          iframe = iframe.value;\n          if (iframe.contentWindow === source) {\n            return iframe;\n          }\n        }\n        \n        return null;\n      },\n      \n      \u002F**\n        * iframeのサイズを変更\n        * @param {HTMLIFrameElement} iframe \n        * @param {number} height \n        *\u002F\n      resizeIframe: function(iframe, height) {\n        var options = this.managedIframes.get(iframe);\n        var currentHeight = parseInt(iframe.style.height) || 0;\n        \n        \u002F\u002F 高さの調整\n        var adjustedHeight = height + options.padding;\n        \n        \u002F\u002F 最小高さ・最大高さの制限\n        if (adjustedHeight \u003C options.minHeight) {\n          adjustedHeight = options.minHeight;\n        }\n        \n        if (options.maxHeight && adjustedHeight > options.maxHeight) {\n          adjustedHeight = options.maxHeight;\n        }\n        \n        \u002F\u002F 現在の高さと比較して、大きな変化がある場合のみ更新(5px以上の差)\n        if (Math.abs(adjustedHeight - currentHeight) >= 5) {\n          \u002F\u002F 高さを設定\n          iframe.style.height = adjustedHeight + 'px';\n          \n          if (options.debug) {\n            console.log('Resized iframe:', iframe, 'from:', currentHeight, 'to:', adjustedHeight);\n          }\n          \n          \u002F\u002F カスタムイベントを発火\n          if (window.CustomEvent) {\n            var event = new CustomEvent('iframeResized', {\n              detail: {\n                iframe: iframe,\n                height: adjustedHeight,\n                originalHeight: height,\n                previousHeight: currentHeight\n              }\n            });\n            document.dispatchEvent(event);\n          }\n        } else if (options.debug) {\n          console.log('Height change too small, skipping resize:', Math.abs(adjustedHeight - currentHeight), 'px');\n        }\n      },\n      \n      \u002F**\n        * 全ての管理対象iframeに高さリセットを要求\n        *\u002F\n      requestHeightUpdate: function() {\n        var iframes = this.managedIframes.keys();\n        var iframe;\n        \n        while (!(iframe = iframes.next()).done) {\n          iframe = iframe.value;
343\n          if (iframe.contentWindow) {\n            iframe.contentWindow.postMessage({\n              type: 'request-height-update'\n            }, '*');\n          }\n        }\n        \n        if (this.options.debug) {\n          console.log('Requested height update for all managed iframes');\n        }\n      }\n    };\n    \n    \u002F\u002F グローバルに公開\n    if (typeof module !== 'undefined' && module.exports) {\n      module.exports = IframeAutoResize;\n    } else {\n      window.IframeAutoResize = IframeAutoResize;\n    }\n    \n  })();\n  \n  \u002F\u002F ライブラリの初期化(本番設定)\n  IframeAutoResize.init({\n    debug: false,  \u002F\u002F 本番ではデバッグ無効\n    padding: 20,\n    minHeight: 300,\n    allowedOrigins: ['*'], \u002F\u002F 実際の運用では具体的なドメインを指定\n    transitionDuration: '0.3s'\n  });\n  \n  \u002F\u002F iframeを管理対象に追加\n  const iframe = document.getElementById('ir-release-iframe');\n  IframeAutoResize.addIframe(iframe, {\n    debug: false,  \u002F\u002F 本番ではデバッグ無効\n    padding: 20,\n    minHeight: 400\n  });\n\u003C\u002Fscript>","2e6caba8-3eb3-44be-9fb8-8ecc6ce95154",{"description":799},"株式会社カカクコムが発信するIRリリース(投資家向けリリース)を掲載しています。","IRニュース | 株式会社カカクコム","ir\u002Frelease-ir","938b2e1b-a5ee-4be4-b37b-7e0e3e167870",[646,647,648,141,142,166,167,275,276,790,576],{"head":805,"id":818,"type":137,"uuid":819,"symbolIds":820},{"customCode":806,"lang":568,"meta":815,"title":817},{"bodyEnd":807,"headEnd":810},[808],{"memo":305,"src":306,"uuid":809},"99ccce57-b707-471b-8791-df5bc9edc38a",[811],{"memo":310,"src":311,"tags":812,"uuid":814},[813],{"children":314,"tagName":99},"f5e2669f-d61a-433b-8328-898f61cce32b",{"description":816},"株式会社カカクコムのIR情報をまとめました。決算短信、有価証券報告書、業績説明資料、個人投資家説明会資料、招集通知、株主通信など。","IRライブラリ | 株式会社カカクコム","ir\u002Flibrary","08264fc4-1619-4852-ad7f-1559d3b2d269",[646,647,648,141,142,166,167,143,237,322,275,276,790,576],{"head":822,"id":833,"type":137,"uuid":834,"symbolIds":835},{"customCode":823,"lang":568,"meta":830,"title":832},{"headEnd":824},[825],{"memo":122,"src":123,"tags":826,"uuid":332},[827,828],{"children":126,"tagName":99},{"attrs":829,"children":130,"tagName":131},{"type":129},{"description":831},"株式会社カカクコムが発信する決算短信を掲載しています。","決算短信年別一覧 | 株式会社カカクコム","ir\u002Flibrary\u002Fir_info","9b3b4279-e0bb-4f15-a6d0-544e37029e09",[646,647,648,141,142,166,167,275,276,790,576],{"head":837,"id":849,"type":137,"uuid":850,"symbolIds":851},{"customCode":838,"lang":568,"meta":846,"title":848},{"headEnd":839},[840],{"memo":122,"src":123,"tags":841,"uuid":845},[842,843],{"children":126,"tagName":99},{"attrs":844,"children":130,"tagName":131},{"type":129},"527b6213-6aef-4e87-b0fc-95572827d8ba",{"description":847},"株式会社カカクコムが発信する有価証券報告書を掲載しています。","有価証券報告書年別一覧 | 株式会社カカクコム","ir\u002Flibrary\u002Fsecurities","0262892c-7fb3-487e-967c-7eb2f37c30eb",[646,647,648,141,142,166,167,275,276,790,576],{"head":853,"id":864,"type":137,"uuid":865,"symbolIds":866},{"customCode":854,"lang":568,"meta":861,"title":863},{"headEnd":855},[856],{"memo":122,"src":123,"tags":857,"uuid":348},[858,859],{"children":126,"tagName":99},{"attrs":860,"children":130,"tagName":131},{"type":129},{"description":862},"株式会社カカクコムが発信する業績説明資料を掲載しています。","業績説明資料年別一覧 | 株式会社カカクコム","ir\u002Flibrary\u002Fmaterials","70eab41d-98e7-4d6c-8c12-5a2b400bbcfb",[646,647,648,141,142,166,167,275,276,790,576],{"head":868,"id":880,"type":137,"uuid":881,"symbolIds":882},{"customCode":869,"lang":568,"meta":877,"title":879},{"headEnd":870},[871],{"memo":122,"src":123,"tags":872,"uuid":876},[873,874],{"children":126,"tagName":99},{"attrs":875,"children":130,"tagName":131},{"type":129},"486a4020-c70e-4db5-a5bf-b91cb98800ab",{"description":878},"株式会社カカクコムが発信する個人投資家説明資料を掲載しています。","個人投資家説明資料一覧 | 株式会社カカクコム","ir\u002Flibrary\u002Fpresentation","a0c96dbe-6537-4c6b-ac4e-49faef40804a",[646,647,648,141,142,166,167,275,276,790,576],{"head":884,"id":894,"type":137,"uuid":895,"symbolIds":896},{"customCode":885,"lang":568,"meta":891,"title":893},{"headEnd":886},[887],{"memo":310,"src":360,"tags":888,"uuid":890},[889],{"children":363,"tagName":99},"91777192-386d-4623-97dc-11bdc7778322",{"description":892},"株式会社カカクコムが発信する招集通知を掲載しています。","招集通知 | 株式会社カカクコム","ir\u002Flibrary\u002Fmeeting","fdf573a4-d870-4956-aa97-c95a901c482b",[646,647,648,141,142,166,167,143,237,275,276,790,576],{"head":898,"id":902,"type":137,"uuid":903,"symbolIds":904},{"lang":568,"meta":899,"title":901},{"description":900},"株式会社カカクコムが発信する中期経営計画を掲載しています。","中期経営計画 | 株式会社カカクコム","ir\u002Flibrary\u002Fmanagementplan","7d4f9705-e9fc-486a-9adf-173ae1751c36",[646,647,648,141,142,166,167,143,275,276,790,576],{"head":906,"id":910,"type":137,"uuid":911,"symbolIds":912},{"lang":568,"meta":907,"title":909},{"description":908},"株式会社カカクコムが発行する株式に関する情報ページです。発行されている株式の数や株主数、主要株主などの情報を掲載しています。","株式の情報 | 株式会社カカクコム","ir\u002Fstock\u002Finfo","53d3eb6c-d0c3-40bd-9ed5-d74dc904fcb2",[646,647,648,141,142,166,167,143,275,276,790,576],{"head":914,"id":918,"type":137,"uuid":919,"symbolIds":920},{"lang":133,"meta":915,"title":917},{"description":916},"This section summarizes the benefits of being a shareholder of Kakaku.com, Inc., including dividends.","Shareholder Returns | Kakaku.com","en\u002Fir\u002Fstock\u002Fmerit","45fc3911-423b-458e-8e0f-3161bf9449f2",[165,141,142,166,167,143,277,275,276,147],{"head":922,"id":926,"type":137,"uuid":927,"symbolIds":928},{"lang":568,"meta":923,"title":925},{"description":924},"株式会社カカクコムの株主となることで得られるメリットについてまとめました。配当金の推移などの情報を掲載しています。","株主還元 | 株式会社カカクコム","ir\u002Fstock\u002Fmerit","e222164b-6dc5-4f96-8c79-ff013603afc8",[646,647,648,141,142,166,167,143,275,276,790,576],{"head":930,"id":934,"type":137,"uuid":935,"symbolIds":936},{"lang":568,"meta":931,"title":933},{"description":932},"株式会社カカクコムのカバーアナリストの一覧を掲載しています。","アナリストカバレッジ | 株式会社カカクコム","ir\u002Fstock\u002Fanalyst","294369aa-6b1e-43a1-ae8a-fc0b81641e74",[646,647,648,141,142,166,167,275,276,790,576],{"head":938,"id":949,"type":137,"uuid":950,"symbolIds":951},{"customCode":939,"lang":568,"meta":946,"title":948},{"headEnd":940},[941],{"memo":122,"src":123,"tags":942,"uuid":388},[943,944],{"children":126,"tagName":99},{"attrs":945,"children":130,"tagName":131},{"type":129},{"description":947},"株式会社カカクコムの業績についてわかりやすくまとめました。通期の業績と、四半期の業績のグラフを掲載しています。","業績ハイライト | 株式会社カカクコム","ir\u002Ffinance\u002Fhighlight_annual","7d64562a-4e1a-4e86-a255-112f86b259c0",[646,647,648,141,142,166,167,143,952,953,275,276,790,576],"a1d6d9a1-3701-48fa-b927-8fdc8459c102","0e08c302-7f4a-4a34-bef6-3b58d0d9d56d",{"head":955,"id":964,"type":137,"uuid":965,"symbolIds":966}
343,{"customCode":956,"lang":568,"meta":963,"title":948},{"headEnd":957},[958],{"memo":122,"src":123,"tags":959,"uuid":406},[960,961],{"children":126,"tagName":99},{"attrs":962,"children":130,"tagName":131},{"type":129},{"description":947},"ir\u002Ffinance\u002Fhighlight_quarterly","0b1480bd-387e-47ad-848b-63dfd96dec13",[646,647,648,141,142,166,167,143,952,953,275,276,790,576],{"head":968,"id":979,"type":137,"uuid":980,"symbolIds":981},{"customCode":969,"lang":568,"meta":976,"title":978},{"headEnd":970},[971],{"memo":122,"src":123,"tags":972,"uuid":420},[973,974],{"children":126,"tagName":99},{"attrs":975,"children":130,"tagName":131},{"type":129},{"description":977},"株式会社カカクコムの財務状況です。投資家向けに公開された詳細な財務情報を掲載しています。","財務状況 | 株式会社カカクコム","ir\u002Ffinance\u002Ffinancial_position","4cc87cc9-a3ab-4726-86f7-695d59803016",[646,647,648,141,142,166,167,143,952,275,276,790,576],{"head":983,"id":994,"type":137,"uuid":995,"symbolIds":996},{"customCode":984,"lang":568,"meta":991,"title":993},{"headEnd":985},[986],{"memo":122,"src":123,"tags":987,"uuid":436},[988,989],{"children":126,"tagName":99},{"attrs":990,"children":130,"tagName":131},{"type":129},{"description":992},"株式会社カカクコムのキャッシュ・フローの状況です。投資家向けに公開された詳細なキャッシュ・フローの状況を掲載しています。","キャッシュ・フローの状況 | 株式会社カカクコム","ir\u002Ffinance\u002Fcashflow","a33d4b09-2163-4241-8ae8-a72c93ac44ae",[646,647,648,141,142,166,167,143,952,275,276,790,576],{"head":998,"id":1006,"type":137,"uuid":1007,"symbolIds":1008},{"customCode":999,"lang":568,"meta":1003,"title":1005},{"bodyEnd":1000},[1001],{"memo":122,"src":306,"uuid":1002},"2ed39d73-3c97-4f08-a1a3-c35cb899eae9",{"description":1004},"株式会社カカクコムの投資家向けの年間スケジュールを掲載しています。","IRカレンダー | 株式会社カカクコム","ir\u002Fcalendar","fdaf3d56-09fb-48e6-8089-4afac53cce02",[646,647,648,141,142,166,167,275,276,790,576],{"head":1010,"id":1014,"type":137,"uuid":1015,"symbolIds":1016},{"lang":568,"meta":1011,"title":1013},{"description":1012},"株式会社カカクコムが発信する電子公告を掲載しています。","電子公告 | 株式会社カカクコム","ir\u002Fannounce","735c9e19-4785-4d09-b6b3-665cdf443d0d",[646,647,648,141,142,166,167,275,276,790,576],{"head":1018,"id":1022,"type":137,"uuid":1023,"symbolIds":1024},{"lang":568,"meta":1019,"title":1021},{"description":1020},"株式会社カカクコムが発信する投資家向け情報のディスクロージャーポリシーを掲載しています。","ディスクロージャーポリシー | 株式会社カカクコム","ir\u002Fdisclosure","16506676-d80d-40ca-8660-ebbe5182519e",[646,647,648,141,142,166,167,275,276,790,576],{"head":1026,"id":1035,"type":137,"uuid":1036,"symbolIds":1037},{"customCode":1027,"lang":568,"meta":1032,"title":1034},{"headEnd":1028},[1029],{"memo":484,"src":485,"tags":1030,"uuid":489},[1031],{"children":488,"tagName":99},{"description":1033},"株式会社カカクコムに寄せられる投資家からの質問で多いものをQ&A形式で掲載しています。お問い合わせの前に参照ください。","よくあるご質問 | 株式会社カカクコム","ir\u002Ffaq","f57d085c-f657-4757-900b-11fd79b1a4f2",[646,647,648,141,142,166,167,143,219,496,275,276,790,576],{"head":1039,"id":1043,"type":137,"uuid":1044,"symbolIds":1045},{"lang":568,"meta":1040,"title":1042},{"description":1041},"株式会社カカクコムのサステナビリティページです。サステナブルな社会の実現に向けた取り組みについて掲載しています。","サステナビリティ | 株式会社カカクコム","sustainability","206000f8-3656-4ccc-8253-caf7d3f6c83e",[646,647,648,141,142,166,167,143,1046,237,322,576],"fc3ed201-bf2f-44ae-978d-d3263318fd4b",{"head":1048,"id":1052,"type":137,"uuid":1053,"symbolIds":1054},{"lang":568,"meta":1049,"title":1051},{"description":1050},"株式会社カカクコムのマテリアリティ(重要課題)への
343取り組みについて掲載しています。","マテリアリティ(重要課題) | 株式会社カカクコム","sustainability\u002Fmateriality","f54096b2-8e80-4267-8168-6aa88b8b3d31",[646,647,648,141,142,166,167,143,219,1055,1056,1057,1058,1059,576],"bc606174-e752-4380-8c1e-588a8d58610f","a65a32b7-4b6d-40f9-9082-32a3daf75120","6b712fd6-16e3-4f72-a151-a8ee5ba2149c","e4927353-88ce-49da-a2ba-3e7d88a56400","86b4d2d4-720b-469e-8839-60eb55495cb3",{"head":1061,"id":1066,"type":137,"uuid":1067,"symbolIds":1068},{"lang":568,"meta":1062,"title":1065},{"description":1063,"robots":1064},"株式会社カカクコムのサステナビリティデータについて掲載しています。","noindex","サステナビリティデータ | 株式会社カカクコム","sustainability\u002Fdata","445ecc8b-b114-4a99-acc9-2ea5e7cb0796",[646,647,648,141,142,166,167,143,496,1056,1057,1058,1059,576],{"head":1070,"id":1074,"type":137,"uuid":1075,"symbolIds":1076},{"lang":568,"meta":1071,"title":1073},{"description":1072},"株式会社カカクコムの「環境」の取り組みに関するページです。 ","環境 | 株式会社カカクコム","sustainability\u002Fenvironment","c7f088e9-3312-42f8-bfc4-72c216f42a48",[646,647,648,141,142,166,167,219,322,1056,1057,1058,1059,576],{"head":1078,"id":1082,"type":137,"uuid":1083,"symbolIds":1084},{"lang":568,"meta":1079,"title":1081},{"description":1080},"カカクコムグループ環境基本方針を掲載しています。","カカクコムグループ環境基本方針 | 株式会社カカクコム","sustainability\u002Fenvironment\u002Fenvironmentpolicy","d200fb3e-60b6-47ef-92b4-2ae45d09f505",[646,647,648,141,142,166,167,1056,1057,1058,1059,576],{"head":1086,"id":1096,"type":137,"uuid":1097,"symbolIds":1098},{"customCode":1087,"lang":568,"meta":1093,"title":1095},{"bodyEnd":1088},[1089],{"memo":1090,"src":1091,"uuid":1092},"スクロールバーとツールチップ","\u003Cscript>\n\u002F\u002F スクロールバー制御スクリプト(複数要素対応版)\n(function () {\n  \"use strict\";\n\n  \u002F\u002F 複数のスクロールバー要素とツールチップ要素を取得\n  function getScrollBarElements() {\n    const elements = [];\n    \n    \u002F\u002F 基本的な要素をチェック\n    const basicScrollBar = document.getElementById(\"scroll-bar\");\n    const basicTooltip = document.getElementById(\"tooltip\");\n    if (basicScrollBar && basicTooltip) {\n      elements.push({ scrollBar: basicScrollBar, tooltip: basicTooltip, id: \"scroll-bar\" });\n    }\n    \n    \u002F\u002F 番号付きの要素をチェック(最大10個まで)\n    for (let i = 1; i \u003C= 10; i++) {\n      const scrollBar = document.getElementById(`scroll-bar-${i}`);\n      const tooltip = document.getElementById(`tooltip-${i}`);\n      if (scrollBar && tooltip) {\n        elements.push({ scrollBar: scrollBar, tooltip: tooltip, id: `scroll-bar-${i}` });\n      }\n    }\n    \n    return elements;\n  }\n\n  const scrollBarElements = getScrollBarElements();\n\n  if (scrollBarElements.length === 0) {\n    console.warn(\"scroll-bar-script: スクロールバー要素が見つかりません\");\n    return;\n  }\n\n  console.log(`scroll-bar-script: ${scrollBarElements.length}個のスクロールバー要素を検出`);\n\n  \u002F\u002F スクロールバーのスタイル設定(常時表示)\n  function setupScrollBarStyles() {\n    \u002F\u002F 各スクロールバー要素にスタイルを適用\n    scrollBarElements.forEach(({ scrollBar, tooltip, id }) => {\n      \u002F\u002F 横スクロールバーを常時表示\n      scrollBar.style.overflowX = \"scroll\";\n      scrollBar.style.overflowY = \"hidden\";\n      \n      \u002F\u002F ツールチップの位置基準点として設定\n      scrollBar.style.position = \"relative\";\n\n      \u002F\u002F スクロールバーのスタイリング\n      scrollBar.style.scrollbarWidth = \"thin\";\n      scrollBar.style.scrollbarColor = \"#ccc #f5f5f5\";\n    });\n\n    \u002F\u002F Webkit系ブラウザ用のスクロールバースタイル\n    const style = document.createElement(\"style\");\n    style.textContent = `\n            \u002F* 基本のスクロールバー *\u002F\n            #scroll-bar {\n                position: relative !important;\n            }\n            #scroll-bar::-webkit-scrollbar {\n                height: 8px;\n            }\n            #scroll-bar::-webkit-scrollbar-track {\n                background: #f5f5f5;\n                border-radius: 4px;\n            }\n            #scroll-bar::-webkit-scrollbar-thumb {\n                background: #ccc;\n                border-radius: 4px;\n            }\n            #scroll-bar::-webkit-scrollbar-thumb:hover {\n                background: #999;\n            }\n            \n            \u002F* 番号付きスクロールバー *\u002F\n            [id^=\"scroll-bar-\"] {\n                position: relative !important;\n            }\n            [id^=\"scroll-bar-\"]::-webkit-scrollbar {\n                height: 8px;\n            }\n            [id^=\"scroll-bar-\"]::-webkit-scrollbar-track {\n                background: #f5f5f5;\n                border-radius: 4px;\n            }\n            [id^=\"scroll-bar-\"]::-webkit-scrollbar-thumb {\n                background: #ccc;\n                border-radius: 4px;\n            }\n            [id^=\"scroll-bar-\"]::-webkit-scrollbar-thumb:hover {\n                background: #999;\n            }\n            \n            \u002F* ツールチップの位置設定 *\u002F\n            #tooltip, [id^=\"tooltip-\"] {\n                position: absolute !important;\n                top: 50% !important;\n                left: 50% !important;\n                transform: translate(-50%, -50%) !important;\n                z-index: 10000 !important;\n                pointer-events: none !important;\n                transition: all 0.3s ease !important;\n            }\n            \n            \u002F* PC・タブレットサイズでtooltip-1, tooltip-2を非表示 *\u002F\n            @media (min-width: 768px) {\n                #tooltip-1, #tooltip-2 {\n                    display: none !important;\n                    visibility: hidden !important;\n                    opacity: 0 !important;\n                }\n            }\n        `;\n    document.head.appendChild(style);\n  }\n\n  \u002F\u002F ツールチップの非表示処理\n  function hideTooltip(tooltip) {\n    if (tooltip) {\n      tooltip.style.display = \"none\";\n      tooltip.style.visibility = \"hidden\";\n      tooltip.style.opacity = \"0\";\n      tooltip.style.transform = \"translate(-50%, -50%) scale(0.8)\";\n    }\n  }\n\n  \u002F\u002F 画面サイズをチェックする関数\n  function isMobileSize() {\n    return window.innerWidth \u003C 768;\n  }\n\n  \u002F\u002F ツールチップの表示処理\n  function showTooltip(tooltip) {\n    if (tooltip) {\n      \u002F\u002F tooltip-1, tooltip-2はPC・タブレットサイズでは表示しない\n      if ((tooltip.id === 'tooltip-1' || tooltip.id === 'tooltip-2') && !isMobileSize()) {\n        return;\n      }\n      \n      \u002F\u002F 位置を確実に設定(#scroll-bar内の中央)\n      tooltip.style.position = \"absolute\";\n      tooltip.style.top = \"50%\";\n      tooltip.style.left = \"50%\";\n      tooltip.style.transform = \"translate(-50%, -50%) scale(1)\";\n      tooltip.style.zIndex = \"10000\";\n      tooltip.style.pointerEvents = \"none\";\n      \n      tooltip.style.display = \"block\";\n      tooltip.style.visibility = \"visible\";\n      tooltip.style.opacity = \"1\";\n    }\n  }\n\n  \u002F\u002F スクロールイベントの処理\n  function handleScroll(scrollBar, tooltip) {\n    \u002F\u002F 横スクロールが発生したらツールチップを非表示\n    hideTooltip(tooltip);\n\n    \u002F\u002F スクロールが停止したら少し遅延してツールチップを再表示\n    clearTimeout(scrollBar.scrollTimeout);\n    scrollBar.scrollTimeout = setTimeout(() =>
343 {\n      showTooltip(tooltip);\n    }, 1000); \u002F\u002F 1秒後に再表示\n  }\n\n  \u002F\u002F マウスイベントの処理\n  function handleMouseEnter(tooltip) {\n    \u002F\u002F tooltip-1, tooltip-2はPC・タブレットサイズでは表示しない\n    if ((tooltip.id === 'tooltip-1' || tooltip.id === 'tooltip-2') && !isMobileSize()) {\n      return;\n    }\n    \u002F\u002F マウスが入ったらツールチップを表示\n    showTooltip(tooltip);\n  }\n\n  function handleMouseLeave(tooltip) {\n    \u002F\u002F マウスが出たらツールチップを非表示\n    hideTooltip(tooltip);\n  }\n\n  \u002F\u002F ウィンドウリサイズ時の処理\n  function handleResize() {\n    \u002F\u002F 各ツールチップの表示状態を画面サイズに応じて更新\n    scrollBarElements.forEach(({ tooltip }) => {\n      if (tooltip) {\n        \u002F\u002F tooltip-1, tooltip-2はPC・タブレットサイズでは非表示\n        if ((tooltip.id === 'tooltip-1' || tooltip.id === 'tooltip-2') && !isMobileSize()) {\n          hideTooltip(tooltip);\n        } else if (tooltip.style.display !== \"none\") {\n          \u002F\u002F その他のツールチップは表示状態を維持\n          showTooltip(tooltip);\n        }\n      }\n    });\n  }\n\n  \u002F\u002F 初期化関数\n  function initScrollBarControl() {\n    \u002F\u002F スクロールバーのスタイル設定\n    setupScrollBarStyles();\n\n    \u002F\u002F 各スクロールバー要素にイベントリスナーを設定\n    scrollBarElements.forEach(({ scrollBar, tooltip, id }) => {\n      \u002F\u002F スクロールイベント\n      scrollBar.addEventListener(\"scroll\", () => handleScroll(scrollBar, tooltip), { passive: true });\n      \n      \u002F\u002F マウスイベント\n      scrollBar.addEventListener(\"mouseenter\", () => handleMouseEnter(tooltip));\n      scrollBar.addEventListener(\"mouseleave\", () => handleMouseLeave(tooltip));\n      \n      \u002F\u002F 初期状態でツールチップを表示\n      showTooltip(tooltip);\n      \n      console.log(`scroll-bar-script: ${id} の初期化完了`);\n    });\n    \n    \u002F\u002F ウィンドウリサイズイベント\n    window.addEventListener(\"resize\", handleResize, { passive: true });\n\n    console.log(`scroll-bar-script: 全体の初期化完了 (${scrollBarElements.length}個の要素)`);\n  }\n\n  \u002F\u002F DOM読み込み完了後に初期化\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initScrollBarControl);\n  } else {\n    initScrollBarControl();\n  }\n\n  \u002F\u002F ページ遷移時の再初期化\n  const originalPushState = history.pushState;\n  const originalReplaceState = history.replaceState;\n\n  history.pushState = function () {\n    originalPushState.apply(history, arguments);\n    setTimeout(initScrollBarControl, 100);\n  };\n\n  history.replaceState = function () {\n    originalReplaceState.apply(history, arguments);\n    setTimeout(initScrollBarControl, 100);\n  };\n\n  \u002F\u002F グローバル関数として公開(デバッグ用)\n  window.scrollBarControl = {\n    hideTooltip: (tooltipId) => {\n      const element = scrollBarElements.find(el => el.tooltip.id === tooltipId);\n      if (element) hideTooltip(element.tooltip);\n    },\n    showTooltip: (tooltipId) => {\n      const element = scrollBarElements.find(el => el.tooltip.id === tooltipId);\n      if (element) showTooltip(element.tooltip);\n    },\n    hideAllTooltips: () => {\n      scrollBarElements.forEach(({ tooltip }) => hideTooltip(tooltip));\n    },\n    showAllTooltips: () => {\n      scrollBarElements.forEach(({ tooltip }) => showTooltip(tooltip));\n    },\n    reinit: initScrollBarControl,\n    getElements: () => scrollBarElements,\n  };\n})();\n\u003C\u002Fscript>","b5a6a26a-44ab-48b0-941e-fbb909f8e5a3",{"description":1094},"株式会社カカクコムの気候変動への対応について掲載しています。","気候変動への対応 | 株式会社カカクコム","sustainability\u002Fenvironment\u002Fclimate","c8626f93-6a85-435d-af8b-30b190d101a5",[646,647,648,141,142,166,167,143,219,496,237,1056,1057,1058,1059,576],{"head":1100,"id":1104,"type":137,"uuid":1105,"symbolIds":1106},{"lang":568,"meta":1101,"title":1103},{"description":1102},"株式会社カカクコムの循環型社会の実現を目指した取り組みについて掲載しています。","社会との連携 | 株式会社カカクコム","sustainability\u002Fenvironment\u002Falignment","f327061f-4d4f-4231-94d9-3703f28c24f1",[646,647,648,141,142,166,167,143,1056,1057,1058,1059,576],{"head":1108,"id":1112,"type":137,"uuid":1113,"symbolIds":1114},{"lang":568,"meta":1109,"title":1111},{"description":1110},"株式会社カカクコムの「社会」の取り組みに関するページです。 ","社会 | 株式会社カカクコム","sustainability\u002Fsociety","b13b184a-365f-4e58-969d-b5849a307a81",[646,647,648,141,142,166,167,1056,1057,1058,1059,576],{"head":1116,"id":1120,"type":137,"uuid":1121,"symbolIds":1122},{"lang":568,"meta":1117,"title":1119},{"description":1118},"カカクコムグループ人権基本方針について掲載しています。","カカクコムグループ人権基本方針| 株式会社カカクコム","sustainability\u002Fsociety\u002Fhumanrightspolicy","e8939a07-6778-480c-bd33-959da5f0f4ee",[646,647,648,141,142,166,167,1056,1057,1058,1059,576],{"head":1124,"id":1128,"type":137,"uuid":1129,"symbolIds":1130},{"lang":568,"meta":1125,"title":1127},{"description":1126},"カカクコムグループAI倫理基本方針について掲載しています。","カカクコムグループAI倫理基本方針 | 株式会社カカクコム","sustainability\u002Fsociety\u002Faiethicspolicy","92618c94-c579-4a59-a2e3-e5b7589d5635",[646,647,648,141,142,166,167,1056,1057,1058,1059,576],{"head":1132,"id":1136,"type":137,"uuid":1137,"symbolIds":1138},{"lang":568,"meta":1133,"title":1135},{"description":1134},"カスタマーハラスメントに対する基本方針について掲載しています。","カスタマーハラスメントに対する基本方針 | 株式会社カカクコム","sustainability\u002Fsociety\u002Fcustomerharassmentpolicy","3c9d397d-8f59-4a09-9462-d29df8ccfdfc",[646,647,648,141,142,166,167,1056,1057,1058,1059,576],{"head":1140,"id":1144,"type":137,"uuid":1145,"symbolIds":1146},{"lang":568,"meta":1141,"title":1143},{"description":1142},"株式会社カカクコムの人権尊重の取り組みについて掲載しています。","人権尊重 | 株式会社カカクコム","sustainability\u002Fsociety\u002Fhumanrights","44d318cf-5e1b-4481-a8ea-a638ead1929c",[646,647,648,141,142,166,167,143,219,322,1056,1057,1058,1059,576],{"head":1148,"id":1152,"type":137,"uuid":1153,"symbolIds":1154},{"lang":568,"meta":1149,"title":1151}
343,{"description":1150},"株式会社カカクコムの責任あるAIの取り組みについて掲載しています。","責任あるAI | 株式会社カカクコム","sustainability\u002Fsociety\u002Fresponsibleai","ea8d6ebe-f067-487c-88e0-5cf6363ac278",[646,647,648,141,142,166,167,143,219,322,496,1056,1057,1058,1059,576],{"id":1156,"isCreatedInV4":23,"redirectTo":1157,"type":257,"uuid":1158},"ir\u002Fstock","\u002Fir\u002Fstock\u002Finfo","152fb6bd-e337-4191-8471-4be8c03d4ebd",{"id":1160,"isCreatedInV4":23,"redirectTo":1161,"type":257,"uuid":1162},"ir\u002Findividual\u002Fhighlight","\u002Fir\u002Ffinance\u002Fhighlight_annual","f7778e2a-85c8-4d27-ba5c-a391a5068866",{"id":1164,"isCreatedInV4":23,"redirectTo":1165,"type":257,"uuid":1166},"ir\u002Findividual\u002Festablishment","\u002Fcompany\u002Fhistory","39ced307-c900-4bcf-92ec-b31d99e90311",{"id":1168,"isCreatedInV4":23,"redirectTo":1169,"type":257,"uuid":1170},"ir\u002Findividual\u002Fmission","\u002Fcompany\u002Fmission","dcb13185-ba25-44c7-8612-d7c3983101b7",{"id":1172,"isCreatedInV4":23,"redirectTo":1173,"type":257,"uuid":1174},"ir\u002Findividual\u002Fmessage","\u002Fcompany\u002Fmessage","05cff46d-6504-44a8-a121-cdac83370984",{"id":1176,"isCreatedInV4":23,"redirectTo":1177,"type":257,"uuid":1178},"ir\u002Findividual","\u002Fir","d6886853-9245-4d00-a987-7d71cf52f3da",{"id":1180,"isCreatedInV4":23,"redirectTo":1181,"type":257,"uuid":1182},"ir\u002Foverview","\u002Fservice","26d3afbb-eb58-45ab-a77f-103c6bc862c3",{"id":1184,"isCreatedInV4":23,"redirectTo":1185,"type":257,"uuid":1186},"ir\u002Ffinance\u002Ffinancial_positio","\u002Fir\u002Ffinance\u002Ffinancial_position","832168c0-88ba-408c-871d-5326c8bdbc92",{"id":1188,"isCreatedInV4":23,"redirectTo":1161,"type":257,"uuid":1189},"ir\u002Ffinance\u002Fhighlight","c3d8a0e7-9a75-4ec8-8b1d-3a268fad47b2",{"id":1191,"isCreatedInV4":23,"redirectTo":1161,"type":257,"uuid":1192},"ir\u002Ffinance","a66214f8-d104-41d4-be83-38b767c2efe7",{"id":1194,"isCreatedInV4":23,"redirectTo":1195,"type":257,"uuid":1196},"ir\u002Flibrary\u002Fnotice","\u002Fir\u002Flibrary\u002Fmeeting","5460de66-dc09-4981-9d8a-bbe29712de16",{"id":1198,"isCreatedInV4":23,"redirectTo":1199,"type":257,"uuid":1200},"press\u002Ftopics","\u002Fnews\u002Fgroup","d9d10641-72d0-4153-99f9-60705b40f6c7",{"id":1202,"isCreatedInV4":23,"redirectTo":1203,"type":257,"uuid":1204},"press","\u002Fnews","a2f3c1e9-03f4-45c0-818d-8b19589f53f7",{"id":1206,"isCreatedInV4":23,"redirectTo":1203,"type":257,"uuid":1207},"press\u002Frecord","6b729921-f634-41b8-a0ee-1084ba038cce",{"id":1209,"isCreatedInV4":23,"redirectTo":1181,"type":257,"uuid":1210},"press\u002Fmission","49b79fa0-2fbf-4113-84cf-58b8725007b9",{"id":1212,"isCreatedInV4":23,"redirectTo":1213,"type":257,"uuid":1214},"company\u002Fmap","\u002Fcompany\u002Foffice","324ecfe3-50fb-4098-ab42-7daa889fabee",{"id":1216,"isCreatedInV4":23,"redirectTo":1165,"type":257,"uuid":1217},"company\u002Festablishment","b6110b89-e4b0-44d4-9b4b-46ee5c158ef7",{"id":1219,"isCreatedInV4":23,"redirectTo":1169,"type":257,"uuid":1220},"company\u002Fpolicy","b81b8b42-55d0-45aa-a145-72b3fa41ad5d",{"id":1222,"isCreatedInV4":23,"redirectTo":1181,"type":257,"uuid":1223},"company\u002Fservice","57acf446-f5ca-4519-b3d6-5320d307fd11",{"head":1225,"id":1229,"type":137,"uuid":1230,"symbolIds":1231},{"lang":568,"meta":1226,"title":1228},{"description":1227},"株式会社カカクコムの人材育成方針について掲載しています。","人材育成 | 株式会社カカクコム","sustainability\u002Fsociety\u002Fnurturing","62672f40-8a2b-4bf2-b675-943698c6eac3",[646,647,648,141,142,166,167,143,219,496,1056,1057,1058,1059,576],{"head":1233,"id":1245,"type":137,"uuid":1246,"symbolIds":1247},{"customCode":1234,"lang":568,"meta":1242,"title":1244},{"headEnd":1235},[1236],{"memo":484,"src":1237,"tags":1238,"uuid":1241},"\u003Cstyle>\n.richText p {\n  font-family: var(--s-font-6cbe308b);\n  font-size: 16px;\n  font-weight: 500 !important;\n  line-height: 1.7;\n}\n.richText a:hover {\n  color: transparent !important;\n  background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n  background-clip: text;\n  -webkit-background-clip: text;\n}\n@media screen and (max-width: 840px) {\n  .richText p {\n    font-size: 14px;\n    font-weight: 400 !important;\n  }\n}\n\u003C\u002Fstyle>",[1239],{"children":1240,"tagName":99},".richText p {\n  font-family: var(--s-font-6cbe308b);\n  font-size: 16px;\n  font-weight: 500 !important;\n  line-height: 1.7;\n}
343\n.richText a:hover {\n  color: transparent !important;\n  background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n  background-clip: text;\n  -webkit-background-clip: text;\n}\n@media screen and (max-width: 840px) {\n  .richText p {\n    font-size: 14px;\n    font-weight: 400 !important;\n  }\n}","c67ca6e3-f865-4a7f-86d5-5b32fc7b3bca",{"description":1243},"株式会社カカクコムのダイバーシティ・エクイティ&インクルージョンへの取り組みについて掲載しています。","ダイバーシティ・エクイティ&インクルージョン | 株式会社カカクコム","sustainability\u002Fsociety\u002Fdeandi","ac060806-eb90-4807-a7c5-24a2d947fb24",[646,647,648,141,142,166,167,143,219,1056,1057,1058,1059,576],{"head":1249,"id":1253,"type":137,"uuid":1254,"symbolIds":1255},{"lang":568,"meta":1250,"title":1252},{"description":1251},"株式会社カカクコムの労働安全衛生への取り組みについて掲載しています。","労働安全衛生 | 株式会社カカクコム","sustainability\u002Fsociety\u002Fhealthandsafety","7591723e-648a-4eef-8f1f-198d22a41e00",[646,647,648,141,142,166,167,143,219,1056,1057,1058,1059,576],{"head":1257,"id":1261,"type":137,"uuid":1262,"symbolIds":1263},{"lang":568,"meta":1258,"title":1260},{"description":1259},"株式会社カカクコムのサービス品質保全・向上への取り組みについて掲載しています。","品質保全・向上 | 株式会社カカクコム","sustainability\u002Fsociety\u002Fpreservationimprovement","7b4e6d6d-3fa9-4486-88f0-9c34ddd53a62",[646,647,648,141,142,166,167,143,219,496,322,185,1056,1057,1058,1059,576],{"head":1265,"id":1269,"type":137,"uuid":1270,"symbolIds":1271},{"lang":568,"meta":1266,"title":1268},{"description":1267},"株式会社カカクコムの事業を通じた社会貢献への取り組みについて掲載しています。","事業を通じた社会貢献 | 株式会社カカクコム","sustainability\u002Fsociety\u002Fbusiness","5679f7b2-e946-4343-a757-a5b30772b080",[646,647,648,141,142,166,167,143,185,1056,1057,1058,1059,576],{"id":1273,"isCreatedInV4":23,"redirectTo":1274,"type":257,"uuid":1275},"sustainability\u002Fsociety\u002Fdisclosure","\u002Fsustainability\u002Fsociety\u002Fbusiness","c9d4e2ed-69bf-49fd-9466-4be3c017c45f",{"head":1277,"id":1281,"type":137,"uuid":1282,"symbolIds":1283},{"lang":568,"meta":1278,"title":1280},{"description":1279},"株式会社カカクコムの「ガバナンス」の取り組みに関するページです。","ガバナンス | 株式会社カカクコム","sustainability\u002Fgovernance","6cc624be-3ac2-4496-b7c6-e35347dedf5d",[646,647,648,141,142,166,167,1056,1057,1058,1059,576],{"head":1285,"id":1289,"type":137,"uuid":1290,"symbolIds":1291},{"lang":568,"meta":1286,"title":1288},{"description":1287},"株式会社カカクコムの情報セキュリティ基本方針を掲載しています。","情報セキュリティ基本方針 | 株式会社カカクコム","sustainability\u002Fgovernance\u002Finfosecuritypolicy","6d2f0883-b041-407b-a288-6884528bbf02",[646,647,648,141,142,166,167,1056,1057,1058,1059,576],{"head":1293,"id":1297,"type":137,"uuid":1298,"symbolIds":1299},{"lang":568,"meta":1294,"title":1296},{"description":1295},"株式会社カカクコムのガバナンス体制におけるリスクマネジメントについて掲載しています。","リスクマネジメント | 株式会社カカクコム","sustainability\u002Fgovernance\u002Friskmanagement","ee14ddce-301f-4265-8bc4-92cc51ce0609",[646,647,648,141,142,166,167,143,219,496,1056,1057,1058,1059,576],{"head":1301,"id":1305,"type":137,"uuid":1306,"symbolIds":1307},{"lang":568,"meta":1302,"title":1304},{"description":1303},"株式会社カカクコムのガバナンス体制における企業倫理・コンプライアンスの取り組みについて掲載しています。","企業倫理・コンプライアンス | 株式会社カカクコム","sustainability\u002Fgovernance\u002Fethics","c2b5929d-d894-45f5-989e-8247403de66f",[646,647,648,141,142,166,167,143,1056,1057,1058,1059,576],{"head":1309,"id":1313,"type":137,"uuid":1314,"
343symbolIds":1315},{"lang":568,"meta":1310,"title":1312},{"description":1311},"株式会社カカクコムのガバナンス体制における情報セキュリティ対策・運用管理体制について掲載しています。","情報セキュリティ | 株式会社カカクコム","sustainability\u002Fgovernance\u002Finfosecurity","9f39ab56-3958-4484-8a10-d8204284616a",[646,647,648,141,142,166,167,143,219,322,496,1056,1057,1058,1059,576],{"head":1317,"id":1321,"type":137,"uuid":1322,"symbolIds":1323},{"lang":568,"meta":1318,"title":1320},{"description":1319},"株式会社カカクコムのガバナンス体制におけるプライバシー保護の取り組みについて掲載しています。","プライバシー保護 | 株式会社カカクコム","sustainability\u002Fgovernance\u002Fprivacyprotection","97bb5e9a-03eb-4b92-8d44-53072dd36595",[646,647,648,141,142,166,167,143,496,322,219,1056,1057,1058,1059,576],{"head":1325,"id":1329,"type":137,"uuid":1330,"symbolIds":1331},{"lang":568,"meta":1326,"title":1328},{"description":1327},"株式会社カカクコムの社会貢献活動について掲載しています。","社会貢献活動 | 株式会社カカクコム","sustainability\u002Fcontribution","ecd259fc-1d2d-400a-91bb-f83e3d51064b",[646,647,648,141,142,166,167,143,1056,1057,1058,1059,576],{"head":1333,"id":1337,"type":137,"uuid":1338,"symbolIds":1339},{"lang":568,"meta":1334,"title":1336},{"description":1335},"株式会社カカクコムの採用情報ページです。別途運営されている採用情報サイトへリンクしています。","採用情報 | 株式会社カカクコム","recruit","a6f0b395-ea93-47e8-9f58-e8c7b024282a",[646,647,648,141,142,166,167,219,1340,576],"5f526a94-33cd-4706-8eae-8fe10b527d60",{"head":1342,"id":1346,"type":137,"uuid":1347,"symbolIds":1348},{"lang":568,"meta":1343,"title":1345},{"description":1344},"株式会社カカクコムへのお問い合わせフォームを掲載しています。お問い合わせはこちらからお願いします。","お問い合わせ | 株式会社カカクコム","contact","6fd2f504-e38e-4b67-861c-a0d4c8d8d3e8",[646,647,648,141,142,166,167,143,144,576],{"id":1350,"isCreatedInV4":23,"redirectTo":1351,"type":257,"uuid":1352},"ma","\u002Fcontact\u002Fma","a34cc84e-8bdb-471c-9f93-f7c8511e1053",{"head":1354,"id":1358,"type":137,"uuid":1359,"symbolIds":1360},{"lang":568,"meta":1355,"title":1357},{"description":1356},"株式会社カカクコムのIRに関するお問い合わせフォームです。","IRに関するお問い合わせ | 株式会社カカクコム","contact\u002Fform_ir","1dd2bba9-fd35-4acb-9e23-1ac2d2a75e06",[646,647,648,141,142,166,167,1361,219,1362,1363,576],"e8b884e2-85c2-490d-a458-fedb52fa5ad9","15ad6d5f-d6f5-4b07-b9a3-6e093815990a","94f83e8e-4328-4d4b-87c3-a35618eb4325",{"head":1365,"id":1369,"type":137,"uuid":1370,"symbolIds":1371},{"lang":568,"meta":1366,"title":1368},{"description":1367},"株式会社カカクコムの広報に関するお問い合わせフォームです。"," 取æ
343ç­‰ã®ãŠå•ã„合わせ | 株式会社カカクコム","contact\u002Fform_pr","53f1ae4e-ca20-4688-a163-558aaf2fcc75",[646,647,648,141,142,166,167,1361,219,1362,1363,576],{"head":1373,"id":1377,"type":137,"uuid":1378,"symbolIds":1379},{"lang":568,"meta":1374,"title":1376},{"description":1375},"株式会社カカクコムのプレスリリース配信登録に関するお問い合わせフォームです。","プレスリリース配信登録 | 株式会社カカクコム","contact\u002Fform_press","4dae4467-02c6-4fd5-a013-1dc04732cd98",[646,647,648,141,142,166,167,1361,219,1362,1363,576],{"head":1381,"id":1385,"type":137,"uuid":1386,"symbolIds":1387},{"lang":568,"meta":1382,"title":1384},{"description":1383},"株式会社カカクコムの業務委託先であるフリーランスの方向けのハラスメント相談窓口です。","フリーランスの方向け ハラスメント相談窓口 | 株式会社カカクコム","contact\u002Fform_freelance","93603b97-ad03-4322-a813-f84b68e40282",[646,647,648,141,142,166,167,1361,1362,576],{"head":1389,"id":1399,"type":137,"uuid":1400,"symbolIds":1401},{"customCode":1390,"lang":568,"meta":1396,"title":1398},{"headEnd":1391},[1392],{"memo":484,"src":502,"tags":1393,"uuid":1395},[1394],{"children":505,"tagName":99},"191c719c-6a2f-4571-9d46-72ab0c4fbccb",{"description":1397},"株式会社カカクコムのM&A関連のお問い合わせフォームです。","M&A関連情報 | 株式会社カカクコム","contact\u002Fma","4defc2de-4816-456b-8c4b-820e0e6cf192",[646,647,648,141,142,166,167,143,1361,1362,1363,576],{"head":1403,"id":1407,"type":137,"uuid":1408,"symbolIds":1409},{"lang":568,"meta":1404,"title":1406},{"description":1405},"株式会社カカクコムの個人情報保護方針に関するお問い合わせフォームです。","個人情報保護方針に関するお問い合わせ | 株式会社カカクコム","contact\u002Fprivacy","12bc565c-d07d-4e8b-a910-5d95f226b07a",[646,647,648,141,142,166,167,1361,1362,1363,576],{"head":1411,"id":1414,"type":137,"uuid":1415,"symbolIds":1416},{"lang":568,"meta":1412,"title":1413},{"description":21,"robots":1064},"お問い合わせ完了 | 株式会社カカクコム","thanks","febcd2d9-7247-4723-8ffd-2b13a5eb51f2",[646,647,648,141,142,166,576],{"head":1418,"id":1429,"type":137,"uuid":1430,"symbolIds":1431},{"customCode":1419,"lang":568,"meta":1426,"title":1428},{"headEnd":1420},[1421],{"memo":484,"src":1422,"tags":1423,"uuid":506},"\u003Cstyle>\n.richText p,\n.sd p {\n  font-family: var(--s-font-6cbe308b);\n  font-size: 16px;\n  font-weight: 500;\n  line-height: 1.7;\n}\n.richText a:hover,\n.sd a:hover {\n  color: transparent !important;\n  background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n  background-clip: text;\n  -webkit-background-clip: text;\n}\n@media screen and (max-width: 840px) {\n  .richText p,\n  .sd p {\n    font-size: 14px;\n    font-weight: 400;\n  }\n}\n\u003C\u002Fstyle>",[1424],{"children":1425,"tagName":99},".richText p,\n.sd p {\n  font-family: var(--s-font-6cbe308b);\n  font-size: 16px;\n  font-weight: 500;\n  line-height: 1.7;\n}\n.richText a:hover,\n.sd a:hover {\n  color: transparent !important;\n  background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n  background-clip: text;\n  -webkit-background-clip: text;\n}\n@media screen and (max-width: 840px) {\n  .richText p,\n  .sd p {\n    font-size: 14px;\n    font-weight: 400;\n  }\n}",{"description":1427},"株式会社カカクコムの個人情報保護方針について掲載しています。","個人情報保護方針 | 株式会社カカクコム","privacy","e40b3348-681e-403a-a329-4f36edff7501",[646,647,648,141,142,166,167,576],{"head":1433,"id":1444,"type":137,"uuid":1445,"symbolIds":1446},{"customCode":1434,"lang":568,"meta":1441,"title":1443},{"headEnd":1435},[1436],{"memo":484,"src":1437,"tags":1438,"uuid":522},"\u003Cstyle>\n#privacy-about .richText p,\n#informative .richText p {\n  font-family: var(--s-font-6cbe308b);\n  font-size: 16px;\n  font-weight: 500;\n  line-height: 1.7;\n}\n#privacy-about .richText a:hover,\n#informative .richText a:hover {\n  
343color: transparent !important;\n  background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n  background-clip: text;\n  -webkit-background-clip: text;\n}\n@media screen and (max-width: 840px) {\n  #privacy-about .richText p,\n  #informative .richText p {\n    font-size: 14px;\n    font-weight: 400;\n  }\n}\n\u003C\u002Fstyle>",[1439],{"children":1440,"tagName":99},"#privacy-about .richText p,\n#informative .richText p {\n  font-family: var(--s-font-6cbe308b);\n  font-size: 16px;\n  font-weight: 500;\n  line-height: 1.7;\n}\n#privacy-about .richText a:hover,\n#informative .richText a:hover {\n  color: transparent !important;\n  background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n  background-clip: text;\n  -webkit-background-clip: text;\n}\n@media screen and (max-width: 840px) {\n  #privacy-about .richText p,\n  #informative .richText p {\n    font-size: 14px;\n    font-weight: 400;\n  }\n}",{"description":1442},"株式会社カカクコムの個人情報の取扱いについての情報を掲載しています。","個人情報の取扱いについて | 株式会社カカクコム","privacy\u002Fabout","677c910a-422b-421e-bb26-10088d641475",[646,647,648,141,142,166,167,143,551,576],{"head":1448,"id":1452,"type":137,"uuid":1453,"symbolIds":1454},{"lang":568,"meta":1449,"title":1451},{"description":1450},"株式会社カカクコムの個人情報の取扱いについて、外部送信(オプトアウト)についての情報を掲載しています。","外部送信(オプトアウト) | 株式会社カカクコム","privacy\u002Fabout\u002Foptout","3a4875ad-7494-425b-a817-8454240611f2",[646,647,648,141,142,166,167,219,496,143,1455,576],"b5c09510-3767-4615-80b0-c5ddd1ce0ae9",{"head":1457,"id":1461,"type":137,"uuid":1462,"symbolIds":1463},{"lang":568,"meta":1458,"title":1460},{"description":1459},"株式会社カカクコムの個人情報の取扱いについて、用語説明・注釈を掲載しています。","用語説明・注釈 | 株式会社カカクコム","privacy\u002Fabout\u002Fglossary","68ba0cc6-2b58-461f-8548-ae6beec0f51e",[646,647,648,141,142,166,167,143,219,576],{"head":1465,"id":1469,"type":137,"uuid":1470,"symbolIds":1471},{"lang":568,"meta":1466,"title":1468},{"description":1467},"カカクコムおよびグループ会社各社のプライバシーポリシーを掲載しています。","カカクコムおよびグループ会社各社のプライバシーポリシー | 株式会社カカクコム","privacylink","2f0d6fe4-5881-4742-a779-7f6209db2241",[646,647,648,141,142,166,167,185,576],{"id":1473,"isCreatedInV4":23,"redirectTo":1474,"type":257,"uuid":1475},"ir\u002Fcalendar\u002Flist","\u002Fir\u002Fcalendar","c941a2fc-0dd0-4535-b0f1-ff9b841dcc77",{"head":1477,"id":1489,"type":137,"uuid":1490,"symbolIds":1491},{"customCode":1478,"lang":568,"meta":1486,"title":1488},{"headEnd":1479},[1480],{"memo":484,"src":1481,"tags":1482,"uuid":1485},"\u003Cstyle>\n#adpolicy .richText p {\n  font-family: var(--s-font-6cbe308b);\n  font-size: 16px;\n  font-weight: 500;\n  line-height: 1.7;\n}\n#adpolicy .richText a:hover {\n  color: transparent;\n  background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n  background-clip: text;\n  -webkit-background-clip: text;\n}\n@media screen and (max-width: 840px) {\n  #adpolicy .richText p {\n    font-size: 14px;\n    font-weight: 400;\n  }\n}\n\u003C\u002Fstyle>",[1483],{"children":1484,"tagName":99},"#adpolicy .richText p {\n  font-family: var(--s-font-6cbe308b);\n  font-size: 16px;\n  font-weight: 500;\n  line-height: 1.7;\n}\n#adpolicy .richText a:hover {\n  color: transparent;\n  background: linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff);\n  background-clip: text;\n  -webkit-background-clip: text;\n}\n@media screen and (max-width: 840px) {\n  #adpolicy .richText p {\n    font-size: 14px;\n    font-weight: 400;\n  }\n}","44a5b038-b1f0-4969-a3c1-c7117f78e17e",{"description":1487},"株式会社カカクコムの広告品質に関する取り組みと諸規定を掲載しています。","広告品質に関する取り組みと諸規定 | 株式会社カカクコム","adpolicy","65c3f9a1-6115-4d52-883b-b781550e9ccc",[646,647,648,141,142,166,167,143,185,219,496,576],{"head":1493,"id":1503,"type":137,"uuid":1504,"symbolIds":1505},{"customCode":1494,"lang":568,"meta":1500,"title":1502},{"headEnd":1495},[1496],{"memo":484,"src":502,"tags":1497,"uuid":1499},[1498],{"children":505,"tagName":99},"d0296657-17e3-4c38-9697-c8535c66b91c",{"description":1501},"株式会社カカクコムの広告品質に関する取り組みと諸規定、その他の広告に関する事項を掲載しています。","その他の広告に関する事項 | 株式会社カカクコム","adpolicy\u002Fothers","1e3b1a9a-1876-4491-9fd6-959c16c1bbf8",[646,647,648,141,142,166,167,143,496,576],{"head":150
3437,"id":1511,"type":137,"uuid":1512,"symbolIds":1513},{"lang":568,"meta":1508,"title":1510},{"description":1509},"株式会社カカクコムの企業情報サイトのサイトマップです。","サイトマップ | 株式会社カカクコム","sitemap","4dc01af0-7b83-4fcc-bb6e-c26b92e21da3",[646,647,648,141,142,166,167,143,551,1514,576],"3abc5f02-92bb-4fc5-af83-3e710bafa29a",{"head":1516,"id":1520,"type":137,"uuid":1521,"symbolIds":1522},{"lang":568,"meta":1517,"title":1519},{"description":1518},"株式会社カカクコムからの重要なお知らせを掲載しています。","重要なお知らせ | 株式会社カカクコム","extraordinary","74b27232-4cee-4594-b6ae-606a61d82f8c",[646,647,648,141,142,166,167,219,496,185,576],{"head":1524,"id":1527,"type":137,"uuid":1528,"symbolIds":1529},{"lang":568,"meta":1525,"title":1526},{"description":103},"ページが見つかりませんでした | 株式会社カカクコム","404","9b7066d1-2cc6-4c2b-83bd-80daad1468ee",[646,647,648,141,142,166,144,576],{"head":1531,"id":1533,"type":137,"uuid":1534,"symbolIds":1535},{"lang":568,"meta":1532,"title":21},{"robots":1064},"gnav\u002Ftop","3cd5d34a-92d2-499b-a522-582cb1208214",[141,142,573],{"head":1537,"id":1539,"type":137,"uuid":1540,"symbolIds":1541},{"lang":568,"meta":1538,"title":21},{"robots":1064},"gnav\u002Fen-top","a10fb710-a94e-47cd-9e30-52c36e12565b",[140,141,142],{"head":1543,"id":1545,"type":137,"uuid":1546,"symbolIds":1547},{"lang":568,"meta":1544,"title":21},{"robots":1064},"gnav","36a39f5a-0ca3-4f47-9a48-c09174ce6888",[647,648,141,142,646],{"head":1549,"id":1551,"type":137,"uuid":1552,"symbolIds":1553},{"lang":568,"meta":1550,"title":21},{"robots":1064},"gnav\u002Fen","a7df4546-b163-4537-86da-d4d20136409f",[141,142,165],{"id":1555,"isCookieModal":23,"responsive":10,"type":1556,"uuid":1557,"symbolIds":1558},"1","modal","3f075f49-3f49-4075-b4e9-d49f72a7ac13",[1559,1560,1561],"14cfeceb-fd08-4307-918d-9a20a004c221","8ca7b7e0-d059-4a6c-9dba-e4b8a78fa68d","019fe821-a9a1-44e6-9b7c-b4281f488208",{"id":1563,"isCookieModal":23,"responsive":10,"type":1556,"uuid":1564,"symbolIds":1565},"1-2","f1365f85-3e69-4c46-8265-8e3d20fea193",[1559,1560],{"cmsRequest":1567,"head":1570,"id":1578,"type":137,"uuid":1579,"symbolIds":1580},{"contentSlug":1568,"schemaKey":1569},"{{$route.params.slug}}","yNttihXd",{"customCode":1571,"lang":568,"meta":1577,"title":771},{"bodyEnd":1572},[1573],{"memo":1574,"src":1575,"uuid":1576},"年度切り替え.js","\u003Cscript>\n  (() => {\n    const BASES = {\n      'year-press': '\u002Fnews\u002Fpress',\n      'year-group': '\u002Fnews\u002Fgroup',\n      'year-info': '\u002Fnews\u002Finfo',\n    };\n    const YEAR_MIN = 2015,\n      YEAR_MAX = 2026;\n    const IDS = ['year-press', 'year-group', 'year-info'];\n    const cleanPath = (p) => (p || '\u002F').replace(\u002F\\\u002F+$\u002F, '') || '\u002F';\n    const inRangeYear = (y) =>\n      \u002F^\\d{4}$\u002F.test(y) && +y >= YEAR_MIN && +y \u003C= YEAR_MAX;\n    const toAbs = (href) => {\n      try {\n        return new URL(href || '', location.origin);\n      } catch {\n        return null;\n      }\n    };\n    let lastChosenYear = null;\n    const getYearFromPath = (pathname) => {\n      const m = cleanPath(pathname).match(\u002F\\\u002F(\\d{4})$\u002F);\n      return m && inRangeYear(m[1]) ? m[1] : null;\n    };\n    const getYearFromHash = (hash) => {\n      const m = String(hash || '').match(\u002F^#year-(\\d{4})$\u002F);\n      return m && inRangeYear(m[1]) ? m[1] : null;\n    };\n    const getActiveYear = () =>\n      getYearFromHash(location.hash) ||\n      (inRangeYear(lastChosenYear) ? lastChosenYear : null) ||\n      getYearFromPath(location.pathname) ||\n      null;\n    const decide = (base, year) => cleanPath(base) + '\u002F' + year;\n    const setHref = (a, base, year) => {\n      const target = year ? decide(base, year) : cleanPath(base);\n      const u = toAbs(a.getAttribute('href') || '');\n      if (!u || cleanPath(u.pathname) !== cleanPath(target))\n        a.setAttribute('href', target);\n    };
343\n    let running = Promise.resolve(),\n      scheduled = false;\n    const trigger = () => {\n      if (scheduled) return;\n      scheduled = true;\n      requestAnimationFrame(() => {\n        scheduled = false;\n        running = running.then(() => rewriteWithRetry()).catch(() => {});\n      });\n    };\n    const rewriteOnce = () => {\n      const y = getActiveYear();\n      IDS.forEach((id) => {\n        const a = document.getElementById(id);\n        if (!a) return;\n        const base = BASES[id];\n        setHref(a, base, y);\n      });\n    };\n    const verify = () => {\n      const y = getActiveYear();\n      return IDS.every((id) => {\n        const a = document.getElementById(id);\n        if (!a) return false;\n        const base = BASES[id];\n        const expect = y ? decide(base, y) : cleanPath(base);\n        const u = toAbs(a.getAttribute('href') || '');\n        return !!u && cleanPath(u.pathname) === cleanPath(expect);\n      });\n    };\n    const rewriteWithRetry = async () => {\n      let n = 0;\n      while (n \u003C 3) {\n        rewriteOnce();\n        if (verify()) break;\n        n++;\n        await new Promise((r) => setTimeout(r, n === 1 ? 16 : 40));\n      }\n    };\n    document.addEventListener(\n      'click',\n      (e) => {\n        const yb =\n          e.target && e.target.closest && e.target.closest('[id^=\"year-\"]');\n        if (yb && yb.id) {\n          const m = yb.id.match(\u002F^year-(\\d{4})$\u002F);\n          if (m) lastChosenYear = m[1];\n        }\n        const a =\n          e.target &&\n          e.target.closest &&\n          e.target.closest('a#year-press, a#year-group, a#year-info');\n        if (!a) return;\n        if (\n          e.defaultPrevented ||\n          e.metaKey ||\n          e.ctrlKey ||\n          e.shiftKey ||\n          e.altKey ||\n          e.button !== 0\n        )\n          return;\n        e.preventDefault();\n        e.stopPropagation();\n        if (e.stopImmediatePropagation) e.stopImmediatePropagation();\n        const base = BASES[a.id];\n        const y = getActiveYear();\n        const next =\n          (y ? decide(base, y) : cleanPath(base)) +\n          (() =>
343 {\n            const u = toAbs(a.getAttribute('href') || '');\n            return u ? u.search + u.hash : '';\n          })();\n        const cur =\n          cleanPath(location.pathname) + location.search + location.hash;\n        if (next !== cur) {\n          history.pushState({}, '', next);\n          try {\n            window.dispatchEvent(new PopStateEvent('popstate'));\n          } catch {}\n          window.dispatchEvent(new Event('locationchange'));\n        }\n      },\n      true\n    );\n    (() => {\n      const p = history.pushState.bind(history);\n      const r = history.replaceState.bind(history);\n      history.pushState = new Proxy(history.pushState, {\n        apply: (t, thisArg, args) => {\n          const ret = p(...args);\n          trigger();\n          return ret;\n        },\n      });\n      history.replaceState = new Proxy(history.replaceState, {\n        apply: (t, thisArg, args) => {\n          const ret = r(...args);\n          trigger();\n          return ret;\n        },\n      });\n    })();\n    window.addEventListener('hashchange', trigger);\n    window.addEventListener('popstate', trigger);\n    document.addEventListener('visibilitychange', () => {\n      if (!document.hidden) trigger();\n    });\n    const mo = new MutationObserver(() => trigger());\n    mo.observe(document.documentElement || document.body, {\n      childList: true,\n      subtree: true,\n    });\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', () => trigger());\n    } else {\n      trigger();\n    }\n  })();\n\u003C\u002Fscript>","88d6d483-6a66-4915-94b3-2700f2e6f4bf",{"description":770},"news\u002Fall\u002F:slug","1a139046-820f-49c3-8af4-0aa8be173e85",[166,646,647,648,141,142,167,741,742,576],{"cmsRequest":1582,"head":1583,"id":1590,"type":137,"uuid":1591,"symbolIds":1592},{"contentSlug":1568,"schemaKey":1569},{"customCode":1584,"lang":568,"meta":1589,"title":763},{"bodyEnd":1585},[1586],{"memo":1574,"src":1587,"uuid":1588},"\u003Cscript>\n  (() => {\n    const BASES = {\n      'year-all': '\u002Fnews\u002Fall',\n      'year-group': '\u002Fnews\u002Fgroup',\n      'year-info': '\u002Fnews\u002Finfo',\n    };\n    const YEAR_MIN = 2015,\n      YEAR_MAX = 2026;\n    const IDS = ['year-all', 'year-group', 'year-info'];\n    const cleanPath = (p) => (p || '\u002F').replace(\u002F\\\u002F+$\u002F, '') || '\u002F';\n    const inRangeYear = (y) =>\n      \u002F^\\d{4}$\u002F.test(y) && +y >= YEAR_MIN && +y \u003C= YEAR_MAX;\n    const toAbs = (href) => {\n      try {\n        return new URL(href || '', location.origin);\n      } catch {\n        return null;\n      }\n    };\n    let lastChosenYear = null;\n    const getYearFromPath = (pathname) => {\n      const m = cleanPath(pathname).match(\u002F\\\u002F(\\d{4})$\u002F);\n      return m && inRangeYear(m[1]) ? m[1] : null;\n    };\n    const getYearFromHash = (hash) => {\n      const m = String(hash || '').match(\u002F^#year-(\\d{4})$\u002F);\n      return m && inRangeYear(m[1]) ? m[1] : null;\n    };\n    const getActiveYear = () =>\n      getYearFromHash(location.hash) ||\n      (inRangeYear(lastChosenYear) ? lastChosenYear : null) ||\n      getYearFromPath(location.pathname) ||\n      null;\n    const decide = (base, year) => cleanPath(base) + '\u002F' + year;\n    const setHref = (a, base, year) => {\n      const target = year ? decide(base, year) : cleanPath(base);\n      const u = toAbs(a.getAttribute('href') || '');\n      if (!u || cleanPath(u.pathname) !== cleanPath(target))\n        a.setAttribute('href', target);\n    };\n    let running = Promise.resolve(),\n      scheduled = false;\n    const trigger = () => {\n      if (scheduled) return;\n      scheduled = true;\n      requestAnimationFrame(() => {\n        scheduled = false;\n        running = running.then(() => rewriteWithRetry()).catch(() => {});\n      });\n    };\n    const rewriteOnce = () => {\n      const y = getActiveYear();\n      IDS.forEach((id) => {\n        const a = document.getElementById(id);\n        if (!a) return;\n        const base = BASES[id];\n        setHref(a, base, y);\n      });\n    };\n    const verify = () => {\n      const y = getActiveYear();\n      return IDS.every((id) => {\n        const a = document.getElementById(id);\n        if (!a) return false;\n        const base = BASES[id];\n        const expect = y ? decide(base, y) : cleanPath(base);\n        const u = toAbs(a.getAttribute('href') || '');\n        return !!u && cleanPath(u.pathname) === cleanPath(expect);\n      });\n    };\n    const rewriteWithRetry = async () => {\n      let n = 0;\n      while (n \u003C 3) {\n        rewriteOnce();\n        if (verify()) break;\n        n++;\n        await new Promise((r) => setTimeout(r, n === 1 ? 16 : 40));\n      }\n    };\n    document.addEventListener(\n      'click',\n      (e) => {\n        const yb =\n          e.target && e.target.closest && e.target.closest('[id^=\"year-\"]');\n        if (yb && yb.id) {\n          const m = yb.id.match(\u002F^year-(\\d{4})$\u002F);\n          if (m) lastChosenYear = m[1];\n        }\n        const a =\n          e.target &&\n          e.target.closest &&\n          e.target.closest('a#year-all, a#year-group, a#year-info');\n        if (!a) return;\n        if (\n          e.defaultPrevented ||\n          e.metaKey ||\n          e.ctrlKey ||\n          e.shiftKey ||\n          e.altKey ||\n          e.button !== 0\n        )\n          return;\n        e.preventDefault();\n        e.stopPropagation();\n        if (e.stopImmediatePropagation) e.stopImmediatePropagation();\n        const base = BASES[a.id];\n        const y = getActiveYear();\n        const next =\n          (y ? decide(base, y) : cleanPath(base)) +\n          (() =>
343 {\n            const u = toAbs(a.getAttribute('href') || '');\n            return u ? u.search + u.hash : '';\n          })();\n        const cur =\n          cleanPath(location.pathname) + location.search + location.hash;\n        if (next !== cur) {\n          history.pushState({}, '', next);\n          try {\n            window.dispatchEvent(new PopStateEvent('popstate'));\n          } catch {}\n          window.dispatchEvent(new Event('locationchange'));\n        }\n      },\n      true\n    );\n    (() => {\n      const p = history.pushState.bind(history);\n      const r = history.replaceState.bind(history);\n      history.pushState = new Proxy(history.pushState, {\n        apply: (t, thisArg, args) => {\n          const ret = p(...args);\n          trigger();\n          return ret;\n        },\n      });\n      history.replaceState = new Proxy(history.replaceState, {\n        apply: (t, thisArg, args) => {\n          const ret = r(...args);\n          trigger();\n          return ret;\n        },\n      });\n    })();\n    window.addEventListener('hashchange', trigger);\n    window.addEventListener('popstate', trigger);\n    document.addEventListener('visibilitychange', () => {\n      if (!document.hidden) trigger();\n    });\n    const mo = new MutationObserver(() => trigger());\n    mo.observe(document.documentElement || document.body, {\n      childList: true,\n      subtree: true,\n    });\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', () => trigger());\n    } else {\n      trigger();\n    }\n  })();\n\u003C\u002Fscript>","f96a6b5f-2b29-41d4-be87-7d002aaf1029",{"description":762},"news\u002Fpress\u002F:slug","cf330916-d8c1-46c6-9a12-574594865e56",[166,646,647,648,141,142,167,741,742,576],{"cmsRequest":1594,"head":1595,"id":1602,"type":137,"uuid":1603,"symbolIds":1604},{"contentSlug":1568,"schemaKey":1569},{"customCode":1596,"lang":568,"meta":1601,"title":755},{"bodyEnd":1597},[1598],{"memo":1574,"src":1599,"uuid":1600},"\u003Cscript>\n  (() => {\n    const BASES = {\n      'year-all': '\u002Fnews\u002Fall',\n      'year-press': '\u002Fnews\u002Fpress',\n      'year-info': '\u002Fnews\u002Finfo',\n    };\n    const YEAR_MIN = 2015,\n      YEAR_MAX = 2026;\n    const IDS = ['year-all', 'year-press', 'year-info'];\n    const cleanPath = (p) => (p || '\u002F').replace(\u002F\\\u002F+$\u002F, '') || '\u002F';\n    const inRangeYear = (y) =>\n      \u002F^\\d{4}$\u002F.test(y) && +y >= YEAR_MIN && +y \u003C= YEAR_MAX;\n    const toAbs = (href) => {\n      try {\n        return new URL(href || '', location.origin);\n      } catch {\n        return null;\n      }\n    };\n    let lastChosenYear = null;\n    const getYearFromPath = (pathname) => {\n      const m = cleanPath(pathname).match(\u002F\\\u002F(\\d{4})$\u002F);\n      return m && inRangeYear(m[1]) ? m[1] : null;\n    };\n    const getYearFromHash = (hash) => {\n      const m = String(hash || '').match(\u002F^#year-(\\d{4})$\u002F);\n      return m && inRangeYear(m[1]) ? m[1] : null;\n    };\n    const getActiveYear = () =>\n      getYearFromHash(location.hash) ||\n      (inRangeYear(lastChosenYear) ? lastChosenYear : null) ||\n      getYearFromPath(location.pathname) ||\n      null;\n    const decide = (base, year) => cleanPath(base) + '\u002F' + year;\n    const setHref = (a, base, year) => {\n      const target = year ? decide(base, year) : cleanPath(base);\n      const u = toAbs(a.getAttribute('href') || '');\n      if (!u || cleanPath(u.pathname) !== cleanPath(target))\n        a.setAttribute('href', target);\n    };\n    let running = Promise.resolve(),\n      scheduled = false;\n    const trigger = () => {\n      if (scheduled) return;\n      scheduled = true;\n      requestAnimationFrame(() => {\n        scheduled = false;\n        running = running.then(() => rewriteWithRetry()).catch(() => {});\n      });\n    };\n    const rewriteOnce = () => {\n      const y = getActiveYear();\n      IDS.forEach((id) => {\n        const a = document.getElementById(id);\n        if (!a) return;\n        const base = BASES[id];\n        setHref(a, base, y);\n      });\n    };\n    const verify = () => {\n      const y = getActiveYear();\n      return IDS.every((id) => {\n        const a = document.getElementById(id);\n        if (!a) return false;\n        const base = BASES[id];\n        const expect = y ? decide(base, y) : cleanPath(base);\n        const u = toAbs(a.getAttribute('href') || '');\n        return !!u && cleanPath(u.pathname) === cleanPath(expect);\n      });\n    };\n    const rewriteWithRetry = async () => {\n      let n = 0;\n      while (n \u003C 3) {\n        rewriteOnce();\n        if (verify()) break;\n        n++;\n        await new Promise((r) => setTimeout(r, n === 1 ? 16 : 40));\n      }\n    };\n    document.addEventListener(\n      'click',\n      (e) => {\n        const yb =\n          e.target && e.target.closest && e.target.closest('[id^=\"year-\"]');\n        if (yb && yb.id) {\n          const m = yb.id.match(\u002F^year-(\\d{4})$\u002F);\n          if (m) lastChosenYear = m[1];\n        }\n        const a =\n          e.target &&\n          e.target.closest &&\n          e.target.closest('a#year-all, a#year-press, a#year-info');\n        if (!a) return;\n        if (\n          e.defaultPrevented ||\n          e.metaKey ||\n          e.ctrlKey ||\n          e.shiftKey ||\n          e.altKey ||\n          e.button !== 0\n        )\n          return;\n        e.preventDefault();\n        e.stopPropagation();\n        if (e.stopImmediatePropagation) e.stopImmediatePropagation();\n        const base = BASES[a.id];\n        const y = getActiveYear();\n        const next =\n          (y ? decide(base, y) : cleanPath(base)) +\n          (() =>
343 {\n            const u = toAbs(a.getAttribute('href') || '');\n            return u ? u.search + u.hash : '';\n          })();\n        const cur =\n          cleanPath(location.pathname) + location.search + location.hash;\n        if (next !== cur) {\n          history.pushState({}, '', next);\n          try {\n            window.dispatchEvent(new PopStateEvent('popstate'));\n          } catch {}\n          window.dispatchEvent(new Event('locationchange'));\n        }\n      },\n      true\n    );\n    (() => {\n      const p = history.pushState.bind(history);\n      const r = history.replaceState.bind(history);\n      history.pushState = new Proxy(history.pushState, {\n        apply: (t, thisArg, args) => {\n          const ret = p(...args);\n          trigger();\n          return ret;\n        },\n      });\n      history.replaceState = new Proxy(history.replaceState, {\n        apply: (t, thisArg, args) => {\n          const ret = r(...args);\n          trigger();\n          return ret;\n        },\n      });\n    })();\n    window.addEventListener('hashchange', trigger);\n    window.addEventListener('popstate', trigger);\n    document.addEventListener('visibilitychange', () => {\n      if (!document.hidden) trigger();\n    });\n    const mo = new MutationObserver(() => trigger());\n    mo.observe(document.documentElement || document.body, {\n      childList: true,\n      subtree: true,\n    });\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', () => trigger());\n    } else {\n      trigger();\n    }\n  })();\n\u003C\u002Fscript>","1b1182f1-d2ca-4cfe-ad44-74300adae4d5",{"description":754},"news\u002Fgroup\u002F:slug","779255a6-b138-4fc6-9747-6a6445d61dde",[166,646,647,648,141,142,167,741,742,576],{"cmsRequest":1606,"head":1607,"id":1614,"type":137,"uuid":1615,"symbolIds":1616},{"contentSlug":1568,"schemaKey":1569},{"customCode":1608,"lang":568,"meta":1613,"title":747},{"bodyEnd":1609},[1610],{"memo":1574,"src":1611,"uuid":1612},"\u003Cscript>\n  (() => {\n    const BASES = {\n      'year-all': '\u002Fnews\u002Fall',\n      'year-press': '\u002Fnews\u002Fpress',\n      'year-group': '\u002Fnews\u002Fgroup',\n    };\n    const YEAR_MIN = 2015,\n      YEAR_MAX = 2026;\n    const IDS = ['year-all', 'year-press', 'year-group'];\n    const cleanPath = (p) => (p || '\u002F').replace(\u002F\\\u002F+$\u002F, '') || '\u002F';\n    const inRangeYear = (y) =>\n      \u002F^\\d{4}$\u002F.test(y) && +y >= YEAR_MIN && +y \u003C= YEAR_MAX;\n    const toAbs = (href) => {\n      try {\n        return new URL(href || '', location.origin);\n      } catch {\n        return null;\n      }\n    };\n    let lastChosenYear = null;\n    const getYearFromPath = (pathname) => {\n      const m = cleanPath(pathname).match(\u002F\\\u002F(\\d{4})$\u002F);\n      return m && inRangeYear(m[1]) ? m[1] : null;\n    };\n    const getYearFromHash = (hash) => {\n      const m = String(hash || '').match(\u002F^#year-(\\d{4})$\u002F);\n      return m && inRangeYear(m[1]) ? m[1] : null;\n    };\n    const getActiveYear = () =>\n      getYearFromHash(location.hash) ||\n      (inRangeYear(lastChosenYear) ? lastChosenYear : null) ||\n      getYearFromPath(location.pathname) ||\n      null;\n    const decide = (base, year) => cleanPath(base) + '\u002F' + year;\n    const setHref = (a, base, year) => {\n      const target = year ? decide(base, year) : cleanPath(base);\n      const u = toAbs(a.getAttribute('href') || '');\n      if (!u || cleanPath(u.pathname) !== cleanPath(target))\n        a.setAttribute('href', target);\n    };\n    let running = Promise.resolve(),\n      scheduled = false;\n    const trigger = () => {\n      if (scheduled) return;\n      scheduled = true;\n      requestAnimationFrame(() => {\n        scheduled = false;\n        running = running.then(() => rewriteWithRetry()).catch(() => {});\n      });\n    };\n    const rewriteOnce = () => {\n      const y = getActiveYear();\n      IDS.forEach((id) => {\n        const a = document.getElementById(id);\n        if (!a) return;\n        const base = BASES[id];\n        setHref(a, base, y);\n      });\n    };\n    const verify = () => {\n      const y = getActiveYear();\n      return IDS.every((id) => {\n        const a = document.getElementById(id);\n        if (!a) return false;\n        const base = BASES[id];\n        const expect = y ? decide(base, y) : cleanPath(base);\n        const u = toAbs(a.getAttribute('href') || '');\n        return !!u && cleanPath(u.pathname) === cleanPath(expect);\n      });\n    };\n    const rewriteWithRetry = async () => {\n      let n = 0;\n      while (n \u003C 3) {\n        rewriteOnce();\n        if (verify()) break;\n        n++;\n        await new Promise((r) => setTimeout(r, n === 1 ? 16 : 40));\n      }\n    };\n    document.addEventListener(\n      'click',\n      (e) => {\n        const yb =\n          e.target && e.target.closest && e.target.closest('[id^=\"year-\"]');\n        if (yb && yb.id) {\n          const m = yb.id.match(\u002F^year-(\\d{4})$\u002F);\n          if (m) lastChosenYear = m[1];\n        }\n        const a =\n          e.target &&\n          e.target.closest &&\n          e.target.closest('a#year-all, a#year-press, a#year-group');\n        if (!a) return;\n        if (\n          e.defaultPrevented ||\n          e.metaKey ||\n          e.ctrlKey ||\n          e.shiftKey ||\n          e.altKey ||\n          e.button !== 0\n        )\n          return;\n        e.preventDefault();\n        e.stopPropagation();\n        if (e.stopImmediatePropagation) e.stopImmediatePropagation();\n        const base = BASES[a.id];\n        const y = getActiveYear();\n        const next =\n          (y ? decide(base, y) : cleanPath(base)) +\n          (() =>
343 {\n            const u = toAbs(a.getAttribute('href') || '');\n            return u ? u.search + u.hash : '';\n          })();\n        const cur =\n          cleanPath(location.pathname) + location.search + location.hash;\n        if (next !== cur) {\n          history.pushState({}, '', next);\n          try {\n            window.dispatchEvent(new PopStateEvent('popstate'));\n          } catch {}\n          window.dispatchEvent(new Event('locationchange'));\n        }\n      },\n      true\n    );\n    (() => {\n      const p = history.pushState.bind(history);\n      const r = history.replaceState.bind(history);\n      history.pushState = new Proxy(history.pushState, {\n        apply: (t, thisArg, args) => {\n          const ret = p(...args);\n          trigger();\n          return ret;\n        },\n      });\n      history.replaceState = new Proxy(history.replaceState, {\n        apply: (t, thisArg, args) => {\n          const ret = r(...args);\n          trigger();\n          return ret;\n        },\n      });\n    })();\n    window.addEventListener('hashchange', trigger);\n    window.addEventListener('popstate', trigger);\n    document.addEventListener('visibilitychange', () => {\n      if (!document.hidden) trigger();\n    });\n    const mo = new MutationObserver(() => trigger());\n    mo.observe(document.documentElement || document.body, {\n      childList: true,\n      subtree: true,\n    });\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', () => trigger());\n    } else {\n      trigger();\n    }\n  })();\n\u003C\u002Fscript>","a7b67e96-a716-4ac0-8ecc-d969a562dcbf",{"description":746},"news\u002Finfo\u002F:slug","4f0a9c1e-e049-419b-9902-150c03b104e5",[166,646,647,648,141,142,167,741,742,576],{"cmsRequest":1618,"head":1620,"id":1625,"type":137,"uuid":1626,"symbolIds":1627},{"contentSlug":1568,"schemaKey":1619},"Dt9NkhF0",{"lang":568,"meta":1621,"title":1624},{"description":1622,"og:image":1623},"{{xDjMTRt4}} ","{{cover}}","{{title}} ","news\u002F:slug","00094c16-a3b2-47cb-8963-2fe2904b79f4",[646,647,648,141,142,166,576],{"rssList":1629,"apiList":1630,"cmsProjectId":1631},[],[],"s9pKvVp9yTNdO8ndDriE",[1633,1634,1635,1636,1637,1638,1639,1641,1642,1644,1645,1647,1649,1650,1651,1652,1654,1655,1656,1657,1658,1660,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1676,1677,1678,1679,1680,1681,1682,1683,1685,1686,1687,1688,1689,1690,1692,1694,1695,1696,1698,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1711,1712,1713],{"uuid":167},{"uuid":143},{"uuid":576},{"uuid":166},{"uuid":219},{"uuid":496},{"uuid":1640},"a5b25f5a-1fa2-4b3d-ba53-38516571c8ad",{"uuid":228},{"uuid":1643},"05deded4-0bb8-4877-94ea-7dddb3b2f043",{"uuid":1362},{"uuid":1646},"70bad106-8df4-4627-b302-16e055a5992b",{"uuid":1648},"461f2d19-f969-45a9-988d-a0ca37a7591b",{"uuid":551},{"uuid":1361},{"uuid":1340},{"uuid":1653},"241d55e8-07f6-4c5d-ab37-c5006ac92f4a",{"uuid":237},{"uuid":185},{"uuid":322},{"uuid":176},{"uuid":1659},"e7780a46-2f53-4b03-ae79-d94feb9aa488",{"uuid":1661},"9fdc7924-8d9b-4fb3-aa70-13186e1171fe",{"uuid":742},{"uuid":1455},{"uuid":1055},{"uuid":144},{"uuid":1363},{"uuid":275},{"uuid":276},{"uuid":790},{"uuid":574},{"uuid":952},{"uuid":146},{"uuid":575},{"uuid":1675},"938bea44-9d78-4970-8112-6add3e2ad3fd",{"uuid":145},{"uuid":147},{"uuid":953},{"uuid":396},{"uuid":395},{"uuid":647},{"uuid":648},{"uuid":1684},"6c654809-50f9-41d2-8895-ec154eb8cadc",{"uuid":142},{"uuid":141},{"uuid":277},{"uuid":646},{"uuid":573},{"uuid":1691},"920275e4-09e9-4c51-b05a-01c0e9685daf",{"uuid":1693},"ce6d8d11-e3c1-482b-954d-25c8d4d676b0",{"uuid":165},{"uuid":140},{"uuid":1697},"c6b24073-7f01-44ab-8797-6339f9cb32f9",{"uuid":1699},"487e899b-364d-4c6f-8822-1705fce16c10",{"uuid":1057},{"uuid":1058},{"uuid":1059},{"uuid":1559},{"uuid":1560},{"uuid":186},{"uuid":741},{"uuid":542},{"uuid":1056},{"uuid":1710},"a2dff1b4-5849-4461-bc0f-01a4965b9f2d",{"uuid":1046},{"uuid":1561},{"uuid":1514},{"fontFamily":1715},[],{"color":1717,"fontFamily":1788},[1718,1722,1726,1730,1734,1737,1740,1744,1748,1752,1756,1760,1764,1768,1772,1776,1780,1784],{"key":1719,"name":1
343720,"value":1721},"4a87660c","Main","#ffffffff",{"key":1723,"name":1724,"value":1725},"4baef207","Sub","#2d2d2dff",{"key":1727,"name":1728,"value":1729},"87a80546","Accent1","#603ee7ff",{"key":1731,"name":1732,"value":1733},"7cb3662b","Accent2","#fa9f3dff",{"key":1735,"name":1736,"value":1721},"308a9eed","white",{"key":1738,"name":1739,"value":1725},"748af62c","black",{"key":1741,"name":1742,"value":1743},"5ebf2279","darkUltraGray","#4f4f4fff",{"key":1745,"name":1746,"value":1747},"e1a692aa","grayExtraDark","#717171ff",{"key":1749,"name":1750,"value":1751},"a79487b1","grayBase","#939393ff",{"key":1753,"name":1754,"value":1755},"c7a3400c","darkGray","#b5b5b5ff",{"key":1757,"name":1758,"value":1759},"00b57631","grayLight","#e7e7e7ff",{"key":1761,"name":1762,"value":1763},"41a3ba36","grayExtraLight","#f3f3f3ff",{"key":1765,"name":1766,"value":1767},"9c991e14","grayUltraLight","#f9f9f9ff",{"key":1769,"name":1770,"value":1771},"9592a4d5","kakaku_blue","#023a96ff",{"key":1773,"name":1774,"value":1775},"9b8666b8","kakaku_gray","#b7b7b7ff",{"key":1777,"name":1778,"value":1779},"a5befdf4","Gradation Text","linear-gradient(90deg, #115fe1ff, #6f91ffff 51%, #8b4dbeff)",{"key":1781,"name":1782,"value":1783},"7baa9c4b","Glay","#d7d7d7ff",{"key":1785,"name":1786,"value":1787},"5699908a","Header Gradation","linear-gradient(90deg, #603ee7ff, #776dd1ff 51%, #fa9f3dff 79%, #fbb36cff)",[1789,1791,1794,1796],{"key":1790,"name":21,"value":45},"1086bb21",{"key":1792,"name":21,"value":1793},"6cbe308b","'Noto Sans JP'",{"key":1795,"name":21,"value":73},"69b22349",{"key":1797,"name":21,"value":1793},"eebfa977",{"typography":1799},[1800,1810,1816,1822,1831,1836,1843,1850,1856,1861,1868,1874,1879,1884,1891,1896,1902,1907,1912,1918,1923,1927,1933,1937,1941,1948,1953,1962,1968,1973,1977,1982,1987,1993,2000,2004],{"key":1801,"name":1802,"style":1803},"e4adb723","Body Text B-M 16px",{"@tablet":1804,"fontFamily":1805,"fontSize":1806,"fontWeight":56,"letterSpacing":1807,"lineHeight":1808,"textDecoration":1809},{"fontFamily":1805,"fontWeight":69},"var(--s-font-6cbe308b)","16px","normal","1.7","none",{"key":1811,"name":1812,"style":1813},"4d84634c","Body Text M-R 16px",{"@tablet":1814,"fontFamily":1805,"fontSize":1806,"fontStyle":1807,"fontWeight":69,"letterSpacing":1807,"lineHeight":1808,"textDecoration":1809},{"fontSize":1815,"fontWeight":75},"14px",{"key":1817,"name":1818,"style":1819},"65abf169","Body Text 12px",{"@tablet":1820,"fontFamily":1805,"fontSize":1821,"fontStyle":1807,"fontWeight":69,"letterSpacing":1807,"lineHeight":1808,"textDecoration":1809},{"fontSize":1815,"fontWeight":69},"12px",{"key":1823,"name":1824,"style":1825},"fb95c9f1","Heading Lv1",{"@mobile":1826,"@tablet":1829,"fontFamily":1805,"fontSize":1830,"fontWeight":56,"lineHeight":1828},{"fontSize":1827,"lineHeight":1828},"32px","1.4",{"fontSize":1827,"lineHeight":1828},"44px",{"key":1832,"name":1833,"style":1834},"f09d1f9d","Heading Lv1 Shoulder",{"fontFamily":1835,"fontSize":1815,"fontWeight":52,"lineHeight":1555},"var(--s-font-69b22349)",{"key":1837,"name":1838,"style":1839},"81903ba5","Heading Lv2",{"@tablet":1840,"fontFamily":1805,"fontSize":1827,"fontWeight":56,"lineHeight":1842},{"fontSize":1841},"20px","1.2",{"key":1844,"name":1845,"style":1846},"0d9017f0","Heading Lv3",{"@tablet":1847,"fontFamily":1805,"fontSize":1849,"fontWeight":56,"lineHeight":1808},{"fontSize":1848,"lineHeight":1828},"18px","24px",{"key":1851,"name":1852,"style":1853},"61810f07","Heading Lv4",{"@tablet":1854,"fontFamily":1805,"fontSize":1848,"fontWeight":56,"lineHeight":1855},{"fontSize":1806,"lineHeight":1828},"1.8",{"key":1857,"name":1858,"style":1859},"fbbe2f06","Labe Text",{"fontFamily":1805,"fontSize":1860,"fontWeight":69,"lineHeight":1808},"13px",{"key":1862,"name":1863,"style":1864},"42b27332","CI Body 18px",{"@mobile":1865,"@tablet":1866,"fontFamily":1867,"fontSize":1848,"fontStyle":1807,"fontWeight":69,"letterSpacing":1807,"lineHeight":1842},{"lineHeight":1828},{"fontSize":1806,"fontWeight":69},"var(--s-font-eebfa977)",{"key":1869,"name":1870,"style":1871},"7a93cf12","Button Text 16px",{"@tablet":1872,"fontFamily":1867,"fontSize":1806,"fontStyle":1807,"fontWeight":56,"letterSpacing":1873,"lineHeight":1808},{"fontSize":1860},"0em",{"key":1875,"name":1876,"style":1877},"a39079d6","Anker Head Link 18px",{"@tablet":1878,"fontFamily":1805,"fontSize":1848,"fontWeight":69,"lineHeight":1855},{"fontSize":1815,"fontWeight":75},{"key":1880,"name":1881,"style":1882},"f3bd8407","Anker Head Link Text 16px",{"@tablet":1883,"fontFamily":1805,"fontSize":1848,"fontWeight":69,"lineHeight":1855},{"fontSize":1806,"fontWeight":69},{"key":1885,"name":1886,"style":1887},"ff878436","Anker H-No Link 18px",{"@mobile":1888,"@tablet":1890,"fontFamily":1805,"fontSize":1848,"fontStyle":1807,"fontWeight":69,"letterSpacing":1807,"lineHeight":1842},{"fontSize":1889},"15px",{"fontSize":1806,"fontWeight":69},{"key":1892,"name":1893,"style":1894},"709dd2ba","Table Title 16px",{"@tablet":1895,"fontFamily":1805,"fontSize":1806,"fontWeight":56,"lineHeight":1808},{"fontSize":1815},{"key":1897,"name":1898,"style":1899},"5683eb5a","Table Text 14px",{"@tablet":1900,"fontFamily":1805,"fontSize":1815,"fontWeight":1901,"lineHeight":1808},{"fontSize":1815},400,{"key":1903,"name":1904,"style":1905},"3faa78b4","Table Text 16px",{"@tablet":1906,"fontFamily":1805,"fontSize":1806,"fontWeight":1901,"lineHeight":1808},{"fontSize":1815},{"key":1908,"name":1909,"style":1910},"5294c2ee","アイコン付きリンク 16px",{"@tablet":1911,"fontFamily":1805,"fontSize":1806,"fontWeight":69,"lineHeight":1808,"textDecoration":1809},{"fontSize":1815,"fontWeight":69},{"key":1913,"name":1914,"style":1915},"dc8ff80f","アイコン無しリンク 16px",{"@tablet":1916,"fontFamily":1805,"fontSize":1806,"fontStyle":1807,"fontWeight":69,"letterSpacing":1807,"lineHeight":1808,"textDecoration":1917},{"fontSize":1815,"fontWeight":75},"underline",{"key":1919,"name":1920,"style":1921},"749d27a3","Pankuzu Ja 12px Bold",{"@tablet":1922,"fontFamily":1805,"fontSize":1821,"fontWeight":69,"lineHeight":1828},{"fontSize":1821},{"key":1924,"name":1925,"style":1926},"cfb6d874","Pankuzu Ja 12px Nor",{"fontFamily":1805,"fontSize":1821,"fontWeight":75,"lineHeight":1555},{"key":1928,"name":1929,"style":1930},"a29c7504","Pankuzu 12px Bold",{"@tablet":1931,"fontFamily":1805,"fontSize":1821,"fontWeight":56,"lineHeight":1828},{"fontSize":1932},"0.75rem",{"key":1934,"name":1935,"style":1936},"ebbde720","Pankuzu Text 12px Light",{"fontFamily":1835,"fontSize":1821,"fontWeight":52,"lineHeight":1807},{"key":1938,"name":1939,"style":1940},"c0b98851","Nav Text 16px",{"fontFamily":1805,"fontSize":1806,"fontWeight":56,"lineHeight":1807},{"key":1942,"name":1943,"style":1944},"7baddd02","Footer Text 12px",{"@tablet":1945,"fontFamily":1805,"fontSize":1821,"fontWeight":1901,"lineHeight":1828},{"fontSize":1946,"lineHeight":1947},"11px","1.3",{"key":1949,"name":1950,"style":1951},"4c911306","Mission Text 20px",{"@tablet":1952,"fontFamily":1805,"fontSize":1841,"fontWeight":56,"lineHeight":1808,"textDecoration":1809},{"fontSize":1815},{"key":1954,"name":1955,"style":1956},"59a09772","Mission Head Text 48px",{"@mobile":1957,"@tablet":1959,"fontFamily":1805,"fontSize":1960,"fontWeight":56,"lineHeight":1961},{"fontSize":1958},"28px",{"fontSize":1827},"48px","1.25",{"key":1963,"name":1964,"style":1965},"3faf1be6","Misson Head Text 48px EN",{"@mobile":1966,"@tablet":1967,"fontFamily":1835,"fontSize":1960,"fontStyle":1807,"fontWeight":56,"letterSpacing":1807,"lineHeight":1961,"textDecoration":1809},{"fontSize":1958},{"fontSize":1827},{"key":1969,"name":1970,"style":1971},"1c9cce54","Mission Text 20px EN",{"@tablet":1972,"fontFamily":1835,"fontSize":1841,"fontWeight":56,"lineHeight":1808,"textDecoration":1809},{"fontSize":1815},{"key":1974,"name":1975,"style":1976},"f9ab563c","Image Caption Text 14px",{"fontFamily":1805,"fontSize":1815,"fontWeight":75,"lineHeight":1808},{"key":1978,"name":1979,"style":1980},"7184ad5d","Step Heading 16px",{"@tablet":1981,"fontFamily":1805,"fontSize":1806,"fontWeight":69,"lineHeight":1855},{"fontSize":1815},{"key":1983,"name":1984,"style":1985},"32abb0ed","Step Text 16px",{"@tablet":1986,"fontFamily":1805,"fontSize":1806,"fontStyle":1807,"fontWeight":75,"letterSpacing":1873,"lineHeight":1808},{"fontSize":1860},{"key":1988,"name":1989,"style":1990},"88b42a29","Step Label Text 12px",{"@tablet":1991,"fontFamily":1835,"fontSize":1821,"fontStyle":1807,"fontWeight":75,"letterSpacing":1873,"lineHeight":1555},{"fontSize":1992}
343,"10px",{"key":1994,"name":1995,"style":1996},"50bc4367","Step Label Text 27px",{"@tablet":1997,"fontFamily":1835,"fontSize":1999,"fontStyle":1807,"fontWeight":52,"letterSpacing":1807,"lineHeight":1555},{"fontSize":1998},"23px","27px",{"key":2001,"name":2002,"style":2003},"b0a1d3e3","Kiyaku Heading Lv1",{"fontFamily":1805,"fontSize":1841,"fontWeight":56,"lineHeight":1808},{"key":2005,"name":2006,"style":2007},"e9a31927","list text",{"@tablet":2008,"fontFamily":1805,"fontSize":1806,"fontStyle":1807,"fontWeight":56,"letterSpacing":1807,"lineHeight":1808,"textDecoration":1809},{"fontSize":1815,"fontWeight":69},"20260915060123",[],{},["Map"],{"googleFontMap":2014,"typesquareLoaded":23,"selfHostedFontIds":2015,"hasCustomFont":23,"materialSymbols":2016},["Map"],["Set"],[],{"schemas":2018,"schemaTree":2019,"cmsProject":2020,"isShowArchiveSchema":23,"isContentsEmpty":23,"contentsLoaded":23,"contentMap":2021,"route":2022,"cmsId":21,"dynamicQueries":2023,"hasMore":23},[],{},{},{},{"contentId":21,"schemaId":21,"projectId":21},{}]</script>
343</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.