{"id":6179,"date":"2026-04-27T09:19:24","date_gmt":"2026-04-27T00:19:24","guid":{"rendered":"https:\/\/uqmobile-store.jp\/column\/?post_type=lp&#038;p=6179"},"modified":"2026-04-28T09:47:49","modified_gmt":"2026-04-28T00:47:49","slug":"price-comparison","status":"publish","type":"lp","link":"https:\/\/uqmobile-store.jp\/column\/lp\/price-comparison\/","title":{"rendered":"\u6599\u91d1\u6bd4\u8f03\u30da\u30fc\u30b8"},"content":{"rendered":"\n<!-- ===== SIM COMPARE CSS START ===== -->\n<style>\n.sim-compare-page {\n  --sc-bg: #f4f8fb;\n  --sc-surface: #ffffff;\n  --sc-surface-alt: #f8fbfd;\n  --sc-line: #d9e7f0;\n  --sc-line-strong: #bcd2e0;\n  --sc-text: #183042;\n  --sc-muted: #5d7281;\n  --sc-soft: #eff6fa;\n  --sc-left: #10a56c;\n  --sc-left-strong: #0b8a5b;\n  --sc-left-soft: #e9fbf3;\n  --sc-right: #1e73d8;\n  --sc-right-strong: #175fb4;\n  --sc-right-soft: #eef5ff;\n  --sc-accent: #f2b84b;\n  --sc-warning: #b76a00;\n  --sc-danger: #c23d3d;\n  --sc-shadow: 0 18px 40px rgba(12, 52, 84, 0.08);\n  max-width: 1160px;\n  margin: 0 auto;\n  padding: 24px 16px 72px;\n  color: var(--sc-text);\n  font-family: \"Hiragino Sans\", \"Yu Gothic\", \"YuGothic\", \"Meiryo\", sans-serif;\n  line-height: 1.7;\n  text-size-adjust: 100%;\n}\n\n.sim-compare-page *,\n.sim-compare-page *::before,\n.sim-compare-page *::after {\n  box-sizing: border-box;\n}\n\n.sim-compare-page img {\n  max-width: 100%;\n  height: auto;\n}\n\n.sim-compare-page a {\n  color: inherit;\n}\n\n.sim-compare-page button,\n.sim-compare-page select,\n.sim-compare-page a {\n  font: inherit;\n}\n\n.sim-compare-page button:focus-visible,\n.sim-compare-page select:focus-visible,\n.sim-compare-page a:focus-visible,\n.sim-compare-page summary:focus-visible {\n  outline: 3px solid rgba(30, 115, 216, 0.25);\n  outline-offset: 3px;\n}\n\n.sim-compare-page .compare-hero,\n.sim-compare-page .compare-selector-section,\n.sim-compare-page .compare-summary-section,\n.sim-compare-page .compare-price-section,\n.sim-compare-page .compare-feature-section,\n.sim-compare-page .compare-detail-section,\n.sim-compare-page .compare-recommend-section,\n.sim-compare-page .compare-final-cta-section,\n.sim-compare-page .compare-faq-section {\n  margin-top: 24px;\n}\n\n.sim-compare-page .compare-hero,\n.sim-compare-page .compare-selector-section,\n.sim-compare-page .compare-summary-section,\n.sim-compare-page .compare-price-section,\n.sim-compare-page .compare-feature-section,\n.sim-compare-page .compare-detail-section,\n.sim-compare-page .compare-recommend-section,\n.sim-compare-page .compare-final-cta-section,\n.sim-compare-page .compare-faq-section {\n  position: relative;\n  padding: 0;\n  border: 0;\n  border-radius: 0;\n  background: transparent;\n  box-shadow: none;\n}\n\n.sim-compare-page .compare-hero__content {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr);\n  gap: 24px;\n  align-items: center;\n}\n\n.sim-compare-page .compare-eyebrow {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  margin: 0 0 12px;\n  padding: 6px 12px;\n  border-radius: 999px;\n  background: rgba(16, 165, 108, 0.12);\n  color: var(--sc-left-strong);\n  font-size: 12px;\n  font-weight: 700;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n}\n\n.sim-compare-page .compare-hero-title {\n  margin: 0;\n  font-size: clamp(2rem, 3.2vw, 3.25rem);\n  line-height: 1.15;\n  letter-spacing: -0.03em;\n}\n\n.sim-compare-page .compare-hero-title::after {\n  content: \"\";\n  display: block;\n  width: 92px;\n  height: 6px;\n  margin-top: 16px;\n  border-radius: 999px;\n  background: linear-gradient(90deg, var(--sc-left), var(--sc-right));\n}\n\n.sim-compare-page .compare-lead {\n  margin: 20px 0 0;\n  max-width: 52em;\n  color: var(--sc-muted);\n  font-size: 16px;\n}\n\n.sim-compare-page .compare-hero__meta {\n  display: grid;\n  gap: 10px;\n  margin-top: 18px;\n}\n\n.sim-compare-page .compare-update,\n.sim-compare-page .compare-note {\n  margin: 0;\n  padding: 12px 14px;\n  border-radius: 16px;\n  border: 1px solid var(--sc-line);\n  background: rgba(255, 255, 255, 0.84);\n  font-size: 14px;\n}\n\n.sim-compare-page .compare-update {\n  color: var(--sc-warning);\n  background: rgba(242, 184, 75, 0.12);\n  border-color: rgba(242, 184, 75, 0.4);\n  font-weight: 600;\n}\n\n.sim-compare-page .compare-note {\n  color: var(--sc-warning);\n  background: rgba(242, 184, 75, 0.12);\n  border-color: rgba(242, 184, 75, 0.4);\n}\n\n\n\n.sim-compare-page .section-heading {\n  margin-bottom: 18px;\n}\n\n.sim-compare-page .section-heading .section-heading-title {\n  margin: 0;\n  font-size: clamp(1.35rem, 2vw, 1.8rem);\n  line-height: 1.25;\n  font-weight: 700;\n}\n\n.sim-compare-page .section-heading p {\n  margin: 8px 0 0;\n  color: var(--sc-muted);\n  font-size: 14px;\n}\n\n.sim-compare-page .compare-selector {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n  gap: 14px;\n  align-items: end;\n}\n\n.sim-compare-page .compare-select-box {\n  display: grid;\n  gap: 8px;\n}\n\n.sim-compare-page .compare-select-box label {\n  font-size: 13px;\n  font-weight: 700;\n  color: var(--sc-muted);\n}\n\n.sim-compare-page .compare-select-box select {\n  width: 100%;\n  min-height: 52px;\n  padding: 12px 16px;\n  border: 1px solid var(--sc-line-strong);\n  border-radius: 16px;\n  background: #ffffff;\n  color: var(--sc-text);\n  appearance: none;\n  background-image:\n    linear-gradient(45deg, transparent 50%, var(--sc-muted) 50%),\n    linear-gradient(135deg, var(--sc-muted) 50%, transparent 50%);\n  background-position:\n    calc(100% - 22px) calc(50% - 2px),\n    calc(100% - 16px) calc(50% - 2px);\n  background-size: 6px 6px, 6px 6px;\n  background-repeat: no-repeat;\n}\n\n.sim-compare-page .compare-swap-button,\n.sim-compare-page .compare-reset-button,\n.sim-compare-page .compare-preset-button,\n.sim-compare-page .compare-expand-toggle {\n  cursor: pointer;\n  border: 1px solid transparent;\n  transition:\n    transform 0.18s ease,\n    box-shadow 0.18s ease,\n    border-color 0.18s ease,\n    background-color 0.18s ease,\n    color 0.18s ease;\n}\n\n.sim-compare-page .compare-swap-button,\n.sim-compare-page .compare-reset-button {\n  min-height: 52px;\n  padding: 0 18px;\n  border-radius: 16px;\n  font-weight: 700;\n  white-space: nowrap;\n}\n\n.sim-compare-page .compare-swap-button {\n  background: linear-gradient(135deg, var(--sc-left), var(--sc-right));\n  color: #ffffff;\n  box-shadow: 0 12px 24px rgba(24, 48, 66, 0.12);\n}\n\n.sim-compare-page .compare-reset-button {\n  background: #ffffff;\n  border-color: var(--sc-line-strong);\n  color: var(--sc-text);\n}\n\n.sim-compare-page .compare-swap-button:hover,\n.sim-compare-page .compare-reset-button:hover,\n.sim-compare-page .compare-preset-button:hover,\n.sim-compare-page .compare-expand-toggle:hover {\n  transform: translateY(-1px);\n}\n\n.sim-compare-page .compare-error-message,\n.sim-compare-page .compare-status-message {\n  margin: 14px 0 0;\n  padding: 12px 14px;\n  border-radius: 14px;\n  font-size: 14px;\n}\n\n.sim-compare-page .compare-error-message {\n  border: 1px solid rgba(194, 61, 61, 0.28);\n  background: rgba(194, 61, 61, 0.08);\n  color: var(--sc-danger);\n}\n\n.sim-compare-page .compare-status-message {\n  border: 1px solid rgba(30, 115, 216, 0.2);\n  background: rgba(30, 115, 216, 0.08);\n  color: var(--sc-right-strong);\n}\n\n.sim-compare-page .compare-preset-accordion {\n  margin-top: 18px;\n  border: 1px solid var(--sc-line);\n  border-radius: 18px;\n  background: #ffffff;\n  overflow: hidden;\n}\n\n.sim-compare-page .compare-preset-accordion summary {\n  position: relative;\n  display: block;\n  padding: 16px 48px 16px 18px;\n  cursor: pointer;\n  font-size: 1rem;\n  font-weight: 800;\n  list-style: none;\n}\n\n.sim-compare-page .compare-preset-accordion summary::-webkit-details-marker {\n  display: none;\n}\n\n.sim-compare-page .compare-preset-accordion summary::after {\n  content: \"+\";\n  position: absolute;\n  right: 18px;\n  top: 50%;\n  transform: translateY(-50%);\n  color: var(--sc-right);\n  font-size: 24px;\n  line-height: 1;\n}\n\n.sim-compare-page .compare-preset-accordion[open] summary::after {\n  content: \"\u2212\";\n}\n\n.sim-compare-page .compare-preset-panel {\n  padding: 0 18px 18px;\n}\n\n.sim-compare-page .compare-preset-panel p {\n  margin: 0;\n  color: var(--sc-muted);\n  font-size: 14px;\n}\n\n.sim-compare-page .compare-preset-list {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin-top: 14px;\n}\n\n.sim-compare-page .compare-preset-button {\n  min-height: 42px;\n  padding: 10px 14px;\n  border-radius: 999px;\n  background: #ffffff;\n  border-color: var(--sc-line-strong);\n  color: var(--sc-text);\n  font-size: 14px;\n  font-weight: 700;\n}\n\n.sim-compare-page .compare-preset-button.is-active {\n  background: var(--sc-left-soft);\n  border-color: rgba(16, 165, 108, 0.35);\n  color: var(--sc-left-strong);\n}\n\n.sim-compare-page .compare-summary-grid,\n.sim-compare-page .compare-price-grid,\n.sim-compare-page .compare-recommend-grid,\n.sim-compare-page .compare-final-cta-grid {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr);\n  gap: 18px;\n  align-items: stretch;\n}\n\n.sim-compare-page .compare-price-grid,\n.sim-compare-page .compare-recommend-grid,\n.sim-compare-page .compare-final-cta-grid {\n  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n}\n\n.sim-compare-page .compare-feature-grid {\n  display: block;\n}\n\n.sim-compare-page .compare-table-shell {\n  display: block;\n}\n\n.sim-compare-page .compare-versus {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 56px;\n  height: 56px;\n  border-radius: 50%;\n  background: linear-gradient(135deg, var(--sc-left), var(--sc-right));\n  color: #ffffff;\n  font-size: 18px;\n  font-weight: 800;\n  align-self: center;\n  justify-self: center;\n  box-shadow: 0 12px 24px rgba(24, 48, 66, 0.12);\n}\n\n.sim-compare-page .service-summary-card,\n.sim-compare-page .compare-price-card,\n.sim-compare-page .compare-recommend-card,\n.sim-compare-page .compare-final-cta-card {\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n  min-width: 0;\n  padding: 22px;\n  border: 1px solid var(--sc-line);\n  border-radius: 24px;\n  background: #ffffff;\n}\n\n.sim-compare-page .service-summary-card.is-left,\n.sim-compare-page .compare-price-card.is-left,\n.sim-compare-page .compare-recommend-card.is-left,\n.sim-compare-page .compare-final-cta-card.is-left {\n  background: linear-gradient(180deg, rgba(233, 251, 243, 0.92), #ffffff 42%);\n  border-color: rgba(16, 165, 108, 0.22);\n}\n\n.sim-compare-page .service-summary-card.is-right,\n.sim-compare-page .compare-price-card.is-right,\n.sim-compare-page .compare-recommend-card.is-right,\n.sim-compare-page .compare-final-cta-card.is-right {\n  background: linear-gradient(180deg, rgba(238, 245, 255, 0.92), #ffffff 42%);\n  border-color: rgba(30, 115, 216, 0.22);\n}\n\n.sim-compare-page .service-summary-head,\n.sim-compare-page .compare-price-head,\n.sim-compare-page .compare-recommend-head,\n.sim-compare-page .compare-final-cta-head {\n  display: flex;\n  justify-content: space-between;\n  gap: 12px;\n  align-items: flex-start;\n}\n\n.sim-compare-page .service-summary-logo {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 58px;\n  padding: 10px 14px;\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.82);\n  border: 1px solid var(--sc-line);\n}\n\n.sim-compare-page .service-summary-logo img {\n  max-height: 32px;\n  width: auto;\n}\n\n.sim-compare-page .service-summary-logo-text {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 32px;\n  padding: 6px 10px;\n  border-radius: 10px;\n  background: var(--sc-soft);\n  color: var(--sc-text);\n  font-size: 15px;\n  font-weight: 800;\n}\n\n.sim-compare-page .service-summary-name,\n.sim-compare-page .compare-price-name,\n.sim-compare-page .compare-recommend-name,\n.sim-compare-page .compare-final-cta-name {\n  margin: 0;\n  font-size: 1.4rem;\n  line-height: 1.2;\n}\n\n.sim-compare-page .service-summary-network,\n.sim-compare-page .compare-price-network,\n.sim-compare-page .compare-final-cta-note,\n.sim-compare-page .compare-recommend-caption {\n  margin: 4px 0 0;\n  color: var(--sc-muted);\n  font-size: 14px;\n}\n\n.sim-compare-page .service-summary-points {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 12px;\n  margin: 0;\n}\n\n.sim-compare-page .service-summary-points > div {\n  min-width: 0;\n  padding: 12px;\n  border: 1px solid var(--sc-line);\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.82);\n}\n\n.sim-compare-page .service-summary-points dt {\n  margin: 0;\n  color: var(--sc-muted);\n  font-size: 12px;\n  font-weight: 700;\n}\n\n.sim-compare-page .service-summary-points dd {\n  margin: 6px 0 0;\n  font-size: 14px;\n  font-weight: 700;\n  line-height: 1.5;\n}\n\n.sim-compare-page .summary-hero {\n  display: grid;\n  grid-template-columns: minmax(140px, 200px) minmax(0, 1fr);\n  gap: 16px;\n  align-items: center;\n  padding-bottom: 16px;\n  border-bottom: 1px solid var(--sc-line);\n}\n\n.sim-compare-page .summary-logo-large {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 80px;\n}\n\n.sim-compare-page .summary-logo-large img {\n  max-width: 100%;\n  max-height: 80px;\n  height: auto;\n}\n\n.sim-compare-page .summary-logo-large .summary-logo-placeholder {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  padding: 14px 18px;\n  border-radius: 14px;\n  background: var(--sc-soft);\n  color: var(--sc-text);\n  border: 1px dashed var(--sc-line-strong);\n  font-size: 18px;\n  font-weight: 800;\n  text-align: center;\n  line-height: 1.3;\n}\n\n.sim-compare-page .summary-rate-table {\n  display: grid;\n  grid-template-rows: auto auto;\n  border-radius: 12px;\n  overflow: hidden;\n  border: 1px solid var(--sc-line);\n  background: #ffffff;\n}\n\n.sim-compare-page .rate-head,\n.sim-compare-page .rate-row {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);\n}\n\n.sim-compare-page .rate-head {\n  background: var(--sc-left);\n  color: #ffffff;\n  font-weight: 700;\n  font-size: 13px;\n}\n\n.sim-compare-page .service-summary-card.is-right .rate-head {\n  background: var(--sc-right);\n}\n\n.sim-compare-page .rate-head > div,\n.sim-compare-page .rate-row > div {\n  padding: 10px 8px;\n  text-align: center;\n  border-right: 1px solid rgba(255, 255, 255, 0.25);\n}\n\n.sim-compare-page .rate-row > div {\n  border-right-color: var(--sc-line);\n  color: var(--sc-text);\n}\n\n.sim-compare-page .rate-head > div:last-child,\n.sim-compare-page .rate-row > div:last-child {\n  border-right: none;\n}\n\n.sim-compare-page .rate-name {\n  font-weight: 800;\n  font-size: 15px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.sim-compare-page .rate-value {\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  gap: 2px;\n}\n\n.sim-compare-page .rate-value strong {\n  display: block;\n  font-size: 15px;\n  font-weight: 800;\n  color: var(--sc-text);\n  line-height: 1.2;\n}\n\n.sim-compare-page .rate-value span {\n  display: block;\n  font-size: 12px;\n  color: var(--sc-muted);\n  line-height: 1.3;\n}\n\n.sim-compare-page .summary-banner {\n  border: 0;\n  border-radius: 12px;\n  min-height: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: transparent;\n  padding: 0;\n  overflow: hidden;\n  text-decoration: none;\n}\n\n.sim-compare-page .summary-banner img {\n  max-width: 100%;\n  height: auto;\n  border-radius: 8px;\n  display: block;\n}\n\n.sim-compare-page .summary-banner-placeholder {\n  color: var(--sc-muted);\n  font-size: 12px;\n  font-weight: 600;\n}\n\n.sim-compare-page .summary-panel {\n  padding: 14px 16px;\n  border: 1px solid var(--sc-line);\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.86);\n}\n\n.sim-compare-page .summary-panel .summary-panel-title {\n  margin: 0;\n  font-size: 14px;\n  line-height: 1.4;\n  font-weight: 700;\n}\n\n.sim-compare-page .summary-panel p {\n  margin: 6px 0 0;\n  color: var(--sc-text);\n  font-size: 14px;\n}\n\n.sim-compare-page .summary-panel .compare-detail-meta {\n  margin-top: 4px;\n  color: var(--sc-muted);\n  font-size: 11px;\n  line-height: 1.5;\n}\n\n.sim-compare-page .service-summary-recommend {\n  display: grid;\n  gap: 10px;\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n\n.sim-compare-page .service-summary-recommend li {\n  position: relative;\n  min-height: 40px;\n  padding-left: 26px;\n  font-size: 14px;\n}\n\n.sim-compare-page .service-summary-recommend li::before {\n  content: \"\u2022\";\n  position: absolute;\n  left: 8px;\n  top: 0;\n  color: var(--sc-left);\n  font-size: 22px;\n  line-height: 1;\n}\n\n.sim-compare-page .service-summary-card.is-right .service-summary-recommend li::before,\n.sim-compare-page .compare-recommend-card.is-right .compare-recommend-list li::before {\n  color: var(--sc-right);\n}\n\n.sim-compare-page .compare-volatility-badge {\n  display: inline-flex;\n  align-items: center;\n  width: fit-content;\n  padding: 7px 12px;\n  border-radius: 999px;\n  background: rgba(242, 184, 75, 0.18);\n  color: var(--sc-warning);\n  font-size: 12px;\n  font-weight: 700;\n}\n\n.sim-compare-page .compare-cta {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n  min-height: 52px;\n  padding: 12px 18px;\n  border-radius: 999px;\n  color: #ffffff;\n  font-weight: 800;\n  text-decoration: none;\n  text-align: center;\n  box-shadow: 0 14px 26px rgba(24, 48, 66, 0.12);\n}\n\n.sim-compare-page .service-summary-card.is-left .compare-cta,\n.sim-compare-page .compare-final-cta-card.is-left .compare-cta,\n.sim-compare-page .compare-table .compare-cta.is-left {\n  background: linear-gradient(135deg, var(--sc-left), var(--sc-left-strong));\n}\n\n.sim-compare-page .service-summary-card.is-right .compare-cta,\n.sim-compare-page .compare-final-cta-card.is-right .compare-cta,\n.sim-compare-page .compare-table .compare-cta.is-right {\n  background: linear-gradient(135deg, var(--sc-right), var(--sc-right-strong));\n}\n\n.sim-compare-page .compare-cta:hover {\n  filter: brightness(1.03);\n}\n\n.sim-compare-page .compare-cta-note {\n  margin: 0;\n  color: var(--sc-muted);\n  font-size: 13px;\n}\n\n.sim-compare-page .compare-price-card {\n  gap: 14px;\n}\n\n.sim-compare-page .compare-price-note {\n  margin: 0;\n  padding: 10px 12px;\n  border-radius: 14px;\n  border: 1px solid var(--sc-line);\n  background: rgba(255, 255, 255, 0.84);\n  color: var(--sc-muted);\n  font-size: 13px;\n}\n\n.sim-compare-page .price-row {\n  display: grid;\n  gap: 6px;\n  padding: 14px 14px 16px;\n  border: 1px solid var(--sc-line);\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.86);\n}\n\n.sim-compare-page .price-label {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  align-items: center;\n  font-size: 13px;\n  font-weight: 800;\n}\n\n.sim-compare-page .price-label-badge {\n  display: inline-flex;\n  align-items: center;\n  padding: 4px 10px;\n  border-radius: 999px;\n  background: rgba(16, 165, 108, 0.14);\n  color: var(--sc-left-strong);\n  font-size: 11px;\n  font-weight: 800;\n}\n\n.sim-compare-page .compare-price-card.is-right .price-label-badge {\n  background: rgba(30, 115, 216, 0.12);\n  color: var(--sc-right-strong);\n}\n\n.sim-compare-page .price-value {\n  font-size: 18px;\n  line-height: 1.5;\n  font-weight: 800;\n}\n\n.sim-compare-page .price-note {\n  color: var(--sc-muted);\n  font-size: 13px;\n}\n\n.sim-compare-page .compare-feature-panel {\n  border: 1px solid var(--sc-line);\n  border-radius: 22px;\n  overflow: hidden;\n  background: #ffffff;\n}\n\n.sim-compare-page .compare-feature-table-wrap,\n.sim-compare-page .compare-table-wrap {\n  position: relative;\n  overflow: auto;\n  border-radius: 22px;\n  border: 1px solid var(--sc-line);\n  background: #ffffff;\n}\n\n.sim-compare-page .compare-feature-table,\n.sim-compare-page .compare-table {\n  width: 100%;\n  min-width: 760px;\n  border-collapse: separate;\n  border-spacing: 0;\n}\n\n.sim-compare-page .compare-feature-table caption,\n.sim-compare-page .compare-table caption {\n  padding: 16px;\n  color: var(--sc-muted);\n  font-size: 13px;\n  text-align: left;\n}\n\n.sim-compare-page .compare-feature-table th,\n.sim-compare-page .compare-feature-table td,\n.sim-compare-page .compare-table th,\n.sim-compare-page .compare-table td {\n  padding: 14px 16px;\n  border-right: 1px solid var(--sc-line);\n  border-bottom: 1px solid var(--sc-line);\n  vertical-align: top;\n  text-align: left;\n  font-size: 14px;\n  line-height: 1.65;\n  color: var(--sc-text) !important;\n  overflow-wrap: anywhere;\n  word-break: normal;\n  line-break: strict;\n}\n\n.sim-compare-page .compare-feature-table th:last-child,\n.sim-compare-page .compare-feature-table td:last-child,\n.sim-compare-page .compare-table th:last-child,\n.sim-compare-page .compare-table td:last-child {\n  border-right: 0;\n}\n\n.sim-compare-page .compare-feature-table thead th,\n.sim-compare-page .compare-table thead th {\n  position: sticky;\n  top: 0;\n  z-index: 2;\n  background: #ffffff;\n  color: var(--sc-text) !important;\n  font-size: 13px;\n  font-weight: 800;\n}\n\n.sim-compare-page .compare-feature-table thead th:first-child,\n.sim-compare-page .compare-table thead th:first-child {\n  background: var(--sc-soft);\n  color: var(--sc-text) !important;\n}\n\n.sim-compare-page .compare-feature-table thead th.compare-column-left,\n.sim-compare-page .compare-table thead th.compare-column-left {\n  background: var(--sc-left-soft);\n  color: var(--sc-left-strong) !important;\n}\n\n.sim-compare-page .compare-feature-table thead th.compare-column-right,\n.sim-compare-page .compare-table thead th.compare-column-right {\n  background: var(--sc-right-soft);\n  color: var(--sc-right-strong) !important;\n}\n\n.sim-compare-page .compare-feature-table tbody th,\n.sim-compare-page .compare-table tbody th {\n  width: 19%;\n  min-width: 154px;\n  background: var(--sc-surface-alt);\n  color: var(--sc-text) !important;\n  font-size: 13px;\n  font-weight: 800;\n}\n\n.sim-compare-page .compare-feature-table tbody td,\n.sim-compare-page .compare-table tbody td {\n  background: #ffffff;\n}\n\n.sim-compare-page .compare-detail-section .compare-table tbody td {\n  font-size: 14px;\n  line-height: 1.78;\n  text-align: left;\n}\n\n.sim-compare-page .compare-detail-section .compare-table tbody td p {\n  margin: 0;\n}\n\n.sim-compare-page .compare-detail-section .compare-table tbody td p + p,\n.sim-compare-page .compare-detail-section .compare-table tbody td ul + p,\n.sim-compare-page .compare-detail-section .compare-table tbody td p + ul {\n  margin-top: 10px;\n}\n\n.sim-compare-page .compare-detail-section .compare-table tbody td .compare-detail-meta {\n  display: inline-block;\n  margin-top: 10px;\n  padding: 6px 10px;\n  border-radius: 999px;\n  background: rgba(23, 105, 232, 0.08);\n  color: #486176;\n  font-size: 12px;\n  line-height: 1.45;\n}\n\n.sim-compare-page .compare-table-cta {\n  display: grid;\n  grid-template-rows: auto minmax(3em, auto) auto;\n  gap: 8px;\n  align-content: stretch;\n  height: 100%;\n  text-align: left;\n}\n\n.sim-compare-page .compare-table-cta__name {\n  color: var(--sc-ink);\n  font-size: 13px;\n  font-weight: 900;\n  line-height: 1.35;\n}\n\n.sim-compare-page .compare-table-cta__copy {\n  margin: 0;\n  color: #52687a;\n  font-size: 12px;\n  font-weight: 700;\n  line-height: 1.5;\n  overflow-wrap: anywhere;\n}\n\n.sim-compare-page .compare-table-cta .compare-cta {\n  align-self: end;\n  min-height: 42px;\n  padding: 9px 14px;\n  font-size: 13px;\n  line-height: 1.25;\n}\n\n.sim-compare-page .compare-feature-table tbody tr:last-child th,\n.sim-compare-page .compare-feature-table tbody tr:last-child td,\n.sim-compare-page .compare-table tbody tr:last-child th,\n.sim-compare-page .compare-table tbody tr:last-child td {\n  border-bottom: 0;\n}\n\n.sim-compare-page .compare-table .service-cell-head {\n  display: grid;\n  gap: 10px;\n}\n\n.sim-compare-page .compare-table .service-cell-name {\n  font-weight: 800;\n  font-size: 16px;\n}\n\n.sim-compare-page .compare-table .service-cell-network {\n  color: var(--sc-muted);\n  font-size: 13px;\n}\n\n.sim-compare-page .feature-badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  min-height: 34px;\n  padding: 6px 12px;\n  border-radius: 999px;\n  border: 1px solid var(--sc-line);\n  font-size: 12px;\n  font-weight: 800;\n  white-space: nowrap;\n}\n\n.sim-compare-page .feature-badge--ok {\n  border-color: rgba(16, 165, 108, 0.25);\n  background: rgba(16, 165, 108, 0.12);\n  color: var(--sc-left-strong);\n}\n\n.sim-compare-page .feature-badge--ng {\n  border-color: rgba(194, 61, 61, 0.24);\n  background: rgba(194, 61, 61, 0.08);\n  color: var(--sc-danger);\n}\n\n.sim-compare-page .feature-badge--partial {\n  border-color: rgba(242, 184, 75, 0.32);\n  background: rgba(242, 184, 75, 0.16);\n  color: var(--sc-warning);\n}\n\n.sim-compare-page .feature-badge--unknown {\n  background: rgba(93, 114, 129, 0.08);\n  color: var(--sc-muted);\n}\n\n.sim-compare-page .feature-detail {\n  display: inline-block;\n  margin-left: 8px;\n  color: var(--sc-muted);\n  font-size: 12px;\n}\n\n.sim-compare-page .compare-expandable {\n  position: relative;\n  display: grid;\n  gap: 10px;\n}\n\n.sim-compare-page .compare-expandable__content {\n  position: relative;\n  overflow: hidden;\n  max-height: 6.6em;\n}\n\n.sim-compare-page .compare-expandable__content::after {\n  content: \"\";\n  position: absolute;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  height: 2.6em;\n  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff);\n  pointer-events: none;\n}\n\n.sim-compare-page .compare-expandable.is-expanded .compare-expandable__content {\n  max-height: none;\n}\n\n.sim-compare-page .compare-expandable.is-expanded .compare-expandable__content::after {\n  display: none;\n}\n\n.sim-compare-page .compare-expandable__content p,\n.sim-compare-page .compare-expandable__content ul,\n.sim-compare-page .compare-expandable__content dl {\n  margin: 0;\n}\n\n.sim-compare-page .compare-expandable__content ul {\n  padding-left: 18px;\n}\n\n.sim-compare-page .compare-expandable__content li + li {\n  margin-top: 6px;\n}\n\n.sim-compare-page .compare-inline-list {\n  display: grid;\n  gap: 6px;\n  margin: 10px 0 0;\n  padding-left: 18px;\n}\n\n.sim-compare-page .compare-inline-list li {\n  font-size: 13px;\n}\n\n.sim-compare-page .compare-expand-toggle {\n  width: fit-content;\n  min-height: 36px;\n  padding: 6px 12px;\n  border-radius: 999px;\n  border-color: var(--sc-line-strong);\n  background: #ffffff;\n  color: var(--sc-text);\n  font-size: 12px;\n  font-weight: 800;\n}\n\n.sim-compare-page .compare-detail-meta {\n  color: var(--sc-muted);\n  font-size: 12px;\n}\n\n.sim-compare-page .compare-table .compare-cta-wrap {\n  display: grid;\n  gap: 8px;\n}\n\n.sim-compare-page .compare-table .compare-cta {\n  min-height: 44px;\n  font-size: 14px;\n}\n\n.sim-compare-page .compare-recommend-card {\n  gap: 18px;\n}\n\n.sim-compare-page .compare-recommend-card::after {\n  content: \"\";\n  align-self: flex-end;\n  width: 88px;\n  height: 88px;\n  border-radius: 24px;\n  background:\n    radial-gradient(circle at 50% 26%, rgba(255, 255, 255, 0.95) 0 18%, transparent 19%),\n    radial-gradient(circle at 50% 36%, rgba(255, 255, 255, 0.95) 0 10%, transparent 11%),\n    linear-gradient(180deg, rgba(16, 165, 108, 0.18), rgba(16, 165, 108, 0.28));\n}\n\n.sim-compare-page .compare-recommend-card.is-right::after {\n  background:\n    radial-gradient(circle at 50% 26%, rgba(255, 255, 255, 0.95) 0 18%, transparent 19%),\n    radial-gradient(circle at 50% 36%, rgba(255, 255, 255, 0.95) 0 10%, transparent 11%),\n    linear-gradient(180deg, rgba(30, 115, 216, 0.18), rgba(30, 115, 216, 0.28));\n}\n\n.sim-compare-page .compare-recommend-list {\n  display: grid;\n  gap: 10px;\n  margin: 0;\n  padding: 0;\n  list-style: none;\n}\n\n.sim-compare-page .compare-recommend-list li {\n  position: relative;\n  padding-left: 24px;\n  font-size: 14px;\n}\n\n.sim-compare-page .compare-recommend-list li::before {\n  content: \"\u2713\";\n  position: absolute;\n  left: 0;\n  top: 0;\n  color: var(--sc-left-strong);\n  font-weight: 800;\n}\n\n.sim-compare-page .compare-final-cta-card {\n  justify-content: space-between;\n}\n\n.sim-compare-page .compare-empty-state {\n  padding: 18px;\n  border: 1px solid rgba(194, 61, 61, 0.18);\n  border-radius: 18px;\n  background: rgba(194, 61, 61, 0.06);\n}\n\n.sim-compare-page .compare-empty-state p {\n  margin: 0;\n  color: var(--sc-danger);\n  font-size: 14px;\n  font-weight: 700;\n}\n\n.sim-compare-page .compare-final-cta-copy {\n  padding: 14px 16px;\n  border: 1px solid var(--sc-line);\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.86);\n}\n\n.sim-compare-page .compare-final-cta-copy p {\n  margin: 0;\n  color: var(--sc-muted);\n  font-size: 14px;\n}\n\n.sim-compare-page .compare-faq-list {\n  display: grid;\n  gap: 14px;\n}\n\n.sim-compare-page .compare-faq-item {\n  border: 1px solid var(--sc-line);\n  border-radius: 18px;\n  background: #ffffff;\n  overflow: hidden;\n  box-shadow: 0 12px 26px rgba(31, 73, 111, 0.08);\n  transition: border-color 0.14s ease, box-shadow 0.14s ease, background-color 0.14s ease;\n}\n\n.sim-compare-page .compare-faq-item summary {\n  position: relative;\n  display: block;\n  padding: 18px 52px 18px 20px;\n  cursor: pointer;\n  color: var(--sc-ink);\n  font-weight: 800;\n  line-height: 1.55;\n  list-style: none;\n  transition: background-color 0.14s ease, color 0.14s ease;\n}\n\n.sim-compare-page .compare-faq-item summary::-webkit-details-marker {\n  display: none;\n}\n\n.sim-compare-page .compare-faq-item summary::after {\n  content: \"+\";\n  position: absolute;\n  right: 18px;\n  top: 50%;\n  transform: translateY(-50%);\n  color: var(--sc-right);\n  font-size: 24px;\n  line-height: 1;\n  transition: transform 0.14s ease;\n}\n\n.sim-compare-page .compare-faq-item[open] {\n  border-color: rgba(23, 105, 232, 0.32);\n  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);\n  box-shadow: 0 16px 34px rgba(31, 73, 111, 0.12);\n}\n\n.sim-compare-page .compare-faq-item[open] summary {\n  background: rgba(23, 105, 232, 0.06);\n}\n\n.sim-compare-page .compare-faq-item[open] summary::after {\n  content: \"\u2212\";\n  transform: translateY(-50%) rotate(180deg);\n}\n\n.sim-compare-page .compare-faq-item p {\n  margin: 0 20px 20px;\n  padding: 16px 2px 0;\n  border-top: 1px solid rgba(188, 210, 224, 0.82);\n  color: var(--sc-muted);\n  font-size: 14px;\n  line-height: 1.8;\n}\n\n@supports (interpolate-size: allow-keywords) {\n  .sim-compare-page {\n    interpolate-size: allow-keywords;\n  }\n\n  .sim-compare-page .compare-faq-item::details-content {\n    block-size: 0;\n    overflow: clip;\n    opacity: 0;\n    transition: block-size 0.14s ease-out, opacity 0.1s ease-out;\n  }\n\n  .sim-compare-page .compare-faq-item[open]::details-content {\n    block-size: auto;\n    opacity: 1;\n  }\n}\n\n.sim-compare-page .compare-noscript {\n  margin-top: 22px;\n  padding: 16px;\n  border-radius: 18px;\n  border: 1px solid rgba(242, 184, 75, 0.4);\n  background: rgba(242, 184, 75, 0.12);\n}\n\n.sim-compare-page .compare-noscript p {\n  margin: 0;\n  color: var(--sc-warning);\n  font-size: 14px;\n}\n\n.sim-compare-page .compare-noscript p + p {\n  margin-top: 8px;\n}\n\n@media (max-width: 1023px) {\n  .sim-compare-page {\n    padding-inline: 14px;\n  }\n\n  .sim-compare-page .compare-hero,\n  .sim-compare-page .compare-selector-section,\n  .sim-compare-page .compare-summary-section,\n  .sim-compare-page .compare-price-section,\n  .sim-compare-page .compare-feature-section,\n  .sim-compare-page .compare-detail-section,\n  .sim-compare-page .compare-recommend-section,\n  .sim-compare-page .compare-final-cta-section,\n  .sim-compare-page .compare-faq-section {\n    padding: 0;\n    border-radius: 0;\n  }\n\n  .sim-compare-page .compare-hero__content,\n  .sim-compare-page .compare-summary-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .sim-compare-page .compare-summary-grid {\n    gap: 14px;\n  }\n\n  .sim-compare-page .compare-versus {\n    width: 52px;\n    height: 52px;\n  }\n\n  .sim-compare-page .compare-selector {\n    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n  }\n\n  .sim-compare-page .compare-swap-button,\n  .sim-compare-page .compare-reset-button {\n    width: 100%;\n  }\n\n  .sim-compare-page .compare-swap-button {\n    grid-column: 1 \/ -1;\n  }\n\n  .sim-compare-page .compare-reset-button {\n    grid-column: 2 \/ 3;\n  }\n\n  .sim-compare-page .compare-price-grid,\n  .sim-compare-page .compare-recommend-grid,\n  .sim-compare-page .compare-final-cta-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n}\n\n@media (max-width: 767px) {\n  .sim-compare-page {\n    padding: 16px 0 56px;\n  }\n\n  .sim-compare-page .compare-hero,\n  .sim-compare-page .compare-selector-section,\n  .sim-compare-page .compare-summary-section,\n  .sim-compare-page .compare-price-section,\n  .sim-compare-page .compare-feature-section,\n  .sim-compare-page .compare-detail-section,\n  .sim-compare-page .compare-recommend-section,\n  .sim-compare-page .compare-final-cta-section,\n  .sim-compare-page .compare-faq-section {\n    padding: 0;\n    border-radius: 0;\n  }\n\n  .sim-compare-page .compare-selector {\n    grid-template-columns: 1fr;\n  }\n\n  .sim-compare-page .compare-swap-button,\n  .sim-compare-page .compare-reset-button {\n    grid-column: auto;\n  }\n\n  .sim-compare-page .service-summary-points {\n    grid-template-columns: 1fr;\n  }\n\n  .sim-compare-page .summary-hero {\n    grid-template-columns: minmax(0, 1fr);\n    gap: 12px;\n  }\n\n  .sim-compare-page .rate-head,\n  .sim-compare-page .rate-row {\n    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);\n  }\n\n  .sim-compare-page .rate-head > div,\n  .sim-compare-page .rate-row > div {\n    padding: 8px 6px;\n    font-size: 12px;\n  }\n\n  .sim-compare-page .rate-value strong {\n    font-size: 13px;\n  }\n\n  .sim-compare-page .rate-value span {\n    font-size: 11px;\n  }\n\n  .sim-compare-page .compare-price-grid,\n  .sim-compare-page .compare-recommend-grid,\n  .sim-compare-page .compare-final-cta-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .sim-compare-page .service-summary-card,\n  .sim-compare-page .compare-price-card,\n  .sim-compare-page .compare-recommend-card,\n  .sim-compare-page .compare-final-cta-card {\n    padding: 20px 16px;\n  }\n\n  .sim-compare-page .service-summary-head,\n  .sim-compare-page .compare-price-head,\n  .sim-compare-page .compare-recommend-head,\n  .sim-compare-page .compare-final-cta-head {\n    flex-direction: column;\n  }\n\n  .sim-compare-page .compare-feature-table-wrap::after,\n  .sim-compare-page .compare-table-wrap::after {\n    content: \"\u6a2a\u306b\u30b9\u30af\u30ed\u30fc\u30eb\u3067\u304d\u307e\u3059\";\n    position: sticky;\n    left: calc(100% - 184px);\n    bottom: 0;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-width: 168px;\n    min-height: 32px;\n    margin: 10px;\n    padding: 0 10px;\n    border-radius: 999px;\n    background: rgba(24, 48, 66, 0.88);\n    color: #ffffff;\n    font-size: 11px;\n    letter-spacing: 0.02em;\n    pointer-events: none;\n  }\n\n  .sim-compare-page .compare-feature-table,\n  .sim-compare-page .compare-table {\n    min-width: 640px;\n  }\n\n  .sim-compare-page .compare-preset-button {\n    width: 100%;\n    justify-content: center;\n  }\n\n  \/* \u8a73\u7d30\u6bd4\u8f03\u30c6\u30fc\u30d6\u30eb: \u9805\u76ee\u306e\u307f\u7e26\u7a4d\u307f\u30012\u793e\u306e\u5024\u306f\u6a2a2\u5217 *\/\n  .sim-compare-page .compare-detail-section .compare-table-wrap {\n    overflow: hidden;\n    border: 1px solid var(--sc-line);\n    border-radius: 14px;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table-wrap::after {\n    display: none;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table {\n    display: block;\n    min-width: 0;\n    width: 100%;\n    border-collapse: separate;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table caption {\n    display: none;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table thead {\n    display: none;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table tbody {\n    display: block;\n    width: 100%;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table tbody tr {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n    width: 100%;\n    margin: 0;\n    border: 0;\n    border-radius: 0;\n    background: #ffffff;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table tbody th,\n  .sim-compare-page .compare-detail-section .compare-table tbody td {\n    min-width: 0;\n    border: 0;\n    background: transparent !important;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > th {\n    grid-column: 1 \/ -1;\n    width: 100%;\n    padding: 10px 14px;\n    border-top: 2px solid var(--sc-left);\n    border-bottom: 2px solid var(--sc-left);\n    background: var(--sc-left-soft) !important;\n    text-align: left;\n    font-size: 15px;\n    font-weight: 800;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td {\n    padding: 14px 12px;\n    border-bottom: 1px solid var(--sc-line);\n    text-align: left !important;\n    font-size: 13px;\n    line-height: 1.65;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td p,\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td li,\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td strong,\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td .feature-detail,\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td .compare-detail-meta,\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td .service-cell-name,\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td .service-cell-network,\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td .compare-table-cta__name,\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td .compare-table-cta__copy {\n    text-align: left !important;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td ul,\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td ol {\n    margin: 0;\n    padding-left: 18px;\n    text-align: left;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td li {\n    padding-left: 0;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table .service-cell-head,\n  .sim-compare-page .compare-detail-section .compare-table .service-summary-logo,\n  .sim-compare-page .compare-detail-section .compare-table .compare-table-cta,\n  .sim-compare-page .compare-detail-section .compare-table .compare-table-cta__name,\n  .sim-compare-page .compare-detail-section .compare-table .compare-table-cta__copy {\n    justify-items: start;\n    justify-content: flex-start;\n    text-align: left !important;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table .service-summary-logo {\n    margin-right: auto;\n    margin-left: 0;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td.is-left {\n    border-right: 2px solid rgba(137, 174, 205, 0.88);\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td.is-right {\n    border-left: 0;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table tbody tr > td::before {\n    display: none;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table .compare-cta-wrap {\n    gap: 4px;\n  }\n\n  .sim-compare-page .compare-detail-section .compare-table .compare-cta {\n    min-height: 38px;\n    padding: 8px 10px;\n    font-size: 12px;\n    white-space: nowrap;\n    letter-spacing: 0;\n  }\n}\n\n\/* Mockup-aligned first view *\/\n.sim-compare-page {\n  --sc-page-blue: #eaf6ff;\n  --sc-ink: #06152b;\n  --sc-blue: #1769e8;\n  --sc-blue-deep: #0f5fdf;\n  --sc-green: #1aa06b;\n  --sc-orange: #f49a22;\n  position: relative;\n  z-index: 0;\n  isolation: isolate;\n  max-width: none;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n  overflow: visible;\n  background: transparent;\n  color: var(--sc-ink);\n}\n\n.sim-compare-page::before {\n  content: \"\";\n  position: absolute;\n  z-index: -1;\n  top: 0;\n  bottom: 0;\n  left: clamp(-120px, -6vw, -48px);\n  right: clamp(-120px, -6vw, -48px);\n  background: var(--sc-page-blue);\n  box-shadow: 0 0 0 100vmax var(--sc-page-blue);\n  clip-path: inset(0 -100vmax);\n  pointer-events: none;\n}\n\n.sim-compare-page .compare-hero {\n  margin-top: 0;\n  padding: 24px clamp(18px, 4vw, 72px) 22px;\n  background: transparent;\n}\n\n.sim-compare-page .compare-hero::after {\n  display: none;\n}\n\n.sim-compare-page .compare-hero__inner {\n  position: relative;\n  z-index: 1;\n  max-width: 1680px;\n  margin: 0 auto;\n}\n\n.sim-compare-page .compare-hero__topbar {\n  display: flex;\n  align-items: flex-start;\n  justify-content: space-between;\n  gap: 18px;\n  margin-bottom: 34px;\n}\n\n.sim-compare-page .compare-eyebrow,\n.sim-compare-page .compare-update {\n  display: inline-flex;\n  align-items: center;\n  gap: 12px;\n  margin: 0;\n  border: 0;\n  border-radius: 24px;\n  background: rgba(255, 255, 255, 0.92);\n  color: var(--sc-ink);\n  box-shadow: 0 14px 36px rgba(62, 105, 145, 0.12);\n  letter-spacing: 0;\n  text-transform: none;\n}\n\n.sim-compare-page .compare-eyebrow {\n  min-height: 52px;\n  padding: 0 26px;\n  color: var(--sc-green);\n  font-size: 16px;\n  font-weight: 800;\n  white-space: nowrap;\n}\n\n.sim-compare-page .compare-eyebrow span,\n.sim-compare-page .compare-update > span:first-child {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 24px;\n  height: 24px;\n  border-radius: 50%;\n  flex: 0 0 auto;\n}\n\n.sim-compare-page .compare-eyebrow span {\n  border: 2px solid currentColor;\n  font-size: 13px;\n  line-height: 1;\n}\n\n.sim-compare-page .compare-update {\n  min-height: 76px;\n  padding: 12px 26px;\n  color: #10233f;\n  font-size: 14px;\n  font-weight: 800;\n  line-height: 1.45;\n  text-align: left;\n}\n\n.sim-compare-page .compare-update > span:first-child {\n  border: 2px solid #153660;\n  border-radius: 7px;\n  color: #153660;\n  font-size: 13px;\n}\n\n.sim-compare-page .compare-hero__content {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr);\n  gap: 0;\n  align-items: start;\n}\n\n.sim-compare-page .compare-hero__main {\n  min-width: 0;\n  max-width: 1080px;\n}\n\n.sim-compare-page .compare-hero-title {\n  width: fit-content;\n  max-width: 100%;\n  margin: 0;\n  padding: 8px 0 10px;\n  color: var(--sc-ink);\n  font-size: clamp(40px, 3.9vw, 62px);\n  line-height: 1.15;\n  font-weight: 900;\n  letter-spacing: 0;\n  text-shadow: 0 2px 0 rgba(255, 255, 255, 0.72), 0 14px 34px rgba(25, 70, 112, 0.16);\n}\n\n.sim-compare-page .compare-hero-title::after {\n  display: none;\n}\n\n.sim-compare-page .compare-title-accent {\n  color: var(--sc-green);\n  font-size: 1.2em;\n  line-height: 0.9;\n  text-shadow: 0 2px 0 rgba(255, 255, 255, 0.82), 0 14px 34px rgba(26, 160, 107, 0.16);\n}\n\n.sim-compare-page .compare-title-line {\n  display: inline-block;\n  white-space: nowrap;\n}\n\n.sim-compare-page .compare-title-keep {\n  white-space: nowrap;\n}\n\n.sim-compare-page .compare-lead {\n  max-width: 760px;\n  margin: 24px 0 0;\n  color: #203554;\n  font-size: 18px;\n  font-weight: 700;\n  line-height: 1.85;\n}\n\n.sim-compare-page .compare-feature-chips {\n  display: grid;\n  grid-template-columns: repeat(5, minmax(0, 1fr));\n  gap: 8px;\n  margin-top: 24px;\n}\n\n.sim-compare-page .compare-feature-chip {\n  display: grid;\n  grid-template-columns: 38px minmax(0, 1fr);\n  column-gap: 10px;\n  align-items: center;\n  min-height: 78px;\n  padding: 12px 14px;\n  border: 1px solid rgba(207, 224, 239, 0.8);\n  border-radius: 12px;\n  background: rgba(255, 255, 255, 0.92);\n  box-shadow: 0 14px 28px rgba(34, 82, 124, 0.08);\n}\n\n.sim-compare-page .compare-feature-chip span {\n  grid-row: 1 \/ 3;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 38px;\n  height: 38px;\n  border: 3px solid currentColor;\n  border-radius: 50%;\n  font-size: 18px;\n  line-height: 1;\n}\n\n.sim-compare-page .compare-feature-chip strong {\n  min-width: 0;\n  font-size: 14px;\n  line-height: 1.25;\n  font-weight: 900;\n  white-space: nowrap;\n}\n\n.sim-compare-page .compare-feature-chip small {\n  min-width: 0;\n  color: #344963;\n  font-size: 10px;\n  font-weight: 700;\n  line-height: 1.3;\n}\n\n.sim-compare-page .compare-feature-chip--green {\n  color: var(--sc-green);\n}\n\n.sim-compare-page .compare-feature-chip--blue {\n  color: var(--sc-blue);\n}\n\n.sim-compare-page .compare-feature-chip--orange {\n  color: var(--sc-orange);\n}\n\n.sim-compare-page .compare-selector-card {\n  border: 1px solid rgba(213, 226, 240, 0.9);\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.94);\n  box-shadow: 0 20px 46px rgba(45, 87, 126, 0.13);\n}\n\n.sim-compare-page .compare-selector-card {\n  margin-top: 24px;\n  padding: 22px 30px 18px;\n}\n\n.sim-compare-page .compare-selector {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n  gap: 24px;\n  align-items: end;\n}\n\n.sim-compare-page .compare-select-box {\n  display: grid;\n  gap: 10px;\n  min-width: 0;\n}\n\n.sim-compare-page .compare-select-box label {\n  display: grid;\n  gap: 10px;\n  color: #415673;\n  font-size: 13px;\n  font-weight: 800;\n}\n\n.sim-compare-page .compare-select-box label span {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: fit-content;\n  min-width: 70px;\n  min-height: 30px;\n  padding: 0 18px;\n  border-radius: 999px;\n  background: linear-gradient(90deg, rgba(26, 160, 107, 0.17), rgba(26, 160, 107, 0.07));\n  color: var(--sc-green);\n  font-size: 15px;\n}\n\n.sim-compare-page .compare-select-box select {\n  min-height: 58px;\n  padding: 12px 46px 12px 18px;\n  border: 1px solid #c6d7ea;\n  border-radius: 8px;\n  background-color: #ffffff;\n  color: var(--sc-ink);\n  font-size: 18px;\n  font-weight: 900;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);\n}\n\n.sim-compare-page .compare-selector-card .compare-status-message {\n  display: none;\n}\n\n\n.sim-compare-page .compare-summary-section {\n  position: relative;\n  z-index: 1;\n  width: min(1240px, calc(100% - clamp(72px, 12vw, 220px)));\n  max-width: none;\n  margin: 24px auto 0;\n  padding: 0;\n}\n\n.sim-compare-page .compare-detail-section,\n.sim-compare-page .compare-final-cta-section,\n.sim-compare-page .compare-faq-section {\n  position: relative;\n  z-index: 1;\n  width: min(1240px, calc(100% - clamp(72px, 12vw, 220px)));\n  max-width: none;\n  margin-right: auto;\n  margin-left: auto;\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.sim-compare-page .compare-summary-section .section-heading {\n  margin-bottom: 20px;\n}\n\n.sim-compare-page .section-heading {\n  position: relative;\n  margin-bottom: 20px;\n  padding: 20px 24px 20px 28px;\n  border: 1px solid rgba(184, 209, 231, 0.92);\n  border-left: 0;\n  border-radius: 18px;\n  background:\n    linear-gradient(90deg, rgba(26, 160, 107, 0.16), rgba(23, 105, 232, 0.09) 42%, rgba(255, 255, 255, 0.96) 100%),\n    rgba(255, 255, 255, 0.95);\n  box-shadow:\n    0 18px 42px rgba(36, 83, 124, 0.16),\n    inset 0 1px 0 rgba(255, 255, 255, 0.9);\n  overflow: hidden;\n}\n\n.sim-compare-page .section-heading::before {\n  content: \"\";\n  position: absolute;\n  inset: 0 auto 0 0;\n  width: 10px;\n  border-radius: 999px;\n  background: linear-gradient(180deg, var(--sc-green), var(--sc-blue));\n}\n\n.sim-compare-page .section-heading::after {\n  content: \"\";\n  position: absolute;\n  right: 18px;\n  bottom: 14px;\n  left: 28px;\n  height: 3px;\n  border-radius: 999px;\n  background: linear-gradient(90deg, rgba(26, 160, 107, 0.42), rgba(23, 105, 232, 0.18), transparent);\n  pointer-events: none;\n}\n\n.sim-compare-page .section-heading .section-heading-title,\n.sim-compare-page .compare-summary-section .section-heading-title {\n  position: relative;\n  z-index: 1;\n  margin: 0;\n  color: var(--sc-ink);\n  font-size: clamp(26px, 2.4vw, 38px);\n  line-height: 1.24;\n  font-weight: 900;\n  letter-spacing: 0;\n  text-shadow:\n    2px 0 0 #ffffff,\n    -2px 0 0 #ffffff,\n    0 2px 0 #ffffff,\n    0 -2px 0 #ffffff,\n    1.4px 1.4px 0 #ffffff,\n    -1.4px 1.4px 0 #ffffff,\n    1.4px -1.4px 0 #ffffff,\n    -1.4px -1.4px 0 #ffffff,\n    0 10px 26px rgba(13, 50, 84, 0.18);\n}\n\n.sim-compare-page .section-heading p {\n  position: relative;\n  z-index: 1;\n  max-width: 860px;\n  margin: 8px 0 0;\n  color: #43596f;\n  font-size: clamp(14px, 1.2vw, 16px);\n  line-height: 1.75;\n  font-weight: 700;\n}\n\n.sim-compare-page .compare-faq-section {\n  padding-bottom: clamp(48px, 7vw, 92px);\n}\n\n@media (max-width: 1500px) {\n  .sim-compare-page .compare-feature-chips {\n    grid-template-columns: repeat(5, minmax(0, 1fr));\n  }\n}\n\n@media (max-width: 1100px) {\n  .sim-compare-page .compare-feature-chips {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n}\n\n@media (max-width: 900px) {\n  .sim-compare-page .compare-summary-section,\n  .sim-compare-page .compare-detail-section,\n  .sim-compare-page .compare-final-cta-section,\n  .sim-compare-page .compare-faq-section {\n    width: calc(100% - 40px);\n    padding-right: 0;\n    padding-left: 0;\n  }\n\n  .sim-compare-page .compare-hero {\n    padding: 22px 20px 20px;\n  }\n\n  .sim-compare-page .compare-hero__topbar {\n    align-items: flex-start;\n    flex-wrap: nowrap;\n    margin-bottom: 26px;\n  }\n\n  .sim-compare-page .compare-eyebrow {\n    min-height: 46px;\n    padding: 0 18px;\n    font-size: 14px;\n    font-weight: 700;\n    white-space: nowrap;\n  }\n\n  .sim-compare-page .compare-eyebrow span {\n    width: 21px;\n    height: 21px;\n    font-size: 11px;\n  }\n\n  .sim-compare-page .compare-update {\n    min-height: 54px;\n    padding: 8px 16px;\n    font-size: 11px;\n    font-weight: 700;\n  }\n\n  .sim-compare-page .compare-hero-title {\n    font-size: clamp(28px, 5vw, 38px);\n    font-weight: 800;\n    line-height: 1.2;\n  }\n\n  .sim-compare-page .compare-lead {\n    font-size: 14px;\n    font-weight: 600;\n  }\n\n  .sim-compare-page .compare-feature-chips {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .sim-compare-page .compare-feature-chip strong {\n    font-size: 13px;\n    font-weight: 700;\n  }\n\n  .sim-compare-page .compare-feature-chip small {\n    font-weight: 600;\n  }\n\n  .sim-compare-page .compare-select-box label {\n    font-weight: 700;\n  }\n\n  .sim-compare-page .compare-select-box label span {\n    font-weight: 700;\n  }\n\n  .sim-compare-page .compare-select-box select {\n    font-size: 16px;\n    font-weight: 700;\n  }\n\n  .sim-compare-page .compare-selector {\n    grid-template-columns: 1fr;\n    gap: 16px;\n  }\n}\n\n@media (max-width: 767px) {\n  .sim-compare-page {\n    padding: 0;\n  }\n\n  .sim-compare-page::before {\n    left: -18px;\n    right: -18px;\n  }\n\n  .sim-compare-page .compare-hero,\n  .sim-compare-page .compare-summary-section,\n  .sim-compare-page .compare-detail-section,\n  .sim-compare-page .compare-final-cta-section,\n  .sim-compare-page .compare-faq-section {\n    padding-right: 14px;\n    padding-left: 14px;\n  }\n\n  .sim-compare-page .compare-summary-section,\n  .sim-compare-page .compare-detail-section,\n  .sim-compare-page .compare-final-cta-section,\n  .sim-compare-page .compare-faq-section {\n    width: auto;\n    margin-right: 14px;\n    margin-left: 14px;\n    padding-right: 0;\n    padding-left: 0;\n  }\n\n  .sim-compare-page .compare-hero {\n    padding-top: 20px;\n  }\n\n  .sim-compare-page .compare-hero::after {\n    display: none;\n  }\n\n  .sim-compare-page .compare-hero__topbar {\n    gap: 8px;\n    margin-bottom: 24px;\n  }\n\n  .sim-compare-page .compare-eyebrow {\n    min-height: 42px;\n    padding: 0 14px;\n    border-radius: 20px;\n    font-size: 13px;\n    font-weight: 700;\n    line-height: 1;\n    white-space: nowrap;\n  }\n\n  .sim-compare-page .compare-update {\n    min-height: 42px;\n    padding: 7px 10px;\n    border-radius: 20px;\n    font-size: 0;\n  }\n\n  .sim-compare-page .compare-update > span:first-child {\n    width: 20px;\n    height: 20px;\n    border-radius: 6px;\n    font-size: 10px;\n  }\n\n  .sim-compare-page .compare-update > span:last-child {\n    font-size: 0;\n  }\n\n  .sim-compare-page .compare-update > span:last-child::after {\n    content: \"2026\u5e744\u670824\u65e5\u6642\u70b9\";\n    font-size: 12px;\n    font-weight: 700;\n    white-space: nowrap;\n  }\n\n  .sim-compare-page .compare-hero-title {\n    order: 1;\n    padding: 4px 0 6px;\n    font-size: clamp(22px, 6vw, 29px);\n    font-weight: 800;\n    line-height: 1.22;\n    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.82), 0 10px 24px rgba(25, 70, 112, 0.14);\n  }\n\n  .sim-compare-page .compare-title-accent {\n    font-size: 1.14em;\n  }\n\n  .sim-compare-page .compare-lead {\n    order: 2;\n    margin-top: 14px;\n    font-size: 13px;\n    font-weight: 600;\n    line-height: 1.65;\n  }\n\n  .sim-compare-page .compare-hero__main {\n    display: contents;\n  }\n\n  .sim-compare-page .compare-feature-chips {\n    order: 5;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 10px;\n    margin-top: 16px;\n  }\n\n  .sim-compare-page .compare-feature-chip {\n    min-height: 68px;\n    padding: 10px 12px;\n  }\n\n  .sim-compare-page .compare-feature-chip strong {\n    font-size: 12px;\n    font-weight: 800;\n  }\n\n  .sim-compare-page .compare-feature-chip small {\n    font-size: 9px;\n    font-weight: 600;\n  }\n\n  .sim-compare-page .compare-selector-card {\n    order: 4;\n    margin-top: 18px;\n    padding: 18px 16px 16px;\n    border-radius: 22px;\n  }\n\n  .sim-compare-page .compare-select-box label {\n    font-size: 0;\n  }\n\n  .sim-compare-page .compare-select-box label span {\n    min-height: 26px;\n    padding: 0 14px;\n    font-size: 13px;\n    font-weight: 700;\n  }\n\n  .sim-compare-page .compare-select-box select {\n    min-height: 52px;\n    font-size: 16px;\n    font-weight: 700;\n  }\n\n  .sim-compare-page .compare-summary-section {\n    margin-top: 14px;\n  }\n\n  .sim-compare-page .section-heading {\n    margin-bottom: 14px;\n    padding: 15px 16px 17px 18px;\n    border-radius: 14px;\n  }\n\n  .sim-compare-page .section-heading::before {\n    inset: 0 auto 0 0;\n    width: 7px;\n  }\n\n  .sim-compare-page .section-heading::after {\n    right: 14px;\n    bottom: 10px;\n    left: 18px;\n    height: 2px;\n  }\n\n  .sim-compare-page .section-heading .section-heading-title,\n  .sim-compare-page .compare-summary-section .section-heading-title {\n    font-size: clamp(21px, 5.6vw, 26px);\n    line-height: 1.28;\n    text-shadow:\n      1.5px 0 0 #ffffff,\n      -1.5px 0 0 #ffffff,\n      0 1.5px 0 #ffffff,\n      0 -1.5px 0 #ffffff,\n      1px 1px 0 #ffffff,\n      -1px 1px 0 #ffffff,\n      1px -1px 0 #ffffff,\n      -1px -1px 0 #ffffff,\n      0 8px 18px rgba(13, 50, 84, 0.14);\n  }\n\n  .sim-compare-page .section-heading p {\n    font-size: 13px;\n    font-weight: 600;\n    line-height: 1.65;\n  }\n\n  .sim-compare-page .compare-faq-section {\n    padding-bottom: 54px;\n  }\n}\n\n@media (max-width: 420px) {\n  .sim-compare-page::before {\n    left: -12px;\n    right: -12px;\n  }\n\n  .sim-compare-page .compare-hero {\n    padding-right: 12px;\n    padding-left: 12px;\n  }\n\n  .sim-compare-page .compare-hero__topbar {\n    align-items: center;\n  }\n\n  .sim-compare-page .compare-eyebrow {\n    padding: 0 12px;\n    font-size: 12px;\n  }\n\n  .sim-compare-page .compare-update {\n    padding: 7px 9px;\n  }\n\n  .sim-compare-page .compare-update > span:last-child::after {\n    font-size: 11px;\n  }\n\n  .sim-compare-page .compare-hero-title {\n    font-size: clamp(20px, 5.8vw, 27px);\n  }\n\n  .sim-compare-page .compare-feature-chip {\n    grid-template-columns: 30px minmax(0, 1fr);\n    column-gap: 8px;\n  }\n\n  .sim-compare-page .compare-feature-chip span {\n    width: 30px;\n    height: 30px;\n    font-size: 14px;\n  }\n\n}\n\n\/* ===== SIM DIAGNOSIS CSS START ===== *\/\n.sim-diagnosis {\n  --sd-green: #10a56c;\n  --sd-green-dark: #0b8a5b;\n  --sd-blue: #1e73d8;\n  --sd-blue-dark: #175fb4;\n  --sd-gold: #f2b84b;\n  --sd-ink: #183042;\n  --sd-muted: #5d7281;\n  --sd-line: #d9e7f0;\n  --sd-soft: #f4f8fb;\n  --sd-surface: #ffffff;\n  color: var(--sd-ink);\n  container-type: inline-size;\n  font-family: \"Hiragino Sans\", \"Yu Gothic\", \"YuGothic\", \"Meiryo\", sans-serif;\n}\n\n.sim-diagnosis *,\n.sim-diagnosis *::before,\n.sim-diagnosis *::after {\n  box-sizing: border-box;\n}\n\n.sim-diagnosis button,\n.sim-diagnosis a {\n  font: inherit;\n}\n\n.sim-diagnosis button {\n  cursor: pointer;\n}\n\n.sim-diagnosis button:focus-visible,\n.sim-diagnosis a:focus-visible,\n.sim-diagnosis summary:focus-visible {\n  outline: 3px solid rgba(30, 115, 216, 0.25);\n  outline-offset: 3px;\n}\n\n.sim-diagnosis__shell,\n.sim-diagnosis__panel,\n.sim-diagnosis__result-card {\n  border: 1px solid rgba(184, 209, 231, 0.92);\n  border-radius: 24px;\n  background:\n    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 253, 0.98)),\n    var(--sd-surface);\n  box-shadow: 0 18px 42px rgba(36, 83, 124, 0.14);\n  overflow: hidden;\n}\n\n.sim-diagnosis__shell {\n  display: grid;\n  grid-template-columns: minmax(0, 1.45fr) minmax(330px, 0.72fr);\n  min-height: 640px;\n  position: relative;\n}\n\n.sim-diagnosis__hero {\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  padding: clamp(38px, 5vw, 56px) clamp(34px, 5vw, 64px);\n}\n\n.sim-diagnosis__label {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  min-height: 42px;\n  margin: 0 0 34px;\n  padding: 6px 18px;\n  border: 1px solid rgba(16, 165, 108, 0.38);\n  border-radius: 999px;\n  background: rgba(16, 165, 108, 0.08);\n  color: var(--sd-green-dark);\n  font-size: 18px;\n  font-weight: 800;\n  letter-spacing: 0;\n}\n\n.sim-diagnosis__label-icon,\n.sim-diagnosis__service-icon,\n.sim-diagnosis__note-icon {\n  flex: 0 0 auto;\n  display: inline-grid;\n  place-items: center;\n}\n\n.sim-diagnosis__label-icon {\n  width: 24px;\n  height: 24px;\n  border-radius: 7px;\n  background:\n    radial-gradient(circle, #ffffff 2px, transparent 2.5px) 5px 5px \/ 8px 8px,\n    linear-gradient(135deg, #32ad6b, #1f9c62);\n  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.26);\n}\n\n.sim-diagnosis__title,\n.sim-diagnosis__result-title,\n.sim-diagnosis__question {\n  display: block;\n  margin: 0;\n  color: var(--sd-ink);\n  font-weight: 700;\n  letter-spacing: 0;\n  line-height: 1.24;\n  text-shadow: none;\n}\n\n.sim-diagnosis__title {\n  max-width: 760px;\n  font-size: clamp(42px, 4.8vw, 72px);\n  font-weight: 800;\n  line-height: 1.22;\n  white-space: normal;\n}\n\n.sim-diagnosis__title span {\n  display: block;\n}\n\n.sim-diagnosis__title em {\n  color: #2d73df;\n  font-style: normal;\n  white-space: nowrap;\n}\n\n.sim-diagnosis__title::after,\n.sim-diagnosis__result-title::after {\n  content: \"\";\n  display: block;\n  width: 92px;\n  height: 6px;\n  margin-top: 16px;\n  border-radius: 999px;\n  background: linear-gradient(90deg, var(--sd-green), var(--sd-blue));\n}\n\n.sim-diagnosis__lead {\n  max-width: 710px;\n  margin: 30px 0 0;\n  color: var(--sd-muted);\n  font-size: 18px;\n  font-weight: 500;\n  line-height: 1.9;\n}\n\n.sim-diagnosis__focus-cards {\n  display: none;\n}\n\n.sim-diagnosis__service-list {\n  display: grid;\n  grid-template-columns: 58px minmax(0, 1fr);\n  column-gap: 18px;\n  align-items: start;\n  width: min(100%, 650px);\n  margin: 32px 0 0;\n  padding: 24px 28px;\n  border: 1px solid var(--sd-line);\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.9);\n  color: var(--sd-muted);\n  font-size: 16px;\n  line-height: 2.05;\n  box-shadow: 0 12px 30px rgba(36, 83, 124, 0.1);\n}\n\n.sim-diagnosis__service-icon {\n  width: 48px;\n  height: 48px;\n  border-radius: 18px;\n  background:\n    linear-gradient(135deg, rgba(45, 115, 223, 0.14), rgba(45, 115, 223, 0.05)),\n    #eef5ff;\n  position: relative;\n}\n\n.sim-diagnosis__service-icon::before {\n  content: \"\";\n  width: 21px;\n  height: 25px;\n  border: 3px solid #2d73df;\n  border-radius: 5px;\n}\n\n.sim-diagnosis__service-icon::after {\n  content: \"\";\n  position: absolute;\n  top: 13px;\n  width: 9px;\n  height: 5px;\n  border: 3px solid #2d73df;\n  border-bottom: 0;\n  border-radius: 5px 5px 0 0;\n}\n\n.sim-diagnosis__service-copy {\n  min-width: 0;\n}\n\n.sim-diagnosis__service-list b {\n  color: var(--sd-ink);\n  font-weight: 800;\n}\n\n.sim-diagnosis__primary,\n.sim-diagnosis__cta {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 18px;\n  min-height: 72px;\n  margin-top: 30px;\n  padding: 0 24px;\n  border: 0;\n  border-radius: 18px;\n  background: linear-gradient(135deg, var(--sd-green), var(--sd-blue));\n  color: #ffffff;\n  font-weight: 700;\n  text-align: center;\n  text-decoration: none;\n  box-shadow: 0 14px 28px rgba(24, 48, 66, 0.18);\n  transition: transform 0.18s ease, box-shadow 0.18s ease;\n}\n\n.sim-diagnosis__primary {\n  width: min(100%, 520px);\n  justify-content: center;\n  font-size: 22px;\n}\n\n.sim-diagnosis__primary i {\n  position: relative;\n  flex: 0 0 auto;\n  width: 46px;\n  height: 46px;\n  margin-left: auto;\n  border-radius: 999px;\n  background: #ffffff;\n}\n\n.sim-diagnosis__primary i::before {\n  content: \"\";\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 11px;\n  height: 11px;\n  border-top: 4px solid #246fe0;\n  border-right: 4px solid #246fe0;\n  transform: translate(-62%, -50%) rotate(45deg);\n}\n\n.sim-diagnosis__primary:hover,\n.sim-diagnosis__cta:hover {\n  transform: translateY(-1px);\n  box-shadow: 0 18px 32px rgba(24, 48, 66, 0.22);\n}\n\n.sim-diagnosis .sim-diagnosis__primary,\n.sim-diagnosis .sim-diagnosis__cta,\n.sim-diagnosis .sim-diagnosis__candidate-card > a {\n  color: #ffffff;\n}\n\n.sim-diagnosis__primary:disabled {\n  cursor: not-allowed;\n  opacity: 0.45;\n  transform: none;\n  box-shadow: none;\n}\n\n.sim-diagnosis__secondary {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 52px;\n  padding: 0 20px;\n  border: 1px solid var(--sd-line);\n  border-radius: 16px;\n  background: #ffffff;\n  color: var(--sd-ink);\n  font-weight: 700;\n}\n\n.sim-diagnosis__secondary:disabled {\n  cursor: not-allowed;\n  opacity: 0.45;\n}\n\n.sim-diagnosis__microcopy {\n  margin: 12px 0 0;\n  color: #43596f;\n  font-size: 13px;\n  font-weight: 800;\n}\n\n.sim-diagnosis__note {\n  display: grid;\n  grid-template-columns: 42px minmax(0, 1fr);\n  gap: 14px;\n  max-width: 650px;\n  margin: 26px 0 0;\n  color: #6b7f8e;\n  font-size: 12px;\n  line-height: 1.75;\n}\n\n.sim-diagnosis__note-icon {\n  width: 38px;\n  height: 38px;\n  border-radius: 999px;\n  background:\n    linear-gradient(135deg, rgba(16, 165, 108, 0.14), rgba(30, 115, 216, 0.08)),\n    #eef7f5;\n  position: relative;\n}\n\n.sim-diagnosis__note-icon::before {\n  content: \"\";\n  width: 17px;\n  height: 20px;\n  border: 3px solid #289768;\n  border-radius: 9px 9px 7px 7px;\n  clip-path: polygon(50% 0, 100% 18%, 100% 66%, 50% 100%, 0 66%, 0 18%);\n}\n\n.sim-diagnosis__note-icon::after {\n  content: \"\";\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 8px;\n  height: 5px;\n  border-left: 2px solid #289768;\n  border-bottom: 2px solid #289768;\n  transform: translate(-50%, -60%) rotate(-45deg);\n}\n\n.sim-diagnosis__visual {\n  position: relative;\n  min-height: 100%;\n  background:\n    radial-gradient(circle at 55% 15%, rgba(16, 165, 108, 0.13), transparent 32%),\n    linear-gradient(160deg, rgba(238, 252, 247, 0.95), rgba(225, 240, 255, 0.92));\n}\n\n.sim-diagnosis__phone {\n  position: absolute;\n  top: 64px;\n  right: clamp(24px, 4vw, 72px);\n  bottom: 56px;\n  width: min(330px, calc(100% - 56px));\n  border: 12px solid #10161d;\n  border-radius: 42px;\n  background: #ffffff;\n  box-shadow: 0 30px 56px rgba(24, 48, 66, 0.22), inset 0 0 0 2px rgba(255, 255, 255, 0.22);\n  overflow: hidden;\n}\n\n.sim-diagnosis__phone-bar {\n  position: absolute;\n  top: 18px;\n  left: 50%;\n  z-index: 2;\n  width: 112px;\n  height: 26px;\n  margin: 0;\n  border-radius: 999px;\n  background: #03070b;\n  transform: translateX(-50%);\n}\n\n.sim-diagnosis__phone-screen {\n  position: absolute;\n  inset: 0;\n  padding: 104px 24px 24px;\n  background:\n    linear-gradient(160deg, rgba(242, 250, 255, 0.96), rgba(235, 252, 246, 0.9) 58%, rgba(217, 237, 255, 0.95)),\n    #f7fbff;\n}\n\n.sim-diagnosis__phone-screen::before,\n.sim-diagnosis__phone-screen::after {\n  content: \"\";\n  position: absolute;\n  right: -50px;\n  bottom: 32px;\n  left: -70px;\n  height: 112px;\n  border-radius: 50% 50% 0 0;\n  background: rgba(45, 115, 223, 0.18);\n  transform: rotate(-8deg);\n}\n\n.sim-diagnosis__phone-screen::after {\n  bottom: 72px;\n  background: rgba(16, 165, 108, 0.16);\n  transform: rotate(10deg);\n}\n\n.sim-diagnosis__phone-card {\n  position: relative;\n  z-index: 1;\n  display: grid;\n  grid-template-columns: 54px minmax(0, 1fr) 14px;\n  gap: 16px;\n  align-items: center;\n  min-height: 112px;\n  margin: 0 0 18px;\n  padding: 18px 18px;\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.92);\n  box-shadow: 0 16px 28px rgba(36, 83, 124, 0.13);\n}\n\n.sim-diagnosis__phone-card span,\n.sim-diagnosis__focus-card span {\n  display: inline-grid;\n  place-items: center;\n  border-radius: 999px;\n  background: linear-gradient(135deg, var(--card-color), color-mix(in srgb, var(--card-color) 62%, #ffffff));\n}\n\n.sim-diagnosis__phone-card span {\n  position: relative;\n  width: 54px;\n  height: 54px;\n}\n\n.sim-diagnosis__phone-card b {\n  color: var(--sd-ink);\n  font-size: 15px;\n  font-weight: 700;\n}\n\n.sim-diagnosis__phone-card i {\n  width: 11px;\n  height: 11px;\n  border-top: 3px solid var(--card-color);\n  border-right: 3px solid var(--card-color);\n  transform: rotate(45deg);\n}\n\n.sim-diagnosis__phone-card.is-green {\n  --card-color: #38b971;\n}\n\n.sim-diagnosis__phone-card.is-blue {\n  --card-color: #2d73df;\n}\n\n.sim-diagnosis__phone-card.is-gold {\n  --card-color: #eda83a;\n}\n\n.sim-diagnosis__phone-card.is-green span::before,\n.sim-diagnosis__focus-card.is-data span::before {\n  content: \"\";\n  width: 27px;\n  height: 20px;\n  border: 0;\n  background:\n    radial-gradient(circle at 50% 100%, #ffffff 2px, transparent 2.8px),\n    radial-gradient(ellipse at 50% 100%, transparent 8px, #ffffff 8.5px, #ffffff 11px, transparent 11.5px),\n    radial-gradient(ellipse at 50% 100%, transparent 15px, #ffffff 15.5px, #ffffff 18px, transparent 18.5px);\n}\n\n.sim-diagnosis__phone-card.is-blue span::before,\n.sim-diagnosis__focus-card.is-call span::before {\n  content: \"\";\n  width: 22px;\n  height: 22px;\n  border: 5px solid #ffffff;\n  border-top-color: transparent;\n  border-right-color: transparent;\n  border-radius: 50%;\n  transform: rotate(-45deg);\n}\n\n.sim-diagnosis__phone-card.is-gold span::before,\n.sim-diagnosis__focus-card.is-balance span::before {\n  content: \"\";\n  width: 24px;\n  height: 24px;\n  border: 4px solid #ffffff;\n  border-radius: 6px 6px 6px 12px;\n  transform: rotate(-45deg);\n}\n\n.sim-diagnosis__phone-card.is-gold span::after,\n.sim-diagnosis__focus-card.is-balance span::after {\n  content: \"\";\n  position: absolute;\n  width: 5px;\n  height: 5px;\n  border-radius: 50%;\n  background: #ffffff;\n}\n\n.sim-diagnosis__panel {\n  padding: clamp(18px, 2.8vw, 30px);\n}\n\n.sim-diagnosis__progress-head {\n  display: flex;\n  justify-content: space-between;\n  gap: 12px;\n  color: var(--sd-muted);\n  font-size: 13px;\n  font-weight: 700;\n}\n\n.sim-diagnosis__progress {\n  height: 10px;\n  margin-top: 10px;\n  border-radius: 999px;\n  background: #e6f0f7;\n  overflow: hidden;\n}\n\n.sim-diagnosis__progress span {\n  display: block;\n  height: 100%;\n  border-radius: inherit;\n  background: linear-gradient(90deg, var(--sd-green), var(--sd-blue));\n  transition: width 0.24s ease;\n}\n\n.sim-diagnosis__question {\n  margin-top: 20px;\n  font-size: clamp(20px, 2vw, 28px);\n}\n\n.sim-diagnosis__help {\n  margin: 8px 0 0;\n  color: var(--sd-muted);\n  font-size: 13px;\n  font-weight: 700;\n}\n\n.sim-diagnosis__answers {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 9px;\n  margin-top: 16px;\n}\n\n.sim-diagnosis__answer {\n  position: relative;\n  min-height: 50px;\n  padding: 10px 42px 10px 14px;\n  border: 1px solid var(--sd-line);\n  border-radius: 14px;\n  background: #ffffff;\n  color: var(--sd-ink);\n  font-weight: 600;\n  text-align: left;\n  line-height: 1.45;\n  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;\n}\n\n.sim-diagnosis__answer::after {\n  content: \"\";\n  position: absolute;\n  top: 50%;\n  right: 14px;\n  width: 18px;\n  height: 18px;\n  border: 2px solid #bcd2e0;\n  border-radius: 999px;\n  transform: translateY(-50%);\n}\n\n.sim-diagnosis__answer.is-selected {\n  border-color: rgba(16, 165, 108, 0.72);\n  background: #effbf5;\n  box-shadow: 0 10px 24px rgba(16, 165, 108, 0.12);\n}\n\n.sim-diagnosis__answer.is-selected::after {\n  border-color: var(--sd-green);\n  background: radial-gradient(circle, var(--sd-green) 42%, transparent 46%);\n}\n\n.sim-diagnosis__answer:hover {\n  transform: translateY(-1px);\n}\n\n.sim-diagnosis__nav {\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n  gap: 12px;\n  margin-top: 14px;\n}\n\n.sim-diagnosis__nav .sim-diagnosis__primary {\n  margin-top: 0;\n}\n\n.sim-diagnosis__result-card {\n  padding: clamp(22px, 4vw, 40px);\n}\n\n.sim-diagnosis__result-head {\n  display: flex;\n  align-items: flex-start;\n  justify-content: space-between;\n  gap: 20px;\n}\n\n.sim-diagnosis__result-title {\n  font-size: clamp(26px, 2.8vw, 40px);\n}\n\n.sim-diagnosis__result-title::after {\n  background: linear-gradient(90deg, var(--result-color), var(--result-accent));\n}\n\n.sim-diagnosis__type {\n  display: inline-flex;\n  margin: 18px 0 0;\n  padding: 8px 14px;\n  border-radius: 999px;\n  background: rgba(24, 48, 66, 0.07);\n  color: var(--sd-ink);\n  font-size: 14px;\n  font-weight: 700;\n}\n\n.sim-diagnosis__brand-mark {\n  flex: 0 0 auto;\n  display: grid;\n  place-items: center;\n  width: 120px;\n  min-height: 76px;\n  padding: 14px;\n  border: 1px solid var(--sd-line);\n  border-radius: 18px;\n  background: #ffffff;\n  box-shadow: 0 14px 28px rgba(24, 48, 66, 0.12);\n}\n\n.sim-diagnosis__brand-mark img {\n  display: block;\n  max-width: 100%;\n  max-height: 46px;\n  object-fit: contain;\n}\n\n.sim-diagnosis__result-grid {\n  display: grid;\n  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);\n  gap: 16px;\n  margin-top: 24px;\n}\n\n.sim-diagnosis__block,\n.sim-diagnosis__compare,\n.sim-diagnosis__details,\n.sim-diagnosis__support-note {\n  border: 1px solid var(--sd-line);\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.84);\n}\n\n.sim-diagnosis__block,\n.sim-diagnosis__compare,\n.sim-diagnosis__details {\n  padding: 18px;\n}\n\n.sim-diagnosis__block-title {\n  display: block;\n  margin: 0 0 10px;\n  color: var(--sd-ink);\n  font-size: 16px;\n  font-weight: 700;\n  line-height: 1.45;\n  text-shadow: none;\n}\n\n.sim-diagnosis__reason-list,\n.sim-diagnosis__compare ul {\n  display: grid;\n  gap: 8px;\n  margin: 0;\n  padding-left: 1.2em;\n  color: #43596f;\n  font-size: 14px;\n  font-weight: 500;\n  line-height: 1.7;\n}\n\n.sim-diagnosis__campaign {\n  background: linear-gradient(135deg, rgba(16, 165, 108, 0.1), rgba(255, 255, 255, 0.94));\n}\n\n.sim-diagnosis__campaign p,\n.sim-diagnosis__fact {\n  margin: 0;\n  color: #43596f;\n  font-size: 14px;\n  font-weight: 500;\n  line-height: 1.75;\n}\n\n.sim-diagnosis__campaign-list {\n  display: grid;\n  gap: 12px;\n}\n\n.sim-diagnosis__campaign-item {\n  padding: 14px;\n  border: 1px solid rgba(184, 209, 231, 0.92);\n  border-radius: 14px;\n  background: rgba(255, 255, 255, 0.86);\n}\n\n.sim-diagnosis__campaign-title {\n  display: block;\n  margin: 0 0 8px;\n  color: var(--sd-ink);\n  font-size: 15px;\n  font-weight: 700;\n  line-height: 1.45;\n  text-shadow: none;\n}\n\n.sim-diagnosis__campaign-item .sim-diagnosis__benefit {\n  color: #183042;\n  font-weight: 700;\n}\n\n.sim-diagnosis__campaign-item .sim-diagnosis__condition {\n  display: grid;\n  grid-template-columns: auto minmax(0, 1fr);\n  gap: 8px 10px;\n  align-items: start;\n  margin-top: 12px;\n  color: #43596f;\n  font-size: 13px;\n  font-weight: 500;\n  line-height: 1.65;\n}\n\n.sim-diagnosis__campaign-item .sim-diagnosis__condition span {\n  display: inline-flex;\n  width: fit-content;\n  padding: 2px 8px;\n  border-radius: 999px;\n  background: rgba(30, 115, 216, 0.1);\n  color: var(--sd-blue-dark);\n  font-size: 12px;\n  font-weight: 700;\n}\n\n.sim-diagnosis__campaign-item .sim-diagnosis__condition ul {\n  display: grid;\n  gap: 4px;\n  margin: 0;\n  padding-left: 1.15em;\n}\n\n.sim-diagnosis__campaign-item .sim-diagnosis__condition li {\n  margin: 0;\n}\n\n.sim-diagnosis__campaign-item a {\n  display: inline-flex;\n  align-items: center;\n  min-height: 38px;\n  margin-top: 10px;\n  padding: 0 12px;\n  border-radius: 12px;\n  background: #eef7ff;\n  color: var(--sd-blue-dark);\n  font-size: 13px;\n  font-weight: 700;\n  text-decoration: none;\n}\n\n.sim-diagnosis__cta {\n  width: min(100%, 560px);\n  min-height: 62px;\n  margin: 22px auto 0;\n  background: linear-gradient(135deg, #08a66f, #1769e8);\n  font-size: 16px;\n}\n\n.sim-diagnosis__support-note {\n  margin: 16px 0 0;\n  padding: 14px 16px;\n  color: #43596f;\n  font-size: 13px;\n  font-weight: 600;\n  line-height: 1.7;\n}\n\n.sim-diagnosis__compare {\n  margin-top: 22px;\n}\n\n.sim-diagnosis__candidate-grid {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 12px;\n}\n\n.sim-diagnosis__candidate-card {\n  display: grid;\n  gap: 12px;\n  padding: 16px;\n  border: 1px solid var(--sd-line);\n  border-top: 4px solid var(--candidate-color);\n  border-radius: 16px;\n  background: #ffffff;\n}\n\n.sim-diagnosis__candidate-head {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n}\n\n.sim-diagnosis__candidate-head img {\n  width: 74px;\n  height: 34px;\n  object-fit: contain;\n}\n\n.sim-diagnosis__candidate-title {\n  display: block;\n  margin: 0;\n  color: var(--sd-ink);\n  font-size: 15px;\n  font-weight: 700;\n  line-height: 1.45;\n  text-shadow: none;\n}\n\n.sim-diagnosis__candidate-body {\n  display: grid;\n  gap: 8px;\n}\n\n.sim-diagnosis__candidate-body p {\n  margin: 0;\n  color: #43596f;\n  font-size: 13px;\n  font-weight: 500;\n  line-height: 1.65;\n}\n\n.sim-diagnosis__candidate-body span {\n  display: block;\n  margin-bottom: 2px;\n  color: var(--sd-ink);\n  font-size: 12px;\n  font-weight: 700;\n}\n\n.sim-diagnosis__candidate-card > a {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 44px;\n  padding: 0 12px;\n  border-radius: 13px;\n  background: linear-gradient(135deg, #08a66f, #1769e8);\n  color: #ffffff;\n  font-size: 13px;\n  font-weight: 700;\n  text-align: center;\n  text-decoration: none;\n}\n\n.sim-diagnosis__candidate-ctas {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin-top: 14px;\n}\n\n.sim-diagnosis__candidate-ctas a {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  min-height: 44px;\n  padding: 0 14px;\n  border: 1px solid var(--sd-line);\n  border-radius: 14px;\n  background: #ffffff;\n  color: var(--sd-ink);\n  font-size: 13px;\n  font-weight: 700;\n  text-decoration: none;\n}\n\n.sim-diagnosis__details {\n  margin-top: 16px;\n}\n\n.sim-diagnosis__details summary {\n  cursor: pointer;\n  color: var(--sd-ink);\n  font-weight: 700;\n}\n\n.sim-diagnosis__score-list {\n  display: grid;\n  gap: 10px;\n  margin: 16px 0;\n}\n\n.sim-diagnosis__score-row {\n  display: grid;\n  grid-template-columns: 110px minmax(0, 1fr) 34px;\n  gap: 10px;\n  align-items: center;\n  color: #43596f;\n  font-size: 13px;\n  font-weight: 700;\n}\n\n.sim-diagnosis__score-row b {\n  height: 10px;\n  border-radius: 999px;\n  background: #e6f0f7;\n  overflow: hidden;\n}\n\n.sim-diagnosis__score-row i {\n  display: block;\n  height: 100%;\n  border-radius: inherit;\n}\n\n.sim-diagnosis__score-row em {\n  color: var(--sd-ink);\n  font-style: normal;\n  text-align: right;\n}\n\n.sim-diagnosis__result-actions {\n  margin-top: 20px;\n}\n\n.sim-diagnosis .sim-diagnosis__title,\n.sim-diagnosis .sim-diagnosis__result-title,\n.sim-diagnosis .sim-diagnosis__question,\n.sim-diagnosis .sim-diagnosis__block-title,\n.sim-diagnosis .sim-diagnosis__campaign-title,\n.sim-diagnosis .sim-diagnosis__candidate-title {\n  display: block !important;\n  width: auto !important;\n  min-width: 0 !important;\n  max-width: none !important;\n  height: auto !important;\n  min-height: 0 !important;\n  max-height: none !important;\n  margin-right: 0 !important;\n  margin-left: 0 !important;\n  padding: 0 !important;\n  border: 0 !important;\n  background: transparent !important;\n  color: var(--sd-ink) !important;\n  letter-spacing: 0 !important;\n  text-align: left !important;\n  text-decoration: none !important;\n  text-shadow: none !important;\n  overflow: visible !important;\n  transform: none !important;\n}\n\n.sim-diagnosis .sim-diagnosis__title,\n.sim-diagnosis .sim-diagnosis__result-title,\n.sim-diagnosis .sim-diagnosis__question {\n  margin-top: 0 !important;\n  margin-bottom: 0 !important;\n  font-weight: 700 !important;\n  line-height: 1.24 !important;\n}\n\n.sim-diagnosis .sim-diagnosis__title {\n  font-size: clamp(42px, 4.8vw, 72px) !important;\n  white-space: normal !important;\n}\n\n.sim-diagnosis .sim-diagnosis__title span {\n  display: block !important;\n}\n\n.sim-diagnosis .sim-diagnosis__title em {\n  color: #2d73df !important;\n  font-style: normal !important;\n  white-space: nowrap !important;\n}\n\n.sim-diagnosis .sim-diagnosis__result-title {\n  font-size: clamp(26px, 2.8vw, 40px) !important;\n}\n\n.sim-diagnosis .sim-diagnosis__question {\n  margin-top: 20px !important;\n  font-size: clamp(20px, 2vw, 28px) !important;\n}\n\n.sim-diagnosis .sim-diagnosis__block-title {\n  margin-bottom: 10px !important;\n  font-size: 16px !important;\n  font-weight: 700 !important;\n  line-height: 1.45 !important;\n}\n\n.sim-diagnosis .sim-diagnosis__campaign-title,\n.sim-diagnosis .sim-diagnosis__candidate-title {\n  font-size: 15px !important;\n  font-weight: 700 !important;\n  line-height: 1.45 !important;\n}\n\n.sim-diagnosis .sim-diagnosis__campaign-title {\n  margin-bottom: 8px !important;\n}\n\n.sim-diagnosis .sim-diagnosis__title::before,\n.sim-diagnosis .sim-diagnosis__result-title::before,\n.sim-diagnosis .sim-diagnosis__question::before,\n.sim-diagnosis .sim-diagnosis__block-title::before,\n.sim-diagnosis .sim-diagnosis__campaign-title::before,\n.sim-diagnosis .sim-diagnosis__candidate-title::before {\n  content: none !important;\n  display: none !important;\n}\n\n.sim-diagnosis .sim-diagnosis__title::after,\n.sim-diagnosis .sim-diagnosis__result-title::after {\n  content: \"\" !important;\n  display: block !important;\n  width: 92px !important;\n  height: 6px !important;\n  margin-top: 16px !important;\n  border: 0 !important;\n  border-radius: 999px !important;\n  background: linear-gradient(90deg, var(--sd-green), var(--sd-blue)) !important;\n}\n\n.sim-diagnosis .sim-diagnosis__result-title::after {\n  background: linear-gradient(90deg, var(--result-color), var(--result-accent)) !important;\n}\n\n.sim-diagnosis--start .sim-diagnosis__title::after,\n#sim-compare-page .sim-diagnosis--start .sim-diagnosis__title::after {\n  content: none !important;\n  display: none !important;\n}\n\n#sim-compare-page .sim-diagnosis .sim-diagnosis__title,\n#sim-compare-page .sim-diagnosis .sim-diagnosis__result-title,\n#sim-compare-page .sim-diagnosis .sim-diagnosis__question,\n#sim-compare-page .sim-diagnosis .sim-diagnosis__block-title,\n#sim-compare-page .sim-diagnosis .sim-diagnosis__campaign-title,\n#sim-compare-page .sim-diagnosis .sim-diagnosis__candidate-title {\n  display: block !important;\n  width: auto !important;\n  max-width: none !important;\n  height: auto !important;\n  min-height: 0 !important;\n  margin-right: 0 !important;\n  margin-left: 0 !important;\n  padding: 0 !important;\n  border: 0 !important;\n  background: transparent !important;\n  color: var(--sd-ink) !important;\n  letter-spacing: 0 !important;\n  text-align: left !important;\n  text-decoration: none !important;\n  text-shadow: none !important;\n  overflow: visible !important;\n}\n\n#sim-compare-page .sim-diagnosis .sim-diagnosis__title::before,\n#sim-compare-page .sim-diagnosis .sim-diagnosis__result-title::before,\n#sim-compare-page .sim-diagnosis .sim-diagnosis__question::before,\n#sim-compare-page .sim-diagnosis .sim-diagnosis__block-title::before,\n#sim-compare-page .sim-diagnosis .sim-diagnosis__campaign-title::before,\n#sim-compare-page .sim-diagnosis .sim-diagnosis__candidate-title::before {\n  content: none !important;\n  display: none !important;\n}\n\n#sim-compare-page .sim-diagnosis .sim-diagnosis__title::after,\n#sim-compare-page .sim-diagnosis .sim-diagnosis__result-title::after {\n  content: \"\" !important;\n  display: block !important;\n  width: 92px !important;\n  height: 6px !important;\n  margin-top: 16px !important;\n  border: 0 !important;\n  border-radius: 999px !important;\n  background: linear-gradient(90deg, var(--sd-green), var(--sd-blue)) !important;\n}\n\n#sim-compare-page .sim-diagnosis .sim-diagnosis__result-title::after {\n  background: linear-gradient(90deg, var(--result-color), var(--result-accent)) !important;\n}\n\n#sim-compare-page .sim-diagnosis--start .sim-diagnosis__title::after {\n  content: none !important;\n  display: none !important;\n}\n\n@media (max-width: 900px) {\n  .sim-diagnosis__shell {\n    grid-template-columns: 1fr;\n  }\n\n  .sim-diagnosis__visual {\n    display: none;\n  }\n\n  .sim-diagnosis__answers,\n  .sim-diagnosis__result-grid,\n  .sim-diagnosis__candidate-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__shell {\n    grid-template-columns: minmax(0, 1.08fr) minmax(250px, 0.72fr);\n    min-height: 560px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__hero {\n    padding: 34px 28px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__visual {\n    display: block;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__title,\n  .sim-diagnosis .sim-diagnosis--start .sim-diagnosis__title,\n  #sim-compare-page .sim-diagnosis--start .sim-diagnosis__title {\n    font-size: clamp(34px, 4.7vw, 44px) !important;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__lead {\n    font-size: 14px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__service-list {\n    grid-template-columns: 46px minmax(0, 1fr);\n    padding: 18px 18px;\n    font-size: 13px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__phone {\n    top: 54px;\n    right: 18px;\n    bottom: 46px;\n    width: min(270px, calc(100% - 32px));\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__phone-card {\n    grid-template-columns: 44px minmax(0, 1fr) 12px;\n    min-height: 96px;\n    gap: 12px;\n    padding: 14px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__phone-card span {\n    width: 44px;\n    height: 44px;\n  }\n}\n\n@media (max-width: 767px) {\n  .sim-diagnosis--start {\n    display: flex;\n    justify-content: center;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__shell {\n    display: block;\n    width: min(100%, 430px);\n    min-height: 0;\n    padding: 0;\n    border: 10px solid #111820;\n    border-radius: 46px;\n    background: #ffffff;\n    box-shadow:\n      0 20px 46px rgba(36, 83, 124, 0.22),\n      inset 0 0 0 2px rgba(255, 255, 255, 0.18);\n    overflow: hidden;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__shell::before {\n    content: \"\";\n    position: absolute;\n    top: 22px;\n    left: 50%;\n    z-index: 2;\n    width: 116px;\n    height: 34px;\n    border-radius: 999px;\n    background: #03070b;\n    transform: translateX(-50%);\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__hero {\n    position: relative;\n    padding: 88px 24px 28px;\n    background:\n      radial-gradient(circle at 88% 6%, rgba(45, 115, 223, 0.08), transparent 30%),\n      linear-gradient(180deg, #ffffff, #f9fcff);\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__visual {\n    display: none;\n  }\n\n  .sim-diagnosis__shell,\n  .sim-diagnosis__panel,\n  .sim-diagnosis__result-card {\n    border-radius: 20px;\n  }\n\n  .sim-diagnosis__hero,\n  .sim-diagnosis__panel,\n  .sim-diagnosis__result-card {\n    padding: 16px 14px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__hero {\n    padding: 88px 24px 28px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__label {\n    min-height: 34px;\n    margin-bottom: 24px;\n    padding: 5px 13px;\n    font-size: 15px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__label-icon {\n    width: 20px;\n    height: 20px;\n    border-radius: 6px;\n  }\n\n  .sim-diagnosis__title,\n  .sim-diagnosis .sim-diagnosis__title,\n  #sim-compare-page .sim-diagnosis .sim-diagnosis__title {\n    font-size: clamp(31px, 9vw, 45px) !important;\n    line-height: 1.32 !important;\n  }\n\n  .sim-diagnosis__title::after,\n  .sim-diagnosis .sim-diagnosis__title::after,\n  #sim-compare-page .sim-diagnosis .sim-diagnosis__title::after {\n    display: none !important;\n  }\n\n  .sim-diagnosis__lead {\n    margin-top: 22px;\n    font-size: 15px;\n    line-height: 1.9;\n  }\n\n  .sim-diagnosis__focus-cards {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 12px;\n    width: 100%;\n    margin-top: 26px;\n  }\n\n  .sim-diagnosis__focus-card {\n    display: grid;\n    justify-items: center;\n    gap: 12px;\n    min-height: 112px;\n    padding: 18px 8px 14px;\n    border: 1px solid rgba(217, 231, 240, 0.86);\n    border-radius: 14px;\n    background: #ffffff;\n    box-shadow: 0 12px 26px rgba(36, 83, 124, 0.12);\n    text-align: center;\n  }\n\n  .sim-diagnosis__focus-card span {\n    position: relative;\n    width: 54px;\n    height: 54px;\n  }\n\n  .sim-diagnosis__focus-card b {\n    color: var(--sd-ink);\n    font-size: 12px;\n    font-weight: 700;\n    line-height: 1.35;\n  }\n\n  .sim-diagnosis__focus-card::after {\n    content: \"\";\n    width: 28px;\n    height: 4px;\n    border-radius: 999px;\n    background: var(--card-color);\n  }\n\n  .sim-diagnosis__focus-card.is-data {\n    --card-color: #38b971;\n  }\n\n  .sim-diagnosis__focus-card.is-call {\n    --card-color: #2d73df;\n  }\n\n  .sim-diagnosis__focus-card.is-balance {\n    --card-color: #eda83a;\n  }\n\n  .sim-diagnosis__service-list {\n    grid-template-columns: 44px minmax(0, 1fr);\n    column-gap: 14px;\n    width: 100%;\n    margin-top: 28px;\n    padding: 18px 16px;\n    border-radius: 16px;\n    font-size: 14px;\n    line-height: 2.05;\n  }\n\n  .sim-diagnosis__service-icon {\n    width: 40px;\n    height: 40px;\n    border-radius: 14px;\n  }\n\n  .sim-diagnosis__primary,\n  .sim-diagnosis__cta {\n    width: 100%;\n    min-height: 64px;\n    padding-right: 16px;\n    padding-left: 16px;\n  }\n\n  .sim-diagnosis__primary {\n    margin-top: 26px;\n    border-radius: 16px;\n    font-size: 20px;\n  }\n\n  .sim-diagnosis__primary i {\n    width: 42px;\n    height: 42px;\n  }\n\n  .sim-diagnosis__note {\n    grid-template-columns: 34px minmax(0, 1fr);\n    gap: 12px;\n    width: 100%;\n    margin-top: 24px;\n    padding: 16px 14px;\n    border: 1px solid var(--sd-line);\n    border-radius: 16px;\n    background: rgba(255, 255, 255, 0.78);\n    font-size: 10px;\n    line-height: 1.65;\n  }\n\n  .sim-diagnosis__note-icon {\n    width: 30px;\n    height: 30px;\n  }\n\n  .sim-diagnosis__progress-head {\n    font-size: 12px;\n  }\n\n  .sim-diagnosis__question {\n    margin-top: 16px !important;\n    font-size: 19px !important;\n  }\n\n  .sim-diagnosis__answer {\n    min-height: 46px;\n    padding: 9px 38px 9px 12px;\n    font-size: 13px;\n  }\n\n  .sim-diagnosis__nav {\n    display: grid;\n    grid-template-columns: 0.8fr 1.2fr;\n  }\n\n  .sim-diagnosis__result-head {\n    display: grid;\n  }\n\n  .sim-diagnosis__brand-mark {\n    width: 108px;\n    min-height: 66px;\n    padding: 12px;\n    border-radius: 16px;\n  }\n\n  .sim-diagnosis__result-title {\n    font-size: 25px;\n  }\n\n  .sim-diagnosis__score-row {\n    grid-template-columns: 90px minmax(0, 1fr) 30px;\n  }\n}\n\n\/* Compact start screen: keeps the mockup direction without making the embed too tall. *\/\n.sim-diagnosis--start .sim-diagnosis__shell {\n  grid-template-columns: minmax(0, 1.28fr) minmax(230px, 0.52fr);\n  min-height: 440px;\n  border-radius: 20px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__hero {\n  padding: clamp(22px, 2.8vw, 34px) clamp(20px, 3.4vw, 40px);\n}\n\n.sim-diagnosis--start .sim-diagnosis__label {\n  min-height: 34px;\n  margin-bottom: 20px;\n  padding: 5px 14px;\n  font-size: 14px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__label-icon {\n  width: 20px;\n  height: 20px;\n  border-radius: 6px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__title,\n.sim-diagnosis .sim-diagnosis--start .sim-diagnosis__title,\n#sim-compare-page .sim-diagnosis--start .sim-diagnosis__title {\n  max-width: 590px !important;\n  font-size: clamp(28px, 3vw, 42px) !important;\n  line-height: 1.18 !important;\n}\n\n.sim-diagnosis--start .sim-diagnosis__lead {\n  max-width: 590px;\n  margin-top: 16px;\n  font-size: 14px;\n  line-height: 1.75;\n}\n\n.sim-diagnosis--start .sim-diagnosis__service-list {\n  grid-template-columns: 40px minmax(0, 1fr);\n  column-gap: 14px;\n  width: min(100%, 590px);\n  margin-top: 20px;\n  padding: 15px 16px;\n  border-radius: 14px;\n  font-size: 13px;\n  line-height: 1.8;\n}\n\n.sim-diagnosis--start .sim-diagnosis__service-icon {\n  width: 36px;\n  height: 36px;\n  border-radius: 12px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__service-icon::before {\n  width: 16px;\n  height: 20px;\n  border-width: 2px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__service-icon::after {\n  top: 10px;\n  width: 8px;\n  height: 4px;\n  border-width: 2px;\n  border-bottom: 0;\n}\n\n.sim-diagnosis--start .sim-diagnosis__primary {\n  width: min(100%, 420px);\n  min-height: 56px;\n  margin-top: 20px;\n  border-radius: 15px;\n  font-size: 17px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__primary i {\n  width: 34px;\n  height: 34px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__primary i::before {\n  width: 9px;\n  height: 9px;\n  border-top-width: 3px;\n  border-right-width: 3px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__note {\n  grid-template-columns: 26px minmax(0, 1fr);\n  gap: 8px;\n  max-width: 560px;\n  margin-top: 14px;\n  font-size: 10px;\n  line-height: 1.55;\n}\n\n.sim-diagnosis--start .sim-diagnosis__note-icon {\n  width: 24px;\n  height: 24px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__visual {\n  min-height: 440px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__phone {\n  top: 34px;\n  right: clamp(16px, 3vw, 36px);\n  bottom: 34px;\n  width: min(220px, calc(100% - 34px));\n  border-width: 8px;\n  border-radius: 32px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__phone-bar {\n  top: 14px;\n  width: 78px;\n  height: 20px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__phone-screen {\n  padding: 66px 14px 16px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__phone-card {\n  grid-template-columns: 40px minmax(0, 1fr) 10px;\n  gap: 10px;\n  min-height: 76px;\n  margin-bottom: 12px;\n  padding: 12px;\n  border-radius: 14px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__phone-card span {\n  width: 40px;\n  height: 40px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__phone-card b {\n  font-size: 12px;\n  line-height: 1.35;\n}\n\n@media (max-width: 900px) {\n  .sim-diagnosis--start {\n    display: block;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__shell {\n    grid-template-columns: 1fr;\n    min-height: 0;\n    border-radius: 18px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__hero {\n    padding: 22px 20px 24px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__title,\n  .sim-diagnosis .sim-diagnosis--start .sim-diagnosis__title,\n  #sim-compare-page .sim-diagnosis--start .sim-diagnosis__title {\n    max-width: 100% !important;\n    font-size: clamp(25px, 5vw, 34px) !important;\n    line-height: 1.2 !important;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__lead {\n    max-width: 100%;\n    margin-top: 12px;\n    font-size: 13px;\n    line-height: 1.7;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__service-list {\n    width: 100%;\n    margin-top: 16px;\n    font-size: 12px;\n    line-height: 1.65;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__primary {\n    margin-top: 16px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__visual {\n    display: none;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__phone {\n    display: none;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__note {\n    max-width: 100%;\n    margin-top: 12px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-cards {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 8px;\n    width: 100%;\n    margin-top: 14px;\n  }\n}\n\n@media (max-width: 767px) {\n  .sim-diagnosis--start {\n    display: block;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__shell {\n    width: 100%;\n    max-width: 430px;\n    min-height: 0;\n    border: 1px solid rgba(184, 209, 231, 0.92);\n    border-radius: 16px;\n    box-shadow: 0 10px 24px rgba(36, 83, 124, 0.11);\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__shell::before {\n    display: none;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__hero {\n    padding: 18px 14px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__label {\n    min-height: 28px;\n    margin-bottom: 12px;\n    padding: 3px 10px;\n    font-size: 12px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__title,\n  .sim-diagnosis .sim-diagnosis--start .sim-diagnosis__title,\n  #sim-compare-page .sim-diagnosis--start .sim-diagnosis__title {\n    font-size: clamp(22px, 6.4vw, 28px) !important;\n    line-height: 1.18 !important;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__lead {\n    margin-top: 10px;\n    font-size: 12px;\n    line-height: 1.65;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-cards {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 7px;\n    margin-top: 12px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-card {\n    min-height: 66px;\n    gap: 5px;\n    padding: 8px 4px 7px;\n    border-radius: 10px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-card span {\n    width: 30px;\n    height: 30px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-card b {\n    font-size: 9px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-card::after {\n    width: 18px;\n    height: 3px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__service-list {\n    grid-template-columns: 30px minmax(0, 1fr);\n    column-gap: 8px;\n    margin-top: 12px;\n    padding: 10px;\n    border-radius: 12px;\n    font-size: 10.5px;\n    line-height: 1.55;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__service-icon {\n    width: 28px;\n    height: 28px;\n    border-radius: 9px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__primary {\n    min-height: 48px;\n    margin-top: 12px;\n    border-radius: 13px;\n    font-size: 15px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__primary i {\n    width: 28px;\n    height: 28px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__note {\n    grid-template-columns: 22px minmax(0, 1fr);\n    gap: 8px;\n    margin-top: 10px;\n    padding: 9px;\n    border-radius: 12px;\n    font-size: 9px;\n    line-height: 1.5;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__note-icon {\n    width: 20px;\n    height: 20px;\n  }\n}\n\n@container (max-width: 760px) {\n  .sim-diagnosis--start {\n    display: block;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__shell {\n    grid-template-columns: 1fr;\n    min-height: 0;\n    border: 1px solid rgba(184, 209, 231, 0.92);\n    border-radius: 16px;\n    box-shadow: 0 10px 24px rgba(36, 83, 124, 0.11);\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__shell::before,\n  .sim-diagnosis--start .sim-diagnosis__visual,\n  .sim-diagnosis--start .sim-diagnosis__phone {\n    display: none;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__hero {\n    padding: 18px 14px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__label {\n    min-height: 28px;\n    margin-bottom: 12px;\n    padding: 3px 10px;\n    font-size: 12px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__title,\n  .sim-diagnosis .sim-diagnosis--start .sim-diagnosis__title,\n  #sim-compare-page .sim-diagnosis--start .sim-diagnosis__title {\n    max-width: 100% !important;\n    font-size: clamp(22px, 6.4cqw, 28px) !important;\n    line-height: 1.18 !important;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__lead {\n    max-width: 100%;\n    margin-top: 10px;\n    font-size: 12px;\n    line-height: 1.65;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-cards {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 7px;\n    width: 100%;\n    margin-top: 12px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-card {\n    min-height: 66px;\n    gap: 5px;\n    padding: 8px 4px 7px;\n    border-radius: 10px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-card span {\n    width: 30px;\n    height: 30px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-card b {\n    font-size: 9px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-card::after {\n    width: 18px;\n    height: 3px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__service-list {\n    grid-template-columns: 30px minmax(0, 1fr);\n    column-gap: 8px;\n    width: 100%;\n    margin-top: 12px;\n    padding: 10px;\n    border-radius: 12px;\n    font-size: 10.5px;\n    line-height: 1.55;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__service-icon {\n    width: 28px;\n    height: 28px;\n    border-radius: 9px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__primary {\n    min-height: 48px;\n    margin-top: 12px;\n    border-radius: 13px;\n    font-size: 15px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__primary i {\n    width: 28px;\n    height: 28px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__note {\n    grid-template-columns: 22px minmax(0, 1fr);\n    gap: 8px;\n    max-width: 100%;\n    margin-top: 10px;\n    padding: 9px;\n    border-radius: 12px;\n    font-size: 9px;\n    line-height: 1.5;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__note-icon {\n    width: 20px;\n    height: 20px;\n  }\n}\n\n\/* Result screen redesign *\/\n.sim-diagnosis--result .sim-diagnosis__result-card {\n  max-width: 1320px;\n  margin: 0 auto;\n  padding: clamp(18px, 2.4vw, 30px);\n  border-radius: 18px;\n  background: rgba(255, 255, 255, 0.96);\n}\n\n.sim-diagnosis__result-layout {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.86fr);\n  gap: 18px;\n  align-items: stretch;\n}\n\n.sim-diagnosis__result-hero {\n  display: grid;\n  grid-column: 1 \/ -1;\n  grid-template-columns: minmax(0, 1fr);\n  row-gap: 6px;\n  align-items: start;\n  min-width: 0;\n  padding-bottom: 0;\n}\n\n.sim-diagnosis__result-hero .sim-diagnosis__label,\n.sim-diagnosis__result-kicker,\n.sim-diagnosis--result .sim-diagnosis__result-title,\n#sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-title {\n  grid-column: 1;\n}\n\n.sim-diagnosis--result .sim-diagnosis__label {\n  min-height: 34px;\n  margin: 0 0 14px;\n  padding: 5px 14px;\n  gap: 9px;\n  font-size: 15px;\n}\n\n.sim-diagnosis__check-icon,\n.sim-diagnosis__gift-icon,\n.sim-diagnosis__restart-icon {\n  position: relative;\n  display: inline-grid;\n  place-items: center;\n  flex: 0 0 auto;\n}\n\n.sim-diagnosis__check-icon {\n  width: 22px;\n  height: 22px;\n  border-radius: 999px;\n  background: var(--sd-green);\n}\n\n.sim-diagnosis__check-icon::before {\n  content: \"\";\n  width: 9px;\n  height: 5px;\n  border-left: 2px solid #ffffff;\n  border-bottom: 2px solid #ffffff;\n  transform: rotate(-45deg);\n}\n\n.sim-diagnosis__result-kicker {\n  margin: 0;\n  color: var(--sd-ink);\n  font-size: clamp(20px, 2.1vw, 28px);\n  font-weight: 800;\n  line-height: 1.35;\n}\n\n.sim-diagnosis--result .sim-diagnosis__result-title,\n#sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-title {\n  margin: 4px 0 0 !important;\n  color: #10233f !important;\n  font-size: clamp(56px, 6vw, 92px) !important;\n  font-weight: 900 !important;\n  line-height: 0.95 !important;\n  letter-spacing: -0.01em !important;\n}\n\n.sim-diagnosis__result-card:not(.is-service-ahamo) .sim-diagnosis__result-title,\n#sim-compare-page .sim-diagnosis__result-card:not(.is-service-ahamo) .sim-diagnosis__result-title {\n  font-size: clamp(42px, 4.3vw, 64px) !important;\n  line-height: 1.08 !important;\n}\n\n.sim-diagnosis--result .sim-diagnosis__result-title::after,\n#sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-title::after {\n  width: min(260px, 72%) !important;\n  height: 8px !important;\n  margin-top: 14px !important;\n  background: linear-gradient(90deg, var(--sd-blue), var(--sd-green)) !important;\n}\n\n.sim-diagnosis__reason-panel,\n.sim-diagnosis__campaign-panel {\n  min-width: 0;\n  padding: 18px;\n  border: 1px solid var(--sd-line);\n  border-radius: 14px;\n  background: rgba(255, 255, 255, 0.92);\n}\n\n.sim-diagnosis__reason-panel,\n.sim-diagnosis__campaign-panel {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n}\n\n.sim-diagnosis__reason-panel .sim-diagnosis__block-title,\n.sim-diagnosis__compare .sim-diagnosis__block-title {\n  margin-bottom: 14px;\n  font-size: 16px;\n  font-weight: 800;\n}\n\n.sim-diagnosis__reason-cards {\n  display: grid;\n  grid-template-rows: repeat(4, minmax(0, 1fr));\n  flex: 1;\n  gap: 10px;\n}\n\n.sim-diagnosis__reason-card {\n  display: grid;\n  grid-template-columns: 52px minmax(0, 1fr) 28px;\n  gap: 14px;\n  align-items: center;\n  min-height: 76px;\n  padding: 12px;\n  border: 1px solid rgba(217, 231, 240, 0.86);\n  border-radius: 12px;\n  background: #ffffff;\n  box-shadow: 0 10px 22px rgba(36, 83, 124, 0.06);\n}\n\n.sim-diagnosis__reason-card b {\n  display: block;\n  color: var(--sd-ink);\n  font-size: 13px;\n  font-weight: 800;\n  line-height: 1.45;\n}\n\n.sim-diagnosis__reason-card p {\n  margin: 3px 0 0;\n  color: #5d7281;\n  font-size: 11px;\n  font-weight: 600;\n  line-height: 1.5;\n}\n\n.sim-diagnosis__reason-icon {\n  position: relative;\n  display: inline-grid;\n  place-items: center;\n  width: 46px;\n  height: 46px;\n  border-radius: 999px;\n  background: rgba(16, 165, 108, 0.12);\n  color: var(--sd-green);\n}\n\n.sim-diagnosis__reason-icon::before {\n  font-size: 22px;\n  font-weight: 900;\n  line-height: 1;\n}\n\n.sim-diagnosis__reason-icon.is-data::before { content: \"\u25ce\"; }\n.sim-diagnosis__reason-icon.is-call::before { content: \"\u260e\"; }\n.sim-diagnosis__reason-icon.is-plane::before { content: \"\u2708\"; }\n.sim-diagnosis__reason-icon.is-online::before { content: \"\u25a3\"; }\n.sim-diagnosis__reason-icon.is-store::before { content: \"\u25a1\"; }\n.sim-diagnosis__reason-icon.is-family::before { content: \"\u25c9\"; }\n.sim-diagnosis__reason-icon.is-wallet::before { content: \"\u00a5\"; }\n\n.sim-diagnosis__reason-icon.is-call,\n.sim-diagnosis__reason-icon.is-online {\n  background: rgba(30, 115, 216, 0.12);\n  color: var(--sd-blue);\n}\n\n.sim-diagnosis__reason-icon.is-plane {\n  background: rgba(119, 95, 235, 0.12);\n  color: #7156df;\n}\n\n.sim-diagnosis__reason-icon.is-wallet,\n.sim-diagnosis__reason-icon.is-family {\n  background: rgba(242, 184, 75, 0.18);\n  color: #d88916;\n}\n\n.sim-diagnosis__reason-check {\n  position: relative;\n  width: 24px;\n  height: 24px;\n  border: 2px solid var(--sd-green);\n  border-radius: 999px;\n}\n\n.sim-diagnosis__reason-check::before {\n  content: \"\";\n  position: absolute;\n  top: 7px;\n  left: 5px;\n  width: 10px;\n  height: 6px;\n  border-left: 2px solid var(--sd-green);\n  border-bottom: 2px solid var(--sd-green);\n  transform: rotate(-45deg);\n}\n\n.sim-diagnosis__campaign-panel {\n  background: linear-gradient(135deg, rgba(16, 165, 108, 0.08), rgba(255, 255, 255, 0.96));\n}\n\n.sim-diagnosis__campaign-heading {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  color: var(--sd-green-dark);\n  font-size: 17px;\n  font-weight: 900;\n}\n\n.sim-diagnosis__campaign-heading .sim-diagnosis__gift-icon {\n  display: none;\n}\n\n.sim-diagnosis__gift-icon {\n  width: 30px;\n  height: 30px;\n  border-radius: 10px;\n  background: rgba(16, 165, 108, 0.12);\n}\n\n.sim-diagnosis__gift-icon::before {\n  content: \"\u25c6\";\n  color: var(--sd-green);\n  font-size: 19px;\n}\n\n.sim-diagnosis__campaign-highlight {\n  display: grid;\n  grid-template-columns: max-content max-content max-content;\n  justify-content: center;\n  align-items: baseline;\n  gap: 8px;\n  margin-top: 16px;\n  padding: 18px 14px 16px;\n  border: 1px solid rgba(16, 165, 108, 0.2);\n  border-radius: 12px;\n  background:\n    radial-gradient(circle at 84% 16%, rgba(242, 184, 75, 0.26), transparent 18%),\n    #ffffff;\n  text-align: center;\n}\n\n.sim-diagnosis__campaign-highlight span {\n  color: #1d3556;\n  font-size: 16px;\n  font-weight: 800;\n  line-height: 1;\n  white-space: nowrap;\n}\n\n.sim-diagnosis__campaign-highlight strong {\n  color: var(--sd-green);\n  font-size: clamp(44px, 4.5vw, 68px);\n  font-weight: 900;\n  line-height: 0.9;\n  letter-spacing: 0;\n  white-space: nowrap;\n}\n\n.sim-diagnosis__campaign-highlight small {\n  color: var(--sd-green);\n  font-size: 20px;\n  font-weight: 800;\n  line-height: 1;\n  white-space: nowrap;\n}\n\n.sim-diagnosis__campaign-highlight b {\n  grid-column: 1 \/ -1;\n  color: #1d3556;\n  font-size: 17px;\n  font-weight: 800;\n  line-height: 1.35;\n}\n\n.sim-diagnosis__campaign-rows {\n  flex: 1;\n  margin-top: 12px;\n  border: 1px solid rgba(217, 231, 240, 0.9);\n  border-radius: 10px;\n  background: rgba(255, 255, 255, 0.88);\n  overflow: hidden;\n}\n\n.sim-diagnosis__campaign-row {\n  display: grid;\n  grid-template-columns: 90px minmax(0, 1fr);\n  gap: 12px;\n  align-items: center;\n  min-height: 42px;\n  padding: 9px 12px;\n  border-bottom: 1px solid rgba(217, 231, 240, 0.9);\n}\n\n.sim-diagnosis__campaign-row:last-child {\n  border-bottom: 0;\n}\n\n.sim-diagnosis__campaign-row span {\n  color: var(--sd-ink);\n  font-size: 12px;\n  font-weight: 800;\n}\n\n.sim-diagnosis__campaign-row p {\n  margin: 0;\n  color: #43596f;\n  font-size: 12px;\n  font-weight: 600;\n  line-height: 1.5;\n}\n\n.sim-diagnosis__campaign-button {\n  position: relative;\n  isolation: isolate;\n  overflow: hidden;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 12px;\n  min-height: 52px;\n  margin-top: 16px;\n  border-radius: 12px;\n  background:\n    linear-gradient(120deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0)) -140% 0 \/ 58% 100% no-repeat,\n    linear-gradient(135deg, #04a86b 0%, #08b978 42%, #0f8ee8 100%);\n  color: #ffffff;\n  font-size: 16px;\n  font-weight: 950;\n  letter-spacing: 0;\n  box-shadow:\n    0 14px 30px rgba(6, 151, 111, 0.28),\n    0 0 0 1px rgba(255, 255, 255, 0.35) inset;\n  text-decoration: none;\n  text-shadow: 0 1px 8px rgba(8, 57, 72, 0.2);\n  transition: transform 0.18s ease, box-shadow 0.18s ease, background-position 0.55s ease;\n  animation: sim-diagnosis-campaign-shine 3.2s ease-in-out infinite;\n}\n\n.sim-diagnosis__campaign-button::before {\n  content: \"\";\n  position: absolute;\n  inset: -2px;\n  z-index: -1;\n  border-radius: inherit;\n  background: linear-gradient(90deg, rgba(16, 165, 108, 0.75), rgba(30, 115, 216, 0.75), rgba(16, 165, 108, 0.75));\n  filter: blur(14px);\n  opacity: 0.42;\n}\n\n.sim-diagnosis__campaign-button:hover {\n  transform: translateY(-1px);\n  background-position: 180% 0, 0 0;\n  box-shadow:\n    0 18px 34px rgba(6, 151, 111, 0.34),\n    0 0 0 1px rgba(255, 255, 255, 0.46) inset;\n}\n\n@keyframes sim-diagnosis-campaign-shine {\n  0%,\n  42% {\n    background-position: -140% 0, 0 0;\n  }\n  72%,\n  100% {\n    background-position: 180% 0, 0 0;\n  }\n}\n\n.sim-diagnosis__campaign-button span,\n.sim-diagnosis__cta::after,\n.sim-diagnosis__candidate-card > a::after {\n  content: \"\";\n  width: 9px;\n  height: 9px;\n  border-top: 2px solid currentColor;\n  border-right: 2px solid currentColor;\n  transform: rotate(45deg);\n}\n\n.sim-diagnosis__main-actions {\n  display: grid;\n  grid-template-columns: minmax(260px, 420px) minmax(180px, 260px);\n  justify-content: center;\n  gap: 22px;\n  margin-top: 22px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__cta {\n  width: 100%;\n  min-height: 50px;\n  margin: 0;\n  gap: 12px;\n  border-radius: 8px;\n  background: linear-gradient(135deg, #1769e8, #08a6c8);\n  font-size: 14px;\n  font-weight: 900;\n}\n\n.sim-diagnosis--result .sim-diagnosis__secondary {\n  width: 100%;\n  min-height: 50px;\n  gap: 10px;\n  border-color: #1769e8;\n  border-radius: 8px;\n  color: #1769e8;\n  font-size: 14px;\n  font-weight: 900;\n}\n\n.sim-diagnosis__restart-icon {\n  width: 20px;\n  height: 20px;\n}\n\n.sim-diagnosis__restart-icon::before {\n  content: \"\u21bb\";\n  color: #1769e8;\n  font-size: 20px;\n  font-weight: 900;\n  line-height: 1;\n}\n\n.sim-diagnosis--result .sim-diagnosis__compare {\n  margin-top: 22px;\n  padding-top: 18px;\n  border: 0;\n  border-top: 1px solid var(--sd-line);\n  border-radius: 0;\n  background: transparent;\n}\n\n.sim-diagnosis--result .sim-diagnosis__candidate-grid {\n  grid-template-columns: minmax(0, 640px);\n  justify-content: center;\n  align-items: stretch;\n  gap: 18px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__candidate-card {\n  display: flex;\n  flex-direction: column;\n  gap: 14px;\n  height: 100%;\n  padding: 18px;\n  border: 2px solid color-mix(in srgb, var(--candidate-color) 52%, var(--sd-line));\n  border-top: 4px solid var(--candidate-color);\n  border-radius: 10px;\n  box-shadow: 0 18px 34px rgba(28, 65, 100, 0.16);\n}\n\n.sim-diagnosis--result .sim-diagnosis__candidate-head {\n  gap: 14px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__candidate-head img {\n  width: 90px;\n  height: 42px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__candidate-title {\n  font-size: 15px;\n  font-weight: 900;\n}\n\n.sim-diagnosis__candidate-body ul {\n  display: grid;\n  gap: 6px;\n  margin: 8px 0 0;\n  padding: 0;\n  list-style: none;\n}\n\n.sim-diagnosis__candidate-body {\n  display: flex;\n  flex: 1;\n  flex-direction: column;\n}\n\n.sim-diagnosis__candidate-body li {\n  position: relative;\n  padding-left: 18px;\n  color: #203554;\n  font-size: 12px;\n  font-weight: 600;\n  line-height: 1.5;\n}\n\n.sim-diagnosis__candidate-body li::before {\n  content: \"\";\n  position: absolute;\n  top: 0.62em;\n  left: 2px;\n  width: 8px;\n  height: 4px;\n  border-left: 2px solid #10233f;\n  border-bottom: 2px solid #10233f;\n  transform: rotate(-45deg);\n}\n\n.sim-diagnosis__candidate-campaign {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 6px;\n  min-height: 92px;\n  margin-top: auto;\n  padding: 12px;\n  border: 1px solid color-mix(in srgb, var(--candidate-color) 22%, var(--sd-line));\n  border-radius: 8px;\n  background: color-mix(in srgb, var(--candidate-color) 8%, #ffffff);\n}\n\n.sim-diagnosis__candidate-campaign span {\n  margin: 0;\n  color: var(--candidate-color);\n  font-size: 12px;\n  font-weight: 900;\n}\n\n.sim-diagnosis__candidate-campaign::before {\n  content: none;\n}\n\n.sim-diagnosis__candidate-campaign p {\n  margin: 0;\n  color: #203554;\n  font-size: 12px;\n  font-weight: 650;\n  line-height: 1.45;\n}\n\n.sim-diagnosis__candidate-banner {\n  display: block;\n  width: 100%;\n  margin-top: auto;\n  border: 1px solid color-mix(in srgb, var(--candidate-color) 18%, var(--sd-line));\n  border-radius: 8px;\n  background: #ffffff;\n  overflow: hidden;\n  text-decoration: none;\n}\n\n.sim-diagnosis__candidate-banner img {\n  display: block;\n  width: 100%;\n  height: auto;\n}\n\n.sim-diagnosis--result .sim-diagnosis__candidate-card > a {\n  gap: 10px;\n  min-height: 42px;\n  border: 2px solid var(--candidate-color);\n  border-radius: 6px;\n  background: #ffffff;\n  color: var(--candidate-color);\n  font-weight: 900;\n}\n\n@media (max-width: 767px) {\n  .sim-diagnosis__result-layout {\n    grid-template-columns: 1fr;\n    gap: 12px;\n  }\n\n  .sim-diagnosis__result-hero {\n    order: 1;\n    grid-template-columns: 1fr;\n    padding: 0;\n  }\n\n  .sim-diagnosis__result-hero .sim-diagnosis__label,\n  .sim-diagnosis__result-kicker,\n  .sim-diagnosis--result .sim-diagnosis__result-title,\n  #sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-title {\n    grid-column: 1;\n  }\n\n  .sim-diagnosis__campaign-panel {\n    order: 2;\n  }\n\n  .sim-diagnosis__reason-panel {\n    order: 3;\n  }\n\n  .sim-diagnosis__main-actions {\n    grid-template-columns: 1fr;\n    gap: 12px;\n  }\n\n  .sim-diagnosis--result .sim-diagnosis__candidate-grid {\n    grid-template-columns: 1fr;\n  }\n}\n\n@media (min-width: 768px) and (max-width: 1180px) {\n  .sim-diagnosis__result-layout {\n    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.86fr);\n  }\n\n  .sim-diagnosis__result-hero {\n    grid-column: 1 \/ -1;\n    grid-template-columns: minmax(320px, 0.9fr) minmax(320px, 1fr);\n  }\n\n  .sim-diagnosis__campaign-panel {\n    grid-column: 2;\n  }\n\n  .sim-diagnosis__reason-panel {\n    grid-column: 1;\n  }\n\n  .sim-diagnosis__main-actions {\n    grid-template-columns: minmax(260px, 420px) minmax(180px, 260px);\n  }\n}\n\n@media (max-width: 767px) {\n  .sim-diagnosis--result .sim-diagnosis__result-card {\n    padding: 14px;\n    border-radius: 14px;\n  }\n\n  .sim-diagnosis--result .sim-diagnosis__label {\n    min-height: 30px;\n    margin-bottom: 10px;\n    font-size: 13px;\n  }\n\n  .sim-diagnosis__result-kicker {\n    font-size: 16px;\n  }\n\n  .sim-diagnosis--result .sim-diagnosis__result-title,\n  #sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-title {\n    font-size: clamp(46px, 16vw, 66px) !important;\n  }\n\n  .sim-diagnosis--result .sim-diagnosis__result-title::after,\n  #sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-title::after {\n    width: 150px !important;\n    height: 6px !important;\n    margin-top: 10px !important;\n  }\n\n  .sim-diagnosis__campaign-panel,\n  .sim-diagnosis__reason-panel {\n    padding: 14px;\n    border-radius: 12px;\n  }\n\n  .sim-diagnosis__campaign-highlight {\n    padding: 16px 10px 14px;\n  }\n\n  .sim-diagnosis__campaign-highlight strong {\n    font-size: clamp(48px, 16vw, 68px);\n  }\n\n  .sim-diagnosis__campaign-row {\n    grid-template-columns: 82px minmax(0, 1fr);\n    gap: 8px;\n    padding: 9px 10px;\n  }\n\n  .sim-diagnosis__reason-card {\n    grid-template-columns: 44px minmax(0, 1fr) 26px;\n    gap: 10px;\n    min-height: 66px;\n    padding: 10px;\n  }\n\n  .sim-diagnosis__reason-icon {\n    width: 38px;\n    height: 38px;\n  }\n\n  .sim-diagnosis--result .sim-diagnosis__cta,\n  .sim-diagnosis--result .sim-diagnosis__secondary,\n  .sim-diagnosis__campaign-button {\n    min-height: 46px;\n    font-size: 13px;\n  }\n}\n\n\/* Card-style UI refresh *\/\n.sim-diagnosis--start .sim-diagnosis__shell,\n.sim-diagnosis--question .sim-diagnosis__panel,\n.sim-diagnosis--analyzing .sim-diagnosis__panel {\n  max-width: 1040px;\n  margin: 0 auto;\n  border-radius: 18px;\n  background:\n    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 255, 0.98)),\n    #ffffff;\n  box-shadow: 0 16px 36px rgba(36, 83, 124, 0.12);\n}\n\n.sim-diagnosis--start .sim-diagnosis__shell {\n  display: block;\n  min-height: 0;\n  padding: 0;\n  border: 1px solid rgba(184, 209, 231, 0.92);\n}\n\n.sim-diagnosis--start .sim-diagnosis__shell::before,\n.sim-diagnosis--start .sim-diagnosis__visual,\n.sim-diagnosis--start .sim-diagnosis__phone {\n  display: none !important;\n}\n\n.sim-diagnosis--start .sim-diagnosis__hero {\n  align-items: center;\n  padding: clamp(22px, 3.4vw, 40px);\n  text-align: center;\n}\n\n.sim-diagnosis--start .sim-diagnosis__label {\n  min-height: 32px;\n  margin: 0 0 14px;\n  padding: 4px 13px;\n  font-size: 13px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__title,\n.sim-diagnosis .sim-diagnosis--start .sim-diagnosis__title,\n#sim-compare-page .sim-diagnosis--start .sim-diagnosis__title {\n  max-width: 720px !important;\n  font-size: clamp(28px, 4vw, 48px) !important;\n  font-weight: 900 !important;\n  line-height: 1.2 !important;\n  text-align: center !important;\n}\n\n.sim-diagnosis--start .sim-diagnosis__lead {\n  max-width: 760px;\n  margin: 14px auto 0;\n  color: #43596f;\n  font-size: 14px;\n  font-weight: 700;\n  line-height: 1.75;\n  text-align: center;\n}\n\n.sim-diagnosis--start .sim-diagnosis__focus-cards {\n  display: grid;\n  grid-template-columns: repeat(5, minmax(0, 1fr));\n  gap: 10px;\n  width: min(100%, 860px);\n  margin: 20px auto 0;\n}\n\n.sim-diagnosis--start .sim-diagnosis__focus-card {\n  --card-color: var(--sd-green);\n  display: grid;\n  grid-template-columns: 34px minmax(0, 1fr);\n  gap: 8px;\n  align-items: center;\n  min-height: 72px;\n  padding: 12px 10px;\n  border: 1px solid color-mix(in srgb, var(--card-color) 22%, var(--sd-line));\n  border-radius: 12px;\n  background: #ffffff;\n  box-shadow: 0 8px 20px rgba(36, 83, 124, 0.08);\n  text-align: left;\n}\n\n.sim-diagnosis--start .sim-diagnosis__focus-card span {\n  position: relative;\n  width: 34px;\n  height: 34px;\n  color: #ffffff;\n}\n\n.sim-diagnosis--start .sim-diagnosis__focus-card span::before {\n  color: #ffffff;\n  font-size: 16px;\n  font-weight: 900;\n}\n\n.sim-diagnosis--start .sim-diagnosis__focus-card b {\n  color: var(--sd-ink);\n  font-size: 12px;\n  font-weight: 900;\n  line-height: 1.35;\n}\n\n.sim-diagnosis--start .sim-diagnosis__focus-card::after {\n  content: none;\n}\n\n.sim-diagnosis--start .sim-diagnosis__focus-card.is-price { --card-color: #10a56c; }\n.sim-diagnosis--start .sim-diagnosis__focus-card.is-data { --card-color: #1e73d8; }\n.sim-diagnosis--start .sim-diagnosis__focus-card.is-call { --card-color: #6756d9; }\n.sim-diagnosis--start .sim-diagnosis__focus-card.is-support { --card-color: #0c8b74; }\n.sim-diagnosis--start .sim-diagnosis__focus-card.is-campaign { --card-color: #e49321; }\n\n.sim-diagnosis--start .sim-diagnosis__focus-card.is-price span::before { content: \"\u00a5\"; }\n.sim-diagnosis--start .sim-diagnosis__focus-card.is-data span::before { content: \"GB\"; font-size: 11px; }\n.sim-diagnosis--start .sim-diagnosis__focus-card.is-call span::before { content: \"\u260e\"; }\n.sim-diagnosis--start .sim-diagnosis__focus-card.is-support span::before { content: \"\u2713\"; }\n.sim-diagnosis--start .sim-diagnosis__focus-card.is-campaign span::before { content: \"%\"; }\n\n.sim-diagnosis--start .sim-diagnosis__service-list {\n  grid-template-columns: 36px minmax(0, 1fr);\n  width: min(100%, 860px);\n  margin: 16px auto 0;\n  padding: 13px 14px;\n  border-radius: 12px;\n  font-size: 12px;\n  line-height: 1.65;\n  text-align: left;\n}\n\n.sim-diagnosis--start .sim-diagnosis__service-icon {\n  width: 32px;\n  height: 32px;\n  border-radius: 10px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__primary {\n  position: relative;\n  isolation: isolate;\n  overflow: hidden;\n  width: min(100%, 520px);\n  min-height: 56px;\n  margin-top: 18px;\n  border-radius: 999px;\n  background:\n    linear-gradient(120deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0)) -140% 0 \/ 54% 100% no-repeat,\n    linear-gradient(135deg, var(--sd-green), var(--sd-blue));\n  font-size: 17px;\n  font-weight: 900;\n  box-shadow: 0 12px 26px rgba(30, 115, 216, 0.22);\n  animation: sim-diagnosis-cta-shine 3.2s ease-in-out infinite;\n}\n\n.sim-diagnosis--start .sim-diagnosis__primary i {\n  width: 34px;\n  height: 34px;\n}\n\n.sim-diagnosis--start .sim-diagnosis__note {\n  grid-template-columns: minmax(0, 1fr);\n  max-width: 860px;\n  margin: 14px auto 0;\n  padding-top: 10px;\n  border-top: 1px solid rgba(217, 231, 240, 0.9);\n  color: #6b7f8e;\n  font-size: 10px;\n  line-height: 1.6;\n  text-align: left;\n}\n\n.sim-diagnosis--start .sim-diagnosis__note-icon {\n  display: none;\n}\n\n.sim-diagnosis--question .sim-diagnosis__panel {\n  max-width: 920px;\n  padding: clamp(18px, 2.8vw, 28px);\n}\n\n.sim-diagnosis__question-status {\n  padding: 14px 16px;\n  border: 1px solid rgba(217, 231, 240, 0.92);\n  border-radius: 12px;\n  background: linear-gradient(135deg, rgba(30, 115, 216, 0.08), rgba(16, 165, 108, 0.06));\n}\n\n.sim-diagnosis__question-status .sim-diagnosis__progress {\n  height: 8px;\n}\n\n.sim-diagnosis__question-card {\n  margin-top: 14px;\n  padding: clamp(16px, 2.6vw, 24px);\n  border: 1px solid var(--sd-line);\n  border-top: 4px solid var(--sd-blue);\n  border-radius: 14px;\n  background: #ffffff;\n  box-shadow: 0 10px 24px rgba(36, 83, 124, 0.08);\n}\n\n.sim-diagnosis--question .sim-diagnosis__question,\n.sim-diagnosis.sim-diagnosis--question .sim-diagnosis__question,\n#sim-compare-page .sim-diagnosis--question .sim-diagnosis__question {\n  margin-top: 0 !important;\n  font-size: clamp(20px, 2.6vw, 28px) !important;\n  font-weight: 900 !important;\n  line-height: 1.42 !important;\n}\n\n.sim-diagnosis--question .sim-diagnosis__help {\n  margin-top: 8px;\n  font-size: 13px;\n  line-height: 1.7;\n}\n\n.sim-diagnosis--question .sim-diagnosis__answers {\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 10px;\n  margin-top: 18px;\n}\n\n.sim-diagnosis--question .sim-diagnosis__answer {\n  min-height: 52px;\n  border: 2px solid var(--sd-line);\n  border-radius: 12px;\n  font-size: 14px;\n  box-shadow: 0 6px 14px rgba(36, 83, 124, 0.04);\n}\n\n.sim-diagnosis--question .sim-diagnosis__answer:hover {\n  border-color: rgba(30, 115, 216, 0.48);\n  background: #f6fbff;\n}\n\n.sim-diagnosis--question .sim-diagnosis__answer.is-selected {\n  border-color: var(--sd-green);\n  background: #effbf5;\n  box-shadow: 0 10px 24px rgba(16, 165, 108, 0.15);\n  pointer-events: none;\n}\n\n.sim-diagnosis--question .sim-diagnosis__nav {\n  justify-content: center;\n}\n\n.sim-diagnosis--analyzing .sim-diagnosis__panel {\n  max-width: 720px;\n  padding: clamp(28px, 5vw, 54px) clamp(18px, 3vw, 30px);\n}\n\n.sim-diagnosis__analyzing-box {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  text-align: center;\n}\n\n.sim-diagnosis__analyzing-dots {\n  display: flex;\n  gap: 10px;\n  margin-bottom: 18px;\n}\n\n.sim-diagnosis__analyzing-dots span {\n  width: 14px;\n  height: 14px;\n  border-radius: 999px;\n  background: var(--sd-blue);\n  animation: sim-diagnosis-dot-bounce 1.2s ease-in-out infinite;\n}\n\n.sim-diagnosis__analyzing-dots span:nth-child(2) { animation-delay: 0.15s; }\n.sim-diagnosis__analyzing-dots span:nth-child(3) { animation-delay: 0.3s; }\n\n.sim-diagnosis__analyzing-title {\n  color: var(--sd-ink);\n  font-size: clamp(20px, 2.6vw, 28px);\n  font-weight: 900;\n  line-height: 1.35;\n}\n\n.sim-diagnosis__analyzing-steps {\n  display: grid;\n  gap: 6px;\n  min-height: 82px;\n  margin-top: 14px;\n  color: #43596f;\n  font-size: 13px;\n  font-weight: 800;\n}\n\n.sim-diagnosis__analyzing-steps span {\n  opacity: 0;\n  animation: sim-diagnosis-step-fade 1.8s ease forwards;\n}\n\n.sim-diagnosis__analyzing-steps span:nth-child(2) { animation-delay: 0.45s; }\n.sim-diagnosis__analyzing-steps span:nth-child(3) { animation-delay: 0.9s; }\n\n.sim-diagnosis__analyzing-progress {\n  width: min(100%, 360px);\n  height: 8px;\n  margin-top: 4px;\n  border-radius: 999px;\n  background: #e6f0f7;\n  overflow: hidden;\n}\n\n.sim-diagnosis__analyzing-progress span {\n  display: block;\n  width: 0;\n  height: 100%;\n  border-radius: inherit;\n  background: linear-gradient(90deg, var(--sd-green), var(--sd-blue));\n  animation: sim-diagnosis-analyzing-progress 1.8s ease-out forwards;\n}\n\n.sim-diagnosis__analyzing-chips {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 8px;\n  margin-top: 18px;\n}\n\n.sim-diagnosis__analyzing-chips span {\n  padding: 5px 12px;\n  border: 1px solid var(--sd-line);\n  border-radius: 999px;\n  background: #ffffff;\n  color: #43596f;\n  font-size: 11px;\n  font-weight: 800;\n}\n\n.sim-diagnosis--result .sim-diagnosis__reason-panel,\n.sim-diagnosis--result .sim-diagnosis__campaign-panel {\n  border: 2px solid rgba(217, 231, 240, 0.92);\n  box-shadow: 0 12px 26px rgba(36, 83, 124, 0.08);\n}\n\n.sim-diagnosis--result .sim-diagnosis__reason-panel .sim-diagnosis__block-title,\n.sim-diagnosis--result .sim-diagnosis__compare .sim-diagnosis__block-title,\n.sim-diagnosis--result .sim-diagnosis__campaign-heading {\n  display: inline-flex !important;\n  align-items: center;\n  width: fit-content !important;\n  min-height: 34px !important;\n  margin: 0 0 14px !important;\n  padding: 0 14px !important;\n  border-radius: 999px !important;\n  background: linear-gradient(135deg, var(--sd-green), var(--sd-blue)) !important;\n  color: #ffffff !important;\n  font-size: 13px !important;\n  font-weight: 900 !important;\n}\n\n.sim-diagnosis--result .sim-diagnosis__reason-cards {\n  counter-reset: sim-diagnosis-reason;\n}\n\n.sim-diagnosis--result .sim-diagnosis__reason-card {\n  counter-increment: sim-diagnosis-reason;\n  border: 1.5px solid rgba(217, 231, 240, 0.95);\n  border-radius: 10px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__reason-icon::before {\n  content: counter(sim-diagnosis-reason);\n  color: currentColor;\n  font-size: 17px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__campaign-highlight {\n  box-shadow: inset 0 0 0 1px rgba(16, 165, 108, 0.08);\n}\n\n.sim-diagnosis--result .sim-diagnosis__cta {\n  border-radius: 999px;\n  background: linear-gradient(135deg, #1769e8, #08a6c8);\n  box-shadow: 0 12px 26px rgba(30, 115, 216, 0.2);\n}\n\n.sim-diagnosis--result .sim-diagnosis__secondary {\n  border-width: 2px;\n  border-radius: 999px;\n  background: #ffffff;\n}\n\n@keyframes sim-diagnosis-cta-shine {\n  0%, 42% { background-position: -140% 0, 0 0; }\n  72%, 100% { background-position: 180% 0, 0 0; }\n}\n\n@keyframes sim-diagnosis-dot-bounce {\n  0%, 80%, 100% { transform: scale(0.72); opacity: 0.55; }\n  40% { transform: scale(1); opacity: 1; }\n}\n\n@keyframes sim-diagnosis-step-fade {\n  from { opacity: 0; transform: translateY(4px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\n@keyframes sim-diagnosis-analyzing-progress {\n  from { width: 0; }\n  to { width: 100%; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .sim-diagnosis--start .sim-diagnosis__primary,\n  .sim-diagnosis__analyzing-dots span,\n  .sim-diagnosis__analyzing-steps span,\n  .sim-diagnosis__analyzing-progress span {\n    animation-duration: 0.01ms;\n    animation-iteration-count: 1;\n  }\n}\n\n@media (max-width: 900px) {\n  .sim-diagnosis--start .sim-diagnosis__focus-cards {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n}\n\n@media (max-width: 767px) {\n  .sim-diagnosis--start .sim-diagnosis__shell,\n  .sim-diagnosis--question .sim-diagnosis__panel,\n  .sim-diagnosis--analyzing .sim-diagnosis__panel {\n    max-width: 100%;\n    border-radius: 14px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__hero {\n    padding: 18px 14px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__title,\n  .sim-diagnosis .sim-diagnosis--start .sim-diagnosis__title,\n  #sim-compare-page .sim-diagnosis--start .sim-diagnosis__title {\n    font-size: clamp(23px, 6.2vw, 30px) !important;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-cards {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-card {\n    min-height: 60px;\n  }\n\n  .sim-diagnosis--start .sim-diagnosis__focus-card.is-campaign {\n    grid-column: 1 \/ -1;\n  }\n\n  .sim-diagnosis--question .sim-diagnosis__answers {\n    grid-template-columns: 1fr;\n  }\n\n  .sim-diagnosis--question .sim-diagnosis__panel {\n    padding: 14px;\n  }\n\n  .sim-diagnosis__question-card {\n    padding: 14px;\n  }\n\n  .sim-diagnosis--question .sim-diagnosis__answer {\n    min-height: 48px;\n    font-size: 13px;\n  }\n\n  .sim-diagnosis__analyzing-steps {\n    min-height: 88px;\n  }\n}\n\n\/* Compact result refinement *\/\n.sim-diagnosis--result .sim-diagnosis__result-card {\n  padding: clamp(14px, 1.8vw, 22px);\n  border-radius: 16px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__label {\n  min-height: 28px;\n  margin-bottom: 8px;\n  padding: 3px 11px;\n  font-size: 12px;\n}\n\n.sim-diagnosis__check-icon {\n  width: 18px;\n  height: 18px;\n}\n\n.sim-diagnosis__check-icon::before {\n  width: 8px;\n  height: 5px;\n}\n\n.sim-diagnosis__result-layout {\n  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);\n  gap: 14px;\n}\n\n.sim-diagnosis__result-hero {\n  row-gap: 4px;\n}\n\n.sim-diagnosis__result-kicker {\n  font-size: clamp(17px, 1.7vw, 22px);\n  line-height: 1.25;\n}\n\n.sim-diagnosis--result .sim-diagnosis__result-title,\n#sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-title {\n  margin-top: 2px !important;\n  font-size: clamp(42px, 4.8vw, 66px) !important;\n  line-height: 0.95 !important;\n}\n\n.sim-diagnosis__result-card:not(.is-service-ahamo) .sim-diagnosis__result-title,\n#sim-compare-page .sim-diagnosis__result-card:not(.is-service-ahamo) .sim-diagnosis__result-title {\n  font-size: clamp(36px, 3.8vw, 54px) !important;\n  line-height: 1.04 !important;\n}\n\n.sim-diagnosis--result .sim-diagnosis__result-title::after,\n#sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-title::after {\n  width: min(210px, 64%) !important;\n  height: 6px !important;\n  margin-top: 10px !important;\n}\n\n.sim-diagnosis--result .sim-diagnosis__reason-panel,\n.sim-diagnosis--result .sim-diagnosis__campaign-panel {\n  padding: 14px;\n  border-radius: 12px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__reason-panel .sim-diagnosis__block-title,\n.sim-diagnosis--result .sim-diagnosis__compare .sim-diagnosis__block-title,\n.sim-diagnosis--result .sim-diagnosis__campaign-heading {\n  min-height: 28px !important;\n  margin-bottom: 10px !important;\n  padding: 0 12px !important;\n  font-size: 12px !important;\n}\n\n.sim-diagnosis__reason-cards {\n  gap: 8px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__reason-card {\n  grid-template-columns: 40px minmax(0, 1fr) 22px;\n  gap: 10px;\n  min-height: 62px;\n  padding: 9px 10px;\n}\n\n.sim-diagnosis__reason-card b {\n  font-size: 12px;\n  line-height: 1.35;\n}\n\n.sim-diagnosis__reason-card p {\n  margin-top: 2px;\n  font-size: 10px;\n  line-height: 1.45;\n}\n\n.sim-diagnosis__reason-icon {\n  width: 34px;\n  height: 34px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__reason-icon::before {\n  font-size: 15px;\n}\n\n.sim-diagnosis__reason-check {\n  width: 20px;\n  height: 20px;\n}\n\n.sim-diagnosis__reason-check::before {\n  top: 5px;\n  left: 4px;\n  width: 9px;\n  height: 5px;\n}\n\n.sim-diagnosis__campaign-highlight {\n  grid-template-columns: max-content max-content max-content;\n  gap: 6px;\n  margin-top: 10px;\n  padding: 12px 10px 10px;\n  border-radius: 10px;\n}\n\n.sim-diagnosis__campaign-highlight span {\n  font-size: 13px;\n}\n\n.sim-diagnosis__campaign-highlight strong {\n  font-size: clamp(42px, 4.2vw, 56px);\n}\n\n.sim-diagnosis__campaign-highlight small {\n  font-size: 16px;\n}\n\n.sim-diagnosis__campaign-highlight b {\n  font-size: 14px;\n  line-height: 1.25;\n}\n\n.sim-diagnosis__campaign-rows {\n  margin-top: 10px;\n}\n\n.sim-diagnosis__campaign-row {\n  grid-template-columns: 78px minmax(0, 1fr);\n  min-height: 36px;\n  padding: 7px 10px;\n}\n\n.sim-diagnosis__campaign-row span,\n.sim-diagnosis__campaign-row p {\n  font-size: 11px;\n}\n\n.sim-diagnosis__campaign-button {\n  min-height: 44px;\n  margin-top: 12px;\n  border-radius: 10px;\n  font-size: 14px;\n}\n\n.sim-diagnosis__main-actions {\n  margin-top: 16px;\n  gap: 14px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__cta,\n.sim-diagnosis--result .sim-diagnosis__secondary {\n  min-height: 44px;\n  font-size: 13px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__compare {\n  margin-top: 16px;\n  padding-top: 14px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__candidate-card {\n  gap: 10px;\n  padding: 14px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__candidate-card > a {\n  min-height: 44px;\n  font-size: 13px;\n}\n\n@media (max-width: 900px) {\n  .sim-diagnosis--result .sim-diagnosis__result-layout {\n    grid-template-columns: 1fr;\n    gap: 12px;\n  }\n}\n\n@media (max-width: 767px) {\n  .sim-diagnosis--result .sim-diagnosis__result-card {\n    padding: 12px;\n  }\n\n  .sim-diagnosis--result .sim-diagnosis__result-title,\n  #sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-title {\n    font-size: clamp(34px, 12vw, 50px) !important;\n  }\n\n  .sim-diagnosis--result .sim-diagnosis__reason-panel,\n  .sim-diagnosis--result .sim-diagnosis__campaign-panel {\n    padding: 12px;\n  }\n\n  .sim-diagnosis__campaign-highlight strong {\n    font-size: clamp(38px, 13vw, 54px);\n  }\n}\n\n\/* Result balance refinements *\/\n.sim-diagnosis--result .sim-diagnosis__result-title,\n#sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-title {\n  font-size: clamp(36px, 4.1vw, 56px) !important;\n}\n\n.sim-diagnosis__result-card:not(.is-service-ahamo) .sim-diagnosis__result-title,\n#sim-compare-page .sim-diagnosis__result-card:not(.is-service-ahamo) .sim-diagnosis__result-title {\n  font-size: clamp(30px, 3.25vw, 44px) !important;\n}\n\n.sim-diagnosis__campaign-highlight {\n  grid-template-columns: auto minmax(0, max-content) auto;\n  align-items: end;\n  column-gap: 7px;\n  row-gap: 3px;\n  min-height: 82px;\n  padding: 13px 12px 12px;\n}\n\n.sim-diagnosis__campaign-highlight span {\n  align-self: center;\n  font-size: clamp(12px, 1.2vw, 14px);\n  transform: translateY(2px);\n}\n\n.sim-diagnosis__campaign-highlight strong {\n  font-size: clamp(36px, 3.45vw, 50px);\n  line-height: 0.92;\n}\n\n.sim-diagnosis__campaign-highlight small {\n  align-self: center;\n  color: rgba(16, 165, 108, 0.78);\n  font-size: clamp(12px, 1.25vw, 15px);\n  transform: translateY(3px);\n}\n\n.sim-diagnosis__campaign-highlight b {\n  margin-top: -2px;\n  font-size: 13px;\n  line-height: 1.22;\n}\n\n.sim-diagnosis--result .sim-diagnosis__campaign-highlight {\n  grid-template-areas:\n    \"prefix amount unit\"\n    \"headline headline headline\";\n  grid-template-columns: auto minmax(0, max-content) auto;\n  align-items: center;\n  justify-items: center;\n  column-gap: 6px;\n  row-gap: 8px;\n  min-height: 86px;\n  padding: 13px 12px 14px;\n}\n\n.sim-diagnosis--result .sim-diagnosis__campaign-highlight span {\n  grid-area: prefix;\n  font-size: clamp(11px, 1.05vw, 13px);\n  transform: none;\n}\n\n.sim-diagnosis--result .sim-diagnosis__campaign-highlight strong {\n  grid-area: amount;\n  font-size: clamp(32px, 3vw, 42px);\n  line-height: 0.95;\n}\n\n.sim-diagnosis--result .sim-diagnosis__campaign-highlight small {\n  grid-area: unit;\n  font-size: clamp(11px, 1.05vw, 13px);\n  line-height: 1.1;\n  transform: none;\n}\n\n.sim-diagnosis--result .sim-diagnosis__campaign-highlight b {\n  grid-area: headline;\n  margin-top: 0;\n  font-size: 13px;\n  line-height: 1.25;\n}\n\n.sim-diagnosis__campaign-button,\n.sim-diagnosis__campaign-button:hover,\n.sim-diagnosis__campaign-button:focus-visible {\n  color: #ffffff !important;\n}\n\n@media (max-width: 767px) {\n  .sim-diagnosis--result .sim-diagnosis__result-title,\n  #sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-title {\n    font-size: clamp(30px, 9.5vw, 42px) !important;\n  }\n\n  .sim-diagnosis__campaign-highlight {\n    column-gap: 5px;\n    min-height: 76px;\n    padding: 12px 8px 11px;\n  }\n\n  .sim-diagnosis__campaign-highlight strong {\n    font-size: clamp(34px, 10.8vw, 46px);\n  }\n\n  .sim-diagnosis__campaign-highlight small {\n    font-size: 12px;\n  }\n\n  .sim-diagnosis--result .sim-diagnosis__campaign-highlight {\n    column-gap: 4px;\n    row-gap: 7px;\n    min-height: 80px;\n    padding: 12px 8px 13px;\n  }\n\n  .sim-diagnosis--result .sim-diagnosis__campaign-highlight strong {\n    font-size: clamp(30px, 9.4vw, 40px);\n  }\n\n  .sim-diagnosis--result .sim-diagnosis__campaign-highlight b {\n    font-size: 12px;\n  }\n}\n\n.sim-diagnosis--result .sim-diagnosis__result-hero .sim-diagnosis__label,\n#sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-hero .sim-diagnosis__label {\n  display: inline-flex !important;\n  align-self: flex-start;\n  width: fit-content !important;\n  max-width: max-content !important;\n  min-width: 0 !important;\n  min-height: 26px;\n  margin-bottom: 8px;\n  padding: 3px 12px !important;\n  gap: 7px;\n  font-size: 12px !important;\n  line-height: 1;\n}\n\n.sim-diagnosis--result .sim-diagnosis__result-hero .sim-diagnosis__check-icon,\n#sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-hero .sim-diagnosis__check-icon {\n  width: 17px;\n  height: 17px;\n}\n\n\/* Lighter heading weights *\/\n.sim-compare-page .compare-hero-title,\n.sim-compare-page .compare-title-accent {\n  font-weight: 800 !important;\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.66), 0 10px 26px rgba(25, 70, 112, 0.13);\n}\n\n.sim-compare-page .section-heading .section-heading-title,\n.sim-compare-page .compare-summary-section .section-heading-title,\n#compare-summary-title,\n#compare-detail-title,\n#compare-final-cta-title,\n#compare-faq-title {\n  font-weight: 800 !important;\n  text-shadow:\n    1.2px 0 0 #ffffff,\n    -1.2px 0 0 #ffffff,\n    0 1.2px 0 #ffffff,\n    0 -1.2px 0 #ffffff,\n    0 8px 20px rgba(13, 50, 84, 0.14);\n}\n\n.sim-diagnosis--result .sim-diagnosis__result-title,\n#sim-compare-page .sim-diagnosis--result .sim-diagnosis__result-title {\n  font-weight: 800 !important;\n}\n\/* ===== SIM DIAGNOSIS CSS END ===== *\/\n\n<\/style>\n<!-- ===== SIM COMPARE CSS END ===== -->\n\n<!-- ===== SIM COMPARE HTML START ===== -->\n<div class=\"sim-compare-page\" id=\"sim-compare-page\">\n  <section class=\"compare-hero\" aria-labelledby=\"compare-page-title\">\n    <div class=\"compare-hero__inner\">\n      <div class=\"compare-hero__topbar\">\n        <p class=\"compare-eyebrow\"><span aria-hidden=\"true\">\u2713<\/span> SIM\u6bd4\u8f03\u30ca\u30d3<\/p>\n        <p class=\"compare-update\"><span aria-hidden=\"true\">\u25a3<\/span><span>\u6599\u91d1\u30fb\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u60c5\u5831\u306e\u66f4\u65b0\u65e5<br>2026\u5e744\u670824\u65e5\u6642\u70b9<\/span><\/p>\n      <\/div>\n\n      <div class=\"compare-hero__content\">\n        <div class=\"compare-hero__main\">\n          <div class=\"compare-hero-title\" id=\"compare-page-title\"><span class=\"compare-title-line\">\u683c\u5b89SIM\u30fb\u30b9\u30de\u30db\u30d7\u30e9\u30f3\u3092<\/span><br><span class=\"compare-title-accent\">2\u793e<\/span>\u3067\u6bd4\u8f03\u3067\u304d\u308b<\/div>\n          <p class=\"compare-lead\">\n            \u6599\u91d1\u30fb\u30c7\u30fc\u30bf\u5bb9\u91cf\u30fb\u901a\u8a71\u30fb\u30b5\u30dd\u30fc\u30c8\u30fb\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3092\u307e\u3068\u3081\u3066\u6bd4\u8f03\u3002<br>\n            \u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306e\u30d7\u30e9\u30f3\u304c\u3059\u3050\u306b\u898b\u3064\u304b\u308a\u307e\u3059\u3002\n          <\/p>\n\n          <div class=\"compare-feature-chips\" aria-label=\"\u6bd4\u8f03\u3067\u304d\u308b\u9805\u76ee\">\n            <div class=\"compare-feature-chip compare-feature-chip--green\"><span>\u00a5<\/span><strong>\u6599\u91d1\u6bd4\u8f03<\/strong><small>\u6708\u984d\u6599\u91d1\u3092\u304b\u3093\u305f\u3093\u6bd4\u8f03<\/small><\/div>\n            <div class=\"compare-feature-chip compare-feature-chip--blue\"><span>\u25a4<\/span><strong>\u30c7\u30fc\u30bf\u5bb9\u91cf<\/strong><small>\u5bb9\u91cf\u30fb\u901f\u5ea6\u3092\u30c1\u30a7\u30c3\u30af<\/small><\/div>\n            <div class=\"compare-feature-chip compare-feature-chip--blue\"><span>\u260e<\/span><strong>\u901a\u8a71\u30aa\u30d7\u30b7\u30e7\u30f3<\/strong><small>\u901a\u8a71\u6599\u30fb\u30aa\u30d7\u30b7\u30e7\u30f3\u6bd4\u8f03<\/small><\/div>\n            <div class=\"compare-feature-chip compare-feature-chip--green\"><span>\u266c<\/span><strong>\u30b5\u30dd\u30fc\u30c8\u4f53\u5236<\/strong><small>\u30b5\u30dd\u30fc\u30c8\u5185\u5bb9\u3092\u78ba\u8a8d<\/small><\/div>\n            <div class=\"compare-feature-chip compare-feature-chip--orange\"><span>\u25a1<\/span><strong>\u30ad\u30e3\u30f3\u30da\u30fc\u30f3<\/strong><small>\u304a\u30c8\u30af\u306a\u7279\u5178\u3092\u6bd4\u8f03<\/small><\/div>\n          <\/div>\n\n          <div class=\"compare-selector-card\" aria-labelledby=\"compare-selector-title\">\n            <div class=\"compare-selector\" id=\"compare-selector-title\">\n              <div class=\"compare-select-box\">\n                <label for=\"compare-left-service\"><span>1\u793e\u76ee<\/span>\u6bd4\u8f03\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3092\u9078\u629e<\/label>\n                <select id=\"compare-left-service\" name=\"compare-left-service\"><\/select>\n              <\/div>\n\n              <div class=\"compare-select-box\">\n                <label for=\"compare-right-service\"><span>2\u793e\u76ee<\/span>\u6bd4\u8f03\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3092\u9078\u629e<\/label>\n                <select id=\"compare-right-service\" name=\"compare-right-service\"><\/select>\n              <\/div>\n            <\/div>\n\n            <p class=\"compare-error-message\" id=\"compare-selection-error\" role=\"alert\" hidden>\u5225\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n            <p class=\"compare-status-message\" id=\"compare-status-message\" hidden><\/p>\n          <\/div>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n  <section class=\"compare-summary-section\" aria-labelledby=\"compare-summary-title\" aria-live=\"polite\">\n    <div class=\"section-heading\">\n      <div class=\"section-heading-title\" id=\"compare-summary-title\">\u9078\u629e\u4e2d2\u793e\u306e\u6982\u8981<\/div>\n      <p>\u6bd4\u8f03\u8868\u306b\u5165\u308b\u524d\u306b\u3001\u5404\u793e\u306e\u6599\u91d1\u5e2f\u3068\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u306e\u50be\u5411\u3092\u3056\u3063\u304f\u308a\u628a\u63e1\u3067\u304d\u307e\u3059\u3002<\/p>\n    <\/div>\n    <div class=\"compare-summary-grid\" id=\"compare-summary-grid\"><\/div>\n  <\/section>\n\n  <section class=\"compare-detail-section\" aria-labelledby=\"compare-detail-title\">\n    <div class=\"section-heading\">\n      <div class=\"section-heading-title\" id=\"compare-detail-title\">\u9078\u629e\u3057\u305f2\u793e\u306e\u8a73\u7d30\u6bd4\u8f03<\/div>\n      <p>\u6599\u91d1\u3060\u3051\u3067\u306a\u304f\u3001\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3001\u901a\u8a71\u3001\u57fa\u672c\u6a5f\u80fd\u3001\u30b5\u30dd\u30fc\u30c8\u4f53\u5236\u307e\u3067\u4e00\u89a7\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n    <\/div>\n    <div class=\"compare-table-shell\" id=\"compare-detail-shell\"><\/div>\n  <\/section>\n\n  <section class=\"compare-final-cta-section\" aria-labelledby=\"compare-final-cta-title\">\n    <div class=\"section-heading\">\n      <div class=\"section-heading-title\" id=\"compare-final-cta-title\">\u3042\u306a\u305f\u306b\u5408\u3046SIM\u3092\u8a3a\u65ad<\/div>\n      <p>12\u30b5\u30fc\u30d3\u30b9\u306e\u7279\u5fb4\u3092\u3082\u3068\u306b\u3001\u516c\u5f0f\u30b5\u30a4\u30c8\u3078\u9032\u3080\u524d\u306b\u8fd1\u3044\u5019\u88dc\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n    <\/div>\n    <div data-sim-diagnosis><\/div>\n  <\/section>\n\n  <section class=\"compare-faq-section\" aria-labelledby=\"compare-faq-title\">\n    <div class=\"section-heading\">\n      <div class=\"section-heading-title\" id=\"compare-faq-title\">\u3088\u304f\u3042\u308b\u8cea\u554f<\/div>\n      <p>\u6bd4\u8f03\u524d\u306b\u3088\u304f\u78ba\u8a8d\u3055\u308c\u308b\u30dd\u30a4\u30f3\u30c8\u3092\u307e\u3068\u3081\u3066\u3044\u307e\u3059\u3002<\/p>\n    <\/div>\n\n    <div class=\"compare-faq-list\">\n      <details class=\"compare-faq-item\">\n        <summary>\u3069\u306e\u683c\u5b89SIM\u304c\u4e00\u756a\u5b89\u3044\u3067\u3059\u304b\uff1f<\/summary>\n        <p>\u5229\u7528\u3059\u308b\u30c7\u30fc\u30bf\u5bb9\u91cf\u3084\u901a\u8a71\u306e\u6709\u7121\u306b\u3088\u3063\u3066\u7570\u306a\u308a\u307e\u3059\u3002\u5c0f\u5bb9\u91cf\u306a\u3089\u65e5\u672c\u901a\u4fe1SIM\u3084NURO\u30e2\u30d0\u30a4\u30eb\u300130GB\u524d\u5f8c\u306a\u3089ahamo\u30fbLINEMO\u30fbmineo\u306a\u3069\u304c\u5019\u88dc\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n      <\/details>\n\n      <details class=\"compare-faq-item\">\n        <summary>\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u3092\u53d7\u3051\u305f\u3044\u5834\u5408\u306f\u3069\u308c\u304c\u304a\u3059\u3059\u3081\u3067\u3059\u304b\uff1f<\/summary>\n        <p>UQ\u30e2\u30d0\u30a4\u30eb\u3001Y!mobile\u3001\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u3001\u30a4\u30aa\u30f3\u30e2\u30d0\u30a4\u30eb\u3001J:COM MOBILE\u306a\u3069\u304c\u5019\u88dc\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n      <\/details>\n\n      <details class=\"compare-faq-item\">\n        <summary>\u30c7\u30fc\u30bf\u7121\u5236\u9650\u3067\u4f7f\u3044\u305f\u3044\u5834\u5408\u306f\uff1f<\/summary>\n        <p>\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u304c\u4ee3\u8868\u7684\u3067\u3059\u3002povo\u306f\u77ed\u6642\u9593\u306e\u4f7f\u3044\u653e\u984c\u30c8\u30c3\u30d4\u30f3\u30b0\u3001mineo\u306f\u901f\u5ea6\u5236\u9650\u578b\u306e\u4f7f\u3044\u653e\u984c\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n      <\/details>\n\n      <details class=\"compare-faq-item\">\n        <summary>\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u60c5\u5831\u306f\u3044\u3064\u66f4\u65b0\u3055\u308c\u307e\u3059\u304b\uff1f<\/summary>\n        <p>\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u30fb\u7aef\u672b\u5272\u5f15\u306f\u6642\u671f\u306b\u3088\u308a\u5909\u66f4\u3055\u308c\u308b\u305f\u3081\u3001\u7533\u3057\u8fbc\u307f\u524d\u306b\u5404\u30b5\u30fc\u30d3\u30b9\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3092\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\u3002<\/p>\n      <\/details>\n\n      <details class=\"compare-faq-item\">\n        <summary>2\u793e\u3092\u6bd4\u8f03\u3059\u308b\u3060\u3051\u3067\u5951\u7d04\u5148\u3092\u6c7a\u3081\u3066\u3082\u5927\u4e08\u592b\u3067\u3059\u304b\uff1f<\/summary>\n        <p>\u6599\u91d1\u3060\u3051\u3067\u306a\u304f\u3001\u56de\u7dda\u3001\u901a\u8a71\u3001\u30b5\u30dd\u30fc\u30c8\u3001\u652f\u6255\u65b9\u6cd5\u3001\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u6761\u4ef6\u3082\u78ba\u8a8d\u3057\u305f\u3046\u3048\u3067\u9078\u3076\u3053\u3068\u3092\u304a\u3059\u3059\u3081\u3057\u307e\u3059\u3002<\/p>\n      <\/details>\n    <\/div>\n  <\/section>\n\n  <noscript>\n    <div class=\"compare-noscript\">\n      <p>\u3053\u306e\u6bd4\u8f03\u30da\u30fc\u30b8\u3067\u306f\u3001UQ\u30e2\u30d0\u30a4\u30eb\u3001ahamo\u3001povo\u3001Y!mobile\u3001LINEMO\u3001\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u3001IIJmio\u3001mineo\u3001\u65e5\u672c\u901a\u4fe1SIM\u3001\u30a4\u30aa\u30f3\u30e2\u30d0\u30a4\u30eb\u3001J:COM MOBILE\u3001NURO\u30e2\u30d0\u30a4\u30eb\u306e12\u30b5\u30fc\u30d3\u30b9\u30922\u793e\u305a\u3064\u6bd4\u8f03\u3067\u304d\u307e\u3059\u3002<\/p>\n      <p>JavaScript\u3092\u6709\u52b9\u306b\u3059\u308b\u3068\u3001\u6599\u91d1\u30fb\u901a\u8a71\u30fb\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u30fb\u6a5f\u80fd\u30fb\u30b5\u30dd\u30fc\u30c8\u4f53\u5236\u306e\u6bd4\u8f03\u3092\u5207\u308a\u66ff\u3048\u3089\u308c\u307e\u3059\u3002<\/p>\n    <\/div>\n  <\/noscript>\n<\/div>\n<!-- ===== SIM COMPARE HTML END ===== -->\n\n<!-- ===== SIM COMPARE JS START ===== -->\n<script>\n(function () {\n  \"use strict\";\n\n  var ROOT_ID = \"sim-compare-page\";\n  var UNKNOWN_LABEL = \"\u8981\u78ba\u8a8d\";\n  var DATA_UPDATED_AT = \"2026\u5e744\u670824\u65e5\";\n  var DEFAULT_SELECTION = {\n    left: \"uqmobile\",\n    right: \"ahamo\"\n  };\n  var PRESETS = [\n    { label: \"UQ\u30e2\u30d0\u30a4\u30eb vs ahamo\", left: \"uqmobile\", right: \"ahamo\" },\n    { label: \"UQ\u30e2\u30d0\u30a4\u30eb vs povo\", left: \"uqmobile\", right: \"povo\" },\n    { label: \"UQ\u30e2\u30d0\u30a4\u30eb vs Y!mobile\", left: \"uqmobile\", right: \"ymobile\" },\n    { label: \"UQ\u30e2\u30d0\u30a4\u30eb vs LINEMO\", left: \"uqmobile\", right: \"linemo\" },\n    { label: \"UQ\u30e2\u30d0\u30a4\u30eb vs \u697d\u5929\u30e2\u30d0\u30a4\u30eb\", left: \"uqmobile\", right: \"rakuten-mobile\" },\n    { label: \"UQ\u30e2\u30d0\u30a4\u30eb vs IIJmio\", left: \"uqmobile\", right: \"iijmio\" },\n    { label: \"UQ\u30e2\u30d0\u30a4\u30eb vs mineo\", left: \"uqmobile\", right: \"mineo\" }\n  ];\n  var SERVICE_SLUG_MAP = {\n    \"UQ\u30e2\u30d0\u30a4\u30eb\": \"uqmobile\",\n    \"ahamo\": \"ahamo\",\n    \"povo\": \"povo\",\n    \"Y!mobile\": \"ymobile\",\n    \"LINEMO\": \"linemo\",\n    \"\u697d\u5929\u30e2\u30d0\u30a4\u30eb\": \"rakuten-mobile\",\n    \"IIJmio\": \"iijmio\",\n    \"mineo\": \"mineo\",\n    \"\u65e5\u672c\u901a\u4fe1SIM\": \"nihontsushin-sim\",\n    \"\u30a4\u30aa\u30f3\u30e2\u30d0\u30a4\u30eb\": \"aeonmobile\",\n    \"J:COM MOBILE\": \"jcom-mobile\",\n    \"NURO\u30e2\u30d0\u30a4\u30eb\": \"nuro-mobile\"\n  };\n  var SIM_COMPARE_META = {\n    as_of: \"2026-04-24\",\n    currency: \"\u7a0e\u8fbc\",\n    scope: \"\u500b\u4eba\u5411\u3051\u306e\u97f3\u58f0\u901a\u8a71SIM\/\u30b9\u30de\u30db\u30d7\u30e9\u30f3\u3092\u4e2d\u5fc3\u306b\u6bd4\u8f03\",\n    common_note: \"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u30fb\u7aef\u672b\u5272\u5f15\u30fb\u671f\u9593\u9650\u5b9a\u7279\u5178\u306f\u5909\u52d5\u3059\u308b\u305f\u3081\u3001\u516c\u958b\u76f4\u524d\u306b\u516c\u5f0f\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u30da\u30fc\u30b8\u3067\u6700\u7d42\u78ba\u8a8d\u3059\u308b\u3002\"\n  };\n\n  var RAW_SERVICES = [\n    {\n      service_name: \"UQ\u30e2\u30d0\u30a4\u30eb\",\n      logo: \"\u516c\u5f0f\u30ed\u30b4\u8868\u793a\uff08alt='UQ\u30e2\u30d0\u30a4\u30eb \u30ed\u30b4'\uff09\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/1d9c3b8f857bb9fed35a136b05abf12b.webp\",\n      campaign_banner_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/c5db52c4c1f15896e6d9ae4836362b27.webp\",\n      price_summary: {\n        cheapest: { price_text: \"880\u5186\uff0f\u6708\", capacity_text: \"\u301c1GB \u5272\u5f15\u9069\u7528\u6642\" },\n        data_plan: { price_text: \"3,828\u5186\uff0f\u6708\", capacity_text: \"35GB\" },\n        voice_plan: { price_text: \"3,828\u5186\uff0f\u6708\", capacity_text: \"35GB\uff0b10\u5206\u304b\u3051\u653e\u984c\" }\n      },\n      recommended_points: [\n        \"au\u56de\u7dda\u306e\u5e83\u3044\u30a8\u30ea\u30a2\u3068\u5b89\u5b9a\u3057\u305f\u901a\u4fe1\u54c1\u8cea\u3067\u683c\u5b89SIM\u306e\u4e0d\u6e80\u3092\u89e3\u6d88\",\n        \"\u81ea\u5b85\u30bb\u30c3\u30c8\u5272\uff0bau PAY\u30ab\u30fc\u30c9\u304a\u652f\u6255\u3044\u5272\u3067\u6708880\u5186\u304b\u3089\u4f7f\u3048\u308b\u30c8\u30af\u30c8\u30af\u30d7\u30e9\u30f32\",\n        \"\u30b3\u30df\u30b3\u30df\u30d7\u30e9\u30f3\u30d0\u30ea\u30e5\u30fc\u306f10\u5206\u304b\u3051\u653e\u984c\uff0bPonta\u30d1\u30b9\u4ed8\u304d\u3067\u67083,828\u5186\",\n        \"\u4f59\u3063\u305f\u30c7\u30fc\u30bf\u306f\u7fcc\u6708\u7e70\u308a\u8d8a\u3057\u53ef\u80fd\u3067\u30e0\u30c0\u306a\u304f\u4f7f\u3048\u308b\",\n        \"\u5168\u56fd\u306eau\/UQ\u30b7\u30e7\u30c3\u30d7\u3067\u5bfe\u9762\u30b5\u30dd\u30fc\u30c8\u304c\u53d7\u3051\u3089\u308c\u308b\u5b89\u5fc3\u611f\",\n        \"UQ\u89aa\u5b50\u5fdc\u63f4\u5272\u30fbUQ\u30b5\u30f3\u30ad\u30e5\u30fc\u5fdc\u63f4\u5272\u30fb60\u6b73\u4ee5\u4e0a\u901a\u8a71\u5272\u306a\u3069\u4e16\u4ee3\u5225\u5272\u5f15\u304c\u5145\u5b9f\",\n        \"\u5897\u91cf\u30aa\u30d7\u30b7\u30e7\u30f3\u2161\uff08\u6708550\u5186\uff09\u304c7\u30ab\u6708\u7121\u6599\u306e\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u5e38\u8a2d\"\n      ],\n      network: \"au 5G \/ 4G LTE\",\n      campaign: {\n        display_text: \"SIM\u306e\u307f\u4e57\u308a\u304b\u3048\u306eau PAY\u6b8b\u9ad8\u9084\u5143\u3001\u5897\u91cf\u30aa\u30d7\u30b7\u30e7\u30f3\u2161\u7121\u6599\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3001UQ\u89aa\u5b50\u5fdc\u63f4\u5272\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u67a0\u3067\u306f\u300eSIM\u306e\u307f\u5951\u7d04\u3067\u3082\u9084\u5143\u3042\u308a\u300f\u300e\u5897\u91cf\u30aa\u30d7\u30b7\u30e7\u30f3\u2161\u304c\u4e00\u5b9a\u671f\u9593\u7121\u6599\u300f\u3092\u8a34\u6c42\",\n        volatility: \"\u9ad8\"\n      },\n      device_purchase_discount: {\n        display_text: \"UQ mobile \u30aa\u30f3\u30e9\u30a4\u30f3\u30b7\u30e7\u30c3\u30d7 \u304a\u30c8\u30af\u5272\u306b\u3088\u308a\u3001\u5bfe\u8c61\u30b9\u30de\u30db\u3092\u6700\u5927\u5272\u5f15\u3067\u8cfc\u5165\u53ef\u80fd\",\n        recommended_note: \"iPhone \/ Android\u306e\u5bfe\u8c61\u6a5f\u7a2e\u30fb\u5272\u5f15\u984d\u306f\u516c\u958b\u76f4\u524d\u306b\u5dee\u3057\u66ff\u3048\",\n        has_discount: true\n      },\n      initial_cost: {\n        contract_fee: \"3,850\u5186\",\n        sim_fee: \"\u539f\u5247\u3001\u5951\u7d04\u4e8b\u52d9\u624b\u6570\u6599\u306b\u542b\u3081\u3066\u8868\u793a\",\n        display_text: \"\u5951\u7d04\u4e8b\u52d9\u624b\u6570\u6599\uff1a3,850\u5186\"\n      },\n      price_range: {\n        low_capacity_5gb_or_less: {\n          display_text: \"\u30c8\u30af\u30c8\u30af\u30d7\u30e9\u30f32\uff1a\u301c5GB\u306f\u901a\u5e384,048\u5186\u3002\u81ea\u5b85\u30bb\u30c3\u30c8\u5272\uff0bau PAY\u30ab\u30fc\u30c9\u304a\u652f\u6255\u3044\u5272\uff0b5GB\u4ee5\u4e0b\u5229\u7528\u6642\u306f1,628\u5186\",\n          recommended_label: \"\u301c5GB\u306a\u3089\u5272\u5f15\u9069\u7528\u30671,628\u5186\"\n        },\n        mid_capacity_10_20gb: {\n          display_text: \"\u30c8\u30af\u30c8\u30af\u30d7\u30e9\u30f32\uff1a5GB\u8d85\u301c30GB\u306f\u901a\u5e384,048\u5186\u3002\u81ea\u5b85\u30bb\u30c3\u30c8\u5272\uff0bau PAY\u30ab\u30fc\u30c9\u304a\u652f\u6255\u3044\u5272\u9069\u7528\u30672,728\u5186\",\n          recommended_label: \"30GB\u307e\u3067\u4f7f\u3048\u308b\u5b9f\u7528\u30d7\u30e9\u30f3\"\n        },\n        large_capacity_30_35gb: {\n          display_text: \"\u30b3\u30df\u30b3\u30df\u30d7\u30e9\u30f3\u30d0\u30ea\u30e5\u30fc\uff1a35GB\uff0b10\u5206\u304b\u3051\u653e\u984c\u8fbc\u307f\u30673,828\u5186\",\n          recommended_label: \"35GB\uff0b10\u5206\u901a\u8a71\u8fbc\u307f\"\n        },\n        unlimited_or_practical_unlimited: {\n          display_text: \"\u5b8c\u5168\u7121\u5236\u9650\u30d7\u30e9\u30f3\u306f\u306a\u3057\u3002\u8d85\u904e\u5f8c\u3082\u6700\u59271Mbps\u3067\u4f7f\u3048\u308b\u305f\u3081\u3001\u8efd\u3044\u7528\u9014\u306a\u3089\u7d99\u7d9a\u5229\u7528\u3057\u3084\u3059\u3044\",\n          recommended_label: \"\u7121\u5236\u9650\u306f\u975e\u5bfe\u5fdc\"\n        },\n        cheap_plan_with_call: {\n          display_text: \"\u30b3\u30df\u30b3\u30df\u30d7\u30e9\u30f3\u30d0\u30ea\u30e5\u30fc\uff1a35GB\uff0b10\u5206\u304b\u3051\u653e\u984c\uff0bPonta\u30d1\u30b9\u8fbc\u307f\u30673,828\u5186\",\n          recommended_label: \"\u901a\u8a71\u8fbc\u307f\u306a\u3089\u30b3\u30df\u30b3\u30df\u30d7\u30e9\u30f3\"\n        }\n      },\n      speed_after_data_exhaustion: {\n        display_text: \"\u30c8\u30af\u30c8\u30af\u30d7\u30e9\u30f32 \/ \u30b3\u30df\u30b3\u30df\u30d7\u30e9\u30f3\u30d0\u30ea\u30e5\u30fc\u306f\u6708\u9593\u30c7\u30fc\u30bf\u8d85\u904e\u5f8c\u3001\u6700\u59271Mbps\u3002\u4e00\u5b9a\u91cf\u3092\u3055\u3089\u306b\u8d85\u904e\u3059\u308b\u3068\u6700\u5927128kbps\u306b\u306a\u308b\u5834\u5408\u3042\u308a\"\n      },\n      data_add_on: {\n        display_text: \"\u30c7\u30fc\u30bf\u30c1\u30e3\u30fc\u30b8\uff1a1GB 1,100\u5186\u30013GB 3,300\u5186\u30015GB 5,500\u5186\u3002\u5897\u91cf\u30aa\u30d7\u30b7\u30e7\u30f3\u2161\u306f\u6708\u984d550\u5186\u3067\uff0b5GB\"\n      },\n      standard_call_rate: {\n        display_text: \"22\u5186\/30\u79d2\"\n      },\n      call_options: {\n        display_text: [\n          \"\u901a\u8a71\u653e\u984c\uff1a1,980\u5186\/\u6708\",\n          \"\u901a\u8a71\u653e\u984c\u30e9\u30a4\u30c8\uff1a880\u5186\/\u6708\",\n          \"\u901a\u8a71\u30d1\u30c3\u30af60\uff1a660\u5186\/\u6708\",\n          \"\u30b3\u30df\u30b3\u30df\u30d7\u30e9\u30f3\u30d0\u30ea\u30e5\u30fc\u306e\u901a\u8a71\u653e\u984c\u8ffd\u52a0\uff1a\uff0b1,100\u5186\/\u6708\"\n        ]\n      },\n      service_details: {\n        basic_features: {\n          five_g: \"\u5bfe\u5fdc\",\n          esim: \"\u5bfe\u5fdc\",\n          tethering: \"\u5bfe\u5fdc\",\n          data_rollover: \"\u5bfe\u5fdc\",\n          display_text: \"5G\u3001eSIM\u3001\u30c6\u30b6\u30ea\u30f3\u30b0\u3001\u30c7\u30fc\u30bf\u304f\u308a\u3053\u3057\u306b\u5bfe\u5fdc\"\n        },\n        usability: {\n          payment_methods: \"\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u3001\u53e3\u5ea7\u632f\u66ff\u306a\u3069\",\n          store_support: \"\u3042\u308a\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          mnp_one_stop: \"\u5bfe\u5fdc\",\n          display_text: \"\u5e97\u8217\u30fb\u96fb\u8a71\u30fb\u30c1\u30e3\u30c3\u30c8\u306e\u30b5\u30dd\u30fc\u30c8\u304c\u3042\u308a\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u5c02\u7528\u30d7\u30e9\u30f3\u3088\u308a\u76f8\u8ac7\u3057\u3084\u3059\u3044\"\n        },\n        unique_strengths: {\n          line_free: \"\u306a\u3057\",\n          overseas_use: \"au\u6d77\u5916\u653e\u984c\u306a\u3069\u3067\u5bfe\u5fdc\",\n          saving_mode: \"\u73fe\u884c\u4e3b\u8981\u30d7\u30e9\u30f3\u3067\u306f\u7bc0\u7d04\u30e2\u30fc\u30c9\u8a34\u6c42\u306f\u5f31\u3044\",\n          count_free: \"\u306a\u3057\",\n          data_share: \"\u9650\u5b9a\u7684\",\n          topping: \"\u306a\u3057\",\n          display_text: \"au\u54c1\u8cea\u306e\u56de\u7dda\u3001\u81ea\u5b85\u30bb\u30c3\u30c8\u5272\u3001\u5bb6\u65cf\u30bb\u30c3\u30c8\u5272\u3001Ponta\u30d1\u30b9\u8fbc\u307f\u30d7\u30e9\u30f3\u304c\u5f37\u307f\"\n        },\n        support_system: {\n          store_support: \"UQ\u30b9\u30dd\u30c3\u30c8\u3001au Style \/ au\u30b7\u30e7\u30c3\u30d7\u7b49\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          setup_support: \"\u5e97\u8217\u30fb\u30aa\u30f3\u30e9\u30a4\u30f3\u30b5\u30dd\u30fc\u30c8\u3067\u5bfe\u5fdc\",\n          family_senior_support: \"\u5e97\u8217\u76f8\u8ac7\u304c\u3067\u304d\u308b\u305f\u3081\u5bb6\u65cf\u30fb\u30b7\u30cb\u30a2\u306b\u3082\u5411\u304f\",\n          display_text: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u3060\u3051\u3067\u306a\u304f\u5e97\u8217\u3067\u76f8\u8ac7\u3067\u304d\u308b\u5b89\u5fc3\u611f\u304c\u3042\u308b\"\n        }\n      },\n      recommended_for: [\n        \"au\u56de\u7dda\u306e\u5b89\u5b9a\u611f\u3092\u91cd\u8996\u3059\u308b\u4eba\",\n        \"\u81ea\u5b85\u30bb\u30c3\u30c8\u5272\u3084\u5bb6\u65cf\u30bb\u30c3\u30c8\u5272\u3092\u4f7f\u3048\u308b\u4eba\",\n        \"\u5e97\u8217\u3067\u76f8\u8ac7\u3057\u306a\u304c\u3089\u7533\u3057\u8fbc\u307f\u305f\u3044\u4eba\",\n        \"35GB\uff0b10\u5206\u901a\u8a71\u8fbc\u307f\u306e\u308f\u304b\u308a\u3084\u3059\u3044\u30d7\u30e9\u30f3\u3092\u9078\u3073\u305f\u3044\u4eba\"\n      ],\n      cta: {\n        button_text: \"UQ\u30e2\u30d0\u30a4\u30eb\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u30c1\u30a7\u30c3\u30af\",\n        microcopy: \"au\u56de\u7dda\u306e\u5b89\u5fc3\u611f\u3068\u5272\u5f15\u8fbc\u307f\u306e\u5b89\u3055\u3092\u30c1\u30a7\u30c3\u30af\",\n        url: \"https:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=3689760&pid=890286589\"\n      }\n    },\n    {\n      service_name: \"ahamo\",\n      logo: \"\u516c\u5f0f\u30ed\u30b4\u8868\u793a\uff08alt='ahamo \u30ed\u30b4'\uff09\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/73275dad8c2f98cd5113f55b742e3f14.webp\",\n      campaign_banner_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/ahamo.webp\",\n      price_summary: {\n        cheapest: { price_text: \"2,970\u5186\uff0f\u6708\", capacity_text: \"30GB\uff0b5\u5206\u901a\u8a71\u8fbc\u307f\" },\n        data_plan: { price_text: \"2,970\u5186\uff0f\u6708\", capacity_text: \"30GB\" },\n        voice_plan: { price_text: \"2,970\u5186\uff0f\u6708\", capacity_text: \"30GB\uff0b5\u5206\u901a\u8a71\u8fbc\u307f\" }\n      },\n      recommended_points: [\n        \"\u30c9\u30b3\u30e2\u56de\u7dda\u305d\u306e\u307e\u307e\u306e\u54c1\u8cea\u306730GB\uff0b5\u5206\u304b\u3051\u653e\u984c\u304c\u67082,970\u5186\",\n        \"\u8ffd\u52a0\u6599\u91d1\u306a\u3057\u3067\u6d77\u591691\u30ab\u56fd\u30fb2\u9031\u9593\u307e\u3067\u30ed\u30fc\u30df\u30f3\u30b0\u5229\u7528\u53ef\u80fd\",\n        \"\u5927\u76db\u308a\u30aa\u30d7\u30b7\u30e7\u30f3\uff0b1,980\u5186\u3067\u5408\u8a08110GB\u307e\u3067\u62e1\u5f35\u3067\u304d\u308b\u67d4\u8edf\u6027\",\n        \"\u30dd\u30a4\u6d3b\u30aa\u30d7\u30b7\u30e7\u30f3\u3067d\u30ab\u30fc\u30c9\u6c7a\u6e0810\uff05\u9084\u5143\uff082026\u5e744\u670830\u65e5\u307e\u3067\uff09\",\n        \"5G\u5bfe\u5fdc\uff06\u30c6\u30b6\u30ea\u30f3\u30b0\u7121\u6599\u3067\u30c7\u30fc\u30bf\u6d3b\u7528\u306e\u5e45\u304c\u5e83\u3044\",\n        \"\u7533\u8fbc\u30fb\u624b\u7d9a\u304d\u306f\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\u3001d\u30a2\u30ab\u30a6\u30f3\u30c8\u9023\u643a\u3067\u30b7\u30f3\u30d7\u30eb\",\n        \"\u5951\u7d04\u8005600\u4e07\u4eba\u8d85\u306e\u5b89\u5fc3\u611f\u3068\u30c9\u30b3\u30e2\u7d4c\u6e08\u570f\u3068\u306e\u89aa\u548c\u6027\"\n      ],\n      network: \"\u30c9\u30b3\u30e2 5G \/ 4G LTE\",\n      campaign: {\n        display_text: \"\u5927\u76db\u308a\u30aa\u30d7\u30b7\u30e7\u30f3\u5b9f\u8cea\u7121\u6599\u3001ahamo\u7d39\u4ecb\u3001d\u30dd\u30a4\u30f3\u30c8\u9084\u5143\u3001\u5bfe\u8c61\u7aef\u672b\u8cfc\u5165\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"\u300e30GB 2,970\u5186\u300f\u300e5\u5206\u901a\u8a71\u7121\u6599\u300f\u300e\u6d77\u591630GB\u307e\u3067\u8ffd\u52a0\u6599\u91d1\u306a\u3057\u300f\u3092\u56fa\u5b9a\u8a34\u6c42\u306b\u3059\u308b\",\n        volatility: \"\u9ad8\"\n      },\n      device_purchase_discount: {\n        display_text: \"\u30c9\u30b3\u30e2\u30aa\u30f3\u30e9\u30a4\u30f3\u30b7\u30e7\u30c3\u30d7\u306e5G WELCOME\u5272\u3001\u3044\u3064\u3067\u3082\u30ab\u30a8\u30c9\u30ad\u30d7\u30ed\u30b0\u30e9\u30e0\u3001\u5bfe\u8c61\u6a5f\u7a2e\u306ed\u30dd\u30a4\u30f3\u30c8\u9084\u5143\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"\u7aef\u672b\u5272\u5f15\u306f\u30c9\u30b3\u30e2\u30aa\u30f3\u30e9\u30a4\u30f3\u30b7\u30e7\u30c3\u30d7\u5074\u306e\u5bfe\u8c61\u6a5f\u7a2e\u30fb\u5272\u5f15\u984d\u3092\u5dee\u3057\u66ff\u3048\",\n        has_discount: true\n      },\n      initial_cost: {\n        contract_fee: \"0\u5186\",\n        sim_fee: \"0\u5186\",\n        display_text: \"\u5951\u7d04\u4e8b\u52d9\u624b\u6570\u6599\uff1a\u7121\u6599\u3002\u30c9\u30b3\u30e2\u30b7\u30e7\u30c3\u30d7\u3067\u306e\u6709\u6599\u30b5\u30dd\u30fc\u30c8\u306f\u5225\u9014\u6599\u91d1\u304c\u304b\u304b\u308b\"\n      },\n      price_range: {\n        low_capacity_5gb_or_less: {\n          display_text: \"\u5c0f\u5bb9\u91cf\u5c02\u7528\u30d7\u30e9\u30f3\u306f\u306a\u3057\u300230GB 2,970\u5186\u304c\u57fa\u672c\",\n          recommended_label: \"\u5c0f\u5bb9\u91cf\u5229\u7528\u306b\u306f\u3084\u3084\u4e0d\u5411\u304d\"\n        },\n        mid_capacity_10_20gb: {\n          display_text: \"10\u301c20GB\u5c02\u7528\u30d7\u30e9\u30f3\u306f\u306a\u3057\u300230GB 2,970\u5186\u304c\u57fa\u672c\",\n          recommended_label: \"20GB\u524d\u5f8c\u3067\u308230GB\u30d7\u30e9\u30f3\u3067\u5229\u7528\"\n        },\n        large_capacity_30_35gb: {\n          display_text: \"ahamo\uff1a30GB 2,970\u5186\u30025\u5206\u4ee5\u5185\u306e\u56fd\u5185\u901a\u8a71\u7121\u6599\u8fbc\u307f\",\n          recommended_label: \"30GB\uff0b5\u5206\u901a\u8a71\u8fbc\u307f\u30672,970\u5186\"\n        },\n        unlimited_or_practical_unlimited: {\n          display_text: \"ahamo\u5927\u76db\u308a\uff1a110GB 4,950\u5186\u3002\u5b8c\u5168\u7121\u5236\u9650\u3067\u306f\u306a\u3044\u304c\u5927\u5bb9\u91cf\u5229\u7528\u5411\u3051\",\n          recommended_label: \"110GB\u307e\u3067\u4f7f\u3048\u308b\u5927\u76db\u308a\"\n        },\n        cheap_plan_with_call: {\n          display_text: \"30GB 2,970\u5186\u306b5\u5206\u4ee5\u5185\u306e\u56fd\u5185\u901a\u8a71\u7121\u6599\u304c\u6a19\u6e96\u4ed8\u5e2f\",\n          recommended_label: \"\u901a\u8a71\u8fbc\u307f\u306a\u308930GB 2,970\u5186\"\n        }\n      },\n      speed_after_data_exhaustion: {\n        display_text: \"\u6708\u9593\u30c7\u30fc\u30bf\u5bb9\u91cf\u8d85\u904e\u5f8c\u306f\u6700\u59271Mbps\"\n      },\n      data_add_on: {\n        display_text: \"1GB\u8ffd\u52a0\uff1a550\u5186\u3002\u5927\u76db\u308a\u30aa\u30d7\u30b7\u30e7\u30f3\uff1a\uff0b80GB\u30671,980\u5186\/\u6708\"\n      },\n      standard_call_rate: {\n        display_text: \"5\u5206\u8d85\u904e\u5f8c\u306f22\u5186\/30\u79d2\"\n      },\n      call_options: {\n        display_text: [\n          \"5\u5206\u4ee5\u5185\u306e\u56fd\u5185\u901a\u8a71\u7121\u6599\uff1a\u6a19\u6e96\u4ed8\u5e2f\",\n          \"\u304b\u3051\u653e\u984c\u30aa\u30d7\u30b7\u30e7\u30f3\uff1a1,100\u5186\/\u6708\"\n        ]\n      },\n      service_details: {\n        basic_features: {\n          five_g: \"\u5bfe\u5fdc\",\n          esim: \"\u5bfe\u5fdc\",\n          tethering: \"\u5bfe\u5fdc\",\n          data_rollover: \"\u975e\u5bfe\u5fdc\",\n          display_text: \"5G\u3001eSIM\u3001\u30c6\u30b6\u30ea\u30f3\u30b0\u306b\u5bfe\u5fdc\u3002\u30c7\u30fc\u30bf\u304f\u308a\u3053\u3057\u306f\u975e\u5bfe\u5fdc\"\n        },\n        usability: {\n          payment_methods: \"\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u3001\u53e3\u5ea7\u632f\u66ff\",\n          store_support: \"\u6709\u6599\u30b5\u30dd\u30fc\u30c8\u3042\u308a\",\n          phone_support: \"\u539f\u5247\u30aa\u30f3\u30e9\u30a4\u30f3\u4e2d\u5fc3\",\n          chat_support: \"\u3042\u308a\",\n          mnp_one_stop: \"\u5bfe\u5fdc\",\n          display_text: \"\u7533\u3057\u8fbc\u307f\u30fb\u624b\u7d9a\u304d\u306f\u30aa\u30f3\u30e9\u30a4\u30f3\u4e2d\u5fc3\u3002\u30c9\u30b3\u30e2\u30b7\u30e7\u30c3\u30d7\u306e\u30b5\u30dd\u30fc\u30c8\u306f\u6709\u6599\"\n        },\n        unique_strengths: {\n          line_free: \"\u306a\u3057\",\n          overseas_use: \"\u6d77\u591691\u306e\u56fd\u30fb\u5730\u57df\u306730GB\u307e\u3067\u8ffd\u52a0\u6599\u91d1\u306a\u3057\",\n          saving_mode: \"\u306a\u3057\",\n          count_free: \"\u306a\u3057\",\n          data_share: \"\u306a\u3057\",\n          topping: \"\u5927\u76db\u308a\u30aa\u30d7\u30b7\u30e7\u30f3\",\n          display_text: \"30GB\u30fb5\u5206\u901a\u8a71\u30fb\u6d77\u5916\u5229\u7528\u8fbc\u307f\u306e\u30b7\u30f3\u30d7\u30eb\u306a\u30ef\u30f3\u30d7\u30e9\u30f3\u304c\u5f37\u307f\"\n        },\n        support_system: {\n          store_support: \"\u30c9\u30b3\u30e2\u30b7\u30e7\u30c3\u30d7\u3067\u6709\u6599\u30b5\u30dd\u30fc\u30c8\",\n          phone_support: \"\u9650\u5b9a\u7684\",\n          chat_support: \"\u3042\u308a\",\n          setup_support: \"\u30c9\u30b3\u30e2\u30b7\u30e7\u30c3\u30d7\u6709\u6599\u30b5\u30dd\u30fc\u30c8\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u6848\u5185\",\n          family_senior_support: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u624b\u7d9a\u304d\u306b\u6163\u308c\u3066\u3044\u308b\u5bb6\u65cf\u5411\u3051\",\n          display_text: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\u306b\u5f37\u3044\u4eba\u5411\u3051\u3002\u5bfe\u9762\u30b5\u30dd\u30fc\u30c8\u306f\u6709\u6599\"\n        }\n      },\n      recommended_for: [\n        \"30GB\u524d\u5f8c\u3092\u6bce\u6708\u4f7f\u3046\u4eba\",\n        \"5\u5206\u4ee5\u5185\u306e\u901a\u8a71\u304c\u591a\u3044\u4eba\",\n        \"\u6d77\u5916\u65c5\u884c\u30fb\u6d77\u5916\u51fa\u5f35\u3067\u3082\u30b9\u30de\u30db\u3092\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"\u30c9\u30b3\u30e2\u56de\u7dda\u306e\u54c1\u8cea\u3092\u91cd\u8996\u3059\u308b\u4eba\"\n      ],\n      cta: {\n        button_text: \"ahamo\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u30c1\u30a7\u30c3\u30af\",\n        microcopy: \"30GB\u30fb5\u5206\u901a\u8a71\u30fb\u6d77\u5916\u5229\u7528\u8fbc\u307f\u306e\u30b7\u30f3\u30d7\u30eb\u30d7\u30e9\u30f3\",\n        url: \"https:\/\/tr.affiliate-sp.docomo.ne.jp\/cl\/d0000001629\/3273\/790\"\n      }\n    },\n    {\n      service_name: \"povo\",\n      logo: \"\u516c\u5f0f\u30ed\u30b4\u8868\u793a\uff08alt='povo \u30ed\u30b4'\uff09\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/9a65b34ce06288dae7913305d7ef0661.webp\",\n      campaign_banner_image: \"\",\n      price_summary: {\n        cheapest: { price_text: \"0\u5186\uff0f\u6708\", capacity_text: \"\u57fa\u672c\u6599 \u30c8\u30c3\u30d4\u30f3\u30b0\u5236\" },\n        data_plan: { price_text: \"2,780\u5186\uff0f30\u65e5\", capacity_text: \"30GB \u30c8\u30c3\u30d4\u30f3\u30b0\" },\n        voice_plan: { price_text: \"550\u5186\uff0f\u6708\", capacity_text: \"5\u5206\u4ee5\u5185\u304b\u3051\u653e\u984c\" }\n      },\n      recommended_points: [\n        \"\u57fa\u672c\u65990\u5186\u3067\u30c7\u30fc\u30bf\u30c8\u30c3\u30d4\u30f3\u30b0\u3092\u5fc5\u8981\u306a\u6642\u3060\u3051\u8cfc\u5165\u3067\u304d\u308b\u67d4\u8edf\u30d7\u30e9\u30f3\",\n        \"\u30c7\u30fc\u30bf\u4f7f\u3044\u653e\u984c\uff0824\u6642\u9593\uff09330\u5186\u306a\u3069\u77ed\u671f\u30b9\u30dd\u30c3\u30c8\u5229\u7528\u306b\u6700\u9069\",\n        \"au\u56de\u7dda\u306e5G\u3092\u57fa\u672c\u65990\u5186\u3067\u3082\u5229\u7528\u53ef\u80fd\u3067\u30b5\u30d6\u56de\u7dda\u306b\u3082\u6700\u9069\",\n        \"\u672c\u6c17\u5272\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3067\u4ed6\u793e\u4e57\u308a\u63db\u3048\uff0b\u5bfe\u8c61\u30c8\u30c3\u30d4\u30f3\u30b0\u8cfc\u5165\u6642au PAY\u6b8b\u9ad850\uff05\u9084\u5143\",\n        \"\u30c7\u30fc\u30bf\u8ffd\u52a01TB\uff08365\u65e5\u9593\uff0921,600\u5186\u3067\u6708\u63db\u7b9785GB\u306e\u5927\u5bb9\u91cf\u30d7\u30e9\u30f3\u3082\u9078\u629e\u53ef\",\n        \"eSIM\u5bfe\u5fdc\u3067\u6700\u77ed\u5373\u65e5\u5229\u7528\u958b\u59cb\u3001\u30c7\u30fc\u30bf\u5c02\u7528\u306f\u672c\u4eba\u78ba\u8a8d\u4e0d\u8981\",\n        \"\u5951\u7d04\u671f\u9593\u30fb\u89e3\u7d04\u91d1\u306a\u3057\u3067\u30c8\u30c3\u30d4\u30f3\u30b0\u5358\u4f4d\u306e\u90fd\u5ea6\u8ab2\u91d1\"\n      ],\n      network: \"au 5G \/ 4G LTE\",\n      campaign: {\n        display_text: \"\u671f\u9593\u9650\u5b9a\u30c8\u30c3\u30d4\u30f3\u30b0\u3001\u30ae\u30ac\u6d3b\u3001\u7d39\u4ecb\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3001\u30c7\u30fc\u30bf\u8cfc\u5165\u7279\u5178\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3088\u308a\u3082\u300e\u57fa\u672c\u65990\u5186\uff0b\u5fc5\u8981\u306a\u5206\u3060\u3051\u30c8\u30c3\u30d4\u30f3\u30b0\u300f\u3092\u4e3b\u8a34\u6c42\u306b\u3059\u308b\",\n        volatility: \"\u9ad8\"\n      },\n      device_purchase_discount: {\n        display_text: \"\u7aef\u672b\u8ca9\u58f2\u30fb\u7aef\u672b\u540c\u6642\u8cfc\u5165\u5272\u5f15\u306f\u4e3b\u8a34\u6c42\u3067\u306f\u306a\u3044\u3002SIM\/eSIM\u5951\u7d04\u4e2d\u5fc3\",\n        recommended_note: \"\u7aef\u672b\u5272\u5f15\u6b04\u306f\u300e\u539f\u5247\u306a\u3057\u300f\u307e\u305f\u306f\u300e\u5bfe\u8c61\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u6642\u306e\u307f\u300f\u3067\u8868\u793a\",\n        has_discount: false\n      },\n      initial_cost: {\n        contract_fee: \"0\u5186\",\n        sim_fee: \"0\u5186\",\n        display_text: \"\u5951\u7d04\u4e8b\u52d9\u624b\u6570\u6599\uff1a\u539f\u5247\u7121\u6599\u3002\u305f\u3060\u3057\u540c\u4e00\u540d\u7fa9\u3067\u4e00\u5b9a\u56de\u7dda\u6570\u3092\u8d85\u3048\u308b\u5834\u5408\u306a\u3069\u3001\u6761\u4ef6\u306b\u3088\u308a\u624b\u6570\u6599\u304c\u304b\u304b\u308b\u5834\u5408\u3042\u308a\"\n      },\n      price_range: {\n        low_capacity_5gb_or_less: {\n          display_text: \"3GB\/30\u65e5\uff1a990\u5186\u30015GB\/30\u65e5\uff1a1,380\u5186\u30011GB\/7\u65e5\uff1a390\u5186\",\n          recommended_label: \"\u5c0f\u5bb9\u91cf\u3092\u5fc5\u8981\u306a\u6642\u3060\u3051\u8cfc\u5165\"\n        },\n        mid_capacity_10_20gb: {\n          display_text: \"20GB\u524d\u5f8c\u306f\u300160GB\/90\u65e5 6,490\u5186\u306a\u3069\u3092\u671f\u9593\u63db\u7b97\u3057\u3066\u5229\u7528\",\n          recommended_label: \"\u4e2d\u5bb9\u91cf\u306f\u307e\u3068\u3081\u8cb7\u3044\u5411\u304d\"\n        },\n        large_capacity_30_35gb: {\n          display_text: \"30GB\/30\u65e5\uff1a2,780\u5186\",\n          recommended_label: \"30GB\u3092\u6708\u5358\u4f4d\u3067\u8cfc\u5165\"\n        },\n        unlimited_or_practical_unlimited: {\n          display_text: \"\u30c7\u30fc\u30bf\u4f7f\u3044\u653e\u984c\uff1a6\u6642\u9593 250\u5186\u300124\u6642\u9593 330\u5186\u306a\u3069\u3002\u5b8c\u5168\u6708\u984d\u7121\u5236\u9650\u3067\u306f\u306a\u304f\u77ed\u671f\u4f7f\u3044\u653e\u984c\",\n          recommended_label: \"\u77ed\u671f\u306e\u4f7f\u3044\u653e\u984c\u306b\u5f37\u3044\"\n        },\n        cheap_plan_with_call: {\n          display_text: \"\u57fa\u672c\u65990\u5186\uff0b5\u5206\u4ee5\u5185\u901a\u8a71\u304b\u3051\u653e\u984c550\u5186\u30023GB\u8ffd\u52a0\u6642\u306f\u5408\u8a081,540\u5186\",\n          recommended_label: \"\u901a\u8a71\u3060\u3051\u7dad\u6301\u306a\u3089\u6708550\u5186\"\n        }\n      },\n      speed_after_data_exhaustion: {\n        display_text: \"\u30c7\u30fc\u30bf\u30c8\u30c3\u30d4\u30f3\u30b0\u672a\u8cfc\u5165\u6642\u30fb\u671f\u9650\u5207\u308c\u6642\u306f\u6700\u5927128kbps\"\n      },\n      data_add_on: {\n        display_text: \"1GB\/7\u65e5 390\u5186\u30013GB\/30\u65e5 990\u5186\u30015GB\/30\u65e5 1,380\u5186\u300130GB\/30\u65e5 2,780\u5186\u300160GB\/90\u65e5 6,490\u5186\u300190GB\/90\u65e5 7,980\u5186\u306a\u3069\"\n      },\n      standard_call_rate: {\n        display_text: \"22\u5186\/30\u79d2\"\n      },\n      call_options: {\n        display_text: [\n          \"5\u5206\u4ee5\u5185\u901a\u8a71\u304b\u3051\u653e\u984c\uff1a550\u5186\/\u6708\",\n          \"\u901a\u8a71\u304b\u3051\u653e\u984c\uff1a1,650\u5186\/\u6708\",\n          \"\u7559\u5b88\u756a\u96fb\u8a71\u30b5\u30fc\u30d3\u30b9\uff1a330\u5186\/\u6708\"\n        ]\n      },\n      service_details: {\n        basic_features: {\n          five_g: \"\u5bfe\u5fdc\",\n          esim: \"\u5bfe\u5fdc\",\n          tethering: \"\u5bfe\u5fdc\",\n          data_rollover: \"\u975e\u5bfe\u5fdc\",\n          display_text: \"5G\u3001eSIM\u3001\u30c6\u30b6\u30ea\u30f3\u30b0\u306b\u5bfe\u5fdc\u3002\u30c8\u30c3\u30d4\u30f3\u30b0\u306f\u6709\u52b9\u671f\u9650\u5236\u306e\u305f\u3081\u3001\u901a\u5e38\u306e\u30c7\u30fc\u30bf\u304f\u308a\u3053\u3057\u3068\u306f\u7570\u306a\u308b\"\n        },\n        usability: {\n          payment_methods: \"\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u3001\u3042\u3068\u6255\u3044\uff08Paidy\uff09\u306a\u3069\",\n          store_support: \"\u306a\u3057\",\n          phone_support: \"\u539f\u5247\u306a\u3057\",\n          chat_support: \"\u3042\u308a\",\n          mnp_one_stop: \"\u5bfe\u5fdc\",\n          display_text: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u30fb\u30a2\u30d7\u30ea\u5b8c\u7d50\u578b\u3002\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u3092\u91cd\u8996\u3059\u308b\u4eba\u306b\u306f\u4e0d\u5411\u304d\"\n        },\n        unique_strengths: {\n          line_free: \"\u306a\u3057\",\n          overseas_use: \"\u6d77\u5916\u30c7\u30fc\u30bf\u30c8\u30c3\u30d4\u30f3\u30b0\u3042\u308a\",\n          saving_mode: \"\u30c8\u30c3\u30d4\u30f3\u30b0\u306a\u3057\u6642\u306f\u6700\u5927128kbps\",\n          count_free: \"\u306a\u3057\",\n          data_share: \"\u306a\u3057\",\n          topping: \"\u30c7\u30fc\u30bf\u30fb\u901a\u8a71\u30fb\u30b3\u30f3\u30c6\u30f3\u30c4\u306a\u3069\u591a\u6570\",\n          display_text: \"\u57fa\u672c\u65990\u5186\u3068\u30c8\u30c3\u30d4\u30f3\u30b0\u5236\u306b\u3088\u308a\u3001\u4f7f\u3046\u6708\u3060\u3051\u30c7\u30fc\u30bf\u3092\u8cfc\u5165\u3067\u304d\u308b\"\n        },\n        support_system: {\n          store_support: \"\u306a\u3057\",\n          phone_support: \"\u539f\u5247\u306a\u3057\",\n          chat_support: \"\u3042\u308a\",\n          setup_support: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u30ac\u30a4\u30c9\u4e2d\u5fc3\",\n          family_senior_support: \"\u30b9\u30de\u30db\u64cd\u4f5c\u306b\u6163\u308c\u305f\u4eba\u5411\u3051\",\n          display_text: \"\u81ea\u5206\u3067\u7ba1\u7406\u3067\u304d\u308b\u4eba\u5411\u3051\u306e\u30aa\u30f3\u30e9\u30a4\u30f3\u5c02\u7528\u30b5\u30fc\u30d3\u30b9\"\n        }\n      },\n      recommended_for: [\n        \"\u6bce\u6708\u306e\u30c7\u30fc\u30bf\u4f7f\u7528\u91cf\u304c\u5927\u304d\u304f\u5909\u308f\u308b\u4eba\",\n        \"\u30b5\u30d6\u56de\u7dda\u3092\u5b89\u304f\u7dad\u6301\u3057\u305f\u3044\u4eba\",\n        \"\u65c5\u884c\u30fb\u51fa\u5f35\u30fb\u30a4\u30d9\u30f3\u30c8\u6642\u3060\u3051\u5927\u5bb9\u91cf\u3092\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u306a\u3057\u3067\u3082\u554f\u984c\u306a\u3044\u4eba\"\n      ],\n      cta: {\n        button_text: \"povo\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u30c1\u30a7\u30c3\u30af\",\n        microcopy: \"\u57fa\u672c\u65990\u5186\u3067\u5fc5\u8981\u306a\u5206\u3060\u3051\u30c8\u30c3\u30d4\u30f3\u30b0\",\n        url: \"https:\/\/povo.jp\/\"\n      }\n    },\n    {\n      service_name: \"Y!mobile\",\n      logo: \"\u516c\u5f0f\u30ed\u30b4\u8868\u793a\uff08alt='\u30ef\u30a4\u30e2\u30d0\u30a4\u30eb \u30ed\u30b4'\uff09\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/d6d05f44212013ab579bc103af16f5b0.webp\",\n      campaign_banner_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/e6922286536bdcb63f0f27dc91cf07a6.webp\",\n      price_summary: {\n        cheapest: { price_text: \"858\u5186\uff0f\u6708\", capacity_text: \"5GB \u30b7\u30f3\u30d7\u30eb3 S \u5272\u5f15\u9069\u7528\u6642\" },\n        data_plan: { price_text: \"5,258\u5186\uff0f\u6708\", capacity_text: \"35GB \u30b7\u30f3\u30d7\u30eb3 L\" },\n        voice_plan: { price_text: \"5,258\u5186\uff0f\u6708\", capacity_text: \"35GB\uff0b10\u5206\u901a\u8a71\u8fbc\u307f\" }\n      },\n      recommended_points: [\n        \"\u30bd\u30d5\u30c8\u30d0\u30f3\u30af\u56de\u7dda\u306e\u30e1\u30a4\u30f3\u54c1\u8cea\u3067\u6df7\u96d1\u6642\u3082\u901f\u5ea6\u304c\u843d\u3061\u306b\u304f\u3044\",\n        \"\u30b7\u30f3\u30d7\u30eb3 S\u306f\u5404\u7a2e\u5272\u5f15\u30d5\u30eb\u9069\u7528\u3067\u6708858\u5186\u307e\u3067\u5727\u7e2e\u53ef\u80fd\",\n        \"\u5168\u56fd\u7d042,600\u5e97\u8217\u306e\u30ef\u30a4\u30e2\u30d0\u30a4\u30eb\u30b7\u30e7\u30c3\u30d7\u3067\u5bfe\u9762\u30b5\u30dd\u30fc\u30c8\u304c\u5145\u5b9f\",\n        \"\u304a\u3046\u3061\u5272\u5149\u30bb\u30c3\u30c8\uff08A\uff09\u3067SoftBank\u5149\u3068\u5408\u308f\u305b\u3066\u67081,650\u5186\u5272\u5f15\",\n        \"\u30b7\u30f3\u30d7\u30eb3 L\uff0835GB\uff09\u306f10\u5206\u56fd\u5185\u304b\u3051\u653e\u984c\u3092\u6a19\u6e96\u642d\u8f09\",\n        \"\u5bb6\u65cf\u5272\u5f152\u56de\u7dda\u76ee\u4ee5\u964d1,100\u5186\uff0f\u6708\u5f15\u304d\u3001\u89aa\u5b50\u5272\u30675\u301c18\u6b73\u4e16\u5e2f\u306b1,100\u5186\u5272\u5f15\",\n        \"\u30c7\u30fc\u30bf\u7e70\u308a\u8d8a\u3057\u30fb5G\u30fbLYP\u30d7\u30ec\u30df\u30a2\u30e0\u7279\u5178\u3092\u6a19\u6e96\u4ed8\u4e0e\"\n      ],\n      network: \"\u30bd\u30d5\u30c8\u30d0\u30f3\u30af 5G \/ 4G LTE\",\n      campaign: {\n        display_text: \"\u30ef\u30a4\u30e2\u30d0\u89aa\u5b50\u5272\u3001PayPay\u95a2\u9023\u7279\u5178\u3001\u30c7\u30fc\u30bf\u5897\u91cf\u7121\u6599\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u30b9\u30c8\u30a2\u9650\u5b9a\u5272\u5f15\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"\u5bb6\u65cf\u5272\u30fb\u304a\u3046\u3061\u5272 \u5149\u30bb\u30c3\u30c8\u30fbPayPay\u30ab\u30fc\u30c9\u5272\u306e\u9069\u7528\u6709\u7121\u3067\u6599\u91d1\u304c\u5927\u304d\u304f\u5909\u308f\u308b\u70b9\u3092\u660e\u8a18\",\n        volatility: \"\u9ad8\"\n      },\n      device_purchase_discount: {\n        display_text: \"\u30ef\u30a4\u30e2\u30d0\u30a4\u30eb\u30aa\u30f3\u30e9\u30a4\u30f3\u30b9\u30c8\u30a2\u3067\u5bfe\u8c61\u30b9\u30de\u30db\u306e\u5272\u5f15\u30fb\u30bb\u30fc\u30eb\u3042\u308a\",\n        recommended_note: \"\u5bfe\u8c61\u6a5f\u7a2e\u3068\u5272\u5f15\u984d\u306f\u516c\u958b\u76f4\u524d\u306b\u5dee\u3057\u66ff\u3048\",\n        has_discount: true\n      },\n      initial_cost: {\n        contract_fee: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u30b9\u30c8\u30a2\uff1a3,850\u5186\u3002\u5e97\u8217\uff1a4,950\u5186\",\n        sim_fee: \"\u539f\u5247\u3001\u5951\u7d04\u4e8b\u52d9\u624b\u6570\u6599\u306b\u542b\u3081\u3066\u8868\u793a\",\n        display_text: \"\u5951\u7d04\u4e8b\u52d9\u624b\u6570\u6599\u306f\u30aa\u30f3\u30e9\u30a4\u30f3\u3068\u5e97\u8217\u3067\u7570\u306a\u308b\u305f\u3081\u3001\u7533\u8fbc\u7a93\u53e3\u5225\u306b\u8868\u793a\"\n      },\n      price_range: {\n        low_capacity_5gb_or_less: {\n          display_text: \"\u30b7\u30f3\u30d7\u30eb3 S\uff1a5GB 3,058\u5186\u30022026\u5e746\u67082\u65e5\u4ee5\u964d\u306f3,278\u5186\u3002\u5272\u5f15\u9069\u7528\u6642\u306f\u3055\u3089\u306b\u5b89\u304f\u306a\u308b\",\n          recommended_label: \"5GB\uff0b\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u5411\u3051\"\n        },\n        mid_capacity_10_20gb: {\n          display_text: \"10\u301c20GB\u5c02\u7528\u306f\u306a\u3057\u3002\u30b7\u30f3\u30d7\u30eb3 M\uff1a30GB 4,158\u5186\u30022026\u5e746\u67082\u65e5\u4ee5\u964d\u306f4,378\u5186\",\n          recommended_label: \"20GB\u524d\u5f8c\u3067\u308230GB\u30d7\u30e9\u30f3\"\n        },\n        large_capacity_30_35gb: {\n          display_text: \"\u30b7\u30f3\u30d7\u30eb3 M\uff1a30GB 4,158\u5186\u3001\u30b7\u30f3\u30d7\u30eb3 L\uff1a35GB 5,258\u5186\u30022026\u5e746\u67082\u65e5\u4ee5\u964d\u306fM 4,378\u5186\u3001L 5,478\u5186\",\n          recommended_label: \"30GB\/35GB\u306e\u5927\u5bb9\u91cf\"\n        },\n        unlimited_or_practical_unlimited: {\n          display_text: \"\u5b8c\u5168\u7121\u5236\u9650\u30d7\u30e9\u30f3\u306f\u306a\u3057\",\n          recommended_label: \"\u7121\u5236\u9650\u306f\u975e\u5bfe\u5fdc\"\n        },\n        cheap_plan_with_call: {\n          display_text: \"\u30b7\u30f3\u30d7\u30eb3 L\u306f10\u5206\u4ee5\u5185\u306e\u56fd\u5185\u901a\u8a71\u7121\u6599\u8fbc\u307f\u3002S\/M\u306f10\u5206\u304b\u3051\u653e\u984c880\u5186\u3092\u8ffd\u52a0\",\n          recommended_label: \"\u901a\u8a71\u8fbc\u307f\u306a\u3089L\"\n        }\n      },\n      speed_after_data_exhaustion: {\n        display_text: \"S\u306f\u8d85\u904e\u5f8c\u6700\u5927300kbps\u3001M\/L\u306f\u8d85\u904e\u5f8c\u6700\u59271Mbps\u3002\u4e00\u5b9a\u91cf\u3092\u3055\u3089\u306b\u8d85\u904e\u3059\u308b\u3068\u6700\u5927128kbps\u306b\u306a\u308b\u5834\u5408\u3042\u308a\"\n      },\n      data_add_on: {\n        display_text: \"\u901a\u5e38\u8ffd\u52a0\u30c7\u30fc\u30bf\uff1a0.5GB 550\u5186\u3002\u30c7\u30fc\u30bf\u5897\u91cf\u30aa\u30d7\u30b7\u30e7\u30f3\uff1a550\u5186\/\u6708\u3001\u521d\u56de\u4e00\u5b9a\u671f\u9593\u7121\u6599\"\n      },\n      standard_call_rate: {\n        display_text: \"22\u5186\/30\u79d2\"\n      },\n      call_options: {\n        display_text: [\n          \"\u3060\u308c\u3068\u3067\u3082\u5b9a\u984d\uff0b\uff1a880\u5186\/\u6708\",\n          \"\u30b9\u30fc\u30d1\u30fc\u3060\u308c\u3068\u3067\u3082\u5b9a\u984d\uff0b\uff1a1,980\u5186\/\u6708\",\n          \"\u30b7\u30f3\u30d7\u30eb3 L\u306f10\u5206\u4ee5\u5185\u306e\u56fd\u5185\u901a\u8a71\u7121\u6599\u8fbc\u307f\"\n        ]\n      },\n      service_details: {\n        basic_features: {\n          five_g: \"\u5bfe\u5fdc\",\n          esim: \"\u5bfe\u5fdc\",\n          tethering: \"\u5bfe\u5fdc\",\n          data_rollover: \"\u5bfe\u5fdc\",\n          display_text: \"5G\u3001eSIM\u3001\u30c6\u30b6\u30ea\u30f3\u30b0\u3001\u30c7\u30fc\u30bf\u304f\u308a\u3053\u3057\u306b\u5bfe\u5fdc\"\n        },\n        usability: {\n          payment_methods: \"\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u3001\u53e3\u5ea7\u632f\u66ff\u3001PayPay\u30ab\u30fc\u30c9\u306a\u3069\",\n          store_support: \"\u3042\u308a\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          mnp_one_stop: \"\u5bfe\u5fdc\",\n          display_text: \"\u5e97\u8217\u30fb\u96fb\u8a71\u30fb\u30c1\u30e3\u30c3\u30c8\u306b\u5bfe\u5fdc\u3057\u3001\u5bb6\u65cf\u307e\u3068\u3081\u5951\u7d04\u3067\u3082\u4f7f\u3044\u3084\u3059\u3044\"\n        },\n        unique_strengths: {\n          line_free: \"\u306a\u3057\",\n          overseas_use: \"\u6d77\u5916\u3042\u3093\u3057\u3093\u5b9a\u984d\u306a\u3069\u3067\u5bfe\u5fdc\",\n          saving_mode: \"\u306a\u3057\",\n          count_free: \"\u306a\u3057\",\n          data_share: \"\u30b7\u30a7\u30a2\u30d7\u30e9\u30f3\u3042\u308a\",\n          topping: \"\u306a\u3057\",\n          display_text: \"\u5bb6\u65cf\u5272\u5f15\u3001\u304a\u3046\u3061\u5272 \u5149\u30bb\u30c3\u30c8\u3001PayPay\u9023\u643a\u3001LYP\u30d7\u30ec\u30df\u30a2\u30e0\u7279\u5178\u304c\u5f37\u307f\"\n        },\n        support_system: {\n          store_support: \"\u30ef\u30a4\u30e2\u30d0\u30a4\u30eb\u30b7\u30e7\u30c3\u30d7\u3001\u30bd\u30d5\u30c8\u30d0\u30f3\u30af\u30b7\u30e7\u30c3\u30d7\u7b49\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          setup_support: \"\u5e97\u8217\u3067\u521d\u671f\u8a2d\u5b9a\u76f8\u8ac7\u304c\u53ef\u80fd\",\n          family_senior_support: \"\u5bb6\u65cf\u5272\u30fb\u5e97\u8217\u5bfe\u5fdc\u304c\u3042\u308a\u5bb6\u65cf\u5229\u7528\u306b\u5411\u304f\",\n          display_text: \"\u5bb6\u65cf\u30fb\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u91cd\u8996\u306a\u3089\u6709\u529b\u5019\u88dc\"\n        }\n      },\n      recommended_for: [\n        \"\u5bb6\u65cf\u3067\u307e\u3068\u3081\u3066\u5951\u7d04\u3057\u305f\u3044\u4eba\",\n        \"\u30bd\u30d5\u30c8\u30d0\u30f3\u30af\u5149 \/ SoftBank Air\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u4eba\",\n        \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u3092\u91cd\u8996\u3059\u308b\u4eba\",\n        \"PayPay\u7d4c\u6e08\u570f\u3092\u4f7f\u3063\u3066\u3044\u308b\u4eba\"\n      ],\n      cta: {\n        button_text: \"Y!mobile\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u30c1\u30a7\u30c3\u30af\",\n        microcopy: \"\u5bb6\u65cf\u5272\u30fb\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u30fbPayPay\u7279\u5178\u3092\u307e\u3068\u3081\u3066\u78ba\u8a8d\",\n        url: \"https:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=3689760&pid=891452550\"\n      }\n    },\n    {\n      service_name: \"LINEMO\",\n      logo: \"\u516c\u5f0f\u30ed\u30b4\u8868\u793a\uff08alt='LINEMO \u30ed\u30b4'\uff09\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/754f9100f60648da634c7bb234c4eb9e.webp\",\n      campaign_banner_image: \"\",\n      price_summary: {\n        cheapest: { price_text: \"990\u5186\uff0f\u6708\", capacity_text: \"\u301c3GB \u30d9\u30b9\u30c8\u30d7\u30e9\u30f3\" },\n        data_plan: { price_text: \"2,970\u5186\uff0f\u6708\", capacity_text: \"30GB \u30d9\u30b9\u30c8\u30d7\u30e9\u30f3V\" },\n        voice_plan: { price_text: \"2,970\u5186\uff0f\u6708\", capacity_text: \"30GB\uff0b5\u5206\u901a\u8a71\u8fbc\u307f\" }\n      },\n      recommended_points: [\n        \"\u30bd\u30d5\u30c8\u30d0\u30f3\u30af\u56de\u7dda\u3092\u76f4\u63a5\u5229\u7528\u3067MVNO\u3068\u306f\u4e00\u7dda\u3092\u753b\u3059\u5b89\u5b9a\u901f\u5ea6\",\n        \"\u30d9\u30b9\u30c8\u30d7\u30e9\u30f3\u306f3GB\u307e\u3067990\u5186\u3001\u6bb5\u968e\u5236\u3067\u4f7f\u3063\u305f\u5206\u3060\u3051\u652f\u6255\u3046\",\n        \"LINE\u30ae\u30ac\u30d5\u30ea\u30fc\u3067\u5bfe\u8c61LINE\u30b5\u30fc\u30d3\u30b9\u306f\u30c7\u30fc\u30bf\u6d88\u8cbb\u30bc\u30ed\",\n        \"eSIM\u5bfe\u5fdc\u3067\u7533\u8fbc\u5f53\u65e5\u304b\u3089\u5229\u7528\u958b\u59cb\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\u578b\",\n        \"\u30d9\u30b9\u30c8\u30d7\u30e9\u30f3V\u306f10GB\u307e\u3067\uff0b5\u5206\u304b\u3051\u653e\u984c\u8fbc\u307f\u30672,090\u5186\uff0f\u6708\",\n        \"\u4ed6\u793e\u4e57\u308a\u63db\u3048\u3067PayPay\u30dd\u30a4\u30f3\u30c8\u6700\u592716,000\u5186\u76f8\u5f53\u9084\u5143\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u5b9f\u65bd\u4e2d\",\n        \"\u30c6\u30b6\u30ea\u30f3\u30b0\u30fb\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u7121\u6599\u3001\u56fd\u969b\u30ed\u30fc\u30df\u30f3\u30b0\u5bfe\u5fdc\"\n      ],\n      network: \"\u30bd\u30d5\u30c8\u30d0\u30f3\u30af 5G \/ 4G LTE\",\n      campaign: {\n        display_text: \"PayPay\u30dd\u30a4\u30f3\u30c8\u9084\u5143\u3001\u9031\u7a6b\u796d\u3001\u901a\u8a71\u30aa\u30d7\u30b7\u30e7\u30f3\u5272\u5f15\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"\u300eLINE\u30ae\u30ac\u30d5\u30ea\u30fc\u300f\u300e3GB 990\u5186\u300f\u300e30GB 2,970\u5186\uff0b5\u5206\u901a\u8a71\u8fbc\u307f\u300f\u3092\u56fa\u5b9a\u8a34\u6c42\u306b\u3059\u308b\",\n        volatility: \"\u9ad8\"\n      },\n      device_purchase_discount: {\n        display_text: \"\u7aef\u672b\u8ca9\u58f2\u30fb\u7aef\u672b\u540c\u6642\u8cfc\u5165\u5272\u5f15\u306f\u4e3b\u8a34\u6c42\u3067\u306f\u306a\u3044\u3002SIM\/eSIM\u5951\u7d04\u4e2d\u5fc3\",\n        recommended_note: \"\u7aef\u672b\u5272\u5f15\u6b04\u306f\u300e\u539f\u5247\u306a\u3057\u300f\u3067\u8868\u793a\",\n        has_discount: false\n      },\n      initial_cost: {\n        contract_fee: \"3,850\u5186\",\n        sim_fee: \"\u539f\u5247\u3001\u5951\u7d04\u4e8b\u52d9\u624b\u6570\u6599\u306b\u542b\u3081\u3066\u8868\u793a\",\n        display_text: \"\u5951\u7d04\u4e8b\u52d9\u624b\u6570\u6599\uff1a3,850\u5186\u3002\u305f\u3060\u3057\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3067\u5272\u5f15\u3055\u308c\u308b\u5834\u5408\u3042\u308a\"\n      },\n      price_range: {\n        low_capacity_5gb_or_less: {\n          display_text: \"LINEMO\u30d9\u30b9\u30c8\u30d7\u30e9\u30f3\uff1a\u301c3GB 990\u5186\u30013GB\u8d85\u301c10GB 2,090\u5186\",\n          recommended_label: \"3GB\u306a\u3089990\u5186\"\n        },\n        mid_capacity_10_20gb: {\n          display_text: \"10\u301c20GB\u5c02\u7528\u306f\u306a\u3057\u300210GB\u307e\u30672,090\u5186\u300130GB\u306f2,970\u5186\",\n          recommended_label: \"10GB\u8d85\u306a\u308930GB\u30d7\u30e9\u30f3\u3082\u691c\u8a0e\"\n        },\n        large_capacity_30_35gb: {\n          display_text: \"LINEMO\u30d9\u30b9\u30c8\u30d7\u30e9\u30f3V\uff1a30GB 2,970\u5186\u30025\u5206\u4ee5\u5185\u306e\u56fd\u5185\u901a\u8a71\u7121\u6599\u8fbc\u307f\",\n          recommended_label: \"30GB\uff0b5\u5206\u901a\u8a71\u8fbc\u307f\"\n        },\n        unlimited_or_practical_unlimited: {\n          display_text: \"\u5b8c\u5168\u7121\u5236\u9650\u30d7\u30e9\u30f3\u306f\u306a\u3057\",\n          recommended_label: \"\u7121\u5236\u9650\u306f\u975e\u5bfe\u5fdc\"\n        },\n        cheap_plan_with_call: {\n          display_text: \"LINEMO\u30d9\u30b9\u30c8\u30d7\u30e9\u30f3V\uff1a30GB 2,970\u5186\u306b5\u5206\u901a\u8a71\u8fbc\u307f\u3002\u5c0f\u5bb9\u91cf\u306a\u30893GB 990\u5186\uff0b5\u5206\u901a\u8a71550\u5186\",\n          recommended_label: \"30GB\u901a\u8a71\u8fbc\u307f\u306a\u3089V\"\n        }\n      },\n      speed_after_data_exhaustion: {\n        display_text: \"\u30d9\u30b9\u30c8\u30d7\u30e9\u30f3\u306f10GB\u8d85\u301c15GB\u307e\u3067\u6700\u5927300kbps\u300115GB\u8d85\u306f\u6700\u5927128kbps\u3002\u30d9\u30b9\u30c8\u30d7\u30e9\u30f3V\u306f30GB\u8d85\u301c45GB\u307e\u3067\u6700\u59271Mbps\u300145GB\u8d85\u306f\u6700\u5927128kbps\"\n      },\n      data_add_on: {\n        display_text: \"1GB\u8ffd\u52a0\uff1a550\u5186\"\n      },\n      standard_call_rate: {\n        display_text: \"22\u5186\/30\u79d2\"\n      },\n      call_options: {\n        display_text: [\n          \"\u901a\u8a71\u6e96\u5b9a\u984d\uff1a550\u5186\/\u6708\",\n          \"\u901a\u8a71\u5b9a\u984d\uff1a1,650\u5186\/\u6708\",\n          \"\u30d9\u30b9\u30c8\u30d7\u30e9\u30f3V\u306f5\u5206\u4ee5\u5185\u306e\u56fd\u5185\u901a\u8a71\u7121\u6599\u8fbc\u307f\",\n          \"\u30d9\u30b9\u30c8\u30d7\u30e9\u30f3V\u306e\u901a\u8a71\u5b9a\u984d\u8ffd\u52a0\uff1a\uff0b1,100\u5186\/\u6708\"\n        ]\n      },\n      service_details: {\n        basic_features: {\n          five_g: \"\u5bfe\u5fdc\",\n          esim: \"\u5bfe\u5fdc\",\n          tethering: \"\u5bfe\u5fdc\",\n          data_rollover: \"\u975e\u5bfe\u5fdc\",\n          display_text: \"5G\u3001eSIM\u3001\u30c6\u30b6\u30ea\u30f3\u30b0\u306b\u5bfe\u5fdc\u3002\u30c7\u30fc\u30bf\u304f\u308a\u3053\u3057\u306f\u975e\u5bfe\u5fdc\"\n        },\n        usability: {\n          payment_methods: \"\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u3001\u53e3\u5ea7\u632f\u66ff\u3001PayPay\u6b8b\u9ad8\u306a\u3069\",\n          store_support: \"\u306a\u3057\",\n          phone_support: \"\u539f\u5247\u306a\u3057\",\n          chat_support: \"\u3042\u308a\",\n          mnp_one_stop: \"\u5bfe\u5fdc\",\n          display_text: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u5c02\u7528\u3002\u7533\u3057\u8fbc\u307f\u30fb\u30b5\u30dd\u30fc\u30c8\u306fWeb\/\u30c1\u30e3\u30c3\u30c8\u4e2d\u5fc3\"\n        },\n        unique_strengths: {\n          line_free: \"\u3042\u308a\",\n          overseas_use: \"\u6d77\u5916\u3042\u3093\u3057\u3093\u5b9a\u984d\u306a\u3069\u3067\u5bfe\u5fdc\",\n          saving_mode: \"\u306a\u3057\",\n          count_free: \"LINE\u30ae\u30ac\u30d5\u30ea\u30fc\",\n          data_share: \"\u306a\u3057\",\n          topping: \"\u306a\u3057\",\n          display_text: \"LINE\u306e\u30c8\u30fc\u30af\u30fb\u901a\u8a71\u306a\u3069\u304c\u30c7\u30fc\u30bf\u6d88\u8cbb\u30bc\u30ed\u306b\u306a\u308bLINE\u30ae\u30ac\u30d5\u30ea\u30fc\u304c\u6700\u5927\u306e\u5f37\u307f\"\n        },\n        support_system: {\n          store_support: \"\u306a\u3057\",\n          phone_support: \"\u539f\u5247\u306a\u3057\",\n          chat_support: \"\u3042\u308a\",\n          setup_support: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u30ac\u30a4\u30c9\u4e2d\u5fc3\",\n          family_senior_support: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u624b\u7d9a\u304d\u306b\u6163\u308c\u305f\u4eba\u5411\u3051\",\n          display_text: \"LINE\u5229\u7528\u304c\u591a\u304f\u3001\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\u3067\u554f\u984c\u306a\u3044\u4eba\u5411\u3051\"\n        }\n      },\n      recommended_for: [\n        \"LINE\u3092\u3088\u304f\u4f7f\u3046\u4eba\",\n        \"3GB\u3092\u6708990\u5186\u3067\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"30GB\uff0b5\u5206\u901a\u8a71\u8fbc\u307f\u3067\u5b89\u304f\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"\u30bd\u30d5\u30c8\u30d0\u30f3\u30af\u56de\u7dda\u3092\u30aa\u30f3\u30e9\u30a4\u30f3\u3067\u5b89\u304f\u4f7f\u3044\u305f\u3044\u4eba\"\n      ],\n      cta: {\n        button_text: \"LINEMO\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u30c1\u30a7\u30c3\u30af\",\n        microcopy: \"LINE\u30ae\u30ac\u30d5\u30ea\u30fc\u30683GB 990\u5186\u3092\u30c1\u30a7\u30c3\u30af\",\n        url: \"https:\/\/www.linemo.jp\/\"\n      }\n    },\n    {\n      service_name: \"\u697d\u5929\u30e2\u30d0\u30a4\u30eb\",\n      logo: \"\u516c\u5f0f\u30ed\u30b4\u8868\u793a\uff08alt='\u697d\u5929\u30e2\u30d0\u30a4\u30eb \u30ed\u30b4'\uff09\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/4208a5561d944a7f301c0c85c9ac00a2.webp\",\n      campaign_banner_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/314cba1898501d9c367f3639a727b7fd.webp\",\n      price_summary: {\n        cheapest: { price_text: \"858\u5186\uff0f\u6708\", capacity_text: \"\u301c3GB \u5bb6\u65cf\u5272\uff0b\u9752\u6625\u5272\u9069\u7528\u6642\" },\n        data_plan: { price_text: \"3,278\u5186\uff0f\u6708\", capacity_text: \"\u7121\u5236\u9650\" },\n        voice_plan: { price_text: \"1,078\u5186\uff0f\u6708\", capacity_text: \"\u301c3GB\uff0bRakuten Link\" }\n      },\n      recommended_points: [\n        \"\u30c7\u30fc\u30bf\u4f7f\u3044\u653e\u984c\u3067\u3082\u67083,168\u5186\u30013GB\u307e\u3067\u306a\u3089\u6708968\u5186\u306e\u6bb5\u968e\u5236\",\n        \"Rakuten Link\u30a2\u30d7\u30ea\u5229\u7528\u3067\u56fd\u5185\u901a\u8a71\u304c\u7121\u6599\uff08\u4e00\u90e8\u9664\u304f\uff09\",\n        \"\u6d77\u5916100\u4ee5\u4e0a\u306e\u56fd\u3068\u5730\u57df\u3067\u6bce\u67082GB\u307e\u3067\u7121\u6599\u30ed\u30fc\u30df\u30f3\u30b0\",\n        \"\u6700\u5f37\u5bb6\u65cf\u5272\u3067\u5bb6\u65cf\u5168\u54e1110\u5186\uff0f\u6708\u5f15\u304d\u3001\u6700\u5f37\u9752\u6625\u5272\u306713\u301c22\u6b73\u306f\u3055\u3089\u306b110\u5186\u5f15\u304d\",\n        \"12\u6b73\u4ee5\u4e0b\u5411\u3051\u6700\u5f37\u3053\u3069\u3082\u5272\u3067\u6700\u5927440\u5186\u5f15\u304d\u300165\u6b73\u4ee5\u4e0a\u306f\u6700\u5f37\u30b7\u30cb\u30a2\u30d7\u30ed\u30b0\u30e9\u30e0\",\n        \"\u697d\u5929\u5e02\u5834\u3067\u306e\u30dd\u30a4\u30f3\u30c8\u9084\u5143\u304c\u6bce\u65e5\u5168\u54e15\u500d\uff08\u6708\u4e0a\u96502,000\u30dd\u30a4\u30f3\u30c8\uff09\",\n        \"\u5951\u7d04\u671f\u9593\u306e\u7e1b\u308a\u30fb\u89e3\u7d04\u91d1\u306a\u3057\u3067\u6c17\u8efd\u306b\u8a66\u305b\u308b\"\n      ],\n      network: \"\u697d\u5929\u56de\u7dda 5G \/ 4G\u3001\u30d1\u30fc\u30c8\u30ca\u30fc\u56de\u7dda au 4G\/5G\u30a8\u30ea\u30a2\",\n      campaign: {\n        display_text: \"\u521d\u3081\u3066\u306e\u7533\u3057\u8fbc\u307f\u3001MNP\u3001\u7aef\u672b\u8cfc\u5165\u3001\u697d\u5929\u30dd\u30a4\u30f3\u30c8\u9084\u5143\u306a\u3069\u306e\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3092\u63b2\u8f09\",\n        recommended_note: \"\u697d\u5929\u30dd\u30a4\u30f3\u30c8\u9084\u5143\u984d\u306f\u5909\u52d5\u3059\u308b\u305f\u3081\u3001\u516c\u958b\u76f4\u524d\u306b\u516c\u5f0f\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u30da\u30fc\u30b8\u3067\u66f4\u65b0\",\n        volatility: \"\u9ad8\"\n      },\n      device_purchase_discount: {\n        display_text: \"\u5bfe\u8c61iPhone \/ Android\u306e\u5024\u5f15\u304d\u3001\u697d\u5929\u30dd\u30a4\u30f3\u30c8\u9084\u5143\u3001\u8cb7\u3044\u66ff\u3048\u30d7\u30ed\u30b0\u30e9\u30e0\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"\u7aef\u672b\u30bb\u30c3\u30c8\u306e\u9084\u5143\u984d\u30fb\u5bfe\u8c61\u6a5f\u7a2e\u306f\u516c\u958b\u76f4\u524d\u306b\u5dee\u3057\u66ff\u3048\",\n        has_discount: true\n      },\n      initial_cost: {\n        contract_fee: \"0\u5186\",\n        sim_fee: \"0\u5186\",\n        display_text: \"\u5951\u7d04\u4e8b\u52d9\u624b\u6570\u6599\uff1a\u7121\u6599\u3002\u305f\u3060\u3057\u540c\u4e00\u540d\u7fa9\u306e\u4e00\u5b9a\u56de\u7dda\u6570\u8d85\u904e\u306a\u3069\u3001\u6761\u4ef6\u306b\u3088\u308a\u624b\u6570\u6599\u304c\u304b\u304b\u308b\u5834\u5408\u3042\u308a\"\n      },\n      price_range: {\n        low_capacity_5gb_or_less: {\n          display_text: \"Rakuten\u6700\u5f37\u30d7\u30e9\u30f3\uff1a\u301c3GB 1,078\u5186\u3002\u5bb6\u65cf\u5272\u9069\u7528\u6642\u306f968\u5186\",\n          recommended_label: \"3GB\u307e\u30671,078\u5186\"\n        },\n        mid_capacity_10_20gb: {\n          display_text: \"3GB\u8d85\u301c20GB\uff1a2,178\u5186\",\n          recommended_label: \"20GB\u307e\u30672,178\u5186\"\n        },\n        large_capacity_30_35gb: {\n          display_text: \"20GB\u8d85\u306f3,278\u5186\u3067\u5229\u7528\u53ef\u80fd\u300230\u301c35GB\u5229\u7528\u3067\u30823,278\u5186\",\n          recommended_label: \"30GB\u8d85\u3067\u30823,278\u5186\"\n        },\n        unlimited_or_practical_unlimited: {\n          display_text: \"20GB\u8d85\u306f3,278\u5186\u3002\u697d\u5929\u56de\u7dda\u30a8\u30ea\u30a2\u30fb\u30d1\u30fc\u30c8\u30ca\u30fc\u56de\u7dda\u30a8\u30ea\u30a2\u3092\u542b\u3081\u3066\u30c7\u30fc\u30bf\u7121\u5236\u9650\u3067\u5229\u7528\u53ef\u80fd\u3002\u305f\u3060\u3057\u6df7\u96d1\u6642\u306a\u3069\u901f\u5ea6\u5236\u5fa1\u306e\u5834\u5408\u3042\u308a\",\n          recommended_label: \"\u67083,278\u5186\u3067\u30c7\u30fc\u30bf\u7121\u5236\u9650\"\n        },\n        cheap_plan_with_call: {\n          display_text: \"Rakuten Link\u30a2\u30d7\u30ea\u5229\u7528\u3067\u56fd\u5185\u901a\u8a71\u7121\u6599\u30023GB\u307e\u3067\u306a\u30891,078\u5186\u3067\u901a\u8a71\u3082\u4f7f\u3044\u3084\u3059\u3044\",\n          recommended_label: \"Rakuten Link\u3067\u901a\u8a71\u6599\u3092\u6291\u3048\u3084\u3059\u3044\"\n        }\n      },\n      speed_after_data_exhaustion: {\n        display_text: \"\u56fd\u5185\u306f\u6bb5\u968e\u5236\u306e\u305f\u3081\u6708\u9593\u30c7\u30fc\u30bf\u8d85\u904e\u306e\u6982\u5ff5\u306a\u3057\u3002\u6d77\u5916\u30ed\u30fc\u30df\u30f3\u30b0\u306f2GB\u8d85\u904e\u5f8c\u6700\u5927128kbps\"\n      },\n      data_add_on: {\n        display_text: \"\u56fd\u5185\u306f\u81ea\u52d5\u3067\u6bb5\u968e\u6599\u91d1\u306b\u79fb\u884c\u3002\u6d77\u5916\u30ed\u30fc\u30df\u30f3\u30b0\u306f1GB 500\u5186\u3067\u8ffd\u52a0\u53ef\u80fd\"\n      },\n      standard_call_rate: {\n        display_text: \"Rakuten Link\u672a\u4f7f\u7528\u6642\u306f22\u5186\/30\u79d2\u3002Rakuten Link\u5229\u7528\u6642\u306f\u5bfe\u8c61\u306e\u56fd\u5185\u901a\u8a71\u304c\u7121\u6599\"\n      },\n      call_options: {\n        display_text: [\n          \"Rakuten Link\u5229\u7528\u6642\uff1a\u5bfe\u8c61\u306e\u56fd\u5185\u901a\u8a71\u7121\u6599\",\n          \"15\u5206\uff08\u6a19\u6e96\uff09\u901a\u8a71\u304b\u3051\u653e\u984c\uff1a1,100\u5186\/\u6708\"\n        ]\n      },\n      service_details: {\n        basic_features: {\n          five_g: \"\u5bfe\u5fdc\",\n          esim: \"\u5bfe\u5fdc\",\n          tethering: \"\u5bfe\u5fdc\",\n          data_rollover: \"\u975e\u5bfe\u5fdc\",\n          display_text: \"5G\u3001eSIM\u3001\u30c6\u30b6\u30ea\u30f3\u30b0\u306b\u5bfe\u5fdc\u3002\u6bb5\u968e\u5236\u30d7\u30e9\u30f3\u306e\u305f\u3081\u30c7\u30fc\u30bf\u304f\u308a\u3053\u3057\u306f\u306a\u3057\"\n        },\n        usability: {\n          payment_methods: \"\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u3001\u53e3\u5ea7\u632f\u66ff\u3001\u697d\u5929\u30dd\u30a4\u30f3\u30c8\u5229\u7528\u306a\u3069\",\n          store_support: \"\u3042\u308a\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          mnp_one_stop: \"\u5bfe\u5fdc\",\n          display_text: \"\u5e97\u8217\u30fb\u96fb\u8a71\u30fb\u30c1\u30e3\u30c3\u30c8\u306b\u5bfe\u5fdc\u3057\u3001\u697d\u5929\u30dd\u30a4\u30f3\u30c8\u3082\u6d3b\u7528\u3057\u3084\u3059\u3044\"\n        },\n        unique_strengths: {\n          line_free: \"\u306a\u3057\",\n          overseas_use: \"\u6d77\u5916\u30ed\u30fc\u30df\u30f3\u30b02GB\u307e\u3067\u7121\u6599\",\n          saving_mode: \"\u306a\u3057\",\n          count_free: \"\u306a\u3057\",\n          data_share: \"\u306a\u3057\",\n          topping: \"\u306a\u3057\",\n          display_text: \"\u67083,278\u5186\u306e\u30c7\u30fc\u30bf\u7121\u5236\u9650\u3001Rakuten Link\u3001\u697d\u5929\u30dd\u30a4\u30f3\u30c8\u7d4c\u6e08\u570f\u304c\u5f37\u307f\"\n        },\n        support_system: {\n          store_support: \"\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u30b7\u30e7\u30c3\u30d7\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          setup_support: \"\u5e97\u8217\u30fb\u30aa\u30f3\u30e9\u30a4\u30f3\u3067\u5bfe\u5fdc\",\n          family_senior_support: \"\u5bb6\u65cf\u5272\u3001\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u3042\u308a\",\n          display_text: \"\u7121\u5236\u9650\u30fb\u901a\u8a71\u30fb\u30dd\u30a4\u30f3\u30c8\u3092\u307e\u3068\u3081\u305f\u3044\u4eba\u306b\u5411\u304f\"\n        }\n      },\n      recommended_for: [\n        \"\u30c7\u30fc\u30bf\u7121\u5236\u9650\u3092\u5b89\u304f\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"\u697d\u5929\u30dd\u30a4\u30f3\u30c8\u3092\u8caf\u3081\u305f\u3044\u30fb\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"Rakuten Link\u3067\u901a\u8a71\u6599\u3092\u6291\u3048\u305f\u3044\u4eba\",\n        \"\u5e97\u8217\u3067\u76f8\u8ac7\u3057\u305f\u3044\u4eba\"\n      ],\n      cta: {\n        button_text: \"\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u30c1\u30a7\u30c3\u30af\",\n        microcopy: \"\u67083,278\u5186\u306e\u30c7\u30fc\u30bf\u7121\u5236\u9650\u3068\u901a\u8a71\u7121\u6599\u30a2\u30d7\u30ea\u3092\u78ba\u8a8d\",\n        url: \"https:\/\/ad2.trafficgate.net\/t\/r\/63\/4401\/315664_394345\"\n      }\n    },\n    {\n      service_name: \"IIJmio\",\n      logo: \"\u516c\u5f0f\u30ed\u30b4\u8868\u793a\uff08alt='IIJmio \u30ed\u30b4'\uff09\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/6f1a1601ef7f8d040cc0ed6eb56a821b.webp\",\n      campaign_banner_image: \"\",\n      price_summary: {\n        cheapest: { price_text: \"850\u5186\uff0f\u6708\", capacity_text: \"2GB \u30ae\u30ac\u30d7\u30e9\u30f3\u97f3\u58f0SIM\" },\n        data_plan: { price_text: \"2,400\u5186\uff0f\u6708\", capacity_text: \"35GB \u30ae\u30ac\u30d7\u30e9\u30f3\" },\n        voice_plan: { price_text: \"1,450\u5186\uff0f\u6708\", capacity_text: \"5GB\uff0b5\u5206\u901a\u8a71\" }\n      },\n      recommended_points: [\n        \"\u30c9\u30b3\u30e2\u30fbau\u4e21\u56de\u7dda\u304b\u3089\u9078\u3079\u308b\u30de\u30eb\u30c1\u30ad\u30e3\u30ea\u30a2\u5bfe\u5fdc\",\n        \"\u97f3\u58f02GB 850\u5186\u30fb\u30c7\u30fc\u30bfeSIM 2GB 440\u5186\u306e\u696d\u754c\u6700\u5b89\u30af\u30e9\u30b9\",\n        \"2026\u5e7410\u6708\u307e\u3067eSIM\u521d\u671f\u8cbb\u7528\u304c\u534a\u984d\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u5b9f\u65bd\u4e2d\",\n        \"5GB 990\u5186\u30fb15GB 1,600\u5186\u306a\u3069\u4e2d\u5bb9\u91cf\u5e2f\u306e\u30b3\u30b9\u30d1\u304c\u9ad8\u3044\",\n        \"5G\u5bfe\u5fdc\uff0b\u304b\u3051\u653e\u984c\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u901a\u8a71\u6d3e\u306b\u3082\u67d4\u8edf\u5bfe\u5fdc\",\n        \"\u6bce\u6708\u66f4\u65b0\u3055\u308c\u308b\u7aef\u672b\u7279\u4fa1\u30bb\u30fc\u30eb\uff08mouse\u63d0\u643a\u306a\u3069\uff09\u304c\u8c4a\u5bcc\",\n        \"\u30b5\u30d6\u56de\u7dda\u30fb\u4e8c\u53f0\u6301\u3061\u9700\u8981\u306b\u5f37\u3044eSIM\u5373\u65e5\u958b\u901a\u304c\u53ef\u80fd\"\n      ],\n      network: \"\u30c9\u30b3\u30e2\u56de\u7dda \/ au\u56de\u7dda\",\n      campaign: {\n        display_text: \"\u30cf\u30c3\u30d4\u30fc\u30d7\u30e9\u30a4\u30b9\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3001\u6708\u984d\u5272\u5f15\u3001\u30c7\u30fc\u30bf\u5897\u91cf\u3001\u901a\u8a71\u5b9a\u984d\u5272\u5f15\u3001eSIM\u521d\u671f\u8cbb\u7528\u5272\u5f15\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u540d\u30fb\u5272\u5f15\u671f\u9593\u30fb\u5bfe\u8c61\u30d7\u30e9\u30f3\u306f\u516c\u958b\u76f4\u524d\u306b\u66f4\u65b0\",\n        volatility: \"\u9ad8\"\n      },\n      device_purchase_discount: {\n        display_text: \"\u30b9\u30de\u30db\u5927\u7279\u4fa1\u30bb\u30fc\u30eb\u306a\u3069\u3001MNP\u6642\u306e\u5bfe\u8c61\u7aef\u672b\u5272\u5f15\u3092\u63b2\u8f09\",\n        recommended_note: \"IIJmio\u306f\u7aef\u672b\u30bb\u30c3\u30c8\u7279\u4fa1\u304c\u5f37\u3044\u305f\u3081\u3001\u7aef\u672b\u540c\u6642\u8cfc\u5165\u5272\u5f15\u306f\u76ee\u7acb\u305f\u305b\u308b\",\n        has_discount: true\n      },\n      initial_cost: {\n        contract_fee: \"3,300\u5186\",\n        sim_fee: \"SIM\u30ab\u30fc\u30c9\u767a\u884c\u624b\u6570\u6599\u307e\u305f\u306feSIM\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u767a\u884c\u624b\u6570\u6599\u304c\u5225\u9014\u5fc5\u8981\",\n        display_text: \"\u521d\u671f\u8cbb\u7528\uff1a3,300\u5186\uff0bSIM\/eSIM\u767a\u884c\u624b\u6570\u6599\"\n      },\n      price_range: {\n        low_capacity_5gb_or_less: {\n          display_text: \"2GB 850\u5186\u30015GB 950\u5186\",\n          recommended_label: \"5GB 950\u5186\"\n        },\n        mid_capacity_10_20gb: {\n          display_text: \"10GB 1,400\u5186\u300115GB 1,600\u5186\",\n          recommended_label: \"10GB\/15GB\u304c\u5b89\u3044\"\n        },\n        large_capacity_30_35gb: {\n          display_text: \"35GB 2,400\u5186\u300225GB 2,000\u5186\u300145GB 3,300\u5186\u300155GB 3,900\u5186\u3082\u9078\u629e\u53ef\u80fd\",\n          recommended_label: \"35GB 2,400\u5186\"\n        },\n        unlimited_or_practical_unlimited: {\n          display_text: \"\u5b8c\u5168\u7121\u5236\u9650\u30d7\u30e9\u30f3\u306f\u306a\u3057\",\n          recommended_label: \"\u7121\u5236\u9650\u306f\u975e\u5bfe\u5fdc\"\n        },\n        cheap_plan_with_call: {\n          display_text: \"5GB 950\u5186\uff0b5\u5206\u304b\u3051\u653e\u984c500\u5186\u3067\u5408\u8a081,450\u5186\",\n          recommended_label: \"5GB\uff0b5\u5206\u901a\u8a71\u30671,450\u5186\"\n        }\n      },\n      speed_after_data_exhaustion: {\n        display_text: \"\u30c7\u30fc\u30bf\u5bb9\u91cf\u8d85\u904e\u5f8c\u306f\u6700\u5927300kbps\u3002\u4f4e\u901f\u901a\u4fe1\u6642\u306b\u4e00\u5b9a\u91cf\u3092\u8d85\u3048\u308b\u3068\u3055\u3089\u306b\u5236\u9650\u3055\u308c\u308b\u5834\u5408\u3042\u308a\"\n      },\n      data_add_on: {\n        display_text: \"\u30c7\u30fc\u30bf\u5bb9\u91cf\u8ffd\u52a0\uff1a1GB 220\u5186\"\n      },\n      standard_call_rate: {\n        display_text: \"11\u5186\/30\u79d2\"\n      },\n      call_options: {\n        display_text: [\n          \"\u901a\u8a71\u5b9a\u984d5\u5206\uff0b\uff1a500\u5186\/\u6708\",\n          \"\u901a\u8a71\u5b9a\u984d10\u5206\uff0b\uff1a700\u5186\/\u6708\",\n          \"\u304b\u3051\u653e\u984c\uff0b\uff1a1,400\u5186\/\u6708\"\n        ]\n      },\n      service_details: {\n        basic_features: {\n          five_g: \"\u5bfe\u5fdc\",\n          esim: \"\u5bfe\u5fdc\",\n          tethering: \"\u5bfe\u5fdc\",\n          data_rollover: \"\u5bfe\u5fdc\",\n          display_text: \"5G\u3001eSIM\u3001\u30c6\u30b6\u30ea\u30f3\u30b0\u3001\u30c7\u30fc\u30bf\u304f\u308a\u3053\u3057\u306b\u5bfe\u5fdc\"\n        },\n        usability: {\n          payment_methods: \"\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u4e2d\u5fc3\",\n          store_support: \"\u91cf\u8ca9\u5e97\u7b49\u3067\u4e00\u90e8\u53d6\u308a\u6271\u3044\u3042\u308a\u3002\u30b5\u30dd\u30fc\u30c8\u306f\u30aa\u30f3\u30e9\u30a4\u30f3\u4e2d\u5fc3\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          mnp_one_stop: \"\u5bfe\u5fdc\",\n          display_text: \"\u4f4e\u4fa1\u683c\u3060\u304c\u3001\u652f\u6255\u3044\u65b9\u6cd5\u3084\u30b5\u30dd\u30fc\u30c8\u306f\u30aa\u30f3\u30e9\u30a4\u30f3\u5bc4\u308a\"\n        },\n        unique_strengths: {\n          line_free: \"\u306a\u3057\",\n          overseas_use: \"\u56fd\u969b\u30ed\u30fc\u30df\u30f3\u30b0\u306f\u97f3\u58f0\/SMS\u4e2d\u5fc3\u3002\u30c7\u30fc\u30bf\u6d77\u5916\u5229\u7528\u306f\u4e3b\u8a34\u6c42\u3067\u306f\u306a\u3044\",\n          saving_mode: \"\u4f4e\u901f\u5207\u66ff\u3042\u308a\",\n          count_free: \"\u306a\u3057\",\n          data_share: \"\u5bfe\u5fdc\",\n          topping: \"\u306a\u3057\",\n          display_text: \"\u30c7\u30fc\u30bf\u30b7\u30a7\u30a2\u3001\u30c7\u30fc\u30bf\u30d7\u30ec\u30bc\u30f3\u30c8\u30011GB 220\u5186\u306e\u5b89\u3044\u8ffd\u52a0\u30c7\u30fc\u30bf\u304c\u5f37\u307f\"\n        },\n        support_system: {\n          store_support: \"\u4e00\u90e8\u91cf\u8ca9\u5e97\u3067\u7533\u3057\u8fbc\u307f\u53ef\u80fd\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          setup_support: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u30ac\u30a4\u30c9\u4e2d\u5fc3\",\n          family_senior_support: \"\u5bb6\u65cf\u9593\u30c7\u30fc\u30bf\u30b7\u30a7\u30a2\u306b\u5411\u304f\",\n          display_text: \"\u6599\u91d1\u91cd\u8996\u30fb\u5bb6\u65cf\u3067\u30c7\u30fc\u30bf\u3092\u5206\u3051\u305f\u3044\u4eba\u306b\u5411\u304f\"\n        }\n      },\n      recommended_for: [\n        \"\u3068\u306b\u304b\u304f\u6708\u984d\u6599\u91d1\u3092\u6291\u3048\u305f\u3044\u4eba\",\n        \"2GB\u301c35GB\u307e\u3067\u7d30\u304b\u304f\u9078\u3073\u305f\u3044\u4eba\",\n        \"\u7aef\u672b\u30bb\u30c3\u30c8\u3092\u5b89\u304f\u8cfc\u5165\u3057\u305f\u3044\u4eba\",\n        \"\u5bb6\u65cf\u3067\u30c7\u30fc\u30bf\u30b7\u30a7\u30a2\u3057\u305f\u3044\u4eba\"\n      ],\n      cta: {\n        button_text: \"IIJmio\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u30c1\u30a7\u30c3\u30af\",\n        microcopy: \"5GB 950\u5186\u30fb35GB 2,400\u5186\u306e\u4f4e\u4fa1\u683c\u30d7\u30e9\u30f3\u3092\u78ba\u8a8d\",\n        url: \"https:\/\/www.iijmio.jp\/\"\n      }\n    },\n    {\n      service_name: \"mineo\",\n      logo: \"\u516c\u5f0f\u30ed\u30b4\u8868\u793a\uff08alt='mineo \u30ed\u30b4'\uff09\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/6a285b3e64f1a30f0aa950d2cdd2fdfe.webp\",\n      campaign_banner_image: \"\",\n      price_summary: {\n        cheapest: { price_text: \"250\u5186\uff0f\u6708\", capacity_text: \"\u30de\u30a4\u305d\u304f\u30b9\u30fc\u30d1\u30fc\u30e9\u30a4\u30c8 \u6700\u592732kbps\" },\n        data_plan: { price_text: \"2,178\u5186\uff0f\u6708\", capacity_text: \"30GB \u30de\u30a4\u30d4\u30bf\" },\n        voice_plan: { price_text: \"1,848\u5186\uff0f\u6708\", capacity_text: \"3GB\uff0b10\u5206\u901a\u8a71\" }\n      },\n      recommended_points: [\n        \"au\/\u30c9\u30b3\u30e2\/\u30bd\u30d5\u30c8\u30d0\u30f3\u30af\u306e\u30c8\u30ea\u30d7\u30eb\u30ad\u30e3\u30ea\u30a2\u5bfe\u5fdc\u3067\u4e57\u63db\u4e0d\u8981\",\n        \"\u30de\u30a4\u305d\u304f\u30b9\u30fc\u30d1\u30fc\u30e9\u30a4\u30c8250\u5186\u3067\u30c7\u30fc\u30bf\u7121\u5236\u9650\u306e\u552f\u4e00\u7121\u4e8c\u8a2d\u8a08\",\n        \"\u30de\u30a4\u30d4\u30bf\u306f3GB 1,298\u5186\u304b\u3089\u300150GB\u307e\u3067\u5e45\u5e83\u304f\u9078\u629e\u53ef\u80fd\",\n        \"2026\u6625\u306e\u30de\u30a4\u30cd\u30aa\u5272\u3067\u6700\u59276\u30ab\u6708660\u5186\u304b\u3089\u5229\u7528\u958b\u59cb\",\n        \"\u3086\u305a\u308b\u306d\u30fb\u30d5\u30ea\u30fc\u30bf\u30f3\u30af\u7b49\u30e6\u30fc\u30b6\u30fc\u5171\u52a9\u578b\u30b5\u30fc\u30d3\u30b9\u304c\u72ec\u81ea\",\n        \"\u30d1\u30b1\u30c3\u30c8\u653e\u984cPlus\u3067\u6700\u59271.5Mbps\u4f7f\u3044\u653e\u984c\uff08\u6708\u984d385\u5186\u301c\uff09\",\n        \"\u4f59\u3063\u305f\u30d1\u30b1\u30c3\u30c8\u306e\u7fcc\u6708\u7e70\u308a\u8d8a\u3057\uff0b\u5bb6\u65cf\u30b7\u30a7\u30a2\u306b\u5bfe\u5fdc\"\n      ],\n      network: \"\u30c9\u30b3\u30e2\u56de\u7dda \/ au\u56de\u7dda \/ \u30bd\u30d5\u30c8\u30d0\u30f3\u30af\u56de\u7dda\",\n      campaign: {\n        display_text: \"\u6625\u306e\u30de\u30a4\u30cd\u30aa\u5272\u3001\u901a\u8a71\u30aa\u30d7\u30b7\u30e7\u30f3\u5272\u5f15\u3001\u30d1\u30b1\u30c3\u30c8\u653e\u984c Plus\u5272\u5f15\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"mineo\u306f\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3088\u308a\u3082\u300e\u72ec\u81ea\u30b5\u30fc\u30d3\u30b9\u306e\u591a\u3055\u300f\u3092\u5f37\u304f\u8a34\u6c42\",\n        volatility: \"\u4e2d\"\n      },\n      device_purchase_discount: {\n        display_text: \"\u7aef\u672b\u8ca9\u58f2\u3042\u308a\u3002\u671f\u9593\u9650\u5b9a\u306e\u7aef\u672b\u5272\u5f15\u30fb\u7279\u4fa1\u8ca9\u58f2\u304c\u3042\u308b\u5834\u5408\u306b\u63b2\u8f09\",\n        recommended_note: \"\u7aef\u672b\u540c\u6642\u8cfc\u5165\u5272\u5f15\u306f\u4e3b\u8a34\u6c42\u3067\u306f\u306a\u304f\u88dc\u8db3\u67a0\u3067\u8868\u793a\",\n        has_discount: true\n      },\n      initial_cost: {\n        contract_fee: \"3,300\u5186\",\n        sim_fee: \"SIM\u30ab\u30fc\u30c9\u767a\u884c\u6599 \/ eSIM\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u767a\u884c\u6599\uff1a440\u5186\",\n        display_text: \"\u521d\u671f\u8cbb\u7528\uff1a3,300\u5186\uff0bSIM\/eSIM\u767a\u884c\u6599440\u5186\"\n      },\n      price_range: {\n        low_capacity_5gb_or_less: {\n          display_text: \"\u30de\u30a4\u30d4\u30bf\uff1a3GB 1,298\u5186\u30027GB 1,518\u5186\",\n          recommended_label: \"3GB 1,298\u5186\"\n        },\n        mid_capacity_10_20gb: {\n          display_text: \"\u30de\u30a4\u30d4\u30bf\uff1a15GB 1,958\u5186\",\n          recommended_label: \"15GB 1,958\u5186\"\n        },\n        large_capacity_30_35gb: {\n          display_text: \"\u30de\u30a4\u30d4\u30bf\uff1a30GB 2,178\u5186\u300250GB 2,948\u5186\u3082\u9078\u629e\u53ef\u80fd\",\n          recommended_label: \"30GB 2,178\u5186\"\n        },\n        unlimited_or_practical_unlimited: {\n          display_text: \"\u30de\u30a4\u305d\u304f\uff1a\u6700\u5927\u901f\u5ea6\u5225\u306e\u5b9f\u8cea\u4f7f\u3044\u653e\u984c\u3002\u30b9\u30bf\u30f3\u30c0\u30fc\u30c9\u6700\u59271.5Mbps 990\u5186\u3001\u30d7\u30ec\u30df\u30a2\u30e0\u6700\u59275Mbps 2,200\u5186\u306a\u3069\u3002\u305f\u3060\u3057\u5e73\u65e5\u663c\u306f\u901f\u5ea6\u5236\u9650\u3042\u308a\",\n          recommended_label: \"\u901f\u5ea6\u5236\u9650\u578b\u306e\u4f7f\u3044\u653e\u984c\"\n        },\n        cheap_plan_with_call: {\n          display_text: \"3GB 1,298\u5186\uff0b10\u5206\u304b\u3051\u653e\u984c550\u5186\u3067\u5408\u8a081,848\u5186\",\n          recommended_label: \"3GB\uff0b10\u5206\u901a\u8a71\u30671,848\u5186\"\n        }\n      },\n      speed_after_data_exhaustion: {\n        display_text: \"\u30de\u30a4\u30d4\u30bf\u306e\u30c7\u30fc\u30bf\u5bb9\u91cf\u8d85\u904e\u5f8c\u306f\u6700\u5927200kbps\u3002\u30de\u30a4\u305d\u304f\u306f\u9078\u629e\u30b3\u30fc\u30b9\u306e\u901f\u5ea6\u3067\u5229\u7528\u3057\u3001\u5e73\u65e5\u663c\u306a\u3069\u306b\u5236\u9650\u3042\u308a\"\n      },\n      data_add_on: {\n        display_text: \"\u30d1\u30b1\u30c3\u30c8\u30c1\u30e3\u30fc\u30b8\uff1a100MB 55\u5186\u3002\u30de\u30a4\u305d\u304f\u306f24\u6642\u9593\u30c7\u30fc\u30bf\u4f7f\u3044\u653e\u984c198\u5186\u3082\u5229\u7528\u53ef\u80fd\"\n      },\n      standard_call_rate: {\n        display_text: \"22\u5186\/30\u79d2\"\n      },\n      call_options: {\n        display_text: [\n          \"10\u5206\u304b\u3051\u653e\u984c\uff1a550\u5186\/\u6708\",\n          \"\u6642\u9593\u7121\u5236\u9650\u304b\u3051\u653e\u984c\uff1a1,210\u5186\/\u6708\",\n          \"10\u5206\u901a\u8a71\u30d1\u30c3\u30af\uff1a110\u5186\/\u6708\"\n        ]\n      },\n      service_details: {\n        basic_features: {\n          five_g: \"\u5bfe\u5fdc\",\n          esim: \"\u5bfe\u5fdc\u56de\u7dda\u3042\u308a\",\n          tethering: \"\u5bfe\u5fdc\",\n          data_rollover: \"\u5bfe\u5fdc\",\n          display_text: \"5G\u3001eSIM\u3001\u30c6\u30b6\u30ea\u30f3\u30b0\u3001\u30c7\u30fc\u30bf\u304f\u308a\u3053\u3057\u306b\u5bfe\u5fdc\u3002\u56de\u7dda\u30bf\u30a4\u30d7\u306b\u3088\u308a\u6761\u4ef6\u3042\u308a\"\n        },\n        usability: {\n          payment_methods: \"\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u4e2d\u5fc3\u3002\u4e00\u90e8\u6761\u4ef6\u3067\u53e3\u5ea7\u632f\u66ff\u5bfe\u5fdc\u3042\u308a\",\n          store_support: \"mineo\u30b7\u30e7\u30c3\u30d7\u30fb\u63d0\u643a\u5e97\u8217\u3042\u308a\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          mnp_one_stop: \"\u5bfe\u5fdc\",\n          display_text: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u4e2d\u5fc3\u3060\u304c\u3001\u5e97\u8217\u30fb\u96fb\u8a71\u30fb\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u30b5\u30dd\u30fc\u30c8\u3082\u6d3b\u7528\u3067\u304d\u308b\"\n        },\n        unique_strengths: {\n          line_free: \"\u306a\u3057\",\n          overseas_use: \"\u6d77\u5916\u30c7\u30fc\u30bf\u5229\u7528\u306f\u4e3b\u8a34\u6c42\u3067\u306f\u306a\u3044\",\n          saving_mode: \"mineo\u30b9\u30a4\u30c3\u30c1\u3067\u4f4e\u901f\u5207\u66ff\",\n          count_free: \"\u30d1\u30b1\u30c3\u30c8\u653e\u984c Plus\u306a\u3069\",\n          data_share: \"\u30d5\u30ea\u30fc\u30bf\u30f3\u30af\u3001\u30d1\u30b1\u30c3\u30c8\u30ae\u30d5\u30c8\u3001\u30d1\u30b1\u30c3\u30c8\u30b7\u30a7\u30a2\",\n          topping: \"24\u6642\u9593\u30c7\u30fc\u30bf\u4f7f\u3044\u653e\u984c\u306a\u3069\",\n          display_text: \"\u30d5\u30ea\u30fc\u30bf\u30f3\u30af\u3001\u30d1\u30b1\u30c3\u30c8\u30ae\u30d5\u30c8\u3001\u30de\u30a4\u305d\u304f\u3001\u30d1\u30b1\u30c3\u30c8\u653e\u984c Plus\u306a\u3069\u72ec\u81ea\u30b5\u30fc\u30d3\u30b9\u304c\u8c4a\u5bcc\"\n        },\n        support_system: {\n          store_support: \"\u3042\u308a\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          setup_support: \"\u5e97\u8217\u30fb\u30aa\u30f3\u30e9\u30a4\u30f3\u30ac\u30a4\u30c9\u30fb\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\",\n          family_senior_support: \"\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u3084\u5e97\u8217\u3067\u76f8\u8ac7\u3057\u3084\u3059\u3044\",\n          display_text: \"\u30e6\u30fc\u30b6\u30fc\u540c\u58eb\u306e\u52a9\u3051\u5408\u3044\u3068\u72ec\u81ea\u6a5f\u80fd\u304c\u9b45\u529b\"\n        }\n      },\n      recommended_for: [\n        \"3\u30ad\u30e3\u30ea\u30a2\u56de\u7dda\u304b\u3089\u9078\u3073\u305f\u3044\u4eba\",\n        \"30GB\u524d\u5f8c\u3092\u5b89\u304f\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"\u901f\u5ea6\u5236\u9650\u578b\u306e\u4f7f\u3044\u653e\u984c\u3092\u5b89\u304f\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"\u30d5\u30ea\u30fc\u30bf\u30f3\u30af\u3084\u30d1\u30b1\u30c3\u30c8\u30ae\u30d5\u30c8\u306a\u3069\u72ec\u81ea\u6a5f\u80fd\u3092\u4f7f\u3044\u305f\u3044\u4eba\"\n      ],\n      cta: {\n        button_text: \"mineo\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u30c1\u30a7\u30c3\u30af\",\n        microcopy: \"30GB 2,178\u5186\u3068\u72ec\u81ea\u306e\u30d1\u30b1\u30c3\u30c8\u6a5f\u80fd\u3092\u78ba\u8a8d\",\n        url: \"https:\/\/mineo.jp\/\"\n      }\n    },\n    {\n      service_name: \"\u65e5\u672c\u901a\u4fe1SIM\",\n      logo: \"\u516c\u5f0f\u30ed\u30b4\u8868\u793a\uff08alt='\u65e5\u672c\u901a\u4fe1SIM \u30ed\u30b4'\uff09\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/3bb3b27ab582feb8c27899159f5a20db.webp\",\n      campaign_banner_image: \"\",\n      price_summary: {\n        cheapest: { price_text: \"290\u5186\uff0f\u6708\", capacity_text: \"1GB \u5408\u7406\u7684\u30b7\u30f3\u30d7\u30eb290\u30d7\u30e9\u30f3\" },\n        data_plan: { price_text: \"2,178\u5186\uff0f\u6708\", capacity_text: \"50GB \u5408\u7406\u7684\u30d7\u30e9\u30f3\" },\n        voice_plan: { price_text: \"1,390\u5186\uff0f\u6708\", capacity_text: \"20GB\uff0b5\u5206\u901a\u8a71or\u670870\u5206\u901a\u8a71\" }\n      },\n      recommended_points: [\n        \"\u696d\u754c\u6700\u5b89\u6c34\u6e96\u306e1GB 290\u5186\u3067\u30b5\u30d6\u56de\u7dda\u306b\u3082\u6700\u9069\",\n        \"\u30c9\u30b3\u30e2\u56de\u7dda\u3092\u76f4\u63a5\u501f\u308a\u305f\u9ad8\u54c1\u8cea\u901a\u4fe1\u3067\u5b89\u5b9a\u6027\u91cd\u8996\",\n        \"\u5408\u7406\u7684\u307f\u3093\u306a\u306e\u30d7\u30e9\u30f3\u306f20GB\uff0b5\u5206\u304b\u3051\u653e\u984c\u30671,390\u5186\",\n        \"50GB\u5927\u5bb9\u91cf\u30d7\u30e9\u30f3\u30822,178\u5186\u3068\u5727\u5012\u7684\u30b3\u30b9\u30d1\",\n        \"1GB\u8d85\u904e\u5f8c\u3082220\u5186\uff0f1GB\u306e\u5f93\u91cf\u8ffd\u52a0\u3067\u7121\u99c4\u304c\u306a\u3044\",\n        \"eSIM\u5bfe\u5fdc\u3067\u5373\u65e5\u30aa\u30f3\u30e9\u30a4\u30f3\u958b\u901a\u304c\u53ef\u80fd\",\n        \"\u901a\u8a715\u5206\u304b\u3051\u653e\u984c\uff0f\u670870\u5206\u7121\u6599\u901a\u8a71\u3092\u6a19\u6e96\u88c5\u5099\u3067\u9078\u629e\u5236\"\n      ],\n      network: \"\u30c9\u30b3\u30e2\u56de\u7dda 5G \/ 4G\",\n      campaign: {\n        display_text: \"\u6052\u5e38\u7684\u306a\u4f4e\u6599\u91d1\u30d7\u30e9\u30f3\u3092\u4e3b\u8a34\u6c42\u3002\u5927\u898f\u6a21\u306a\u671f\u9593\u9650\u5b9a\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u306f\u5c11\u306a\u3081\",\n        recommended_note: \"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u6b04\u3067\u306f\u300e\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u306b\u983c\u3089\u306a\u3044\u4f4e\u4fa1\u683c\u300f\u3068\u3057\u3066\u8868\u793a\",\n        volatility: \"\u4f4e\"\n      },\n      device_purchase_discount: {\n        display_text: \"\u7aef\u672b\u8ca9\u58f2\u30fb\u7aef\u672b\u540c\u6642\u8cfc\u5165\u5272\u5f15\u306f\u4e3b\u8a34\u6c42\u3067\u306f\u306a\u3044\u3002SIM\/eSIM\u5951\u7d04\u4e2d\u5fc3\",\n        recommended_note: \"\u7aef\u672b\u5272\u5f15\u6b04\u306f\u300e\u539f\u5247\u306a\u3057\u300f\u3067\u8868\u793a\",\n        has_discount: false\n      },\n      initial_cost: {\n        contract_fee: \"3,300\u5186\",\n        sim_fee: \"\u539f\u5247\u3001\u30b9\u30bf\u30fc\u30bf\u30fc\u30d1\u30c3\u30af\u30fb\u521d\u671f\u624b\u6570\u6599\u3068\u3057\u3066\u8868\u793a\",\n        display_text: \"\u521d\u671f\u624b\u6570\u6599\uff1a3,300\u5186\"\n      },\n      price_range: {\n        low_capacity_5gb_or_less: {\n          display_text: \"\u5408\u7406\u7684\u30b7\u30f3\u30d7\u30eb290\u30d7\u30e9\u30f3\uff1a1GB 290\u5186\u3002\u8ffd\u52a0\u30c7\u30fc\u30bf\u306f1GB 220\u5186\",\n          recommended_label: \"1GB 290\u5186\"\n        },\n        mid_capacity_10_20gb: {\n          display_text: \"\u5408\u7406\u7684\u307f\u3093\u306a\u306e\u30d7\u30e9\u30f3\uff1a20GB 1,390\u5186\u30025\u5206\u304b\u3051\u653e\u984c\u307e\u305f\u306f\u670870\u5206\u7121\u6599\u901a\u8a71\u8fbc\u307f\",\n          recommended_label: \"20GB\uff0b\u901a\u8a71\u8fbc\u307f\u30671,390\u5186\"\n        },\n        large_capacity_30_35gb: {\n          display_text: \"30\u301c35GB\u5c02\u7528\u306f\u306a\u3057\u3002\u5408\u7406\u768450GB\u30d7\u30e9\u30f3\uff1a50GB 2,178\u5186\",\n          recommended_label: \"\u5927\u5bb9\u91cf\u306a\u308950GB 2,178\u5186\"\n        },\n        unlimited_or_practical_unlimited: {\n          display_text: \"\u5b8c\u5168\u7121\u5236\u9650\u30d7\u30e9\u30f3\u306f\u306a\u3057\",\n          recommended_label: \"\u7121\u5236\u9650\u306f\u975e\u5bfe\u5fdc\"\n        },\n        cheap_plan_with_call: {\n          display_text: \"20GB 1,390\u5186\u306b5\u5206\u304b\u3051\u653e\u984c\u307e\u305f\u306f\u670870\u5206\u7121\u6599\u901a\u8a71\u8fbc\u307f\u30021GB 290\u5186\u306b5\u5206\u304b\u3051\u653e\u984c390\u5186\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\",\n          recommended_label: \"\u901a\u8a71\u8fbc\u307f20GB\u304c\u5b89\u3044\"\n        }\n      },\n      speed_after_data_exhaustion: {\n        display_text: \"\u30c7\u30fc\u30bf\u5bb9\u91cf\u8d85\u904e\u5f8c\u306f\u4f4e\u901f\u5ea6\u3002\u6700\u5927\u901f\u5ea6\u306f\u516c\u5f0f\u4e0a\u3001\u660e\u78ba\u306a\u6570\u5024\u3067\u306e\u8a34\u6c42\u306f\u5f31\u3044\"\n      },\n      data_add_on: {\n        display_text: \"\u8ffd\u52a0\u30c7\u30fc\u30bf\uff1a1GB 220\u5186\u3002\u4e0a\u9650\u8a2d\u5b9a\u306b\u3088\u308a\u4f7f\u3044\u3059\u304e\u3092\u9632\u6b62\u53ef\u80fd\"\n      },\n      standard_call_rate: {\n        display_text: \"11\u5186\/30\u79d2\"\n      },\n      call_options: {\n        display_text: [\n          \"5\u5206\u304b\u3051\u653e\u984c\uff1a390\u5186\/\u6708\",\n          \"\u670870\u5206\u7121\u6599\u901a\u8a71\uff1a390\u5186\/\u6708\",\n          \"\u901a\u8a71\u304b\u3051\u653e\u984c\uff1a\u30d7\u30e9\u30f3\u306b\u3088\u308a1,200\u5186\u301c1,600\u5186\/\u6708\",\n          \"20GB\/50GB\u7cfb\u30d7\u30e9\u30f3\u306f5\u5206\u304b\u3051\u653e\u984c\u307e\u305f\u306f\u670870\u5206\u7121\u6599\u901a\u8a71\u3092\u9078\u629e\u53ef\u80fd\"\n        ]\n      },\n      service_details: {\n        basic_features: {\n          five_g: \"\u5bfe\u5fdc\",\n          esim: \"\u5bfe\u5fdc\",\n          tethering: \"\u5bfe\u5fdc\",\n          data_rollover: \"\u975e\u5bfe\u5fdc\",\n          display_text: \"5G\u3001eSIM\u3001\u30c6\u30b6\u30ea\u30f3\u30b0\u306b\u5bfe\u5fdc\u3002\u30c7\u30fc\u30bf\u304f\u308a\u3053\u3057\u306f\u975e\u5bfe\u5fdc\"\n        },\n        usability: {\n          payment_methods: \"\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u3001\u30c7\u30d3\u30c3\u30c8\u30ab\u30fc\u30c9\u5bfe\u5fdc\",\n          store_support: \"\u306a\u3057\",\n          phone_support: \"\u9650\u5b9a\u7684\",\n          chat_support: \"\u554f\u3044\u5408\u308f\u305b\u30d5\u30a9\u30fc\u30e0\u4e2d\u5fc3\",\n          mnp_one_stop: \"\u5bfe\u5fdc\",\n          display_text: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u7533\u8fbc\u4e2d\u5fc3\u3002\u30b5\u30dd\u30fc\u30c8\u3088\u308a\u6599\u91d1\u306e\u5b89\u3055\u3092\u91cd\u8996\u3059\u308b\u4eba\u5411\u3051\"\n        },\n        unique_strengths: {\n          line_free: \"\u306a\u3057\",\n          overseas_use: \"\u56fd\u969b\u30ed\u30fc\u30df\u30f3\u30b0\u306f\u4e3b\u8a34\u6c42\u3067\u306f\u306a\u3044\",\n          saving_mode: \"\u306a\u3057\",\n          count_free: \"\u306a\u3057\",\n          data_share: \"\u306a\u3057\",\n          topping: \"\u8ffd\u52a0\u30c7\u30fc\u30bf\",\n          display_text: \"1GB 290\u5186\u300120GB\uff0b\u901a\u8a71\u8fbc\u307f1,390\u5186\u300150GB 2,178\u5186\u306e\u4f4e\u4fa1\u683c\u304c\u5f37\u307f\"\n        },\n        support_system: {\n          store_support: \"\u306a\u3057\",\n          phone_support: \"\u9650\u5b9a\u7684\",\n          chat_support: \"\u554f\u3044\u5408\u308f\u305b\u30d5\u30a9\u30fc\u30e0\u4e2d\u5fc3\",\n          setup_support: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u30ac\u30a4\u30c9\u4e2d\u5fc3\",\n          family_senior_support: \"\u81ea\u5206\u3067\u8a2d\u5b9a\u3067\u304d\u308b\u4eba\u5411\u3051\",\n          display_text: \"\u4fa1\u683c\u91cd\u8996\u3067\u30aa\u30f3\u30e9\u30a4\u30f3\u624b\u7d9a\u304d\u306b\u62b5\u6297\u304c\u306a\u3044\u4eba\u5411\u3051\"\n        }\n      },\n      recommended_for: [\n        \"1GB\u3092\u3068\u306b\u304b\u304f\u5b89\u304f\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"20GB\uff0b\u7121\u6599\u901a\u8a71\u3092\u5b89\u304f\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"50GB\u306e\u5927\u5bb9\u91cf\u3092\u5b89\u304f\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"\u7aef\u672b\u8cfc\u5165\u3084\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u304c\u4e0d\u8981\u306a\u4eba\"\n      ],\n      cta: {\n        button_text: \"\u65e5\u672c\u901a\u4fe1SIM\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u30c1\u30a7\u30c3\u30af\",\n        microcopy: \"20GB\uff0b\u901a\u8a71\u8fbc\u307f1,390\u5186\u306e\u4f4e\u4fa1\u683c\u3092\u78ba\u8a8d\",\n        url: \"https:\/\/www.nihontsushin.com\/\"\n      }\n    },\n    {\n      service_name: \"\u30a4\u30aa\u30f3\u30e2\u30d0\u30a4\u30eb\",\n      logo: \"\u516c\u5f0f\u30ed\u30b4\u8868\u793a\uff08alt='\u30a4\u30aa\u30f3\u30e2\u30d0\u30a4\u30eb \u30ed\u30b4'\uff09\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/60e26fe712782edce0060f17ff7a2851.webp\",\n      campaign_banner_image: \"\",\n      price_summary: {\n        cheapest: { price_text: \"803\u5186\uff0f\u6708\", capacity_text: \"0.5GB \u3055\u3044\u3066\u304d\u30d7\u30e9\u30f3\u97f3\u58f0\" },\n        data_plan: { price_text: \"2,508\u5186\uff0f\u6708\", capacity_text: \"30GB \u3055\u3044\u3066\u304d\u30d7\u30e9\u30f3\" },\n        voice_plan: { price_text: \"1,408\u5186\uff0f\u6708\", capacity_text: \"1GB\uff0b5\u5206\u901a\u8a71\" }\n      },\n      recommended_points: [\n        \"\u5168\u56fd\u7d04200\u5e97\u8217\u306e\u30a4\u30aa\u30f3\u3067\u5bfe\u9762\u30b5\u30dd\u30fc\u30c8\u304c\u53d7\u3051\u3089\u308c\u308b\",\n        \"\u3055\u3044\u3066\u304d\u30d7\u30e9\u30f3\u306f0.5\u301c10GB\u3092110\u5186\u523b\u307f\u3067\u9078\u3079\u308b\u67d4\u8edf\u6027\",\n        \"\u30c9\u30b3\u30e2\u30fbau\u56de\u7dda\u3092\u9078\u3079\u308b\u30de\u30eb\u30c1\u30ad\u30e3\u30ea\u30a2\u5bfe\u5fdc\",\n        \"60\u6b73\u4ee5\u4e0a\u5c02\u7528\u300c\u3084\u3055\u3057\u3044\u30d7\u30e9\u30f3\u300d\u3067\u4f4e\u4fa1\u683c\uff0b\u624b\u539a\u3044\u652f\u63f4\",\n        \"\u5bb6\u65cf\u6700\u59278\u4eba\u3067\u30c7\u30fc\u30bf\u3092\u5206\u3051\u5408\u3048\u308b\u30b7\u30a7\u30a2\u97f3\u58f0\u30d7\u30e9\u30f3\",\n        \"\u30c7\u30fc\u30bf\u7e70\u308a\u8d8a\u3057\u30fb\u6700\u4f4e\u5229\u7528\u671f\u9593\u30fb\u89e3\u7d04\u91d1\u3059\u3079\u3066\u306a\u3057\",\n        \"MNP\u8ee2\u51fa\u624b\u6570\u6599\u3082\u7121\u6599\u3067\u3044\u3064\u3067\u3082\u6c17\u8efd\u306b\u4e57\u308a\u63db\u3048\u53ef\u80fd\"\n      ],\n      network: \"\u30c9\u30b3\u30e2\u56de\u7dda \/ au\u56de\u7dda\",\n      campaign: {\n        display_text: \"WAON\u30dd\u30a4\u30f3\u30c8\u9084\u5143\u3001\u4e57\u308a\u304b\u3048\u7279\u5178\u3001\u7aef\u672b\u30bb\u30c3\u30c8\u7279\u5178\u3001\u671f\u9593\u9650\u5b9a\u306e\u4e8b\u52d9\u624b\u6570\u6599\u5272\u5f15\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"\u5168\u56fd\u306e\u30a4\u30aa\u30f3\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u3068\u30b7\u30cb\u30a2\u5411\u3051\u30d7\u30e9\u30f3\u3092\u5f37\u304f\u8a34\u6c42\",\n        volatility: \"\u4e2d\"\n      },\n      device_purchase_discount: {\n        display_text: \"\u5bfe\u8c61\u30b9\u30de\u30db\u306e\u7279\u4fa1\u8ca9\u58f2\u3001WAON\u30dd\u30a4\u30f3\u30c8\u9084\u5143\u3001\u7aef\u672b\u30bb\u30c3\u30c8\u7279\u5178\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"\u7aef\u672b\u5272\u5f15\u306f\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u671f\u9593\u306b\u3088\u308a\u5909\u52d5\",\n        has_discount: true\n      },\n      initial_cost: {\n        contract_fee: \"3,300\u5186\",\n        sim_fee: \"\u539f\u5247\u3001SIM\u30ab\u30fc\u30c9\u4ee3\u91d1\u30fb\u4e8b\u52d9\u624b\u6570\u6599\u3068\u3057\u3066\u8868\u793a\",\n        display_text: \"SIM\u30ab\u30fc\u30c9\u4ee3\u91d1\uff1a3,300\u5186\"\n      },\n      price_range: {\n        low_capacity_5gb_or_less: {\n          display_text: \"\u97f3\u58f0\u30d7\u30e9\u30f3\uff1a0.5GB 803\u5186\u30011GB 858\u5186\u30013GB 1,078\u5186\u30015GB 1,298\u5186\",\n          recommended_label: \"0.5GB\u301c5GB\u307e\u3067\u7d30\u304b\u304f\u9078\u3079\u308b\"\n        },\n        mid_capacity_10_20gb: {\n          display_text: \"10GB 1,848\u5186\u300120GB 1,958\u5186\",\n          recommended_label: \"20GB 1,958\u5186\"\n        },\n        large_capacity_30_35gb: {\n          display_text: \"30GB 2,508\u5186\u300240GB 3,058\u5186\u300150GB 3,608\u5186\u3082\u9078\u629e\u53ef\u80fd\",\n          recommended_label: \"30GB 2,508\u5186\"\n        },\n        unlimited_or_practical_unlimited: {\n          display_text: \"\u5b8c\u5168\u7121\u5236\u9650\u30d7\u30e9\u30f3\u306f\u306a\u3057\",\n          recommended_label: \"\u7121\u5236\u9650\u306f\u975e\u5bfe\u5fdc\"\n        },\n        cheap_plan_with_call: {\n          display_text: \"1GB 858\u5186\uff0b5\u5206\u304b\u3051\u653e\u984c550\u5186\u3067\u5408\u8a081,408\u5186\u30025GB\u306a\u3089\u5408\u8a081,848\u5186\",\n          recommended_label: \"1GB\uff0b5\u5206\u901a\u8a71\u30671,408\u5186\"\n        }\n      },\n      speed_after_data_exhaustion: {\n        display_text: \"\u30c7\u30fc\u30bf\u5bb9\u91cf\u8d85\u904e\u5f8c\u306f\u6700\u5927200kbps\"\n      },\n      data_add_on: {\n        display_text: \"\u8ffd\u52a0\u30c7\u30fc\u30bf\uff1a1GB 528\u5186\"\n      },\n      standard_call_rate: {\n        display_text: \"11\u5186\/30\u79d2\"\n      },\n      call_options: {\n        display_text: [\n          \"5\u5206\u304b\u3051\u653e\u984c\uff1a550\u5186\/\u6708\",\n          \"10\u5206\u304b\u3051\u653e\u984c\uff1a935\u5186\/\u6708\",\n          \"\u30d5\u30eb\u304b\u3051\u653e\u984c\uff1a1,650\u5186\/\u6708\",\n          \"60\u6b73\u4ee5\u4e0a\u5411\u3051\u306e\u901a\u8a71\u5272\u5f15\u30fb\u3084\u3055\u3057\u3044\u30d7\u30e9\u30f3\u3042\u308a\"\n        ]\n      },\n      service_details: {\n        basic_features: {\n          five_g: \"\u5bfe\u5fdc\",\n          esim: \"\u5bfe\u5fdc\",\n          tethering: \"\u5bfe\u5fdc\",\n          data_rollover: \"\u5bfe\u5fdc\",\n          display_text: \"5G\u3001eSIM\u3001\u30c6\u30b6\u30ea\u30f3\u30b0\u3001\u30c7\u30fc\u30bf\u304f\u308a\u3053\u3057\u306b\u5bfe\u5fdc\"\n        },\n        usability: {\n          payment_methods: \"\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u4e2d\u5fc3\",\n          store_support: \"\u3042\u308a\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          mnp_one_stop: \"\u5bfe\u5fdc\",\n          display_text: \"\u5168\u56fd\u306e\u30a4\u30aa\u30f3\u5e97\u8217\u3067\u76f8\u8ac7\u3067\u304d\u308b\u305f\u3081\u3001\u683c\u5b89SIM\u521d\u5fc3\u8005\u3067\u3082\u7533\u3057\u8fbc\u307f\u3084\u3059\u3044\"\n        },\n        unique_strengths: {\n          line_free: \"\u306a\u3057\",\n          overseas_use: \"\u6d77\u5916\u30c7\u30fc\u30bf\u5229\u7528\u306f\u4e3b\u8a34\u6c42\u3067\u306f\u306a\u3044\",\n          saving_mode: \"\u4f4e\u901f\u5207\u66ff\u3042\u308a\",\n          count_free: \"\u306a\u3057\",\n          data_share: \"\u30b7\u30a7\u30a2\u30d7\u30e9\u30f3\u3042\u308a\",\n          topping: \"\u5bb9\u91cf\u5909\u66f4\u30fb\u8ffd\u52a0\u30c7\u30fc\u30bf\",\n          display_text: \"0.5GB\u304b\u3089\u5927\u5bb9\u91cf\u307e\u3067\u7d30\u304b\u304f\u9078\u3079\u3001\u30b7\u30a7\u30a2\u30d7\u30e9\u30f3\u3084\u30b7\u30cb\u30a2\u5411\u3051\u30d7\u30e9\u30f3\u3082\u5145\u5b9f\"\n        },\n        support_system: {\n          store_support: \"\u5168\u56fd\u306e\u30a4\u30aa\u30f3\u5e97\u8217\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          setup_support: \"\u5e97\u8217\u3067\u76f8\u8ac7\u53ef\u80fd\",\n          family_senior_support: \"\u3084\u3055\u3057\u3044\u30d7\u30e9\u30f3\u3001\u5e97\u8217\u76f8\u8ac7\u3001\u30b7\u30a7\u30a2\u30d7\u30e9\u30f3\u3042\u308a\",\n          display_text: \"\u5bb6\u65cf\u30fb\u30b7\u30cb\u30a2\u30fb\u521d\u5fc3\u8005\u306b\u5411\u304f\u683c\u5b89SIM\"\n        }\n      },\n      recommended_for: [\n        \"\u5e97\u8217\u3067\u76f8\u8ac7\u3057\u306a\u304c\u3089\u683c\u5b89SIM\u3092\u5951\u7d04\u3057\u305f\u3044\u4eba\",\n        \"0.5GB\u301c30GB\u4ee5\u4e0a\u307e\u3067\u7d30\u304b\u304f\u9078\u3073\u305f\u3044\u4eba\",\n        \"\u5bb6\u65cf\u3067\u30c7\u30fc\u30bf\u3092\u5206\u3051\u305f\u3044\u4eba\",\n        \"\u30b7\u30cb\u30a2\u5411\u3051\u306e\u308f\u304b\u308a\u3084\u3059\u3044\u30d7\u30e9\u30f3\u3092\u63a2\u3057\u3066\u3044\u308b\u4eba\"\n      ],\n      cta: {\n        button_text: \"\u30a4\u30aa\u30f3\u30e2\u30d0\u30a4\u30eb\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u30c1\u30a7\u30c3\u30af\",\n        microcopy: \"\u5168\u56fd\u306e\u30a4\u30aa\u30f3\u5e97\u8217\u3067\u76f8\u8ac7\u3067\u304d\u308b\u683c\u5b89SIM\",\n        url: \"https:\/\/aeonmobile.jp\/\"\n      }\n    },\n    {\n      service_name: \"J:COM MOBILE\",\n      logo: \"\u516c\u5f0f\u30ed\u30b4\u8868\u793a\uff08alt='J:COM MOBILE \u30ed\u30b4'\uff09\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/428db8526348cdfbcae5ce52ac2a2453.webp\",\n      campaign_banner_image: \"\",\n      price_summary: {\n        cheapest: { price_text: \"1,078\u5186\uff0f\u6708\", capacity_text: \"1GB A\u30d7\u30e9\u30f3\" },\n        data_plan: { price_text: \"2,728\u5186\uff0f\u6708\", capacity_text: \"30GB \u30c7\u30fc\u30bf\u76db\u9069\u7528\" },\n        voice_plan: { price_text: \"1,628\u5186\uff0f\u6708\", capacity_text: \"5GB\uff0b5\u5206\u901a\u8a71\" }\n      },\n      recommended_points: [\n        \"au 5G\/4G LTE\u56de\u7dda\u3092\u5229\u7528\u3057\u5168\u56fd\u3067\u5b89\u5b9a\u3057\u305f\u30a8\u30ea\u30a2\u30ab\u30d0\u30fc\",\n        \"J:COM NET\u30fb\u96fb\u529b\u30fbTV\u5951\u7d04\u3067\u300c\u30c7\u30fc\u30bf\u76db\u300d\u304c\u81ea\u52d5\u9069\u7528\",\n        \"\u30c7\u30fc\u30bf\u76db\u9069\u7528\u30675GB\u219210GB\u300110GB\u219220GB\u306b\u81ea\u52d5\u5897\u91cf\",\n        \"\u901f\u5ea6\u5236\u9650\u6642\u3082\u6700\u59271Mbps\u3067\u52d5\u753b\u30fbSNS\u304c\u5feb\u9069\u306b\u8996\u8074\u53ef\u80fd\",\n        \"\u4f59\u3063\u305f\u30c7\u30fc\u30bf\u5bb9\u91cf\u306f\u7fcc\u6708\u672b\u307e\u3067\u7e70\u308a\u8d8a\u3057\u53ef\u80fd\",\n        \"\u30b1\u30fc\u30d6\u30eb\u30c6\u30ec\u30d3\u3084\u96fb\u529b\u3068\u306e\u30bb\u30c3\u30c8\u5272\u3067\u5bb6\u8a08\u3092\u4e00\u672c\u5316\",\n        \"au\u30b9\u30de\u30fc\u30c8\u30d0\u30ea\u30e5\u30fc\u5bfe\u8c61\u3067\u5bb6\u65cf\u306eau\u643a\u5e2f\u6599\u91d1\u3082\u5272\u5f15\"\n      ],\n      network: \"au 5G \/ 4G LTE\",\n      campaign: {\n        display_text: \"J:COM\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u8005\u5411\u3051\u306e\u30c7\u30fc\u30bf\u76db\u3001WEB\u7533\u3057\u8fbc\u307f\u9650\u5b9a\u306e\u5951\u7d04\u4e8b\u52d9\u624b\u6570\u6599\u7121\u6599\u3001\u30bb\u30c3\u30c8\u5272\u3001\u30b7\u30cb\u30a2\u5411\u3051\u7279\u5178\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"J:COM\u5229\u7528\u8005\u306f\u30c7\u30fc\u30bf\u5bb9\u91cf\u304c\u5897\u3048\u308b\u70b9\u3092\u6700\u91cd\u8981\u8a34\u6c42\u306b\u3059\u308b\",\n        volatility: \"\u4e2d\"\n      },\n      device_purchase_discount: {\n        display_text: \"\u5bfe\u8c61\u7aef\u672b\u306e\u5272\u5f15\u3001\u6a5f\u7a2e\u5909\u66f4\u7279\u5178\u3001\u7aef\u672b\u30bb\u30c3\u30c8\u7279\u5178\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"\u7aef\u672b\u5272\u5f15\u306f\u5bfe\u8c61\u6a5f\u7a2e\u30fb\u7533\u8fbc\u7a93\u53e3\u3067\u5909\u52d5\",\n        has_discount: true\n      },\n      initial_cost: {\n        contract_fee: \"3,300\u5186\",\n        sim_fee: \"\u30d7\u30e9\u30f3\u30fb\u7533\u8fbc\u65b9\u6cd5\u306b\u3088\u308a\u7121\u6599\u306b\u306a\u308b\u5834\u5408\u3042\u308a\",\n        display_text: \"\u5951\u7d04\u4e8b\u52d9\u624b\u6570\u6599\uff1a3,300\u5186\u3002WEB\u7533\u8fbc\u9650\u5b9a\u3084eSIM\u5951\u7d04\u306a\u3069\u3067\u7121\u6599\u306b\u306a\u308b\u5834\u5408\u3042\u308a\"\n      },\n      price_range: {\n        low_capacity_5gb_or_less: {\n          display_text: \"\u30c7\u30fc\u30bf\u76db\u9069\u7528\u6642\uff1a1GB\u30d7\u30e9\u30f3\u304c5GB 1,078\u5186\u30022026\u5e746\u67081\u65e5\u4ee5\u964d\u306f1,408\u5186\u4e88\u5b9a\",\n          recommended_label: \"J:COM\u5229\u7528\u8005\u306a\u30895GB\u306b\u5897\u91cf\"\n        },\n        mid_capacity_10_20gb: {\n          display_text: \"\u30c7\u30fc\u30bf\u76db\u9069\u7528\u6642\uff1a10GB\u30d7\u30e9\u30f3\u304c20GB 2,178\u5186\u30022026\u5e746\u67081\u65e5\u4ee5\u964d\u306f2,508\u5186\u4e88\u5b9a\",\n          recommended_label: \"20GB\u307e\u3067\u5897\u91cf\"\n        },\n        large_capacity_30_35gb: {\n          display_text: \"\u30c7\u30fc\u30bf\u76db\u9069\u7528\u6642\uff1a20GB\u30d7\u30e9\u30f3\u304c30GB 2,728\u5186\u30022026\u5e746\u67081\u65e5\u4ee5\u964d\u306f3,058\u5186\u4e88\u5b9a\",\n          recommended_label: \"30GB\u307e\u3067\u5897\u91cf\"\n        },\n        unlimited_or_practical_unlimited: {\n          display_text: \"\u5b8c\u5168\u7121\u5236\u9650\u30d7\u30e9\u30f3\u306f\u306a\u3057\u300250GB\u30d7\u30e9\u30f3\u306f\u30c7\u30fc\u30bf\u76db\u9069\u7528\u306760GB 3,828\u5186\",\n          recommended_label: \"\u6700\u592760GB\u307e\u3067\"\n        },\n        cheap_plan_with_call: {\n          display_text: \"\u30c7\u30fc\u30bf\u76db\u9069\u7528\u66425GB 1,078\u5186\uff0b5\u5206\u304b\u3051\u653e\u984c550\u5186\u3067\u5408\u8a081,628\u5186\u30022026\u5e746\u67081\u65e5\u4ee5\u964d\u306f\u5408\u8a081,958\u5186\u4e88\u5b9a\",\n          recommended_label: \"5GB\uff0b5\u5206\u901a\u8a71\u30671,628\u5186\"\n        }\n      },\n      speed_after_data_exhaustion: {\n        display_text: \"1GB\/5GB\u30b3\u30fc\u30b9\u306f\u8d85\u904e\u5f8c\u6700\u5927200kbps\u300210GB\/20GB\/50GB\u30b3\u30fc\u30b9\u306f\u8d85\u904e\u5f8c\u6700\u59271Mbps\"\n      },\n      data_add_on: {\n        display_text: \"\u30c7\u30fc\u30bf\u30c1\u30e3\u30fc\u30b8\uff1a500MB 220\u5186\u30011GB 330\u5186\"\n      },\n      standard_call_rate: {\n        display_text: \"22\u5186\/30\u79d2\"\n      },\n      call_options: {\n        display_text: [\n          \"\u304b\u3051\u653e\u984c5\u5206\uff1a550\u5186\/\u6708\",\n          \"\u304b\u3051\u653e\u984c60\u5206\uff1a1,650\u5186\/\u6708\"\n        ]\n      },\n      service_details: {\n        basic_features: {\n          five_g: \"\u5bfe\u5fdc\",\n          esim: \"\u5bfe\u5fdc\",\n          tethering: \"\u5bfe\u5fdc\",\n          data_rollover: \"\u5bfe\u5fdc\",\n          display_text: \"5G\u3001eSIM\u3001\u30c6\u30b6\u30ea\u30f3\u30b0\u3001\u30c7\u30fc\u30bf\u304f\u308a\u3053\u3057\u306b\u5bfe\u5fdc\"\n        },\n        usability: {\n          payment_methods: \"J:COM\u8acb\u6c42\u3001\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u3001\u53e3\u5ea7\u632f\u66ff\u306a\u3069\u5951\u7d04\u72b6\u6cc1\u306b\u3088\u308a\u5bfe\u5fdc\",\n          store_support: \"J:COM\u30b7\u30e7\u30c3\u30d7\u7b49\u3042\u308a\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          mnp_one_stop: \"\u5bfe\u5fdc\",\n          display_text: \"J:COM\u5951\u7d04\u8005\u306f\u8acb\u6c42\u30fb\u30b5\u30dd\u30fc\u30c8\u3092\u307e\u3068\u3081\u3084\u3059\u3044\"\n        },\n        unique_strengths: {\n          line_free: \"\u306a\u3057\",\n          overseas_use: \"\u6d77\u5916\u30c7\u30fc\u30bf\u5229\u7528\u306f\u4e3b\u8a34\u6c42\u3067\u306f\u306a\u3044\",\n          saving_mode: \"\u306a\u3057\",\n          count_free: \"J:COM STREAM\u306a\u3069\u4e00\u90e8\u30b5\u30fc\u30d3\u30b9\u306e\u30c7\u30fc\u30bf\u30ab\u30a6\u30f3\u30c8\u306b\u5f37\u307f\",\n          data_share: \"\u306a\u3057\",\n          topping: \"\u30c7\u30fc\u30bf\u30c1\u30e3\u30fc\u30b8\",\n          display_text: \"J:COM\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u8005\u5411\u3051\u306e\u30c7\u30fc\u30bf\u76db\u3001\u8a2a\u554f\u30b5\u30dd\u30fc\u30c8\u3001J:COM\u9023\u643a\u304c\u5f37\u307f\"\n        },\n        support_system: {\n          store_support: \"J:COM\u30b7\u30e7\u30c3\u30d7\u7b49\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          setup_support: \"\u8a2a\u554f\u30b5\u30dd\u30fc\u30c8\u30fb\u9060\u9694\u30b5\u30dd\u30fc\u30c8\u306a\u3069J:COM\u5229\u7528\u8005\u5411\u3051\u652f\u63f4\u304c\u5f37\u3044\",\n          family_senior_support: \"\u30b7\u30cb\u30a2\u5411\u3051\u7279\u5178\u30fb\u30b5\u30dd\u30fc\u30c8\u3042\u308a\",\n          display_text: \"J:COM\u5229\u7528\u8005\u3084\u30b7\u30cb\u30a2\u5c64\u306b\u5411\u304f\"\n        }\n      },\n      recommended_for: [\n        \"J:COM\u306e\u30c6\u30ec\u30d3\u30fb\u30cd\u30c3\u30c8\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u4eba\",\n        \"au\u56de\u7dda\u306e\u683c\u5b89\u30b9\u30de\u30db\u3092\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"\u8a2a\u554f\u30b5\u30dd\u30fc\u30c8\u3084\u96fb\u8a71\u30b5\u30dd\u30fc\u30c8\u3092\u91cd\u8996\u3059\u308b\u4eba\",\n        \"\u30b7\u30cb\u30a2\u5411\u3051\u306e\u30b5\u30dd\u30fc\u30c8\u3092\u91cd\u8996\u3059\u308b\u4eba\"\n      ],\n      cta: {\n        button_text: \"J:COM MOBILE\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u30c1\u30a7\u30c3\u30af\",\n        microcopy: \"J:COM\u5229\u7528\u8005\u306a\u3089\u30c7\u30fc\u30bf\u76db\u3067\u304a\u30c8\u30af\",\n        url: \"https:\/\/www.jcom.co.jp\/service\/mobile\/\"\n      }\n    },\n    {\n      service_name: \"NURO\u30e2\u30d0\u30a4\u30eb\",\n      logo: \"\u516c\u5f0f\u30ed\u30b4\u8868\u793a\uff08alt='NURO\u30e2\u30d0\u30a4\u30eb \u30ed\u30b4'\uff09\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/31d9d14a443fc869c14747c2e4cb2ced.webp\",\n      campaign_banner_image: \"\",\n      price_summary: {\n        cheapest: { price_text: \"792\u5186\uff0f\u6708\", capacity_text: \"3GB \u30d0\u30ea\u30e5\u30fc\u30d7\u30e9\u30b9VS \u97f3\u58f0\u4ed8\u304d\" },\n        data_plan: { price_text: \"2,699\u5186\uff0f\u6708\", capacity_text: \"35GB NEO\u30d7\u30e9\u30f3\" },\n        voice_plan: { price_text: \"930\u5186\uff0f\u6708\", capacity_text: \"1GB\uff0b5\u5206\u901a\u8a71\u30b8\u30e3\u30b9\u30c8\" }\n      },\n      recommended_points: [\n        \"\u30c9\u30b3\u30e2\u30fbau\u30fb\u30bd\u30d5\u30c8\u30d0\u30f3\u30af3\u56de\u7dda\u304b\u3089\u9078\u3079\u308b\u67d4\u8edf\u5bfe\u5fdc\",\n        \"\u30d0\u30ea\u30e5\u30fc\u30d7\u30e9\u30b9VS\u306f3GB 792\u5186\uff0b\u89e3\u7d04\u91d10\u5186\u3067\u4f4e\u30ea\u30b9\u30af\",\n        \"3\u30f6\u6708\u3054\u3068\u306b\u30c7\u30fc\u30bf\u304c\u3082\u3089\u3048\u308bGiga\u30d7\u30e9\u30b9\u7279\u5178\u4ed8\u304d\",\n        \"NEO\u30d7\u30e9\u30f3\u306fSNS\uff0b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u304c\u30c7\u30fc\u30bf\u6d88\u8cbb\u30bc\u30ed\",\n        \"5GB 1\u5e74\u9593499\u5186\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u5b9f\u65bd\u4e2d\uff08\u30d0\u30ea\u30e5\u30fc\u30d7\u30e9\u30b9\uff09\",\n        \"\u3054\u5229\u7528\u958b\u59cb\u6708\u306f\u6708\u984d\u57fa\u672c\u6599\u91d10\u5186\u3067\u521d\u671f\u8ca0\u62c5\u3092\u8efd\u6e1b\",\n        \"eSIM\u5bfe\u5fdc\uff0b3\u65e5\u9593\u901f\u5ea6\u5236\u9650\u306a\u3057\u3067\u5feb\u9069\u306a\u901a\u4fe1\u74b0\u5883\"\n      ],\n      network: \"\u30c9\u30b3\u30e2\u56de\u7dda \/ au\u56de\u7dda \/ \u30bd\u30d5\u30c8\u30d0\u30f3\u30af\u56de\u7dda\",\n      campaign: {\n        display_text: \"\u30d0\u30ea\u30e5\u30fc\u30d7\u30e9\u30b9\u30fbNEO\u30d7\u30e9\u30f3\u306e\u6708\u984d\u5272\u5f15\u3001NURO\u5149\u5229\u7528\u8005\u5411\u3051\u7279\u5178\u3001U17\u7279\u5178\u306a\u3069\u3092\u63b2\u8f09\",\n        recommended_note: \"\u300e\u521d\u6708\u7121\u6599\u300f\u300e\u4e00\u5b9a\u671f\u9593\u306e\u6708\u984d\u5272\u5f15\u300f\u300eNEO\u30c7\u30fc\u30bf\u30d5\u30ea\u30fc\u300f\u3092\u4e3b\u8a34\u6c42\u306b\u3059\u308b\",\n        volatility: \"\u9ad8\"\n      },\n      device_purchase_discount: {\n        display_text: \"\u7aef\u672b\u8ca9\u58f2\u3042\u308a\u3002\u5bfe\u8c61\u6a5f\u7a2e\u306e\u5272\u5f15\u30fb\u7279\u4fa1\u8ca9\u58f2\u304c\u3042\u308b\u5834\u5408\u306b\u63b2\u8f09\",\n        recommended_note: \"\u7aef\u672b\u540c\u6642\u8cfc\u5165\u5272\u5f15\u306fIIJmio\u307b\u3069\u4e3b\u8a34\u6c42\u3067\u306f\u306a\u304f\u88dc\u8db3\u67a0\u3067\u8868\u793a\",\n        has_discount: true\n      },\n      initial_cost: {\n        contract_fee: \"3,300\u5186\",\n        sim_fee: \"SIM\u30ab\u30fc\u30c9\u6e96\u5099\u6599 \/ eSIM\u767a\u884c\u6599\uff1a440\u5186\",\n        display_text: \"\u521d\u671f\u8cbb\u7528\uff1a3,300\u5186\uff0bSIM\/eSIM\u95a2\u9023\u624b\u6570\u6599440\u5186\"\n      },\n      price_range: {\n        low_capacity_5gb_or_less: {\n          display_text: \"\u30d0\u30ea\u30e5\u30fc\u30d7\u30e9\u30b9\uff1a3GB 792\u5186\u30015GB 990\u5186\u3002\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u6642\u306f5GB\u304c\u4e00\u5b9a\u671f\u9593499\u5186\u306a\u3069\",\n          recommended_label: \"3GB 792\u5186\u30015GB 990\u5186\"\n        },\n        mid_capacity_10_20gb: {\n          display_text: \"10GB 1,485\u5186\u300115GB 1,790\u5186\u3002\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u6642\u306f\u4e00\u5b9a\u671f\u9593\u5272\u5f15\u3042\u308a\",\n          recommended_label: \"10GB\/15GB\u304c\u5b89\u3044\"\n        },\n        large_capacity_30_35gb: {\n          display_text: \"NEO\u30d7\u30e9\u30f3\uff1a35GB 2,699\u5186\u3002\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u6642\u306f\u4e00\u5b9a\u671f\u95932,209\u5186\u306a\u3069\",\n          recommended_label: \"35GB 2,699\u5186\"\n        },\n        unlimited_or_practical_unlimited: {\n          display_text: \"\u5b8c\u5168\u7121\u5236\u9650\u30d7\u30e9\u30f3\u306f\u306a\u3057\u3002NEO W\u306f55GB 3,980\u5186\",\n          recommended_label: \"\u6700\u592755GB\u307e\u3067\"\n        },\n        cheap_plan_with_call: {\n          display_text: \"\u304b\u3051\u653e\u984c\u30b8\u30e3\u30b9\u30c8\uff1a1GB\uff0b5\u5206\u304b\u3051\u653e\u984c930\u5186\u30011GB\uff0b10\u5206\u304b\u3051\u653e\u984c1,320\u5186\u30011GB\uff0b\u304b\u3051\u653e\u984c1,870\u5186\",\n          recommended_label: \"1GB\uff0b5\u5206\u901a\u8a71\u3067930\u5186\"\n        }\n      },\n      speed_after_data_exhaustion: {\n        display_text: \"\u30d0\u30ea\u30e5\u30fc\u30d7\u30e9\u30b9\u30fb\u304b\u3051\u653e\u984c\u30b8\u30e3\u30b9\u30c8\u306f\u8d85\u904e\u5f8c\u6700\u5927200kbps\u3002NEO\u30d7\u30e9\u30f3 \/ NEO\u30d7\u30e9\u30f3W\u306f\u8d85\u904e\u5f8c\u6700\u59271Mbps\"\n      },\n      data_add_on: {\n        display_text: \"\u30c7\u30fc\u30bf\u5bb9\u91cf\u30c1\u30e3\u30fc\u30b8\uff1a1GB 550\u5186\"\n      },\n      standard_call_rate: {\n        display_text: \"NURO\u30e2\u30d0\u30a4\u30eb\u3067\u3093\u308f\u5229\u7528\u6642\u306f11\u5186\/30\u79d2\u3002\u901a\u5e38\u767a\u4fe1\u306f22\u5186\/30\u79d2\"\n      },\n      call_options: {\n        display_text: [\n          \"5\u5206\u304b\u3051\u653e\u984c\uff1a490\u5186\/\u6708\",\n          \"10\u5206\u304b\u3051\u653e\u984c\uff1a880\u5186\/\u6708\",\n          \"\u304b\u3051\u653e\u984c\uff1a1,430\u5186\/\u6708\",\n          \"\u304b\u3051\u653e\u984c\u30b8\u30e3\u30b9\u30c8\uff1a\u901a\u8a71\u8fbc\u307f\u306e\u5c02\u7528\u30d7\u30e9\u30f3\u3042\u308a\"\n        ]\n      },\n      service_details: {\n        basic_features: {\n          five_g: \"\u5bfe\u5fdc\",\n          esim: \"\u5bfe\u5fdc\u56de\u7dda\u3042\u308a\",\n          tethering: \"\u5bfe\u5fdc\",\n          data_rollover: \"\u5bfe\u5fdc\",\n          display_text: \"5G\u3001eSIM\u3001\u30c6\u30b6\u30ea\u30f3\u30b0\u3001\u30c7\u30fc\u30bf\u304f\u308a\u3053\u3057\u306b\u5bfe\u5fdc\u3002\u56de\u7dda\u30fb\u30d7\u30e9\u30f3\u306b\u3088\u308a\u6761\u4ef6\u3042\u308a\"\n        },\n        usability: {\n          payment_methods: \"\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u4e2d\u5fc3\",\n          store_support: \"\u306a\u3057\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u30c1\u30e3\u30c3\u30c8\/AI\u30c1\u30e3\u30c3\u30c8\u7b49\u3042\u308a\",\n          mnp_one_stop: \"\u5bfe\u5fdc\",\n          display_text: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u4e2d\u5fc3\u3002\u6599\u91d1\u3068\u30ab\u30a6\u30f3\u30c8\u30d5\u30ea\u30fc\u91cd\u8996\u306e\u4eba\u5411\u3051\"\n        },\n        unique_strengths: {\n          line_free: \"\u30d0\u30ea\u30e5\u30fc\u30c7\u30fc\u30bf\u30d5\u30ea\u30fc\u3067LINE\u5bfe\u8c61\",\n          overseas_use: \"\u6d77\u5916\u30c7\u30fc\u30bf\u5229\u7528\u306f\u4e3b\u8a34\u6c42\u3067\u306f\u306a\u3044\",\n          saving_mode: \"\u306a\u3057\",\n          count_free: \"\u30d0\u30ea\u30e5\u30fc\u30c7\u30fc\u30bf\u30d5\u30ea\u30fc\u3001NEO\u30c7\u30fc\u30bf\u30d5\u30ea\u30fc\",\n          data_share: \"\u30d1\u30b1\u30c3\u30c8\u30ae\u30d5\u30c8\u3042\u308a\",\n          topping: \"\u30c7\u30fc\u30bf\u30c1\u30e3\u30fc\u30b8\",\n          display_text: \"LINE\u5bfe\u8c61\u306e\u30d0\u30ea\u30e5\u30fc\u30c7\u30fc\u30bf\u30d5\u30ea\u30fc\u3001NEO\u30c7\u30fc\u30bf\u30d5\u30ea\u30fc\u3001Giga\u30d7\u30e9\u30b9\u3001\u3042\u3052\u653e\u984c\u304c\u5f37\u307f\"\n        },\n        support_system: {\n          store_support: \"\u306a\u3057\",\n          phone_support: \"\u3042\u308a\",\n          chat_support: \"\u3042\u308a\",\n          setup_support: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u30ac\u30a4\u30c9\u4e2d\u5fc3\",\n          family_senior_support: \"\u81ea\u5206\u3067\u624b\u7d9a\u304d\u3067\u304d\u308b\u4eba\u5411\u3051\",\n          display_text: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u4e2d\u5fc3\u3060\u304c\u3001\u5b89\u3055\u3068\u30c7\u30fc\u30bf\u30d5\u30ea\u30fc\u6a5f\u80fd\u304c\u9b45\u529b\"\n        }\n      },\n      recommended_for: [\n        \"3GB\u301c15GB\u3092\u5b89\u304f\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"35GB\u524d\u5f8c\u3092\u5b89\u304f\u4f7f\u3044\u305f\u3044\u4eba\",\n        \"LINE\u3084SNS\u306e\u30c7\u30fc\u30bf\u6d88\u8cbb\u3092\u6291\u3048\u305f\u3044\u4eba\",\n        \"3\u30ad\u30e3\u30ea\u30a2\u56de\u7dda\u304b\u3089\u9078\u3073\u305f\u3044\u4eba\"\n      ],\n      cta: {\n        button_text: \"NURO\u30e2\u30d0\u30a4\u30eb\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u30c1\u30a7\u30c3\u30af\",\n        microcopy: \"3GB 792\u5186\u30fb35GB 2,699\u5186\u3068\u30c7\u30fc\u30bf\u30d5\u30ea\u30fc\u3092\u78ba\u8a8d\",\n        url: \"https:\/\/mobile.nuro.jp\/\"\n      }\n    }\n  ];\n\n  var SERVICES = normalizeServices(RAW_SERVICES);\n  var state = {\n    initialized: false,\n    currentLeft: DEFAULT_SELECTION.left,\n    currentRight: DEFAULT_SELECTION.right,\n    services: SERVICES,\n    servicesBySlug: buildServiceMap(SERVICES),\n    pendingMessage: \"\",\n    expandableCounter: 0\n  };\n  var dom = {};\n\n  function normalizeServices(rawServices) {\n    if (!Array.isArray(rawServices)) {\n      return [];\n    }\n\n    return rawServices\n      .map(function (service) {\n        var name = safeText(service && service.service_name);\n        var slug = sanitizeSlug(service && service.slug) || SERVICE_SLUG_MAP[name] || fallbackSlug(name);\n        var priceRange = service && service.price_range ? service.price_range : {};\n        var serviceDetails = service && service.service_details ? service.service_details : {};\n        var cta = service && service.cta ? service.cta : {};\n        var priceSummary = service && service.price_summary ? service.price_summary : {};\n\n        return {\n          service_name: name,\n          logo: safeText(service && service.logo),\n          logo_image: safeText(service && service.logo_image, \"\"),\n          campaign_banner_image: safeText(service && service.campaign_banner_image, \"\"),\n          price_summary: {\n            cheapest: {\n              price_text: safeText(priceSummary.cheapest && priceSummary.cheapest.price_text, \"\"),\n              capacity_text: safeText(priceSummary.cheapest && priceSummary.cheapest.capacity_text, \"\")\n            },\n            data_plan: {\n              price_text: safeText(priceSummary.data_plan && priceSummary.data_plan.price_text, \"\"),\n              capacity_text: safeText(priceSummary.data_plan && priceSummary.data_plan.capacity_text, \"\")\n            },\n            voice_plan: {\n              price_text: safeText(priceSummary.voice_plan && priceSummary.voice_plan.price_text, \"\"),\n              capacity_text: safeText(priceSummary.voice_plan && priceSummary.voice_plan.capacity_text, \"\")\n            }\n          },\n          slug: slug,\n          network: safeText(service && service.network),\n          campaign: {\n            display_text: safeText(service && service.campaign && service.campaign.display_text),\n            recommended_note: safeText(service && service.campaign && service.campaign.recommended_note),\n            volatility: safeText(service && service.campaign && service.campaign.volatility)\n          },\n          device_purchase_discount: {\n            display_text: safeText(service && service.device_purchase_discount && service.device_purchase_discount.display_text),\n            recommended_note: safeText(service && service.device_purchase_discount && service.device_purchase_discount.recommended_note),\n            has_discount: Boolean(service && service.device_purchase_discount && service.device_purchase_discount.has_discount)\n          },\n          initial_cost: {\n            contract_fee: safeText(service && service.initial_cost && service.initial_cost.contract_fee),\n            sim_fee: safeText(service && service.initial_cost && service.initial_cost.sim_fee),\n            display_text: safeText(service && service.initial_cost && service.initial_cost.display_text)\n          },\n          price_range: {\n            low_capacity_5gb_or_less: normalizeTextItem(priceRange.low_capacity_5gb_or_less),\n            mid_capacity_10_20gb: normalizeTextItem(priceRange.mid_capacity_10_20gb),\n            large_capacity_30_35gb: normalizeTextItem(priceRange.large_capacity_30_35gb),\n            unlimited_or_practical_unlimited: normalizeTextItem(priceRange.unlimited_or_practical_unlimited),\n            cheap_plan_with_call: normalizeTextItem(priceRange.cheap_plan_with_call)\n          },\n          speed_after_data_exhaustion: normalizeTextOnly(service && service.speed_after_data_exhaustion),\n          data_add_on: normalizeTextOnly(service && service.data_add_on),\n          standard_call_rate: normalizeTextOnly(service && service.standard_call_rate),\n          call_options: {\n            display_text: normalizeArray(service && service.call_options && service.call_options.display_text)\n          },\n          service_details: {\n            basic_features: normalizeDetailsGroup(serviceDetails.basic_features, [\n              \"five_g\",\n              \"esim\",\n              \"tethering\",\n              \"data_rollover\"\n            ]),\n            usability: normalizeDetailsGroup(serviceDetails.usability, [\n              \"payment_methods\",\n              \"store_support\",\n              \"phone_support\",\n              \"chat_support\",\n              \"mnp_one_stop\"\n            ]),\n            unique_strengths: normalizeDetailsGroup(serviceDetails.unique_strengths, [\n              \"line_free\",\n              \"overseas_use\",\n              \"saving_mode\",\n              \"count_free\",\n              \"data_share\",\n              \"topping\"\n            ]),\n            support_system: normalizeDetailsGroup(serviceDetails.support_system, [\n              \"store_support\",\n              \"phone_support\",\n              \"chat_support\",\n              \"setup_support\",\n              \"family_senior_support\"\n            ])\n          },\n          recommended_for: normalizeArray(service && service.recommended_for),\n          recommended_points: normalizeArray(service && service.recommended_points),\n          cta: {\n            button_text: \"\u516c\u5f0f\u30b5\u30a4\u30c8\u3092\u78ba\u8a8d\",\n            microcopy: safeText(cta.microcopy),\n            url: sanitizeUrl(cta.url)\n          }\n        };\n      })\n      .filter(function (service) {\n        return service.service_name !== UNKNOWN_LABEL && service.slug;\n      });\n  }\n\n  function normalizeTextItem(item) {\n    return {\n      display_text: safeText(item && item.display_text),\n      recommended_label: safeText(item && item.recommended_label)\n    };\n  }\n\n  function normalizeTextOnly(item) {\n    return {\n      display_text: safeText(item && item.display_text)\n    };\n  }\n\n  function normalizeDetailsGroup(group, keys) {\n    var normalized = {\n      display_text: safeText(group && group.display_text)\n    };\n\n    keys.forEach(function (key) {\n      normalized[key] = safeText(group && group[key]);\n    });\n\n    return normalized;\n  }\n\n  function buildServiceMap(services) {\n    var map = new Map();\n\n    services.forEach(function (service) {\n      map.set(service.slug, service);\n    });\n\n    return map;\n  }\n\n  function safeText(value, fallback) {\n    var resolvedFallback = typeof fallback === \"string\" ? fallback : UNKNOWN_LABEL;\n\n    if (value === undefined || value === null) {\n      return resolvedFallback;\n    }\n\n    var text = String(value).trim();\n    return text ? text : resolvedFallback;\n  }\n\n  function normalizeArray(value) {\n    if (!Array.isArray(value)) {\n      return [UNKNOWN_LABEL];\n    }\n\n    var result = value\n      .map(function (item) {\n        return safeText(item);\n      })\n      .filter(function (item) {\n        return item && item !== UNKNOWN_LABEL;\n      });\n\n    return result.length ? result : [UNKNOWN_LABEL];\n  }\n\n  function sanitizeSlug(value) {\n    if (typeof value !== \"string\") {\n      return \"\";\n    }\n\n    var slug = value.trim().toLowerCase();\n    return \/^[a-z0-9-]+$\/.test(slug) ? slug : \"\";\n  }\n\n  function fallbackSlug(name) {\n    return String(name || \"\")\n      .toLowerCase()\n      .replace(\/[^a-z0-9]+\/g, \"-\")\n      .replace(\/^-+|-+$\/g, \"\");\n  }\n\n  function sanitizeUrl(url) {\n    if (typeof url !== \"string\") {\n      return \"#\";\n    }\n\n    var value = url.trim();\n\n    if (!value) {\n      return \"#\";\n    }\n\n    if (value === \"#\") {\n      return \"#\";\n    }\n\n    if (\/^(https?:\\\/\\\/|\\\/(?!\\\/))\/.test(value)) {\n      return value;\n    }\n\n    return \"#\";\n  }\n\n  function escapeHtml(value) {\n    return String(value == null ? \"\" : value)\n      .replace(\/&\/g, \"&amp;\")\n      .replace(\/<\/g, \"&lt;\")\n      .replace(\/>\/g, \"&gt;\")\n      .replace(\/\"\/g, \"&quot;\")\n      .replace(\/'\/g, \"&#039;\");\n  }\n\n  function getServiceBySlug(slug) {\n    return state.servicesBySlug.get(slug) || null;\n  }\n\n  function getInitialSelectionFromUrl() {\n    var params = new URLSearchParams(window.location.search);\n    var leftParam = params.get(\"left\");\n    var rightParam = params.get(\"right\");\n    var left = DEFAULT_SELECTION.left;\n    var right = DEFAULT_SELECTION.right;\n    var invalid = false;\n\n    if (leftParam) {\n      if (state.servicesBySlug.has(leftParam)) {\n        left = leftParam;\n      } else {\n        invalid = true;\n      }\n    }\n\n    if (rightParam) {\n      if (state.servicesBySlug.has(rightParam)) {\n        right = rightParam;\n      } else {\n        invalid = true;\n      }\n    }\n\n    if (left === right) {\n      left = DEFAULT_SELECTION.left;\n      right = DEFAULT_SELECTION.right;\n      invalid = true;\n    }\n\n    return {\n      left: left,\n      right: right,\n      invalid: invalid\n    };\n  }\n\n  function updateUrlParams(leftSlug, rightSlug, replace) {\n    if (leftSlug === rightSlug) {\n      return;\n    }\n\n    var url = new URL(window.location.href);\n    url.searchParams.set(\"left\", leftSlug);\n    url.searchParams.set(\"right\", rightSlug);\n\n    var nextUrl = url.pathname + url.search + url.hash;\n    var currentUrl = window.location.pathname + window.location.search + window.location.hash;\n\n    if (nextUrl === currentUrl) {\n      return;\n    }\n\n    var method = replace ? \"replaceState\" : \"pushState\";\n    window.history[method]({ left: leftSlug, right: rightSlug }, \"\", nextUrl);\n  }\n\n  function syncStaticCopy() {\n    var update = dom.root.querySelector(\".compare-update\");\n    var note = dom.root.querySelector(\".compare-note\");\n\n    if (update) {\n      update.innerHTML = '<span aria-hidden=\"true\">\u25a3<\/span><span>\u6599\u91d1\u30fb\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u60c5\u5831\u306e\u66f4\u65b0\u65e5<br>' + escapeHtml(DATA_UPDATED_AT) + \"\u6642\u70b9<\/span>\";\n    }\n\n    if (note) {\n      note.textContent = \"\u6599\u91d1\u30fb\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u30fb\u7aef\u672b\u5272\u5f15\u306f\u5909\u66f4\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u7533\u3057\u8fbc\u307f\u524d\u306b\u5fc5\u305a\u5404\u30b5\u30fc\u30d3\u30b9\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3092\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\u3002\";\n    }\n  }\n\n  function renderServiceOptions() {\n    if (!dom.leftSelect || !dom.rightSelect) {\n      return;\n    }\n\n    [dom.leftSelect, dom.rightSelect].forEach(function (select) {\n      var fragment = document.createDocumentFragment();\n\n      state.services.forEach(function (service) {\n        var option = document.createElement(\"option\");\n        option.value = service.slug;\n        option.textContent = service.service_name;\n        fragment.appendChild(option);\n      });\n\n      select.innerHTML = \"\";\n      select.appendChild(fragment);\n    });\n\n    syncSelectorValues(state.currentLeft, state.currentRight);\n  }\n\n  function renderPresetButtons() {\n    if (!dom.presetList) {\n      return;\n    }\n\n    dom.presetList.innerHTML = PRESETS.map(function (preset) {\n      var isActive = preset.left === state.currentLeft && preset.right === state.currentRight;\n      return (\n        '<button type=\"button\" class=\"compare-preset-button' +\n        (isActive ? \" is-active\" : \"\") +\n        '\" data-left=\"' +\n        escapeHtml(preset.left) +\n        '\" data-right=\"' +\n        escapeHtml(preset.right) +\n        '\">' +\n        escapeHtml(preset.label) +\n        \"<\/button>\"\n      );\n    }).join(\"\");\n  }\n\n  function renderSummaryCards(leftService, rightService) {\n    if (!dom.summaryGrid) {\n      return;\n    }\n\n    dom.summaryGrid.innerHTML =\n      renderSummaryCard(leftService, \"is-left\") +\n      '<div class=\"compare-versus\" aria-hidden=\"true\">VS<\/div>' +\n      renderSummaryCard(rightService, \"is-right\");\n  }\n\n  function renderSummaryCard(service, sideClass) {\n    var recommendedPoints = normalizeArray(service.recommended_points);\n    if (!recommendedPoints.length) {\n      recommendedPoints = normalizeArray(service.recommended_for);\n    }\n\n    return (\n      '<article class=\"service-summary-card ' +\n      sideClass +\n      '\">' +\n      renderSummaryHero(service) +\n      renderSummaryBanner(service) +\n      '<div class=\"summary-panel\">' +\n      '<div class=\"summary-panel-title\">\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u6982\u8981<\/div>' +\n      \"<p>\" +\n      escapeHtml(service.campaign.display_text) +\n      \"<\/p>\" +\n      '<p class=\"compare-detail-meta\">\u203b\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u5185\u5bb9\u306f\u6642\u671f\u306b\u3088\u308a\u5909\u66f4\u3055\u308c\u307e\u3059\u3002<\/p>' +\n      \"<\/div>\" +\n      '<div class=\"summary-panel\">' +\n      '<div class=\"summary-panel-title\">\u304a\u3059\u3059\u3081\u30dd\u30a4\u30f3\u30c8<\/div>' +\n      '<ul class=\"service-summary-recommend\">' +\n      recommendedPoints\n        .map(function (item) {\n          return \"<li>\" + escapeHtml(item) + \"<\/li>\";\n        })\n        .join(\"\") +\n      \"<\/ul>\" +\n      \"<\/div>\" +\n      renderCtaBlock(service, sideClass) +\n      \"<\/article>\"\n    );\n  }\n\n  function renderSummaryHero(service) {\n    var priceSummary = service.price_summary || {};\n    var cheapest = priceSummary.cheapest || { price_text: \"\", capacity_text: \"\" };\n    var dataPlan = priceSummary.data_plan || { price_text: \"\", capacity_text: \"\" };\n    var voicePlan = priceSummary.voice_plan || { price_text: \"\", capacity_text: \"\" };\n\n    return (\n      '<div class=\"summary-hero\">' +\n      renderLogoLarge(service) +\n      '<div class=\"summary-rate-table\">' +\n      '<div class=\"rate-head\">' +\n      \"<div>\u6700\u5b89\u6708\u984d<\/div>\" +\n      \"<div>\u5927\u5bb9\u91cf<\/div>\" +\n      \"<div>\u901a\u8a71\u8fbc\u307f<\/div>\" +\n      \"<\/div>\" +\n      '<div class=\"rate-row\">' +\n      renderRateCell(cheapest) +\n      renderRateCell(dataPlan) +\n      renderRateCell(voicePlan) +\n      \"<\/div>\" +\n      \"<\/div>\" +\n      \"<\/div>\"\n    );\n  }\n\n  function renderRateCell(plan) {\n    var priceText = safeText(plan && plan.price_text, \"\");\n    var capacityText = safeText(plan && plan.capacity_text, \"\");\n    var priceHtml = priceText && priceText !== UNKNOWN_LABEL ? \"<strong>\" + escapeHtml(priceText) + \"<\/strong>\" : \"\";\n    var capacityHtml = capacityText && capacityText !== UNKNOWN_LABEL ? \"<span>\" + escapeHtml(capacityText) + \"<\/span>\" : \"\";\n    return '<div class=\"rate-value\">' + priceHtml + capacityHtml + \"<\/div>\";\n  }\n\n  function renderLogoLarge(service) {\n    var name = escapeHtml(service.service_name);\n    var logoImage = safeText(service.logo_image, \"\");\n\n    if (logoImage && logoImage !== UNKNOWN_LABEL) {\n      return (\n        '<div class=\"summary-logo-large\">' +\n        '<img decoding=\"async\" src=\"' +\n        escapeHtml(logoImage) +\n        '\" alt=\"' +\n        name +\n        ' \u30ed\u30b4\" loading=\"lazy\">' +\n        \"<\/div>\"\n      );\n    }\n\n    return (\n      \"<!-- TODO: logo_image \u306b\u516c\u5f0f\u30ed\u30b4\u753b\u50cf\u30d1\u30b9\u3092\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044 -->\" +\n      '<div class=\"summary-logo-large\">' +\n      '<span class=\"summary-logo-placeholder\">' +\n      name +\n      \"<\/span>\" +\n      \"<\/div>\"\n    );\n  }\n\n  function renderSummaryBanner(service) {\n    var banner = safeText(service.campaign_banner_image, \"\");\n    var url = sanitizeUrl(service.cta.url);\n    var alt = escapeHtml(service.service_name) + \" \u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u30d0\u30ca\u30fc\";\n\n    if (banner && banner !== UNKNOWN_LABEL) {\n      return (\n        '<a class=\"summary-banner\" href=\"' +\n        escapeHtml(url) +\n        '\" target=\"_blank\" rel=\"sponsored noopener\">' +\n        '<img decoding=\"async\" src=\"' +\n        escapeHtml(banner) +\n        '\" alt=\"' +\n        alt +\n        '\" loading=\"lazy\">' +\n        \"<\/a>\"\n      );\n    }\n\n    return \"\";\n  }\n\n  function renderSummaryPoint(label, value) {\n    return (\n      \"<div>\" +\n      \"<dt>\" +\n      escapeHtml(label) +\n      \"<\/dt>\" +\n      \"<dd>\" +\n      escapeHtml(value) +\n      \"<\/dd>\" +\n      \"<\/div>\"\n    );\n  }\n\n  function renderPriceComparison(leftService, rightService) {\n    if (!dom.priceGrid) {\n      return;\n    }\n\n    dom.priceGrid.innerHTML = renderPriceCard(leftService, \"is-left\") + renderPriceCard(rightService, \"is-right\");\n  }\n\n  function renderPriceCard(service, sideClass) {\n    var rows = [\n      { key: \"low_capacity_5gb_or_less\", label: \"\u4f4e\u5bb9\u91cf\uff08\u301c5GB\uff09\" },\n      { key: \"mid_capacity_10_20gb\", label: \"\u4e2d\u5bb9\u91cf\uff0810\u301c20GB\uff09\" },\n      { key: \"large_capacity_30_35gb\", label: \"\u5927\u5bb9\u91cf\uff0830\u301c35GB\uff09\" },\n      { key: \"unlimited_or_practical_unlimited\", label: \"\u7121\u5236\u9650 \/ \u5b9f\u8cea\u4f7f\u3044\u653e\u984c\" },\n      { key: \"cheap_plan_with_call\", label: \"\u901a\u8a71\u8fbc\u307f\u3067\u5b89\u3044\u30d7\u30e9\u30f3\" }\n    ];\n\n    return (\n      '<article class=\"compare-price-card ' +\n      sideClass +\n      '\">' +\n      '<div class=\"compare-price-head\">' +\n      '<div>' +\n      '<div class=\"compare-price-name\">' +\n      escapeHtml(service.service_name) +\n      \"<\/div>\" +\n      '<p class=\"compare-price-network\">' +\n      escapeHtml(service.network) +\n      \"<\/p>\" +\n      \"<\/div>\" +\n      \"<\/div>\" +\n      rows\n        .map(function (row) {\n          return renderPriceRow(service, row.key, row.label, sideClass);\n        })\n        .join(\"\") +\n      '<p class=\"compare-price-note\">\u30ae\u30ac\u8d85\u904e\u6642\u306e\u901f\u5ea6: ' +\n      escapeHtml(service.speed_after_data_exhaustion.display_text) +\n      \"<\/p>\" +\n      '<p class=\"compare-price-note\">\u30c7\u30fc\u30bf\u8ffd\u52a0\u6599\u91d1: ' +\n      escapeHtml(service.data_add_on.display_text) +\n      \"<\/p>\" +\n      \"<\/article>\"\n    );\n  }\n\n  function renderPriceRow(service, key, label, sideClass) {\n    var item = service.price_range[key] || normalizeTextItem(null);\n    var badge = item.recommended_label !== UNKNOWN_LABEL ? '<span class=\"price-label-badge\">' + escapeHtml(item.recommended_label) + \"<\/span>\" : \"\";\n    var noteText = item.recommended_label !== UNKNOWN_LABEL ? item.recommended_label : \"\u6599\u91d1\u3084\u6761\u4ef6\u306f\u516c\u5f0f\u60c5\u5831\u3092\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\u3002\";\n\n    return (\n      '<div class=\"price-row\">' +\n      '<div class=\"price-label\">' +\n      escapeHtml(label) +\n      badge +\n      \"<\/div>\" +\n      '<div class=\"price-value\">' +\n      escapeHtml(item.display_text) +\n      \"<\/div>\" +\n      '<div class=\"price-note\">' +\n      escapeHtml(noteText) +\n      \"<\/div>\" +\n      \"<\/div>\"\n    );\n  }\n\n  function renderFeatureComparison(leftService, rightService) {\n    if (!dom.featureGrid) {\n      return;\n    }\n\n    var rows = [\n      { label: \"5G\", getValue: function (service) { return service.service_details.basic_features.five_g; } },\n      { label: \"eSIM\", getValue: function (service) { return service.service_details.basic_features.esim; } },\n      { label: \"\u30c6\u30b6\u30ea\u30f3\u30b0\", getValue: function (service) { return service.service_details.basic_features.tethering; } },\n      { label: \"\u30c7\u30fc\u30bf\u7e70\u308a\u8d8a\u3057\", getValue: function (service) { return service.service_details.basic_features.data_rollover; } },\n      { label: \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\", getValue: function (service) { return service.service_details.usability.store_support; } },\n      { label: \"\u96fb\u8a71\u30b5\u30dd\u30fc\u30c8\", getValue: function (service) { return service.service_details.usability.phone_support; } },\n      { label: \"\u30c1\u30e3\u30c3\u30c8\u30b5\u30dd\u30fc\u30c8\", getValue: function (service) { return service.service_details.usability.chat_support; } },\n      { label: \"MNP\u30ef\u30f3\u30b9\u30c8\u30c3\u30d7\", getValue: function (service) { return service.service_details.usability.mnp_one_stop; } },\n      { label: \"\u6d77\u5916\u5229\u7528\", getValue: function (service) { return service.service_details.unique_strengths.overseas_use; } },\n      { label: \"\u30c7\u30fc\u30bf\u30b7\u30a7\u30a2\", getValue: function (service) { return service.service_details.unique_strengths.data_share; } },\n      { label: \"\u30ab\u30a6\u30f3\u30c8\u30d5\u30ea\u30fc\", getValue: function (service) { return service.service_details.unique_strengths.count_free; } },\n      { label: \"\u30c8\u30c3\u30d4\u30f3\u30b0\", getValue: function (service) { return service.service_details.unique_strengths.topping; } }\n    ];\n\n    dom.featureGrid.innerHTML =\n      '<div class=\"compare-feature-panel\">' +\n      '<div class=\"compare-feature-table-wrap\">' +\n      '<table class=\"compare-feature-table\">' +\n      \"<caption>\u4e3b\u8981\u6a5f\u80fd\u3068\u30b5\u30dd\u30fc\u30c8\u4f53\u5236\u306e\u6bd4\u8f03<\/caption>\" +\n      \"<thead>\" +\n      \"<tr>\" +\n      '<th scope=\"col\">\u6bd4\u8f03\u9805\u76ee<\/th>' +\n      '<th scope=\"col\" class=\"compare-column-left\">' +\n      escapeHtml(leftService.service_name) +\n      \"<\/th>\" +\n      '<th scope=\"col\" class=\"compare-column-right\">' +\n      escapeHtml(rightService.service_name) +\n      \"<\/th>\" +\n      \"<\/tr>\" +\n      \"<\/thead>\" +\n      \"<tbody>\" +\n      rows\n        .map(function (row) {\n          return (\n            \"<tr>\" +\n            '<th scope=\"row\">' +\n            escapeHtml(row.label) +\n            \"<\/th>\" +\n            \"<td>\" +\n            renderFeatureValue(row.getValue(leftService)) +\n            \"<\/td>\" +\n            \"<td>\" +\n            renderFeatureValue(row.getValue(rightService)) +\n            \"<\/td>\" +\n            \"<\/tr>\"\n          );\n        })\n        .join(\"\") +\n      \"<\/tbody>\" +\n      \"<\/table>\" +\n      \"<\/div>\" +\n      \"<\/div>\";\n  }\n\n  function renderFeatureValue(value) {\n    var text = safeText(value);\n    var type = getFeatureBadgeType(text);\n\n    if (type === \"ok\") {\n      return '<span class=\"feature-badge feature-badge--ok\">\u25cb \u5bfe\u5fdc<\/span>';\n    }\n\n    if (type === \"ng\") {\n      return '<span class=\"feature-badge feature-badge--ng\">\u00d7 \u975e\u5bfe\u5fdc<\/span>';\n    }\n\n    if (type === \"partial\") {\n      return '<span class=\"feature-badge feature-badge--partial\">\u25b3 \u6761\u4ef6\u3042\u308a<\/span><span class=\"feature-detail\">' + escapeHtml(text) + \"<\/span>\";\n    }\n\n    if (text === UNKNOWN_LABEL) {\n      return '<span class=\"feature-badge feature-badge--unknown\">\u8981\u78ba\u8a8d<\/span>';\n    }\n\n    return '<span class=\"feature-detail\">' + escapeHtml(text) + \"<\/span>\";\n  }\n\n  function getFeatureBadgeType(text) {\n    if (text === \"\u5bfe\u5fdc\" || text === \"\u3042\u308a\") {\n      return \"ok\";\n    }\n\n    if (text === \"\u975e\u5bfe\u5fdc\" || text === \"\u306a\u3057\") {\n      return \"ng\";\n    }\n\n    if (text === \"\u6761\u4ef6\u3042\u308a\" || text === \"\u9650\u5b9a\u7684\" || text === \"\u5bfe\u5fdc\u56de\u7dda\u3042\u308a\") {\n      return \"partial\";\n    }\n\n    return \"text\";\n  }\n\n  function renderDetailTable(leftService, rightService) {\n    if (!dom.detailShell) {\n      return;\n    }\n\n    state.expandableCounter = 0;\n\n    var rows = [\n      { label: \"\u30b5\u30fc\u30d3\u30b9\u540d \/ \u30ed\u30b4\", left: renderServiceIdentity(leftService), right: renderServiceIdentity(rightService) },\n      { label: \"\u56de\u7dda\", left: renderParagraph(leftService.network), right: renderParagraph(rightService.network) },\n      { label: \"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\", left: renderCampaignCell(leftService), right: renderCampaignCell(rightService) },\n      { label: \"\u7aef\u672b\u540c\u6642\u8cfc\u5165\u5272\u5f15\", left: renderDiscountCell(leftService), right: renderDiscountCell(rightService) },\n      { label: \"\u521d\u671f\u8cbb\u7528\", left: renderInitialCostCell(leftService), right: renderInitialCostCell(rightService) },\n      { label: \"\u4f4e\u5bb9\u91cf\uff08\u301c5GB\uff09\", left: renderPriceCell(leftService, \"low_capacity_5gb_or_less\"), right: renderPriceCell(rightService, \"low_capacity_5gb_or_less\") },\n      { label: \"\u4e2d\u5bb9\u91cf\uff0810\u301c20GB\uff09\", left: renderPriceCell(leftService, \"mid_capacity_10_20gb\"), right: renderPriceCell(rightService, \"mid_capacity_10_20gb\") },\n      { label: \"\u5927\u5bb9\u91cf\uff0830\u301c35GB\uff09\", left: renderPriceCell(leftService, \"large_capacity_30_35gb\"), right: renderPriceCell(rightService, \"large_capacity_30_35gb\") },\n      { label: \"\u7121\u5236\u9650 \/ \u5b9f\u8cea\u4f7f\u3044\u653e\u984c\", left: renderPriceCell(leftService, \"unlimited_or_practical_unlimited\"), right: renderPriceCell(rightService, \"unlimited_or_practical_unlimited\") },\n      { label: \"\u901a\u8a71\u8fbc\u307f\u3067\u5b89\u3044\u30d7\u30e9\u30f3\", left: renderPriceCell(leftService, \"cheap_plan_with_call\"), right: renderPriceCell(rightService, \"cheap_plan_with_call\") },\n      { label: \"\u30ae\u30ac\u8d85\u904e\u6642\u306e\u901f\u5ea6\", left: renderParagraph(leftService.speed_after_data_exhaustion.display_text), right: renderParagraph(rightService.speed_after_data_exhaustion.display_text) },\n      { label: \"\u30c7\u30fc\u30bf\u8ffd\u52a0\u6599\u91d1\", left: renderParagraph(leftService.data_add_on.display_text), right: renderParagraph(rightService.data_add_on.display_text) },\n      { label: \"\u901a\u5e38\u901a\u8a71\u6599\u91d1\", left: renderParagraph(leftService.standard_call_rate.display_text), right: renderParagraph(rightService.standard_call_rate.display_text) },\n      { label: \"\u901a\u8a71\u30aa\u30d7\u30b7\u30e7\u30f3\", left: renderListCell(leftService.call_options.display_text, true), right: renderListCell(rightService.call_options.display_text, true) },\n      { label: \"\u57fa\u672c\u6a5f\u80fd\", left: renderDetailGroupCell(leftService.service_details.basic_features, [\n        { label: \"5G\", key: \"five_g\" },\n        { label: \"eSIM\", key: \"esim\" },\n        { label: \"\u30c6\u30b6\u30ea\u30f3\u30b0\", key: \"tethering\" },\n        { label: \"\u30c7\u30fc\u30bf\u7e70\u308a\u8d8a\u3057\", key: \"data_rollover\" }\n      ]), right: renderDetailGroupCell(rightService.service_details.basic_features, [\n        { label: \"5G\", key: \"five_g\" },\n        { label: \"eSIM\", key: \"esim\" },\n        { label: \"\u30c6\u30b6\u30ea\u30f3\u30b0\", key: \"tethering\" },\n        { label: \"\u30c7\u30fc\u30bf\u7e70\u308a\u8d8a\u3057\", key: \"data_rollover\" }\n      ]) },\n      { label: \"\u4f7f\u3044\u52dd\u624b\", left: renderDetailGroupCell(leftService.service_details.usability, [\n        { label: \"\u652f\u6255\u65b9\u6cd5\", key: \"payment_methods\" },\n        { label: \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\", key: \"store_support\" },\n        { label: \"\u96fb\u8a71\u30b5\u30dd\u30fc\u30c8\", key: \"phone_support\" },\n        { label: \"\u30c1\u30e3\u30c3\u30c8\u30b5\u30dd\u30fc\u30c8\", key: \"chat_support\" },\n        { label: \"MNP\u30ef\u30f3\u30b9\u30c8\u30c3\u30d7\", key: \"mnp_one_stop\" }\n      ]), right: renderDetailGroupCell(rightService.service_details.usability, [\n        { label: \"\u652f\u6255\u65b9\u6cd5\", key: \"payment_methods\" },\n        { label: \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\", key: \"store_support\" },\n        { label: \"\u96fb\u8a71\u30b5\u30dd\u30fc\u30c8\", key: \"phone_support\" },\n        { label: \"\u30c1\u30e3\u30c3\u30c8\u30b5\u30dd\u30fc\u30c8\", key: \"chat_support\" },\n        { label: \"MNP\u30ef\u30f3\u30b9\u30c8\u30c3\u30d7\", key: \"mnp_one_stop\" }\n      ]) },\n      { label: \"\u72ec\u81ea\u5f37\u307f\", left: renderDetailGroupCell(leftService.service_details.unique_strengths, [\n        { label: \"LINE\u30ae\u30ac\u30d5\u30ea\u30fc\", key: \"line_free\" },\n        { label: \"\u6d77\u5916\u5229\u7528\", key: \"overseas_use\" },\n        { label: \"\u7bc0\u7d04\u30e2\u30fc\u30c9\", key: \"saving_mode\" },\n        { label: \"\u30ab\u30a6\u30f3\u30c8\u30d5\u30ea\u30fc\", key: \"count_free\" },\n        { label: \"\u30c7\u30fc\u30bf\u30b7\u30a7\u30a2\", key: \"data_share\" },\n        { label: \"\u30c8\u30c3\u30d4\u30f3\u30b0\", key: \"topping\" }\n      ]), right: renderDetailGroupCell(rightService.service_details.unique_strengths, [\n        { label: \"LINE\u30ae\u30ac\u30d5\u30ea\u30fc\", key: \"line_free\" },\n        { label: \"\u6d77\u5916\u5229\u7528\", key: \"overseas_use\" },\n        { label: \"\u7bc0\u7d04\u30e2\u30fc\u30c9\", key: \"saving_mode\" },\n        { label: \"\u30ab\u30a6\u30f3\u30c8\u30d5\u30ea\u30fc\", key: \"count_free\" },\n        { label: \"\u30c7\u30fc\u30bf\u30b7\u30a7\u30a2\", key: \"data_share\" },\n        { label: \"\u30c8\u30c3\u30d4\u30f3\u30b0\", key: \"topping\" }\n      ]) },\n      { label: \"\u30b5\u30dd\u30fc\u30c8\u4f53\u5236\", left: renderDetailGroupCell(leftService.service_details.support_system, [\n        { label: \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\", key: \"store_support\" },\n        { label: \"\u96fb\u8a71\u30b5\u30dd\u30fc\u30c8\", key: \"phone_support\" },\n        { label: \"\u30c1\u30e3\u30c3\u30c8\u30b5\u30dd\u30fc\u30c8\", key: \"chat_support\" },\n        { label: \"\u521d\u671f\u8a2d\u5b9a\u30b5\u30dd\u30fc\u30c8\", key: \"setup_support\" },\n        { label: \"\u5bb6\u65cf\u5411\u3051 \/ \u30b7\u30cb\u30a2\u5411\u3051\u652f\u63f4\", key: \"family_senior_support\" }\n      ]), right: renderDetailGroupCell(rightService.service_details.support_system, [\n        { label: \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\", key: \"store_support\" },\n        { label: \"\u96fb\u8a71\u30b5\u30dd\u30fc\u30c8\", key: \"phone_support\" },\n        { label: \"\u30c1\u30e3\u30c3\u30c8\u30b5\u30dd\u30fc\u30c8\", key: \"chat_support\" },\n        { label: \"\u521d\u671f\u8a2d\u5b9a\u30b5\u30dd\u30fc\u30c8\", key: \"setup_support\" },\n        { label: \"\u5bb6\u65cf\u5411\u3051 \/ \u30b7\u30cb\u30a2\u5411\u3051\u652f\u63f4\", key: \"family_senior_support\" }\n      ]) },\n      { label: \"\u304a\u3059\u3059\u3081\u306a\u4eba\", left: renderListCell(leftService.recommended_for, true), right: renderListCell(rightService.recommended_for, true) },\n      { label: \"\u516c\u5f0f\u30b5\u30a4\u30c8\", left: renderTableCtaCell(leftService, \"is-left\"), right: renderTableCtaCell(rightService, \"is-right\") }\n    ];\n\n    dom.detailShell.innerHTML =\n      '<div class=\"compare-table-wrap\">' +\n      '<table class=\"compare-table\">' +\n      \"<caption>\u9078\u629e\u3057\u305f2\u793e\u306e\u8a73\u7d30\u6bd4\u8f03<\/caption>\" +\n      \"<thead>\" +\n      \"<tr>\" +\n      '<th scope=\"col\">\u6bd4\u8f03\u9805\u76ee<\/th>' +\n      '<th scope=\"col\" class=\"compare-column-left\">' +\n      escapeHtml(leftService.service_name) +\n      \"<\/th>\" +\n      '<th scope=\"col\" class=\"compare-column-right\">' +\n      escapeHtml(rightService.service_name) +\n      \"<\/th>\" +\n      \"<\/tr>\" +\n      \"<\/thead>\" +\n      \"<tbody>\" +\n      rows\n        .map(function (row) {\n          return (\n            \"<tr>\" +\n            '<th scope=\"row\">' +\n            escapeHtml(row.label) +\n            \"<\/th>\" +\n            '<td class=\"compare-cell is-left\" data-service=\"' +\n            escapeHtml(leftService.service_name) +\n            '\">' +\n            row.left +\n            \"<\/td>\" +\n            '<td class=\"compare-cell is-right\" data-service=\"' +\n            escapeHtml(rightService.service_name) +\n            '\">' +\n            row.right +\n            \"<\/td>\" +\n            \"<\/tr>\"\n          );\n        })\n        .join(\"\") +\n      \"<\/tbody>\" +\n      \"<\/table>\" +\n      \"<\/div>\";\n  }\n\n  function renderServiceIdentity(service) {\n    return (\n      '<div class=\"service-cell-head\">' +\n      renderLogo(service) +\n      \"<\/div>\"\n    );\n  }\n\n  function renderCampaignCell(service) {\n    var html =\n      \"<p>\" +\n      renderReadableText(service.campaign.display_text) +\n      \"<\/p>\" +\n      '<p class=\"compare-detail-meta\">\u203b\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u5185\u5bb9\u306f\u6642\u671f\u306b\u3088\u308a\u5909\u66f4\u3055\u308c\u307e\u3059\u3002<\/p>';\n    return maybeExpandable(html, service.campaign.display_text + \" \" + service.campaign.recommended_note);\n  }\n\n  function renderDiscountCell(service) {\n    var prefix = service.device_purchase_discount.has_discount ? \"\u5bfe\u8c61\u7aef\u672b\u306e\u5272\u5f15\u3042\u308a\u3002\" : \"\u7aef\u672b\u540c\u6642\u8cfc\u5165\u5272\u5f15\u306f\u539f\u5247\u306a\u3057\u3002\";\n    return renderParagraph(prefix + \" \" + service.device_purchase_discount.display_text);\n  }\n\n  function renderInitialCostCell(service) {\n    var items = [\n      \"\u8868\u793a: \" + service.initial_cost.display_text,\n      \"\u5951\u7d04\u4e8b\u52d9\u624b\u6570\u6599: \" + service.initial_cost.contract_fee,\n      \"SIM\/eSIM\u95a2\u9023: \" + service.initial_cost.sim_fee\n    ];\n    return renderListCell(items, false);\n  }\n\n  function renderPriceCell(service, key) {\n    var item = service.price_range[key] || normalizeTextItem(null);\n    var parts = [\n      \"<p>\" + renderReadableText(item.display_text) + \"<\/p>\"\n    ];\n\n    if (item.recommended_label !== UNKNOWN_LABEL) {\n      parts.push('<p class=\"compare-detail-meta\">\u6ce8\u76ee\u30dd\u30a4\u30f3\u30c8: ' + renderReadableText(item.recommended_label) + \"<\/p>\");\n    }\n\n    return parts.join(\"\");\n  }\n\n  function renderDetailGroupCell(group, items) {\n    var listHtml =\n      '<ul class=\"compare-inline-list\">' +\n      items\n        .map(function (item) {\n          return (\n            \"<li><strong>\" +\n            escapeHtml(item.label) +\n            \":<\/strong> \" +\n            renderReadableText(group[item.key]) +\n            \"<\/li>\"\n          );\n        })\n        .join(\"\") +\n      \"<\/ul>\";\n\n    var content = \"<p>\" + renderReadableText(group.display_text) + \"<\/p>\" + listHtml;\n    return maybeExpandable(content, group.display_text + \" \" + items.map(function (item) { return group[item.key]; }).join(\" \"));\n  }\n\n  function renderParagraph(text) {\n    return \"<p>\" + renderReadableText(text) + \"<\/p>\";\n  }\n\n  function renderListCell(list, collapsible) {\n    var items = normalizeArray(list);\n    var listHtml =\n      \"<ul>\" +\n      items\n        .map(function (item) {\n          return \"<li>\" + renderReadableText(item) + \"<\/li>\";\n        })\n        .join(\"\") +\n      \"<\/ul>\";\n\n    if (collapsible) {\n      return maybeExpandable(listHtml, items.join(\" \"));\n    }\n\n    return listHtml;\n  }\n\n  function renderReadableText(text) {\n    return escapeHtml(safeText(text))\n      .replace(\/\u3002(?=.)\/g, \"\u3002<br>\")\n      .replace(\/\u3001\/g, \"\u3001<wbr>\")\n      .replace(\/\u3002<br>$\/g, \"\u3002\");\n  }\n\n  function maybeExpandable(html) {\n    return html;\n  }\n\n  function shouldCollapse(text) {\n    var normalized = safeText(text, \"\");\n    return normalized.replace(\/\\s+\/g, \"\").length > 88;\n  }\n\n  function renderTableCtaCell(service, sideClass) {\n    return (\n      '<div class=\"compare-table-cta\">' +\n      '<div class=\"compare-table-cta__name\">' +\n      escapeHtml(service.service_name) +\n      \"<\/div>\" +\n      '<p class=\"compare-table-cta__copy\">' +\n      renderReadableText(service.cta.microcopy) +\n      \"<\/p>\" +\n      renderCtaBlock(service, sideClass) +\n      \"<\/div>\"\n    );\n  }\n\n  function renderFinalCta(leftService, rightService) {\n    if (!dom.finalCtaGrid) {\n      return;\n    }\n\n    dom.finalCtaGrid.innerHTML =\n      renderFinalCtaCard(leftService, \"is-left\") + renderFinalCtaCard(rightService, \"is-right\");\n  }\n\n  function renderFinalCtaCard(service, sideClass) {\n    return (\n      '<article class=\"compare-final-cta-card ' +\n      sideClass +\n      '\">' +\n      '<div class=\"compare-final-cta-head\">' +\n      '<div>' +\n      '<div class=\"compare-final-cta-name\">' +\n      escapeHtml(service.service_name) +\n      \"<\/div>\" +\n      '<p class=\"compare-final-cta-note\">' +\n      escapeHtml(service.network) +\n      \"<\/p>\" +\n      \"<\/div>\" +\n      \"<\/div>\" +\n      '<div class=\"compare-final-cta-copy\">' +\n      \"<p>\" +\n      escapeHtml(service.cta.microcopy) +\n      \"<\/p>\" +\n      \"<\/div>\" +\n      '<div class=\"compare-final-cta-copy\">' +\n      \"<p>\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3084\u7aef\u672b\u5272\u5f15\u306e\u6761\u4ef6\u306f\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u6700\u7d42\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\" +\n      \"<\/div>\" +\n      renderCtaBlock(service, sideClass) +\n      \"<\/article>\"\n    );\n  }\n\n  function renderFaqSection() {\n    return;\n  }\n\n  function renderComparison(leftSlug, rightSlug, options) {\n    var config = options || {};\n    var leftService = getServiceBySlug(leftSlug);\n    var rightService = getServiceBySlug(rightSlug);\n\n    if (!leftService || !rightService) {\n      renderUnavailableState(\"\u6bd4\u8f03\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u30c7\u30fc\u30bf\u69cb\u9020\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\");\n      return false;\n    }\n\n    if (leftSlug === rightSlug) {\n      showErrorMessage(\"\u5225\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\");\n      syncSelectorValues(state.currentLeft, state.currentRight);\n      return false;\n    }\n\n    hideErrorMessage();\n    state.currentLeft = leftSlug;\n    state.currentRight = rightSlug;\n    syncSelectorValues(leftSlug, rightSlug);\n\n    renderSummaryCards(leftService, rightService);\n    renderPriceComparison(leftService, rightService);\n    renderFeatureComparison(leftService, rightService);\n    renderDetailTable(leftService, rightService);\n    renderFinalCta(leftService, rightService);\n    renderPresetButtons();\n    renderFaqSection();\n    updateStatusMessage(buildStatusMessage(leftService, rightService, config.message || state.pendingMessage));\n    state.pendingMessage = \"\";\n\n    if (!config.skipUrl) {\n      updateUrlParams(leftSlug, rightSlug, Boolean(config.replaceUrl));\n    }\n\n    return true;\n  }\n\n  function renderUnavailableState(message) {\n    var html = '<div class=\"compare-empty-state\"><p>' + escapeHtml(message) + \"<\/p><\/div>\";\n\n    if (dom.summaryGrid) {\n      dom.summaryGrid.innerHTML = html;\n    }\n    if (dom.priceGrid) {\n      dom.priceGrid.innerHTML = html;\n    }\n    if (dom.featureGrid) {\n      dom.featureGrid.innerHTML = html;\n    }\n    if (dom.detailShell) {\n      dom.detailShell.innerHTML = html;\n    }\n    if (dom.finalCtaGrid) {\n      dom.finalCtaGrid.innerHTML = html;\n    }\n\n    updateStatusMessage(message);\n  }\n\n  function renderLogo(service) {\n    var name = escapeHtml(service.service_name);\n    var logoImage = safeText(service.logo_image, \"\");\n\n    if (logoImage && logoImage !== UNKNOWN_LABEL) {\n      return (\n        '<div class=\"service-summary-logo\">' +\n        '<img decoding=\"async\" src=\"' +\n        escapeHtml(logoImage) +\n        '\" alt=\"' +\n        name +\n        ' \u30ed\u30b4\" loading=\"lazy\">' +\n        \"<\/div>\"\n      );\n    }\n\n    return (\n      \"<!-- TODO: logo_image \u306b\u516c\u5f0f\u30ed\u30b4\u753b\u50cf\u30d1\u30b9\u3092\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044 -->\" +\n      '<div class=\"service-summary-logo\">' +\n      '<span class=\"service-summary-logo-text\">' +\n      name +\n      \"<\/span>\" +\n      \"<\/div>\"\n    );\n  }\n\n  function renderCtaBlock(service, sideClass) {\n    var url = sanitizeUrl(service.cta.url);\n    var comment = url === \"#\" ? \"<!-- TODO: CTA\u30ea\u30f3\u30af\u3092\u516c\u5f0fURL\u307e\u305f\u306f\u30a2\u30d5\u30a3\u30ea\u30a8\u30a4\u30c8URL\u306b\u5dee\u3057\u66ff\u3048\u3066\u304f\u3060\u3055\u3044 -->\" : \"\";\n\n    return (\n      comment +\n      '<a class=\"compare-cta ' +\n      sideClass +\n      '\" href=\"' +\n      escapeHtml(url) +\n      '\" target=\"_blank\" rel=\"sponsored noopener\">' +\n      escapeHtml(service.cta.button_text) +\n      \"<\/a>\"\n    );\n  }\n\n  function getPriceLabel(service, key) {\n    var item = service.price_range[key] || normalizeTextItem(null);\n    return item.recommended_label !== UNKNOWN_LABEL ? item.recommended_label : item.display_text;\n  }\n\n  function buildStatusMessage(leftService, rightService, extraMessage) {\n    var messages = [];\n\n    if (extraMessage) {\n      messages.push(extraMessage);\n    }\n\n    if (leftService.logo_image === \"\" || rightService.logo_image === \"\") {\n      messages.push(\"\u30ed\u30b4\u753b\u50cf\u304c\u672a\u8a2d\u5b9a\u306e\u305f\u3081\u3001\u30b5\u30fc\u30d3\u30b9\u540d\u3092\u30ed\u30b4\u98a8\u306b\u8868\u793a\u3057\u3066\u3044\u307e\u3059\u3002\");\n    }\n\n    if (leftService.cta.url === \"#\" || rightService.cta.url === \"#\") {\n      messages.push(\"CTA\u30ea\u30f3\u30af\u304c\u672a\u8a2d\u5b9a\u306e\u305f\u3081\u3001\u4eee\u30ea\u30f3\u30af (#) \u3092\u8868\u793a\u3057\u3066\u3044\u307e\u3059\u3002\");\n    }\n\n    return messages.join(\" \");\n  }\n\n  function syncSelectorValues(leftSlug, rightSlug) {\n    if (dom.leftSelect) {\n      dom.leftSelect.value = leftSlug;\n    }\n\n    if (dom.rightSelect) {\n      dom.rightSelect.value = rightSlug;\n    }\n  }\n\n  function showErrorMessage(message) {\n    if (!dom.selectionError) {\n      return;\n    }\n\n    dom.selectionError.textContent = message;\n    dom.selectionError.hidden = false;\n  }\n\n  function hideErrorMessage() {\n    if (!dom.selectionError) {\n      return;\n    }\n\n    dom.selectionError.hidden = true;\n  }\n\n  function updateStatusMessage(message) {\n    if (!dom.statusMessage) {\n      return;\n    }\n\n    var text = safeText(message, \"\");\n\n    if (!text) {\n      dom.statusMessage.hidden = true;\n      dom.statusMessage.textContent = \"\";\n      return;\n    }\n\n    dom.statusMessage.hidden = false;\n    dom.statusMessage.textContent = text;\n  }\n\n  function bindEvents() {\n    if (!dom.leftSelect || !dom.rightSelect) {\n      return;\n    }\n\n    dom.leftSelect.addEventListener(\"change\", handleSelectionChange);\n    dom.rightSelect.addEventListener(\"change\", handleSelectionChange);\n\n    if (dom.resetButton) {\n      dom.resetButton.addEventListener(\"click\", function () {\n        renderComparison(DEFAULT_SELECTION.left, DEFAULT_SELECTION.right);\n      });\n    }\n\n    if (dom.presetList) {\n      dom.presetList.addEventListener(\"click\", function (event) {\n        var target = event.target.closest(\".compare-preset-button\");\n        if (!target) {\n          return;\n        }\n\n        renderComparison(target.getAttribute(\"data-left\"), target.getAttribute(\"data-right\"));\n      });\n    }\n\n    dom.root.addEventListener(\"click\", function (event) {\n      var toggle = event.target.closest(\".compare-expand-toggle\");\n      if (!toggle) {\n        return;\n      }\n\n      var wrapper = toggle.closest(\".compare-expandable\");\n      if (!wrapper) {\n        return;\n      }\n\n      var expanded = wrapper.classList.toggle(\"is-expanded\");\n      toggle.setAttribute(\"aria-expanded\", expanded ? \"true\" : \"false\");\n      toggle.textContent = expanded ? \"\u9589\u3058\u308b\" : \"\u3082\u3063\u3068\u898b\u308b\";\n    });\n\n    dom.root.addEventListener(\"toggle\", function (event) {\n      var faqItem = event.target;\n      if (!faqItem || !faqItem.matches || !faqItem.matches(\".compare-faq-item\") || !faqItem.open) {\n        return;\n      }\n\n      window.setTimeout(function () {\n        faqItem.scrollIntoView({\n          behavior: \"smooth\",\n          block: \"nearest\"\n        });\n      }, 25);\n    }, true);\n\n    window.addEventListener(\"popstate\", function () {\n      var selection = getInitialSelectionFromUrl();\n      var message = selection.invalid ? \"URL\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u4e0d\u6b63\u306a\u305f\u3081\u3001\u521d\u671f\u6bd4\u8f03\u306b\u623b\u3057\u307e\u3057\u305f\u3002\" : \"\";\n      renderComparison(selection.left, selection.right, {\n        skipUrl: true,\n        message: message\n      });\n    });\n  }\n\n  function handleSelectionChange() {\n    var left = dom.leftSelect.value;\n    var right = dom.rightSelect.value;\n    renderComparison(left, right);\n  }\n\n  function cacheDom() {\n    dom.root = document.getElementById(ROOT_ID);\n    dom.leftSelect = document.getElementById(\"compare-left-service\");\n    dom.rightSelect = document.getElementById(\"compare-right-service\");\n    dom.swapButton = document.getElementById(\"compare-swap-button\");\n    dom.resetButton = document.getElementById(\"compare-reset-button\");\n    dom.selectionError = document.getElementById(\"compare-selection-error\");\n    dom.statusMessage = document.getElementById(\"compare-status-message\");\n    dom.presetList = document.getElementById(\"compare-preset-list\");\n    dom.summaryGrid = document.getElementById(\"compare-summary-grid\");\n    dom.priceGrid = document.getElementById(\"compare-price-grid\");\n    dom.featureGrid = document.getElementById(\"compare-feature-grid\");\n    dom.detailShell = document.getElementById(\"compare-detail-shell\");\n    dom.finalCtaGrid = document.getElementById(\"compare-final-cta-grid\");\n  }\n\n  function initSimCompare() {\n    cacheDom();\n\n    if (!dom.root || state.initialized) {\n      return;\n    }\n\n    state.initialized = true;\n    syncStaticCopy();\n\n    if (!state.services.length) {\n      renderUnavailableState(\"\u6bd4\u8f03\u30c7\u30fc\u30bf\u304c\u7a7a\u3067\u3059\u3002SERVICES \u5b9a\u6570\u306e\u5185\u5bb9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\");\n      return;\n    }\n\n    var selection = getInitialSelectionFromUrl();\n    state.currentLeft = selection.left;\n    state.currentRight = selection.right;\n    state.pendingMessage = selection.invalid ? \"URL\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u4e0d\u6b63\u306a\u305f\u3081\u3001\u521d\u671f\u6bd4\u8f03\u306b\u623b\u3057\u307e\u3057\u305f\u3002\" : \"\";\n\n    renderServiceOptions();\n    renderPresetButtons();\n    bindEvents();\n    renderComparison(selection.left, selection.right, {\n      replaceUrl: true\n    });\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initSimCompare);\n  } else {\n    initSimCompare();\n  }\n})();\n\n\/* ===== SIM DIAGNOSIS JS START ===== *\/\n(function () {\n  \"use strict\";\n\n  var ROOT_SELECTOR = \"[data-sim-diagnosis]\";\n  var PR_NOTE =\n    \"\u672c\u8a3a\u65ad\u306f\u3001\u6599\u91d1\u30fb\u30c7\u30fc\u30bf\u5bb9\u91cf\u30fb\u901a\u8a71\u30fb\u30b5\u30dd\u30fc\u30c8\u30fb\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u60c5\u5831\u306a\u3069\u3092\u3082\u3068\u306b\u3001\u304a\u3059\u3059\u3081\u5019\u88dc\u3092\u8868\u793a\u3057\u3066\u3044\u307e\u3059\u3002\u63b2\u8f09\u30b5\u30fc\u30d3\u30b9\u306b\u306fPR\u3092\u542b\u3080\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u5185\u5bb9\u30fb\u9069\u7528\u6761\u4ef6\u306f\u5909\u66f4\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308b\u305f\u3081\u3001\u7533\u3057\u8fbc\u307f\u524d\u306b\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u6700\u65b0\u60c5\u5831\u3092\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\u3002\";\n\n  var SERVICE_ORDER = [\n    \"uq\",\n    \"ahamo\",\n    \"povo\",\n    \"ymobile\",\n    \"linemo\",\n    \"rakuten\",\n    \"iijmio\",\n    \"mineo\",\n    \"nihonTsushin\",\n    \"aeonMobile\",\n    \"jcomMobile\",\n    \"nuroMobile\"\n  ];\n\n  var RESULT_SERVICE_IDS = [\"uq\", \"rakuten\", \"ahamo\", \"ymobile\"];\n  var COMPARISON_CANDIDATE_MAP = {\n    uq: \"ymobile\",\n    ymobile: \"uq\",\n    rakuten: \"ahamo\",\n    ahamo: \"rakuten\"\n  };\n\n  var SERVICES = {\n    uq: {\n      service_id: \"uq\",\n      service_name: \"UQ\u30e2\u30d0\u30a4\u30eb\",\n      display_name: \"UQ\u30e2\u30d0\u30a4\u30eb\",\n      result_display_enabled: true,\n      cta_enabled: true,\n      business_weight: 40,\n      official_url: \"https:\/\/www.uqwimax.jp\/mobile\/\",\n      campaign_url: \"https:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=3689760&pid=890286589\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/1d9c3b8f857bb9fed35a136b05abf12b.webp\",\n      campaign_banner_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/c5db52c4c1f15896e6d9ae4836362b27.webp\",\n      brand_color: \"#10a56c\",\n      accent_color: \"#1e73d8\",\n      feature_tags: [\"5GB\u4ee5\u4e0b\", \"5\u301c35GB\", \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\", \"au\u7cfb\u5272\u5f15\", \"Ponta\", \"\u5bb6\u65cf\u5229\u7528\", \"\u901a\u8a71\u8fbc\u307f\", \"\u30d0\u30e9\u30f3\u30b9\", \"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\"],\n      fact_summary: \"5GB\u307e\u3067\/30GB\u307e\u3067\u306e\u6bb5\u968e\u578b\u30d7\u30e9\u30f3\u3068\u300135GB\uff0b10\u5206\u56fd\u5185\u901a\u8a71\u8fbc\u307f\u306e\u30b3\u30df\u30b3\u30df\u30d7\u30e9\u30f3\u30d0\u30ea\u30e5\u30fc\u3092\u9078\u3079\u307e\u3059\u3002\",\n      result_title: \"\u3042\u306a\u305f\u306b\u304a\u3059\u3059\u3081\u306a\u306e\u306f\u300cUQ\u30e2\u30d0\u30a4\u30eb\u300d\",\n      type_name: \"\u5b89\u5fc3\u30d0\u30e9\u30f3\u30b9\u91cd\u8996\u30bf\u30a4\u30d7\",\n      reasons: [\n        \"\u6bce\u6708\u306e\u30c7\u30fc\u30bf\u91cf\u304c5\u301c35GB\u524d\u5f8c\u3067\u3001\u6599\u91d1\u3068\u4f7f\u3044\u3084\u3059\u3055\u306e\u30d0\u30e9\u30f3\u30b9\u3092\u91cd\u8996\u3057\u3066\u3044\u308b\u305f\u3081\",\n        \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u3084\u5bb6\u65cf\u5229\u7528\u3001au\u7cfb\u30b5\u30fc\u30d3\u30b9\u3068\u306e\u30bb\u30c3\u30c8\u5272\u3068\u306e\u76f8\u6027\u304c\u3088\u3044\u305f\u3081\",\n        \"\u77ed\u6642\u9593\u306e\u901a\u8a71\u3084\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3082\u542b\u3081\u3066\u3001\u7dcf\u5408\u7684\u306b\u6bd4\u8f03\u3057\u305f\u3044\u4eba\u306b\u5411\u3044\u3066\u3044\u308b\u305f\u3081\"\n      ],\n      campaign_text:\n        \"\u30b9\u30da\u30b7\u30e3\u30eb\u30af\u30fc\u30dd\u30f3\u7d4c\u7531\u306eSIM\/eSIM\u306e\u307f\u4e57\u308a\u63db\u3048\u3067\u3001\u6761\u4ef6\u3092\u6e80\u305f\u3059\u3068au PAY\u6b8b\u9ad8\u9084\u5143\u3092\u53d7\u3051\u3089\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\",\n      campaign_items: [\n        {\n          title: \"\u30b9\u30da\u30b7\u30e3\u30eb\u30af\u30fc\u30dd\u30f3\",\n          benefit: \"\u6700\u592720,000\u5186\u76f8\u5f53\u306eau PAY\u6b8b\u9ad8\u9084\u5143\u30022,000\u5186\u76f8\u5f53\u3092\u6700\u592710\u30ab\u6708\u9593\u53d7\u3051\u53d6\u308c\u308b\u7279\u5178\u3067\u3059\u3002\",\n          condition: \"\u5c02\u7528\u30ea\u30f3\u30af\u7d4c\u7531\u3067\u3001au\u30fbpovo\u4ee5\u5916\u304b\u3089MNP\u3002SIM\u30ab\u30fc\u30c9\u306e\u307f\/eSIM\u306e\u307f\u5951\u7d04\u3067\u3001\u30b3\u30df\u30b3\u30df\u30d7\u30e9\u30f3\u30d0\u30ea\u30e5\u30fc\u307e\u305f\u306f\u30c8\u30af\u30c8\u30af\u30d7\u30e9\u30f32\u3092\u5951\u7d04\u3057\u3001\u5897\u91cf\u30aa\u30d7\u30b7\u30e7\u30f3II\u306b\u52a0\u5165\u3002\u7533\u8fbc\u6642\u306b\u30af\u30fc\u30dd\u30f3\u30b3\u30fc\u30c9\u300c3MP062\u300d\u306e\u5165\u529b\u304c\u5fc5\u8981\u3067\u3059\u3002\",\n          url: \"https:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=3689760&pid=890286589\"\n        }\n      ],\n      cta_text: \"UQ\u30e2\u30d0\u30a4\u30eb\u306e\u6700\u65b0\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3092\u78ba\u8a8d\u3059\u308b\",\n      cta_microcopy: \"au\u7cfb\u30b5\u30fc\u30d3\u30b9\u3092\u4f7f\u3063\u3066\u3044\u308b\u65b9\u306f\u3001\u5272\u5f15\u6761\u4ef6\u3082\u3042\u308f\u305b\u3066\u30c1\u30a7\u30c3\u30af\u3002\",\n      candidate_reason: \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u3001au\u7cfb\u5272\u5f15\u30015\u301c35GB\u524d\u5f8c\u306e\u30d0\u30e9\u30f3\u30b9\u3092\u91cd\u8996\u3059\u308b\u4eba\u306b\u304a\u3059\u3059\u3081\u3067\u3059\u3002\",\n      comparisons: [\n        \"\u30c7\u30fc\u30bf\u7121\u5236\u9650\u3067\u4f7f\u3044\u305f\u3044\u4eba\u306f\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u3082\u304a\u3059\u3059\u3081\",\n        \"\u6d77\u5916\u5229\u7528\u308430GB\u306e\u30b7\u30f3\u30d7\u30eb\u30d7\u30e9\u30f3\u91cd\u8996\u306a\u3089ahamo\u3082\u304a\u3059\u3059\u3081\",\n        \"SoftBank\u5149\u30fbPayPay\u30ab\u30fc\u30c9\u5229\u7528\u4e2d\u306a\u3089\u30ef\u30a4\u30e2\u30d0\u30a4\u30eb\u3082\u304a\u3059\u3059\u3081\"\n      ]\n    },\n    rakuten: {\n      service_id: \"rakuten\",\n      service_name: \"\u697d\u5929\u30e2\u30d0\u30a4\u30eb\",\n      display_name: \"\u697d\u5929\u30e2\u30d0\u30a4\u30eb\",\n      result_display_enabled: true,\n      cta_enabled: true,\n      business_weight: 20,\n      official_url: \"https:\/\/network.mobile.rakuten.co.jp\/\",\n      campaign_url: \"https:\/\/ad2.trafficgate.net\/t\/r\/63\/4401\/315664_394345\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/4208a5561d944a7f301c0c85c9ac00a2.webp\",\n      campaign_banner_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/314cba1898501d9c367f3639a727b7fd.webp\",\n      brand_color: \"#bf0000\",\n      accent_color: \"#f2b84b\",\n      feature_tags: [\"\u7121\u5236\u9650\", \"\u6bb5\u968e\u5236\u6599\u91d1\", \"\u697d\u5929\u30dd\u30a4\u30f3\u30c8\", \"\u697d\u5929\u7d4c\u6e08\u570f\", \"\u5927\u5bb9\u91cf\", \"\u30dd\u30a4\u30f3\u30c8\u9084\u5143\", \"\u901a\u8a71\u30a2\u30d7\u30ea\"],\n      fact_summary: \"Rakuten\u6700\u5f37\u30d7\u30e9\u30f3\u306f3GB\u307e\u3067\u300120GB\u307e\u3067\u300120GB\u8d85\u904e\u5f8c\u306e\u6bb5\u968e\u5236\u3067\u3001\u30c7\u30fc\u30bf\u3092\u591a\u304f\u4f7f\u3046\u6708\u306b\u3082\u5bfe\u5fdc\u3057\u3084\u3059\u3044\u8a2d\u8a08\u3067\u3059\u3002\",\n      result_title: \"\u3042\u306a\u305f\u306b\u304a\u3059\u3059\u3081\u306a\u306e\u306f\u300c\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u300d\",\n      type_name: \"\u30c7\u30fc\u30bf\u305f\u3063\u3077\u308a\u30fb\u697d\u5929\u7d4c\u6e08\u570f\u30bf\u30a4\u30d7\",\n      reasons: [\n        \"\u6708\u306b\u3088\u3063\u3066\u30c7\u30fc\u30bf\u4f7f\u7528\u91cf\u304c\u5909\u308f\u308b\u3001\u307e\u305f\u306f\u30c7\u30fc\u30bf\u7121\u5236\u9650\u306b\u8fd1\u3044\u4f7f\u3044\u65b9\u3092\u3057\u3066\u3044\u308b\u305f\u3081\",\n        \"\u697d\u5929\u30ab\u30fc\u30c9\u30fb\u697d\u5929\u5e02\u5834\u30fb\u697d\u5929\u30dd\u30a4\u30f3\u30c8\u3068\u306e\u76f8\u6027\u3092\u91cd\u8996\u3057\u3066\u3044\u308b\u305f\u3081\",\n        \"\u30dd\u30a4\u30f3\u30c8\u9084\u5143\u3084\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3092\u6d3b\u7528\u3057\u305f\u3044\u4eba\u306b\u5411\u3044\u3066\u3044\u308b\u305f\u3081\"\n      ],\n      campaign_text:\n        \"\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u30b7\u30e7\u30c3\u30d7\u9650\u5b9a\u306e\u4e57\u308a\u63db\u3048\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3067\u3001\u6761\u4ef6\u3092\u6e80\u305f\u3059\u3068\u697d\u5929\u30dd\u30a4\u30f3\u30c8\u9084\u5143\u3092\u53d7\u3051\u3089\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\",\n      campaign_items: [\n        {\n          title: \"\u697d\u5929\u30e2\u30d0\u30a4\u30eb \u4e57\u308a\u63db\u3048\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\",\n          benefit: \"\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u30b7\u30e7\u30c3\u30d7\u3067\u521d\u3081\u3066\u7533\u3057\u8fbc\u307f\u3001\u4ed6\u793e\u304b\u3089\u96fb\u8a71\u756a\u53f7\u305d\u306e\u307e\u307e\u4e57\u308a\u63db\u3048\u3001\u697d\u5929\u5e02\u5834\u3067\u306e\u8cb7\u3044\u7269\u306a\u3069\u306e\u6761\u4ef6\u9054\u6210\u3067\u6700\u592714,000\u30dd\u30a4\u30f3\u30c8\u3002\",\n          condition: \"\u30d7\u30e9\u30f3\u7533\u3057\u8fbc\u307f\u524d\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3001\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u30b7\u30e7\u30c3\u30d7\u3067\u306e\u7533\u3057\u8fbc\u307f\u3001\u30af\u30fc\u30dd\u30f3\u30b3\u30fc\u30c9\u5165\u529b\u3001\u30d7\u30e9\u30f3\u5229\u7528\u958b\u59cb\u3001Rakuten Link\u5229\u7528\u3001\u697d\u5929\u5e02\u5834\u30671\u6ce8\u65871,000\u5186\u4ee5\u4e0a\u306e\u8cb7\u3044\u7269\u306a\u3069\u304c\u6761\u4ef6\u3067\u3059\u3002\",\n          url: \"https:\/\/ad2.trafficgate.net\/t\/r\/63\/4401\/315664_394345\"\n        }\n      ],\n      cta_text: \"\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u306e\u30dd\u30a4\u30f3\u30c8\u7279\u5178\u3092\u78ba\u8a8d\u3059\u308b\",\n      cta_microcopy: \"\u697d\u5929\u30dd\u30a4\u30f3\u30c8\u3092\u8caf\u3081\u305f\u3044\u65b9\u306f\u3001\u5bfe\u8c61\u6761\u4ef6\u3092\u5148\u306b\u30c1\u30a7\u30c3\u30af\u3002\",\n      candidate_reason: \"\u30c7\u30fc\u30bf\u4f7f\u7528\u91cf\u304c\u6708\u306b\u3088\u3063\u3066\u5909\u308f\u308b\u4eba\u300120GB\u8d85\u904e\u5f8c\u3082\u305f\u3063\u3077\u308a\u4f7f\u3044\u305f\u3044\u4eba\u306b\u304a\u3059\u3059\u3081\u3067\u3059\u3002\",\n      comparisons: [\n        \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u3084\u901a\u4fe1\u306e\u5b89\u5fc3\u611f\u3092\u91cd\u8996\u3059\u308b\u4eba\u306fUQ\u30e2\u30d0\u30a4\u30eb\u3082\u304a\u3059\u3059\u3081\",\n        \"\u6d77\u5916\u5229\u7528\u30845\u5206\u4ee5\u5185\u901a\u8a71\u8fbc\u307f\u3092\u91cd\u8996\u3059\u308b\u4eba\u306fahamo\u3082\u304a\u3059\u3059\u3081\",\n        \"\u5bb6\u65cf\u5272\u3084PayPay\u7cfb\u30b5\u30fc\u30d3\u30b9\u3092\u4f7f\u3046\u4eba\u306f\u30ef\u30a4\u30e2\u30d0\u30a4\u30eb\u3082\u304a\u3059\u3059\u3081\"\n      ]\n    },\n    ahamo: {\n      service_id: \"ahamo\",\n      service_name: \"ahamo\",\n      display_name: \"ahamo\",\n      result_display_enabled: true,\n      cta_enabled: true,\n      business_weight: 20,\n      official_url: \"https:\/\/ahamo.com\/\",\n      campaign_url: \"https:\/\/tr.affiliate-sp.docomo.ne.jp\/cl\/d0000001629\/3273\/790\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/73275dad8c2f98cd5113f55b742e3f14.webp\",\n      campaign_banner_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/ahamo.webp\",\n      brand_color: \"#2a2a2a\",\n      accent_color: \"#e73562\",\n      feature_tags: [\"30GB\", \"\u5927\u5bb9\u91cf\", \"5\u5206\u901a\u8a71\", \"\u6d77\u5916\u5229\u7528\", \"\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\", \"\u30b7\u30f3\u30d7\u30eb\"],\n      fact_summary: \"30GB\u30015\u5206\u4ee5\u5185\u306e\u56fd\u5185\u901a\u8a71\u7121\u6599\u3001\u6d77\u591691\u306e\u56fd\u3068\u5730\u57df\u3067\u306e\u30c7\u30fc\u30bf\u901a\u4fe1\u304c\u57fa\u672c\u6599\u91d1\u5185\u306b\u307e\u3068\u307e\u3063\u3066\u3044\u307e\u3059\u3002\",\n      result_title: \"\u3042\u306a\u305f\u306b\u304a\u3059\u3059\u3081\u306a\u306e\u306f\u300cahamo\u300d\",\n      type_name: \"\u30b7\u30f3\u30d7\u30eb\u5927\u5bb9\u91cf\u30fb\u6d77\u5916\u5229\u7528\u30bf\u30a4\u30d7\",\n      reasons: [\n        \"30GB\u524d\u5f8c\u306e\u30c7\u30fc\u30bf\u5bb9\u91cf\u3092\u30b7\u30f3\u30d7\u30eb\u306b\u4f7f\u3044\u305f\u3044\u4eba\u306b\u5408\u3063\u3066\u3044\u308b\u305f\u3081\",\n        \"5\u5206\u4ee5\u5185\u306e\u56fd\u5185\u901a\u8a71\u3084\u6d77\u5916\u5229\u7528\u3092\u91cd\u8996\u3057\u3066\u3044\u308b\u305f\u3081\",\n        \"\u30aa\u30f3\u30e9\u30a4\u30f3\u3067\u624b\u7d9a\u304d\u3092\u5b8c\u7d50\u3057\u305f\u3044\u4eba\u306b\u5411\u3044\u3066\u3044\u308b\u305f\u3081\"\n      ],\n      campaign_text:\n        \"\u5bfe\u8c61\u6a5f\u7a2e\u306e\u8cfc\u5165\u3084d\u30dd\u30a4\u30f3\u30c8\u9032\u5448\u7cfb\u306e\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u304c\u5b9f\u65bd\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u7aef\u672b\u8cfc\u5165\u306e\u6709\u7121\u3084\u7533\u3057\u8fbc\u307f\u65b9\u6cd5\u306b\u3088\u3063\u3066\u6761\u4ef6\u304c\u5909\u308f\u308b\u305f\u3081\u3001\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u6700\u65b0\u60c5\u5831\u3092\u78ba\u8a8d\u3057\u307e\u3057\u3087\u3046\u3002\",\n      campaign_items: [\n        {\n          title: \"ahamo \u4e57\u308a\u63db\u3048\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\",\n          benefit: \"\u4ed6\u793e\u304b\u3089SIM\u306e\u307f\u3067\u4e57\u308a\u63db\u3048\u308b\u3068\u3001d\u30dd\u30a4\u30f3\u30c8\uff08\u671f\u9593\u30fb\u7528\u9014\u9650\u5b9a\uff09\u6700\u592720,000\u30dd\u30a4\u30f3\u30c8\u3002\u6761\u4ef6\u9054\u6210\u5f8c\u306b4,000\u30dd\u30a4\u30f3\u30c8\u305a\u30645\u30ab\u6708\u9593\u9032\u5448\u3055\u308c\u307e\u3059\u3002\",\n          condition: \"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u30b5\u30a4\u30c8\u3067\u30a8\u30f3\u30c8\u30ea\u30fc\u3057\u3001\u30a8\u30f3\u30c8\u30ea\u30fc\u7fcc\u6708\u672b\u307e\u3067\u306b\u30c9\u30b3\u30e2\u4ee5\u5916\u304b\u3089MNP\u3067ahamo\u3092SIM\/eSIM\u306e\u307f\u5951\u7d04\u3057\u3066\u958b\u901a\u3002\u7aef\u672b\u8cfc\u5165\u3092\u4f34\u3046\u7533\u8fbc\u3001\u65b0\u898f\u5951\u7d04\u3001\u30a8\u30f3\u30c8\u30ea\u30fc\u3057\u305fd\u30a2\u30ab\u30a6\u30f3\u30c8\u3068\u56de\u7dda\u306ed\u30a2\u30ab\u30a6\u30f3\u30c8\u4e0d\u4e00\u81f4\u306f\u5bfe\u8c61\u5916\u3067\u3059\u3002\",\n          url: \"https:\/\/tr.affiliate-sp.docomo.ne.jp\/cl\/d0000001629\/3273\/790\"\n        }\n      ],\n      cta_text: \"ahamo\u306e\u5bfe\u8c61\u6a5f\u7a2e\u30fb\u7279\u5178\u3092\u78ba\u8a8d\u3059\u308b\",\n      cta_microcopy: \"30GB\u30fb5\u5206\u901a\u8a71\u30fb\u6d77\u5916\u5229\u7528\u3092\u307e\u3068\u3081\u3066\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\",\n      candidate_reason: \"30GB\u30015\u5206\u4ee5\u5185\u306e\u56fd\u5185\u901a\u8a71\u3001\u6d77\u5916\u5229\u7528\u3092\u30b7\u30f3\u30d7\u30eb\u306b\u307e\u3068\u3081\u305f\u3044\u4eba\u306b\u304a\u3059\u3059\u3081\u3067\u3059\u3002\",\n      comparisons: [\n        \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u3084au\u7cfb\u5272\u5f15\u3092\u91cd\u8996\u3059\u308b\u4eba\u306fUQ\u30e2\u30d0\u30a4\u30eb\u3082\u304a\u3059\u3059\u3081\",\n        \"\u30c7\u30fc\u30bf\u7121\u5236\u9650\u306b\u8fd1\u3044\u4f7f\u3044\u65b9\u306a\u3089\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u3082\u304a\u3059\u3059\u3081\",\n        \"\u5bb6\u65cf\u5272\u3084PayPay\u30ab\u30fc\u30c9\u3092\u4f7f\u3046\u4eba\u306f\u30ef\u30a4\u30e2\u30d0\u30a4\u30eb\u3082\u304a\u3059\u3059\u3081\"\n      ]\n    },\n    ymobile: {\n      service_id: \"ymobile\",\n      service_name: \"\u30ef\u30a4\u30e2\u30d0\u30a4\u30eb\",\n      display_name: \"\u30ef\u30a4\u30e2\u30d0\u30a4\u30eb\",\n      result_display_enabled: true,\n      cta_enabled: true,\n      business_weight: 20,\n      official_url: \"https:\/\/www.ymobile.jp\/\",\n      campaign_url: \"https:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=3689760&pid=891452550\",\n      logo_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/d6d05f44212013ab579bc103af16f5b0.webp\",\n      campaign_banner_image: \"https:\/\/uqmobile-store.jp\/column\/wp-content\/uploads\/2026\/04\/e6922286536bdcb63f0f27dc91cf07a6.webp\",\n      brand_color: \"#e60012\",\n      accent_color: \"#f2b84b\",\n      feature_tags: [\"\u5bb6\u65cf\u5272\", \"SoftBank\u7cfb\u5272\u5f15\", \"PayPay\", \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\", \"5\u301c35GB\", \"\u901a\u8a71\u8fbc\u307f\"],\n      fact_summary: \"\u30b7\u30f3\u30d7\u30eb3\u306f5GB\u300130GB\u300135GB\u304b\u3089\u9078\u3079\u3001\u5bb6\u65cf\u5272\u5f15\u30b5\u30fc\u30d3\u30b9\u3084\u304a\u3046\u3061\u5272 \u5149\u30bb\u30c3\u30c8(A)\u3001PayPay\u30ab\u30fc\u30c9\u5272\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\",\n      result_title: \"\u3042\u306a\u305f\u306b\u304a\u3059\u3059\u3081\u306a\u306e\u306f\u300c\u30ef\u30a4\u30e2\u30d0\u30a4\u30eb\u300d\",\n      type_name: \"\u5bb6\u65cf\u5272\u30fbPayPay\u6d3b\u7528\u30bf\u30a4\u30d7\",\n      reasons: [\n        \"\u5bb6\u65cf\u3067\u8907\u6570\u56de\u7dda\u3092\u307e\u3068\u3081\u305f\u3044\u3001\u307e\u305f\u306f\u5b50\u3069\u3082\u30fb\u5b66\u751f\u306e\u30b9\u30de\u30db\u3082\u691c\u8a0e\u3057\u3066\u3044\u308b\u305f\u3081\",\n        \"SoftBank Air\u30fbSoftBank \u5149\u30fbPayPay\u30ab\u30fc\u30c9\u3068\u306e\u76f8\u6027\u304c\u3088\u3044\u305f\u3081\",\n        \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u3084\u901a\u8a71\u8fbc\u307f\u30d7\u30e9\u30f3\u3082\u691c\u8a0e\u3057\u305f\u3044\u4eba\u306b\u5411\u3044\u3066\u3044\u308b\u305f\u3081\"\n      ],\n      campaign_text:\n        \"\u30aa\u30f3\u30e9\u30a4\u30f3\u30b9\u30c8\u30a2\u9650\u5b9a\u7279\u5178\u3084PayPay\u95a2\u9023\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u304c\u5b9f\u65bd\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u5bb6\u65cf\u5272\u30fb\u304a\u3046\u3061\u5272\u30fb\u30ab\u30fc\u30c9\u5272\u306a\u3069\u3001\u8907\u6570\u306e\u5272\u5f15\u6761\u4ef6\u3092\u78ba\u8a8d\u3057\u307e\u3057\u3087\u3046\u3002\",\n      campaign_items: [\n        {\n          title: \"\u30ef\u30a4\u30e2\u30d0\u30a4\u30eb \u4e57\u308a\u63db\u3048\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\",\n          benefit: \"SIM\/eSIM\u5358\u4f53\u5951\u7d04\u3067\u6700\u592720,000\u5186\u76f8\u5f53\u306ePayPay\u30dd\u30a4\u30f3\u30c8\u3002\u65b0\u898f\u5951\u7d04\u306f\u30b7\u30f3\u30d7\u30eb3 M\/L\u306710,000\u5186\u76f8\u5f53\u3001\u4ed6\u793e\u56de\u7dda\u304b\u3089\u306e\u308a\u304b\u3048\u306f\u30b7\u30f3\u30d7\u30eb3 M\/L\u306720,000\u5186\u76f8\u5f53\u3067\u3059\u3002\",\n          condition: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u30b9\u30c8\u30a2\u3067USIM\u30ab\u30fc\u30c9\u5358\u4f53\/eSIM\u5358\u4f53\u3092\u7533\u3057\u8fbc\u307f\u3001\u958b\u901a\u3092\u5b8c\u4e86\u3057\u3001\u5bfe\u8c61\u30d7\u30e9\u30f3\u3068\u540c\u6642\u306b\u30c7\u30fc\u30bf\u5897\u91cf\u30aa\u30d7\u30b7\u30e7\u30f3\u3078\u52a0\u5165\u3002\u30bd\u30d5\u30c8\u30d0\u30f3\u30af\/LINEMO\/LINE\u30e2\u30d0\u30a4\u30eb\uff08\u30bd\u30d5\u30c8\u30d0\u30f3\u30af\u56de\u7dda\uff09\u304a\u3088\u3073\u30bd\u30d5\u30c8\u30d0\u30f3\u30af\u56de\u7ddaMVNO\u304b\u3089\u306e\u4e57\u308a\u63db\u3048\u306f\u5bfe\u8c61\u5916\u3002PayPay\u30dd\u30a4\u30f3\u30c8\u30b3\u30fc\u30c9\u306f\u958b\u901a\u6708\u306e\u7fcc\u3005\u6708\u672b\u307e\u3067\u306b\u30c1\u30e3\u30fc\u30b8\u304c\u5fc5\u8981\u3067\u3059\u3002\",\n          url: \"https:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=3689760&pid=891452550\"\n        }\n      ],\n      cta_text: \"\u30ef\u30a4\u30e2\u30d0\u30a4\u30eb\u306e\u5272\u5f15\u6761\u4ef6\u3092\u78ba\u8a8d\u3059\u308b\",\n      cta_microcopy: \"\u5bb6\u65cf\u5272\u30fb\u304a\u3046\u3061\u5272\u30fbPayPay\u30ab\u30fc\u30c9\u5272\u306e\u5bfe\u8c61\u304b\u30c1\u30a7\u30c3\u30af\u3002\",\n      candidate_reason: \"\u5bb6\u65cf\u5229\u7528\u3001SoftBank\u5149\u30fbAir\u3001PayPay\u30ab\u30fc\u30c9\u3001\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u3092\u91cd\u8996\u3059\u308b\u4eba\u306b\u304a\u3059\u3059\u3081\u3067\u3059\u3002\",\n      comparisons: [\n        \"au\u7cfb\u30b5\u30fc\u30d3\u30b9\u3084Ponta\u3092\u4f7f\u3046\u4eba\u306fUQ\u30e2\u30d0\u30a4\u30eb\u3082\u304a\u3059\u3059\u3081\",\n        \"\u30c7\u30fc\u30bf\u7121\u5236\u9650\u3067\u4f7f\u3044\u305f\u3044\u4eba\u306f\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u3082\u304a\u3059\u3059\u3081\",\n        \"\u6d77\u5916\u5229\u7528\u3084\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\u3092\u91cd\u8996\u3059\u308b\u4eba\u306fahamo\u3082\u304a\u3059\u3059\u3081\"\n      ]\n    },\n    povo: {\n      service_id: \"povo\",\n      service_name: \"povo\",\n      display_name: \"povo\",\n      result_display_enabled: false,\n      cta_enabled: false,\n      business_weight: 0,\n      official_url: \"https:\/\/povo.jp\/\",\n      campaign_url: \"https:\/\/povo.jp\/campaign\/\",\n      brand_color: \"#f2b705\",\n      feature_tags: [\"\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\", \"\u30c8\u30c3\u30d4\u30f3\u30b0\", \"\u5fc5\u8981\u306a\u5206\u3060\u3051\"]\n    },\n    linemo: {\n      service_id: \"linemo\",\n      service_name: \"LINEMO\",\n      display_name: \"LINEMO\",\n      result_display_enabled: false,\n      cta_enabled: false,\n      business_weight: 0,\n      official_url: \"https:\/\/www.linemo.jp\/\",\n      campaign_url: \"https:\/\/www.linemo.jp\/campaign\/\",\n      brand_color: \"#00b900\",\n      feature_tags: [\"\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\", \"LINE\", \"\u5c0f\u5bb9\u91cf\", \"\u4e2d\u5bb9\u91cf\"]\n    },\n    iijmio: {\n      service_id: \"iijmio\",\n      service_name: \"IIJmio\",\n      display_name: \"IIJmio\",\n      result_display_enabled: false,\n      cta_enabled: false,\n      business_weight: 0,\n      official_url: \"https:\/\/www.iijmio.jp\/gigaplan\/\",\n      campaign_url: \"https:\/\/www.iijmio.jp\/campaign\/\",\n      brand_color: \"#005bac\",\n      feature_tags: [\"\u5c0f\u5bb9\u91cf\", \"\u6599\u91d1\u91cd\u8996\", \"\u7aef\u672b\u30bb\u30c3\u30c8\"]\n    },\n    mineo: {\n      service_id: \"mineo\",\n      service_name: \"mineo\",\n      display_name: \"mineo\",\n      result_display_enabled: false,\n      cta_enabled: false,\n      business_weight: 0,\n      official_url: \"https:\/\/mineo.jp\/\",\n      campaign_url: \"https:\/\/mineo.jp\/campaign\/\",\n      brand_color: \"#78be20\",\n      feature_tags: [\"\u4e2d\u5bb9\u91cf\", \"\u72ec\u81ea\u30aa\u30d7\u30b7\u30e7\u30f3\", \"\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\"]\n    },\n    nihonTsushin: {\n      service_id: \"nihonTsushin\",\n      service_name: \"\u65e5\u672c\u901a\u4fe1SIM\",\n      display_name: \"\u65e5\u672c\u901a\u4fe1SIM\",\n      result_display_enabled: false,\n      cta_enabled: false,\n      business_weight: 0,\n      official_url: \"https:\/\/www.nihontsushin.com\/\",\n      campaign_url: \"https:\/\/www.nihontsushin.com\/service\/\",\n      brand_color: \"#0d5ea6\",\n      feature_tags: [\"\u6599\u91d1\u91cd\u8996\", \"\u901a\u8a71\u91cd\u8996\", \"\u5c0f\u5bb9\u91cf\"]\n    },\n    aeonMobile: {\n      service_id: \"aeonMobile\",\n      service_name: \"\u30a4\u30aa\u30f3\u30e2\u30d0\u30a4\u30eb\",\n      display_name: \"\u30a4\u30aa\u30f3\u30e2\u30d0\u30a4\u30eb\",\n      result_display_enabled: false,\n      cta_enabled: false,\n      business_weight: 0,\n      official_url: \"https:\/\/aeonmobile.jp\/\",\n      campaign_url: \"https:\/\/aeonmobile.jp\/campaign\/\",\n      brand_color: \"#b50080\",\n      feature_tags: [\"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\", \"\u5c0f\u5bb9\u91cf\", \"\u5bb6\u65cf\u5229\u7528\"]\n    },\n    jcomMobile: {\n      service_id: \"jcomMobile\",\n      service_name: \"J:COM MOBILE\",\n      display_name: \"J:COM MOBILE\",\n      result_display_enabled: false,\n      cta_enabled: false,\n      business_weight: 0,\n      official_url: \"https:\/\/www.jcom.co.jp\/service\/mobile\/\",\n      campaign_url: \"https:\/\/www.jcom.co.jp\/service\/mobile\/campaign\/\",\n      brand_color: \"#e95513\",\n      feature_tags: [\"JCOM\u5229\u7528\u8005\", \"\u5bb6\u65cf\u5229\u7528\", \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\"]\n    },\n    nuroMobile: {\n      service_id: \"nuroMobile\",\n      service_name: \"NURO\u30e2\u30d0\u30a4\u30eb\",\n      display_name: \"NURO\u30e2\u30d0\u30a4\u30eb\",\n      result_display_enabled: false,\n      cta_enabled: false,\n      business_weight: 0,\n      official_url: \"https:\/\/mobile.nuro.jp\/\",\n      campaign_url: \"https:\/\/mobile.nuro.jp\/campaign\/\",\n      brand_color: \"#111111\",\n      feature_tags: [\"\u5c0f\u5bb9\u91cf\", \"\u6599\u91d1\u91cd\u8996\", \"\u30c7\u30fc\u30bf\u7e70\u308a\u8d8a\u3057\"]\n    }\n  };\n\n  var QUESTIONS = [\n    {\n      id: \"q1\",\n      text: \"1\u304b\u6708\u306b\u4f7f\u3046\u30c7\u30fc\u30bf\u91cf\u306f\u3069\u308c\u304f\u3089\u3044\u3067\u3059\u304b\uff1f\",\n      help: \"\u308f\u304b\u3089\u306a\u3044\u5834\u5408\u306f\u300c\u306a\u3093\u3068\u306a\u304f\u300d\u3067OK\u3067\u3059\u3002\u5f8c\u304b\u3089\u6bd4\u8f03\u8868\u3067\u3082\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\",\n      answers: [\n        { id: \"under3\", text: \"3GB\u4ee5\u4e0b\", score: { rakuten: 8, ymobile: 7, uq: 7, iijmio: 7, nihonTsushin: 8, nuroMobile: 7 }, tags: [\"\u5c0f\u5bb9\u91cf\", \"\u6599\u91d1\u91cd\u8996\"] },\n        { id: \"3to5\", text: \"3\u301c5GB\", score: { uq: 10, ymobile: 8, rakuten: 7, linemo: 6, iijmio: 6, nuroMobile: 6 }, tags: [\"5GB\u4ee5\u4e0b\", \"\u30d0\u30e9\u30f3\u30b9\"] },\n        { id: \"5to20\", text: \"5\u301c20GB\", score: { uq: 10, rakuten: 7, ymobile: 7, linemo: 5, iijmio: 6, mineo: 6 }, tags: [\"5\u301c35GB\", \"\u30d0\u30e9\u30f3\u30b9\"] },\n        { id: \"20to30\", text: \"20\u301c30GB\", score: { uq: 9, ahamo: 9, ymobile: 8, rakuten: 6, linemo: 6, mineo: 6 }, tags: [\"30GB\", \"5\u301c35GB\"] },\n        { id: \"30to35\", text: \"30\u301c35GB\", score: { uq: 10, ymobile: 9, ahamo: 8, rakuten: 6, iijmio: 5, nuroMobile: 5 }, tags: [\"5\u301c35GB\", \"35GB\"] },\n        { id: \"unlimited\", text: \"35GB\u4ee5\u4e0a\u30fb\u307b\u307c\u7121\u5236\u9650\", score: { rakuten: 12, ahamo: 9, uq: 2, ymobile: 3, mineo: 4, nuroMobile: 4 }, hard: \"unlimited_required\", tags: [\"\u7121\u5236\u9650\", \"\u5927\u5bb9\u91cf\"] },\n        { id: \"unknown\", text: \"\u308f\u304b\u3089\u306a\u3044\", score: { uq: 9, ymobile: 7, rakuten: 4 }, tags: [\"\u8ff7\u3063\u3066\u3044\u308b\", \"\u30d0\u30e9\u30f3\u30b9\"] }\n      ]\n    },\n    {\n      id: \"q2\",\n      text: \"\u30b9\u30de\u30db\u3067\u3088\u304f\u4f7f\u3046\u3082\u306e\u306f\u3069\u308c\u3067\u3059\u304b\uff1f\",\n      help: \"\u4e00\u756a\u8fd1\u3044\u3082\u306e\u3092\u9078\u3093\u3067\u304f\u3060\u3055\u3044\u3002\",\n      answers: [\n        { id: \"basic\", text: \"LINE\u30fb\u30cd\u30c3\u30c8\u691c\u7d22\u30fb\u5730\u56f3\u304c\u4e2d\u5fc3\", score: { uq: 8, ymobile: 7, linemo: 5, aeonMobile: 4 }, tags: [\"\u6a19\u6e96\u5229\u7528\"] },\n        { id: \"sns\", text: \"SNS\u3084\u30b7\u30e7\u30fc\u30c8\u52d5\u753b\u3092\u3088\u304f\u898b\u308b\", score: { uq: 8, rakuten: 7, ahamo: 7, ymobile: 5, linemo: 5 }, tags: [\"\u4e2d\u5bb9\u91cf\"] },\n        { id: \"video\", text: \"YouTube\u30fb\u52d5\u753b\u914d\u4fe1\u3092\u9577\u6642\u9593\u898b\u308b\", score: { rakuten: 10, ahamo: 8, uq: 3, mineo: 4 }, tags: [\"\u5927\u5bb9\u91cf\"] },\n        { id: \"tethering\", text: \"\u30c6\u30b6\u30ea\u30f3\u30b0\u3092\u3088\u304f\u4f7f\u3046\", score: { ahamo: 9, rakuten: 8, uq: 7, ymobile: 4, povo: 4 }, tags: [\"\u5927\u5bb9\u91cf\", \"\u5b89\u5b9a\u6027\"] },\n        { id: \"game\", text: \"\u30b2\u30fc\u30e0\u3084\u30e9\u30a4\u30d6\u914d\u4fe1\u3092\u3088\u304f\u4f7f\u3046\", score: { ahamo: 8, rakuten: 8, uq: 7, ymobile: 4 }, tags: [\"\u901a\u4fe1\u54c1\u8cea\", \"\u5927\u5bb9\u91cf\"] },\n        { id: \"wifi\", text: \"\u307b\u307cWi-Fi\u74b0\u5883\u3067\u4f7f\u3046\", score: { uq: 8, rakuten: 7, ymobile: 7, iijmio: 6, nihonTsushin: 6, nuroMobile: 6 }, tags: [\"\u5c0f\u5bb9\u91cf\"] }\n      ]\n    },\n    {\n      id: \"q3\",\n      text: \"\u901a\u8a71\u306f\u3069\u308c\u304f\u3089\u3044\u4f7f\u3044\u307e\u3059\u304b\uff1f\",\n      help: \"\u4ed5\u4e8b\u30fb\u5bb6\u65cf\u30fb\u304a\u5e97\u3078\u306e\u96fb\u8a71\u3082\u542b\u3081\u3066\u8003\u3048\u3066\u304f\u3060\u3055\u3044\u3002\",\n      answers: [\n        { id: \"rare\", text: \"\u307b\u3068\u3093\u3069\u4f7f\u308f\u306a\u3044\", score: { rakuten: 7, uq: 6, iijmio: 5, nuroMobile: 5 }, tags: [\"\u30c7\u30fc\u30bf\u91cd\u8996\"] },\n        { id: \"under5\", text: \"5\u5206\u4ee5\u5185\u306e\u77ed\u3044\u96fb\u8a71\u304c\u591a\u3044\", score: { ahamo: 10, uq: 7, ymobile: 7, linemo: 5 }, tags: [\"5\u5206\u901a\u8a71\"] },\n        { id: \"under10\", text: \"10\u5206\u4ee5\u5185\u306e\u96fb\u8a71\u304c\u591a\u3044\", score: { uq: 10, ymobile: 9, ahamo: 5 }, tags: [\"\u901a\u8a71\u8fbc\u307f\"] },\n        { id: \"long\", text: \"\u9577\u96fb\u8a71\u304c\u591a\u3044\", score: { rakuten: 8, uq: 7, ymobile: 7, nihonTsushin: 7 }, tags: [\"\u901a\u8a71\u91cd\u8996\"] },\n        { id: \"quality\", text: \"\u901a\u8a71\u54c1\u8cea\u3092\u91cd\u8996\u3057\u305f\u3044\", score: { uq: 9, ahamo: 8, ymobile: 7 }, tags: [\"\u901a\u4fe1\u54c1\u8cea\"] },\n        { id: \"linecall\", text: \"\u96fb\u8a71\u3088\u308aLINE\u901a\u8a71\u304c\u591a\u3044\", score: { rakuten: 7, uq: 6, linemo: 6 }, tags: [\"\u30c7\u30fc\u30bf\u91cd\u8996\"] }\n      ]\n    },\n    {\n      id: \"q4\",\n      text: \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u306f\u5fc5\u8981\u3067\u3059\u304b\uff1f\",\n      help: \"\u7533\u3057\u8fbc\u307f\u3084\u521d\u671f\u8a2d\u5b9a\u306b\u4e0d\u5b89\u304c\u3042\u308b\u65b9\u306f\u3001\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u3042\u308a\u3092\u9078\u3076\u306e\u304c\u304a\u3059\u3059\u3081\u3067\u3059\u3002\",\n      answers: [\n        { id: \"store\", text: \"\u5e97\u8217\u3067\u76f8\u8ac7\u3057\u305f\u3044\", score: { uq: 12, ymobile: 10, rakuten: 3, aeonMobile: 7, jcomMobile: 6 }, hard: \"store_support\", tags: [\"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\"] },\n        { id: \"setup\", text: \"\u521d\u671f\u8a2d\u5b9a\u3060\u3051\u4e0d\u5b89\", score: { uq: 9, ymobile: 8, rakuten: 6, aeonMobile: 5 }, tags: [\"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\"] },\n        { id: \"online\", text: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u3060\u3051\u3067\u554f\u984c\u306a\u3044\", score: { ahamo: 9, rakuten: 8, povo: 7, linemo: 7, iijmio: 4 }, tags: [\"\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\"] },\n        { id: \"either\", text: \"\u3069\u3061\u3089\u3067\u3082\u3088\u3044\", score: { uq: 7, rakuten: 4, ahamo: 4, ymobile: 4 }, tags: [\"\u30d0\u30e9\u30f3\u30b9\"] },\n        { id: \"familySupport\", text: \"\u5bb6\u65cf\u306e\u30b9\u30de\u30db\u3082\u76f8\u8ac7\u3057\u305f\u3044\", score: { uq: 12, ymobile: 10, rakuten: 4, aeonMobile: 6, jcomMobile: 6 }, hard: \"store_support\", tags: [\"\u5bb6\u65cf\u5229\u7528\", \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\"] }\n      ]\n    },\n    {\n      id: \"q5\",\n      text: \"\u4f7f\u3063\u3066\u3044\u308b\u30b5\u30fc\u30d3\u30b9\u306b\u8fd1\u3044\u3082\u306e\u306f\u3042\u308a\u307e\u3059\u304b\uff1f\",\n      help: \"\u30cd\u30c3\u30c8\u56de\u7dda\u30fb\u30ab\u30fc\u30c9\u30fb\u30dd\u30a4\u30f3\u30c8\u30b5\u30fc\u30d3\u30b9\u3068\u306e\u76f8\u6027\u3082\u8a3a\u65ad\u3057\u307e\u3059\u3002\",\n      answers: [\n        { id: \"au\", text: \"au\u3072\u304b\u308a\u30fbau\u3067\u3093\u304d\u30fbau PAY\u30ab\u30fc\u30c9\u30fbPonta\", score: { uq: 14, povo: 4 }, hard: \"au_ecosystem\", tags: [\"au\u7cfb\u5272\u5f15\", \"Ponta\"] },\n        { id: \"rakuten\", text: \"\u697d\u5929\u30ab\u30fc\u30c9\u30fb\u697d\u5929\u5e02\u5834\u30fb\u697d\u5929\u3072\u304b\u308a\u30fb\u697d\u5929\u9280\u884c\", score: { rakuten: 14 }, hard: \"rakuten_ecosystem\", tags: [\"\u697d\u5929\u7d4c\u6e08\u570f\"] },\n        { id: \"docomo\", text: \"d\u30ab\u30fc\u30c9\u30fbd\u6255\u3044\u30fb\u30c9\u30b3\u30e2\u7cfb\u30b5\u30fc\u30d3\u30b9\", score: { ahamo: 14 }, hard: \"docomo_ecosystem\", tags: [\"\u30c9\u30b3\u30e2\u7cfb\"] },\n        { id: \"softbank\", text: \"SoftBank \u5149\u30fbSoftBank Air\u30fbPayPay\u30ab\u30fc\u30c9\", score: { ymobile: 14, linemo: 4 }, hard: \"softbank_ecosystem\", tags: [\"SoftBank\u7cfb\u5272\u5f15\", \"PayPay\"] },\n        { id: \"none\", text: \"\u7279\u306b\u306a\u3044\", score: { uq: 7, rakuten: 6, ahamo: 4, ymobile: 4 }, tags: [\"\u6599\u91d1\u91cd\u8996\"] },\n        { id: \"unknown\", text: \"\u308f\u304b\u3089\u306a\u3044\", score: { uq: 8, ymobile: 4 }, tags: [\"\u8ff7\u3063\u3066\u3044\u308b\"] }\n      ]\n    },\n    {\n      id: \"q6\",\n      text: \"\u5bb6\u65cf\u3067\u30b9\u30de\u30db\u3092\u307e\u3068\u3081\u305f\u3044\u3067\u3059\u304b\uff1f\",\n      help: \"1\u4eba\u5229\u7528\u304b\u3001\u5bb6\u65cf\u5229\u7528\u304b\u3067\u304a\u3059\u3059\u3081\u304c\u5909\u308f\u308a\u307e\u3059\u3002\",\n      answers: [\n        { id: \"single\", text: \"1\u4eba\u3067\u4f7f\u3046\", score: { ahamo: 7, rakuten: 7, uq: 6, povo: 4, linemo: 4 }, tags: [\"\u4e00\u4eba\u5229\u7528\"] },\n        { id: \"familyLines\", text: \"\u5bb6\u65cf2\u56de\u7dda\u4ee5\u4e0a\u3067\u4f7f\u3044\u305f\u3044\", score: { uq: 10, ymobile: 9, rakuten: 7, aeonMobile: 5, jcomMobile: 5 }, tags: [\"\u5bb6\u65cf\u5229\u7528\"] },\n        { id: \"student\", text: \"\u5b50\u3069\u3082\u30fb\u5b66\u751f\u3082\u4f7f\u3046\", score: { uq: 9, ymobile: 9, rakuten: 7, aeonMobile: 5 }, tags: [\"\u5bb6\u65cf\u5229\u7528\"] },\n        { id: \"senior\", text: \"60\u6b73\u4ee5\u4e0a\u306e\u5bb6\u65cf\u304c\u3044\u308b\", score: { uq: 10, ymobile: 9, rakuten: 6, aeonMobile: 6 }, tags: [\"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\", \"\u5bb6\u65cf\u5229\u7528\"] },\n        { id: \"noFamily\", text: \"\u5bb6\u65cf\u5229\u7528\u306f\u8003\u3048\u3066\u3044\u306a\u3044\", score: { ahamo: 7, rakuten: 7, uq: 6, povo: 4, linemo: 4 }, tags: [\"\u4e00\u4eba\u5229\u7528\"] }\n      ]\n    },\n    {\n      id: \"q7\",\n      text: \"\u4e00\u756a\u91cd\u8996\u3057\u305f\u3044\u3053\u3068\u306f\u4f55\u3067\u3059\u304b\uff1f\",\n      help: \"\u8ff7\u3063\u305f\u3089\u3001\u4eca\u3044\u3061\u3070\u3093\u4e0d\u6e80\u306b\u611f\u3058\u3066\u3044\u308b\u3053\u3068\u3092\u9078\u3093\u3067\u304f\u3060\u3055\u3044\u3002\",\n      answers: [\n        { id: \"price\", text: \"\u6708\u984d\u6599\u91d1\u3092\u5b89\u304f\u3057\u305f\u3044\", score: { rakuten: 9, uq: 7, nihonTsushin: 9, iijmio: 8, nuroMobile: 8 }, tags: [\"\u6599\u91d1\u91cd\u8996\"] },\n        { id: \"stability\", text: \"\u901a\u4fe1\u306e\u5b89\u5b9a\u611f\u304c\u307b\u3057\u3044\", score: { uq: 10, ahamo: 8, ymobile: 8 }, tags: [\"\u901a\u4fe1\u54c1\u8cea\"] },\n        { id: \"largeData\", text: \"\u30c7\u30fc\u30bf\u3092\u305f\u3063\u3077\u308a\u4f7f\u3044\u305f\u3044\", score: { rakuten: 10, ahamo: 8, mineo: 5, nuroMobile: 5 }, tags: [\"\u5927\u5bb9\u91cf\"] },\n        { id: \"store\", text: \"\u5e97\u8217\u3067\u76f8\u8ac7\u3067\u304d\u308b\u5b89\u5fc3\u611f\", score: { uq: 12, ymobile: 10, aeonMobile: 6, jcomMobile: 5 }, hard: \"store_support\", tags: [\"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\"] },\n        { id: \"campaign\", text: \"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3067\u304a\u5f97\u306b\u4e57\u308a\u63db\u3048\u305f\u3044\", score: { uq: 9, rakuten: 7, ymobile: 7, ahamo: 7 }, tags: [\"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\"] },\n        { id: \"simple\", text: \"\u624b\u7d9a\u304d\u306e\u30b7\u30f3\u30d7\u30eb\u3055\", score: { ahamo: 9, rakuten: 8, uq: 5, povo: 5, linemo: 5 }, tags: [\"\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\"] }\n      ]\n    },\n    {\n      id: \"q8\",\n      text: \"\u4e57\u308a\u63db\u3048\u6642\u306b\u91cd\u8996\u3059\u308b\u3053\u3068\u306f\uff1f\",\n      help: \"\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u78ba\u8a8d\u3059\u308b\u524d\u306b\u3001\u7533\u3057\u8fbc\u307f\u6761\u4ef6\u3082\u30c1\u30a7\u30c3\u30af\u3057\u307e\u3057\u3087\u3046\u3002\",\n      answers: [\n        { id: \"simOnly\", text: \"SIM\u3060\u3051\u4e57\u308a\u63db\u3048\u305f\u3044\", score: { uq: 8, rakuten: 7, ahamo: 7, linemo: 4, iijmio: 4 }, tags: [\"SIM\u306e\u307f\"] },\n        { id: \"device\", text: \"\u30b9\u30de\u30db\u3082\u4e00\u7dd2\u306b\u8cb7\u3044\u305f\u3044\", score: { uq: 8, ahamo: 7, rakuten: 7, ymobile: 7, iijmio: 4 }, tags: [\"\u7aef\u672b\u30bb\u30c3\u30c8\"] },\n        { id: \"keepDevice\", text: \"\u3044\u307e\u306e\u30b9\u30de\u30db\u3092\u305d\u306e\u307e\u307e\u4f7f\u3044\u305f\u3044\", score: { ahamo: 8, rakuten: 7, uq: 7, povo: 4, linemo: 4 }, tags: [\"SIM\u306e\u307f\"] },\n        { id: \"easy\", text: \"\u7533\u3057\u8fbc\u307f\u304c\u7c21\u5358\u306a\u3068\u3053\u308d\u304c\u3044\u3044\", score: { ahamo: 9, rakuten: 8, uq: 6, linemo: 5 }, tags: [\"\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\"] },\n        { id: \"store\", text: \"\u5e97\u8217\u3067\u624b\u7d9a\u304d\u3057\u305f\u3044\", score: { uq: 12, ymobile: 10, aeonMobile: 6, jcomMobile: 5 }, hard: \"store_support\", tags: [\"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\"] },\n        { id: \"campaign\", text: \"\u3068\u306b\u304b\u304f\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u3092\u91cd\u8996\", score: { uq: 9, rakuten: 7, ymobile: 7, ahamo: 7 }, tags: [\"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\"] }\n      ]\n    }\n  ];\n\n  var DEFAULT_CAMPAIGNS = {\n    uq: SERVICES.uq.campaign_text,\n    rakuten: SERVICES.rakuten.campaign_text,\n    ahamo: SERVICES.ahamo.campaign_text,\n    ymobile: SERVICES.ymobile.campaign_text\n  };\n\n  var RESULT_UI = {\n    uq: {\n      lead: \"5\u301c35GB\u524d\u5f8c\u3092\u5b89\u5fc3\u3057\u3066\u4f7f\u3044\u305f\u3044\u65b9\u306b\u6700\u9069\u306a\u30d7\u30e9\u30f3\u3067\u3059\",\n      badges: [\"\u5b89\u5fc3\u30d0\u30e9\u30f3\u30b9\", \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\"],\n      reasons: [\n        { icon: \"data\", title: \"5\u301c35GB\u524d\u5f8c\u306e\u5229\u7528\u306b\u3061\u3087\u3046\u3069\u826f\u3044\", text: \"\u6bce\u6708\u306e\u30c7\u30fc\u30bf\u91cf\u3068\u6599\u91d1\u306e\u30d0\u30e9\u30f3\u30b9\u3092\u53d6\u308a\u305f\u3044\u4eba\u306b\u3074\u3063\u305f\u308a\u3002\" },\n        { icon: \"store\", title: \"\u5e97\u8217\u3067\u3082\u76f8\u8ac7\u3057\u3084\u3059\u3044\", text: \"\u7533\u3057\u8fbc\u307f\u3084\u521d\u671f\u8a2d\u5b9a\u306b\u4e0d\u5b89\u304c\u3042\u308b\u65b9\u3082\u76f8\u8ac7\u3057\u3084\u3059\u3044\u3067\u3059\u3002\" },\n        { icon: \"family\", title: \"au\u7cfb\u30b5\u30fc\u30d3\u30b9\u3068\u306e\u76f8\u6027\u304c\u826f\u3044\", text: \"\u81ea\u5b85\u30bb\u30c3\u30c8\u5272\u3084\u5bb6\u65cf\u5229\u7528\u3092\u542b\u3081\u3066\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\" },\n        { icon: \"call\", title: \"\u901a\u8a71\u8fbc\u307f\u30d7\u30e9\u30f3\u3082\u9078\u3079\u308b\", text: \"\u77ed\u3044\u901a\u8a71\u304c\u591a\u3044\u65b9\u306b\u3082\u4f7f\u3044\u3084\u3059\u3044\u9078\u629e\u80a2\u304c\u3042\u308a\u307e\u3059\u3002\" }\n      ],\n      campaign: {\n        label: \"\u30b9\u30da\u30b7\u30e3\u30eb\u30af\u30fc\u30dd\u30f3\",\n        amountPrefix: \"\u6700\u5927\",\n        amount: \"20,000\",\n        unit: \"\u5186\u76f8\u5f53\",\n        headline: \"au PAY\u6b8b\u9ad8\u9084\u5143\",\n        rows: [\n          [\"\u9069\u7528\u6761\u4ef6\", \"\u5c02\u7528\u30ea\u30f3\u30af\u7d4c\u7531\u3067\u3001au\u30fbpovo\u4ee5\u5916\u304b\u3089MNP\u3002SIM\/eSIM\u306e\u307f\u5951\u7d04\"],\n          [\"\u5bfe\u8c61\u30d7\u30e9\u30f3\", \"\u30b3\u30df\u30b3\u30df\u30d7\u30e9\u30f3\u30d0\u30ea\u30e5\u30fc\u307e\u305f\u306f\u30c8\u30af\u30c8\u30af\u30d7\u30e9\u30f32\uff0b\u5897\u91cf\u30aa\u30d7\u30b7\u30e7\u30f3II\u52a0\u5165\"],\n          [\"\u53d7\u3051\u53d6\u308a\", \"2,000\u5186\u76f8\u5f53\u00d710\u30ab\u6708\u3092au PAY\u6b8b\u9ad8\u3078\u9084\u5143\"],\n          [\"\u6ce8\u610f\u4e8b\u9805\", \"\u7533\u8fbc\u6642\u306b\u30af\u30fc\u30dd\u30f3\u30b3\u30fc\u30c9\u300c3MP062\u300d\u306e\u5165\u529b\u304c\u5fc5\u8981\u3002\u7d42\u4e86\u65e5\u30fb\u6761\u4ef6\u306f\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u78ba\u8a8d\"]\n        ]\n      }\n    },\n    rakuten: {\n      lead: \"\u30c7\u30fc\u30bf\u3092\u305f\u3063\u3077\u308a\u4f7f\u3044\u305f\u3044\u65b9\u306b\u6700\u9069\u306a\u30d7\u30e9\u30f3\u3067\u3059\",\n      badges: [\"\u30c7\u30fc\u30bf\u305f\u3063\u3077\u308a\", \"\u697d\u5929\u7d4c\u6e08\u570f\"],\n      reasons: [\n        { icon: \"data\", title: \"\u6708\u306b\u3088\u3063\u3066\u30c7\u30fc\u30bf\u4f7f\u7528\u91cf\u304c\u5909\u308f\u3063\u3066\u3082\u4f7f\u3044\u3084\u3059\u3044\", text: \"3GB\u30fb20GB\u30fb\u7121\u5236\u9650\u306e\u6bb5\u968e\u5236\u3067\u4f7f\u3063\u305f\u5206\u306b\u5fdc\u3058\u307e\u3059\u3002\" },\n        { icon: \"wallet\", title: \"\u697d\u5929\u30dd\u30a4\u30f3\u30c8\u3068\u76f8\u6027\u304c\u826f\u3044\", text: \"\u697d\u5929\u30ab\u30fc\u30c9\u3084\u697d\u5929\u5e02\u5834\u3092\u4f7f\u3046\u65b9\u306f\u7279\u5178\u3082\u78ba\u8a8d\u3057\u3084\u3059\u3044\u3067\u3059\u3002\" },\n        { icon: \"call\", title: \"Rakuten Link\u3067\u901a\u8a71\u3082\u6d3b\u7528\u3067\u304d\u308b\", text: \"\u5bfe\u8c61\u306e\u56fd\u5185\u901a\u8a71\u3092\u30a2\u30d7\u30ea\u3067\u4f7f\u3048\u308b\u70b9\u3082\u9b45\u529b\u3067\u3059\u3002\" },\n        { icon: \"family\", title: \"\u5bb6\u65cf\u5272\u3082\u78ba\u8a8d\u3067\u304d\u308b\", text: \"\u6700\u5f37\u5bb6\u65cf\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u9069\u7528\u6761\u4ef6\u3092\u30c1\u30a7\u30c3\u30af\u3067\u304d\u307e\u3059\u3002\" }\n      ],\n      campaign: {\n        label: \"\u4e57\u308a\u63db\u3048\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\",\n        amountPrefix: \"\u6700\u5927\",\n        amount: \"14,000\",\n        unit: \"pt\",\n        headline: \"\u697d\u5929\u30dd\u30a4\u30f3\u30c8\u30d7\u30ec\u30bc\u30f3\u30c8\",\n        rows: [\n          [\"\u9069\u7528\u6761\u4ef6\", \"\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u30b7\u30e7\u30c3\u30d7\u3067\u521d\u3081\u3066\u7533\u8fbc\u307f\uff0b\u4ed6\u793e\u304b\u3089\u4e57\u308a\u63db\u3048\"],\n          [\"\u4e3b\u306a\u6761\u4ef6\", \"\u4e8b\u524d\u30a8\u30f3\u30c8\u30ea\u30fc\u3001\u30af\u30fc\u30dd\u30f3\u30b3\u30fc\u30c9\u5165\u529b\u3001Rakuten Link\u5229\u7528\u3001\u697d\u5929\u5e02\u5834\u3067\u306e\u8cb7\u3044\u7269\"],\n          [\"\u671f\u9593\", \"2025\u5e741\u670814\u65e5\u958b\u5e97\u301c\u7d42\u4e86\u65e5\u672a\u5b9a\"],\n          [\"\u6ce8\u610f\u4e8b\u9805\", \"\u30dd\u30a4\u30f3\u30c8\u9032\u5448\u6642\u671f\u30fb\u4e0a\u9650\u30fb\u5bfe\u8c61\u5916\u6761\u4ef6\u306f\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u78ba\u8a8d\"]\n        ]\n      }\n    },\n    ahamo: {\n      lead: \"30GB\u524d\u5f8c\u3092\u30b7\u30f3\u30d7\u30eb\u306b\u4f7f\u3044\u305f\u3044\u65b9\u306b\u6700\u9069\u306a\u30d7\u30e9\u30f3\u3067\u3059\",\n      badges: [\"\u30b7\u30f3\u30d7\u30eb\u5927\u5bb9\u91cf\", \"\u6d77\u5916\u5229\u7528\u5411\u304d\"],\n      reasons: [\n        { icon: \"data\", title: \"30GB\u524d\u5f8c\u306e\u30c7\u30fc\u30bf\u5229\u7528\u306b\u3061\u3087\u3046\u3069\u826f\u3044\", text: \"\u30c7\u30fc\u30bf\u5bb9\u91cf\u3092\u30b7\u30f3\u30d7\u30eb\u306b\u4f7f\u3044\u305f\u3044\u4eba\u306b\u3074\u3063\u305f\u308a\u3002\" },\n        { icon: \"call\", title: \"5\u5206\u4ee5\u5185\u306e\u56fd\u5185\u901a\u8a71\u7121\u6599\", text: \"\u77ed\u3044\u901a\u8a71\u304c\u591a\u3044\u65b9\u3082\u304a\u30c8\u30af\u306b\u4f7f\u3048\u307e\u3059\u3002\" },\n        { icon: \"plane\", title: \"\u6d77\u5916\u3067\u3082\u305d\u306e\u307e\u307e\u4f7f\u3044\u3084\u3059\u3044\", text: \"\u8ffd\u52a0\u6599\u91d1\u306a\u3057\u306791\u306e\u56fd\u30fb\u5730\u57df\u3067\u5229\u7528\u53ef\u80fd\u3002\" },\n        { icon: \"online\", title: \"\u30aa\u30f3\u30e9\u30a4\u30f3\u3067\u624b\u7d9a\u304d\u304c\u5b8c\u7d50\", text: \"\u7533\u8fbc\u307f\u304b\u3089\u30b5\u30dd\u30fc\u30c8\u307e\u3067\u3001\u3059\u3079\u3066\u30aa\u30f3\u30e9\u30a4\u30f3\u3002\" }\n      ],\n      campaign: {\n        label: \"\u4e57\u308a\u63db\u3048\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\",\n        amountPrefix: \"\u6700\u5927\",\n        amount: \"20,000\",\n        unit: \"pt\",\n        headline: \"d\u30dd\u30a4\u30f3\u30c8 \u30d7\u30ec\u30bc\u30f3\u30c8\uff01\",\n        rows: [\n          [\"\u9069\u7528\u6761\u4ef6\", \"\u4ed6\u793e\u304b\u3089MNP\u3067SIM\/eSIM\u306e\u307f\u5951\u7d04\u3002\u30a8\u30f3\u30c8\u30ea\u30fc\u5fc5\u9808\"],\n          [\"\u9032\u5448\u65b9\u6cd5\", \"d\u30dd\u30a4\u30f3\u30c8\uff08\u671f\u9593\u30fb\u7528\u9014\u9650\u5b9a\uff09\u30924,000\u30dd\u30a4\u30f3\u30c8\u305a\u30645\u30ab\u6708\u9593\u9032\u5448\"],\n          [\"\u9032\u5448\u6642\u671f\", \"\u6761\u4ef6\u9054\u6210\u6708\u306e\u7fcc\u3005\u6708\u4ee5\u964d\u306b\u9032\u5448\"],\n          [\"\u6ce8\u610f\u4e8b\u9805\", \"\u7aef\u672b\u8cfc\u5165\u30fb\u65b0\u898f\u5951\u7d04\u306f\u5bfe\u8c61\u5916\u3002\u7d42\u4e86\u65e5\u30fb\u6761\u4ef6\u306f\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u78ba\u8a8d\"]\n        ]\n      }\n    },\n    ymobile: {\n      lead: \"\u5bb6\u65cf\u5229\u7528\u3084PayPay\u3092\u3088\u304f\u4f7f\u3046\u65b9\u306b\u6700\u9069\u306a\u30d7\u30e9\u30f3\u3067\u3059\",\n      badges: [\"\u5bb6\u65cf\u5272\", \"PayPay\u6d3b\u7528\"],\n      reasons: [\n        { icon: \"family\", title: \"\u5bb6\u65cf\u3067\u307e\u3068\u3081\u308b\u3068\u4f7f\u3044\u3084\u3059\u3044\", text: \"\u8907\u6570\u56de\u7dda\u3084\u5b50\u3069\u3082\u30fb\u5b66\u751f\u306e\u30b9\u30de\u30db\u306b\u3082\u5411\u3044\u3066\u3044\u307e\u3059\u3002\" },\n        { icon: \"wallet\", title: \"PayPay\u95a2\u9023\u30b5\u30fc\u30d3\u30b9\u3068\u76f8\u6027\u304c\u826f\u3044\", text: \"PayPay\u30ab\u30fc\u30c9\u3084\u30dd\u30a4\u30f3\u30c8\u7279\u5178\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\" },\n        { icon: \"store\", title: \"\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u3082\u5229\u7528\u3057\u3084\u3059\u3044\", text: \"\u7533\u3057\u8fbc\u307f\u3084\u76f8\u8ac7\u3092\u5e97\u8217\u3067\u9032\u3081\u305f\u3044\u65b9\u306b\u3082\u5411\u3044\u3066\u3044\u307e\u3059\u3002\" },\n        { icon: \"data\", title: \"5\u301c35GB\u524d\u5f8c\u304b\u3089\u9078\u3073\u3084\u3059\u3044\", text: \"\u5bb6\u65cf\u305d\u308c\u305e\u308c\u306e\u4f7f\u3044\u65b9\u306b\u5408\u308f\u305b\u3084\u3059\u3044\u8a2d\u8a08\u3067\u3059\u3002\" }\n      ],\n      campaign: {\n        label: \"\u4e57\u308a\u63db\u3048\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\",\n        amountPrefix: \"\u6700\u5927\",\n        amount: \"20,000\",\n        unit: \"\u5186\u76f8\u5f53\",\n        headline: \"PayPay\u30dd\u30a4\u30f3\u30c8\",\n        rows: [\n          [\"\u9069\u7528\u6761\u4ef6\", \"\u30aa\u30f3\u30e9\u30a4\u30f3\u30b9\u30c8\u30a2\u3067USIM\/eSIM\u5358\u4f53\u5951\u7d04\u3002\u4ed6\u793e\u56de\u7dda\u304b\u3089\u306e\u308a\u304b\u3048\"],\n          [\"\u5bfe\u8c61\u30d7\u30e9\u30f3\", \"\u30b7\u30f3\u30d7\u30eb3 M\/L\uff0b\u30c7\u30fc\u30bf\u5897\u91cf\u30aa\u30d7\u30b7\u30e7\u30f3\u52a0\u5165\"],\n          [\"\u53d7\u3051\u53d6\u308a\", \"\u958b\u901a\u6708\u306e\u7fcc\u3005\u6708\u521d\u9803\u306bSMS\u3067PayPay\u30dd\u30a4\u30f3\u30c8\u30b3\u30fc\u30c9\u9001\u4ed8\"],\n          [\"\u6ce8\u610f\u4e8b\u9805\", \"\u30bd\u30d5\u30c8\u30d0\u30f3\u30af\/LINEMO\u7b49\u304b\u3089\u306e\u308a\u304b\u3048\u306f\u5bfe\u8c61\u5916\u3002\u516c\u5f0f\u6761\u4ef6\u3092\u78ba\u8a8d\"]\n        ]\n      }\n    }\n  };\n\n  var CANDIDATE_UI = {\n    uq: {\n      bullets: [\"\u5bb6\u65cf\u5272\u3067\u6708\u3005\u6700\u59271,100\u5186\u5272\u5f15\", \"au\u56de\u7dda\u3067\u5b89\u5b9a\u3057\u305f\u901a\u4fe1\u54c1\u8cea\", \"\u5168\u56fd\u306e\u5e97\u8217\u30b5\u30dd\u30fc\u30c8\u304c\u5145\u5b9f\"],\n      campaign: \"\u6700\u592720,000\u5186\u76f8\u5f53\u306eau PAY\u6b8b\u9ad8\u9084\u5143\"\n    },\n    rakuten: {\n      bullets: [\"\u30c7\u30fc\u30bf\u4f7f\u3044\u653e\u984c\uff083,278\u5186\/\u6708\uff09\", \"\u697d\u5929\u30dd\u30a4\u30f3\u30c8\u304c\u8caf\u307e\u308b\u30fb\u4f7f\u3048\u308b\", \"\u6d77\u5916\u3067\u3082\u67082GB\u307e\u3067\u7121\u6599\"],\n      campaign: \"\u6700\u592714,000\u30dd\u30a4\u30f3\u30c8\u9084\u5143\"\n    },\n    ahamo: {\n      bullets: [\"30GB\uff0b5\u5206\u901a\u8a71\u8fbc\u307f\", \"\u6d77\u591691\u306e\u56fd\u30fb\u5730\u57df\u3067\u5229\u7528\u53ef\u80fd\", \"\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\u3067\u30b7\u30f3\u30d7\u30eb\"],\n      campaign: \"\u6700\u592720,000\u30dd\u30a4\u30f3\u30c8\u9032\u5448\"\n    },\n    ymobile: {\n      bullets: [\"\u5bb6\u65cf\u5272\u3067\u6708\u3005\u6700\u59271,188\u5186\u5272\u5f15\", \"PayPay\u30dd\u30a4\u30f3\u30c8\u304c\u8caf\u307e\u308b\u30fb\u4f7f\u3048\u308b\", \"\u30bd\u30d5\u30c8\u30d0\u30f3\u30af\u56de\u7dda\u3067\u5b89\u5b9a\u901a\u4fe1\"],\n      campaign: \"\u6700\u592720,000\u5186\u76f8\u5f53\u306ePayPay\u30dd\u30a4\u30f3\u30c8\"\n    }\n  };\n\n  function escapeHtml(value) {\n    return String(value == null ? \"\" : value)\n      .replace(\/&\/g, \"&amp;\")\n      .replace(\/<\/g, \"&lt;\")\n      .replace(\/>\/g, \"&gt;\")\n      .replace(\/\"\/g, \"&quot;\")\n      .replace(\/'\/g, \"&#039;\");\n  }\n\n  function track(eventName, payload) {\n    var detail = payload || {};\n    if (window.dataLayer && typeof window.dataLayer.push === \"function\") {\n      window.dataLayer.push(Object.assign({ event: \"sim_diagnosis_\" + eventName }, detail));\n    }\n    if (typeof window.gtag === \"function\") {\n      window.gtag(\"event\", \"sim_diagnosis_\" + eventName, detail);\n    }\n    window.dispatchEvent(new CustomEvent(\"sim-diagnosis:\" + eventName, { detail: detail }));\n  }\n\n  function makeState(root) {\n    return {\n      root: root,\n      step: \"start\",\n      currentIndex: 0,\n      answers: {},\n      selectedAnswerId: null,\n      result: null,\n      campaigns: Object.assign({}, DEFAULT_CAMPAIGNS)\n    };\n  }\n\n  function getAnswer(question, answerId) {\n    return question.answers.find(function (answer) {\n      return answer.id === answerId;\n    });\n  }\n\n  function getSelectedAnswers(state) {\n    return QUESTIONS.map(function (question) {\n      var answerId = state.answers[question.id];\n      return answerId ? getAnswer(question, answerId) : null;\n    }).filter(Boolean);\n  }\n\n  function calculateResult(state) {\n    var baseScores = {};\n    var selectedAnswers = getSelectedAnswers(state);\n    var hardFlags = {};\n    var answerTags = [];\n\n    SERVICE_ORDER.forEach(function (serviceId) {\n      baseScores[serviceId] = 0;\n    });\n\n    selectedAnswers.forEach(function (answer) {\n      Object.keys(answer.score || {}).forEach(function (serviceId) {\n        baseScores[serviceId] = (baseScores[serviceId] || 0) + answer.score[serviceId];\n      });\n      if (answer.hard) {\n        hardFlags[answer.hard] = true;\n      }\n      answerTags = answerTags.concat(answer.tags || []);\n    });\n\n    var ranked = RESULT_SERVICE_IDS.map(function (serviceId) {\n      var service = SERVICES[serviceId];\n      var answerScore = baseScores[serviceId] || 0;\n      return {\n        serviceId: serviceId,\n        answerScore: answerScore,\n        finalScore: answerScore * 0.9 + service.business_weight * 0.1\n      };\n    }).sort(function (a, b) {\n      if (b.finalScore === a.finalScore) {\n        return SERVICES[b.serviceId].business_weight - SERVICES[a.serviceId].business_weight;\n      }\n      return b.finalScore - a.finalScore;\n    });\n\n    var hardResult = getHardResult(hardFlags, ranked);\n    if (hardResult) {\n      ranked = moveServiceToFront(ranked, hardResult);\n    } else {\n      ranked = applyTieBreak(ranked);\n    }\n\n    var supportNote = getSupportNote(baseScores, ranked[0].serviceId, answerTags);\n    return {\n      mainServiceId: ranked[0].serviceId,\n      ranked: ranked,\n      baseScores: baseScores,\n      hardFlags: hardFlags,\n      supportNote: supportNote\n    };\n  }\n\n  function getHardResult(flags, ranked) {\n    if (flags.au_ecosystem) {\n      return \"uq\";\n    }\n    if (flags.rakuten_ecosystem) {\n      return \"rakuten\";\n    }\n    if (flags.docomo_ecosystem) {\n      return \"ahamo\";\n    }\n    if (flags.softbank_ecosystem) {\n      return \"ymobile\";\n    }\n    if (flags.unlimited_required) {\n      return \"rakuten\";\n    }\n    if (flags.store_support) {\n      var uq = ranked.find(function (item) { return item.serviceId === \"uq\"; });\n      var ymobile = ranked.find(function (item) { return item.serviceId === \"ymobile\"; });\n      return !ymobile || (uq && uq.finalScore >= ymobile.finalScore) ? \"uq\" : \"ymobile\";\n    }\n    return \"\";\n  }\n\n  function moveServiceToFront(ranked, serviceId) {\n    var target = ranked.find(function (item) {\n      return item.serviceId === serviceId;\n    });\n    if (!target) {\n      return ranked;\n    }\n    return [target].concat(ranked.filter(function (item) {\n      return item.serviceId !== serviceId;\n    }));\n  }\n\n  function applyTieBreak(ranked) {\n    var first = ranked[0];\n    var uq = ranked.find(function (item) {\n      return item.serviceId === \"uq\";\n    });\n    if (uq && first.serviceId !== \"uq\" && first.finalScore - uq.finalScore <= 5) {\n      return moveServiceToFront(ranked, \"uq\");\n    }\n    return ranked;\n  }\n\n  function getSupportNote(baseScores, mainServiceId, answerTags) {\n    var smallBudgetServices = [\"iijmio\", \"nihonTsushin\", \"nuroMobile\"];\n    var bestSmallBudgetScore = Math.max.apply(null, smallBudgetServices.map(function (serviceId) {\n      return baseScores[serviceId] || 0;\n    }));\n    if (bestSmallBudgetScore >= 18 && mainServiceId !== \"rakuten\") {\n      return \"\u5c0f\u5bb9\u91cf\u30fb\u6599\u91d1\u91cd\u8996\u306a\u3089\u3001IIJmio\u3001\u65e5\u672c\u901a\u4fe1SIM\u3001NURO\u30e2\u30d0\u30a4\u30eb\u306a\u3069\u5c0f\u5bb9\u91cf\u7279\u5316\u306e\u683c\u5b89SIM\u3082\u6bd4\u8f03\u4f59\u5730\u304c\u3042\u308a\u307e\u3059\u3002\";\n    }\n    if (answerTags.indexOf(\"\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\") !== -1 && mainServiceId !== \"ahamo\" && mainServiceId !== \"rakuten\") {\n      return \"\u30aa\u30f3\u30e9\u30a4\u30f3\u3060\u3051\u3067\u5b8c\u7d50\u3057\u305f\u3044\u5834\u5408\u306f\u3001ahamo\u3084\u697d\u5929\u30e2\u30d0\u30a4\u30eb\u3082\u6bd4\u8f03\u5019\u88dc\u306b\u5165\u308a\u307e\u3059\u3002\";\n    }\n    return \"\";\n  }\n\n  function render(root, state) {\n    if (state.step === \"questions\") {\n      renderQuestion(root, state);\n      return;\n    }\n    if (state.step === \"analyzing\") {\n      renderAnalyzing(root, state);\n      return;\n    }\n    if (state.step === \"result\") {\n      renderResult(root, state);\n      return;\n    }\n    renderStart(root, state);\n  }\n\n  function renderStart(root, state) {\n    root.innerHTML =\n      '<div class=\"sim-diagnosis sim-diagnosis--start\">' +\n      '<div class=\"sim-diagnosis__shell\">' +\n      '<div class=\"sim-diagnosis__hero\">' +\n      '<div class=\"sim-diagnosis__label\"><span class=\"sim-diagnosis__label-icon\"><\/span>SIM\u8a3a\u65ad<\/div>' +\n      '<div class=\"sim-diagnosis__title\"><span>\u3042\u306a\u305f\u306b\u5408\u3046<\/span><span>\u30b9\u30de\u30db\u30d7\u30e9\u30f3\u3092 <em>30\u79d2\u3067\u8a3a\u65ad<\/em><\/span><\/div>' +\n      '<p class=\"sim-diagnosis__lead\">12\u30b5\u30fc\u30d3\u30b9\u306e\u6599\u91d1\u30fb\u30c7\u30fc\u30bf\u5bb9\u91cf\u30fb\u901a\u8a71\u30fb\u30b5\u30dd\u30fc\u30c8\u30fb\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u60c5\u5831\u3092\u3082\u3068\u306b\u3001\u3042\u306a\u305f\u306e\u4f7f\u3044\u65b9\u306b\u8fd1\u3044\u5019\u88dc\u3092\u8a3a\u65ad\u3057\u307e\u3059\u3002<\/p>' +\n      '<div class=\"sim-diagnosis__focus-cards\" aria-label=\"\u8a3a\u65ad\u3067\u6bd4\u8f03\u3059\u308b\u9805\u76ee\">' +\n      '<div class=\"sim-diagnosis__focus-card is-price\"><span><\/span><b>\u6599\u91d1\u6bd4\u8f03<\/b><\/div>' +\n      '<div class=\"sim-diagnosis__focus-card is-data\"><span><\/span><b>\u30c7\u30fc\u30bf\u5bb9\u91cf<\/b><\/div>' +\n      '<div class=\"sim-diagnosis__focus-card is-call\"><span><\/span><b>\u901a\u8a71\u30aa\u30d7\u30b7\u30e7\u30f3<\/b><\/div>' +\n      '<div class=\"sim-diagnosis__focus-card is-support\"><span><\/span><b>\u30b5\u30dd\u30fc\u30c8<\/b><\/div>' +\n      '<div class=\"sim-diagnosis__focus-card is-campaign\"><span><\/span><b>\u30ad\u30e3\u30f3\u30da\u30fc\u30f3<\/b><\/div>' +\n      \"<\/div>\" +\n      '<div class=\"sim-diagnosis__service-list\" aria-label=\"\u8a3a\u65ad\u5bfe\u8c61\u30b5\u30fc\u30d3\u30b9\">' +\n      '<span class=\"sim-diagnosis__service-icon\"><\/span>' +\n      '<div class=\"sim-diagnosis__service-copy\">' +\n      '<span>\u8a3a\u65ad\u5bfe\u8c61\u30b5\u30fc\u30d3\u30b9\uff1a<\/span>' +\n      SERVICE_ORDER.map(function (serviceId) {\n        return '<b>' + escapeHtml(SERVICES[serviceId].display_name) + \"<\/b>\";\n      }).join(\" \/ \") +\n      \"<\/div>\" +\n      \"<\/div>\" +\n      '<button class=\"sim-diagnosis__primary\" type=\"button\" data-action=\"start\"><span>\u8a3a\u65ad\u3092\u306f\u3058\u3081\u308b<\/span><i aria-hidden=\"true\"><\/i><\/button>' +\n      '<div class=\"sim-diagnosis__note\"><span class=\"sim-diagnosis__note-icon\"><\/span><span>' + escapeHtml(PR_NOTE) + \"<\/span><\/div>\" +\n      \"<\/div>\" +\n      \"<\/div>\" +\n      \"<\/div>\";\n    bindRootEvents(root, state);\n  }\n\n  function renderQuestion(root, state) {\n    var question = QUESTIONS[state.currentIndex];\n    var selectedId = state.answers[question.id] || \"\";\n    var progressPercent = Math.round(((state.currentIndex + 1) \/ QUESTIONS.length) * 100);\n    var remaining = QUESTIONS.length - state.currentIndex - 1;\n\n    root.innerHTML =\n      '<div class=\"sim-diagnosis sim-diagnosis--question\">' +\n      '<div class=\"sim-diagnosis__panel\">' +\n      '<div class=\"sim-diagnosis__question-status\">' +\n      '<div class=\"sim-diagnosis__progress-head\">' +\n      '<span>Q' + (state.currentIndex + 1) + \" \/ \" + QUESTIONS.length + \"<\/span>\" +\n      '<span>\u3042\u3068' + remaining + \"\u554f\u3067\u5b8c\u4e86<\/span>\" +\n      \"<\/div>\" +\n      '<div class=\"sim-diagnosis__progress\" aria-label=\"\u8a3a\u65ad\u9032\u6357\"><span style=\"width:' + progressPercent + '%\"><\/span><\/div>' +\n      \"<\/div>\" +\n      '<div class=\"sim-diagnosis__question-card\">' +\n      '<div class=\"sim-diagnosis__question\">' + escapeHtml(question.text) + \"<\/div>\" +\n      '<p class=\"sim-diagnosis__help\">' + escapeHtml(question.help) + \"<\/p>\" +\n      '<div class=\"sim-diagnosis__answers\" role=\"radiogroup\">' +\n      question.answers.map(function (answer) {\n        var isSelected = selectedId === answer.id;\n        return (\n          '<button class=\"sim-diagnosis__answer' +\n          (isSelected ? \" is-selected\" : \"\") +\n          '\" type=\"button\" role=\"radio\" aria-checked=\"' +\n          (isSelected ? \"true\" : \"false\") +\n          '\" data-answer-id=\"' +\n          escapeHtml(answer.id) +\n          '\">' +\n          '<span>' +\n          escapeHtml(answer.text) +\n          \"<\/span>\" +\n      \"<\/button>\"\n        );\n      }).join(\"\") +\n      \"<\/div>\" +\n      \"<\/div>\" +\n      '<div class=\"sim-diagnosis__nav\">' +\n      '<button class=\"sim-diagnosis__secondary\" type=\"button\" data-action=\"back\"' +\n      (state.currentIndex === 0 ? \" disabled\" : \"\") +\n      \">\u623b\u308b<\/button>\" +\n      \"<\/div>\" +\n      \"<\/div>\" +\n      \"<\/div>\";\n    bindRootEvents(root, state);\n  }\n\n  function renderAnalyzing(root, state) {\n    var result = state.result || calculateResult(state);\n    state.result = result;\n    root.innerHTML =\n      '<div class=\"sim-diagnosis sim-diagnosis--analyzing\">' +\n      '<div class=\"sim-diagnosis__panel\">' +\n      '<div class=\"sim-diagnosis__analyzing-box\" role=\"status\" aria-live=\"polite\">' +\n      '<div class=\"sim-diagnosis__analyzing-dots\" aria-hidden=\"true\"><span><\/span><span><\/span><span><\/span><\/div>' +\n      '<div class=\"sim-diagnosis__analyzing-title\">\u304a\u3059\u3059\u3081\u30d7\u30e9\u30f3\u3092\u5206\u6790\u4e2d<\/div>' +\n      '<div class=\"sim-diagnosis__analyzing-steps\">' +\n      '<span>\u6599\u91d1\u30fb\u30c7\u30fc\u30bf\u5bb9\u91cf\u3092\u7167\u5408\u3057\u3066\u3044\u307e\u3059<\/span>' +\n      '<span>\u901a\u8a71\u30fb\u30b5\u30dd\u30fc\u30c8\u6761\u4ef6\u3092\u78ba\u8a8d\u3057\u3066\u3044\u307e\u3059<\/span>' +\n      '<span>\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u60c5\u5831\u3092\u6574\u7406\u3057\u3066\u3044\u307e\u3059<\/span>' +\n      \"<\/div>\" +\n      '<div class=\"sim-diagnosis__analyzing-progress\"><span><\/span><\/div>' +\n      '<div class=\"sim-diagnosis__analyzing-chips\" aria-label=\"\u5206\u6790\u5bfe\u8c61\">' +\n      '<span>\u6599\u91d1<\/span><span>\u30c7\u30fc\u30bf\u5bb9\u91cf<\/span><span>\u901a\u8a71<\/span><span>\u30b5\u30dd\u30fc\u30c8<\/span><span>\u30ad\u30e3\u30f3\u30da\u30fc\u30f3<\/span>' +\n      \"<\/div>\" +\n      \"<\/div>\" +\n      \"<\/div>\" +\n      \"<\/div>\";\n  }\n\n  function renderResult(root, state) {\n    var result = state.result || calculateResult(state);\n    state.result = result;\n    var service = SERVICES[result.mainServiceId];\n    var ui = RESULT_UI[service.service_id] || RESULT_UI.uq;\n    var compared = result.ranked.filter(function (item) {\n      return item.serviceId !== service.service_id;\n    });\n\n    root.innerHTML =\n      '<div class=\"sim-diagnosis sim-diagnosis--result\">' +\n      '<div class=\"sim-diagnosis__result-card is-service-' + escapeHtml(service.service_id) + '\" style=\"--result-color:' + escapeHtml(service.brand_color) + ';--result-accent:' + escapeHtml(service.accent_color || service.brand_color) + '\">' +\n      '<div class=\"sim-diagnosis__result-layout\">' +\n      '<section class=\"sim-diagnosis__result-hero\">' +\n      '<div class=\"sim-diagnosis__label\"><span class=\"sim-diagnosis__check-icon\"><\/span>\u8a3a\u65ad\u7d50\u679c<\/div>' +\n      '<p class=\"sim-diagnosis__result-kicker\">\u3042\u306a\u305f\u306b\u304a\u3059\u3059\u3081\u306a\u306e\u306f<\/p>' +\n      '<div class=\"sim-diagnosis__result-title\">' + escapeHtml(service.display_name) + \"<\/div>\" +\n      \"<\/section>\" +\n      '<section class=\"sim-diagnosis__reason-panel\">' +\n      '<div class=\"sim-diagnosis__block-title\">\u9078\u3070\u308c\u308b\u7406\u7531<\/div>' +\n      renderResultReasons(ui.reasons) +\n      \"<\/section>\" +\n      renderCampaignPanel(service, ui) +\n      \"<\/div>\" +\n      '<div class=\"sim-diagnosis__main-actions\">' +\n      '<a class=\"sim-diagnosis__cta\" href=\"' + escapeHtml(service.campaign_url || service.official_url) + '\" target=\"_blank\" rel=\"noopener\" data-cta-service=\"' + escapeHtml(service.service_id) + '\" data-cta-kind=\"main\">' +\n      escapeHtml(service.display_name + \"\u306e\u516c\u5f0f\u30b5\u30a4\u30c8\u3092\u30c1\u30a7\u30c3\u30af\") +\n      \"<\/a>\" +\n      '<button class=\"sim-diagnosis__secondary\" type=\"button\" data-action=\"restart\"><span class=\"sim-diagnosis__restart-icon\"><\/span>\u518d\u8a3a\u65ad\u3059\u308b<\/button>' +\n      \"<\/div>\" +\n      (result.supportNote ? '<p class=\"sim-diagnosis__support-note\">' + escapeHtml(result.supportNote) + \"<\/p>\" : \"\") +\n      '<section class=\"sim-diagnosis__compare\">' +\n      '<div class=\"sim-diagnosis__block-title\">' + escapeHtml(service.display_name) + \"\u4ee5\u5916\u306e\u6bd4\u8f03\u5019\u88dc<\/div>\" +\n      renderCandidateCards(service.service_id, compared) +\n      \"<\/section>\" +\n      \"<\/div>\" +\n      \"<\/div>\";\n    bindRootEvents(root, state);\n    track(\"complete\", {\n      main_service: service.service_id,\n      scores: result.ranked.reduce(function (acc, item) {\n        acc[item.serviceId] = Math.round(item.finalScore * 10) \/ 10;\n        return acc;\n      }, {})\n    });\n  }\n\n  function renderResultReasons(reasons) {\n    return (\n      '<div class=\"sim-diagnosis__reason-cards\">' +\n      reasons.map(function (reason) {\n        return (\n          '<article class=\"sim-diagnosis__reason-card\">' +\n          '<span class=\"sim-diagnosis__reason-icon is-' + escapeHtml(reason.icon) + '\"><\/span>' +\n          '<div><b>' + escapeHtml(reason.title) + '<\/b><p>' + escapeHtml(reason.text) + \"<\/p><\/div>\" +\n          '<span class=\"sim-diagnosis__reason-check\"><\/span>' +\n          \"<\/article>\"\n        );\n      }).join(\"\") +\n      \"<\/div>\"\n    );\n  }\n\n  function renderCampaignPanel(service, ui) {\n    var campaign = ui.campaign;\n    return (\n      '<section class=\"sim-diagnosis__campaign-panel\">' +\n      '<div class=\"sim-diagnosis__campaign-heading\"><span class=\"sim-diagnosis__gift-icon\"><\/span>' + escapeHtml(campaign.label) + \"<\/div>\" +\n      '<div class=\"sim-diagnosis__campaign-highlight\">' +\n      '<span>' + escapeHtml(campaign.amountPrefix) + \"<\/span>\" +\n      '<strong>' + escapeHtml(campaign.amount) + \"<\/strong>\" +\n      '<small>' + escapeHtml(campaign.unit) + \"<\/small>\" +\n      '<b>' + escapeHtml(campaign.headline) + \"<\/b>\" +\n      \"<\/div>\" +\n      '<div class=\"sim-diagnosis__campaign-rows\">' +\n      campaign.rows.map(function (row) {\n        return (\n          '<div class=\"sim-diagnosis__campaign-row\">' +\n          '<span>' + escapeHtml(row[0]) + \"<\/span>\" +\n          '<p>' + escapeHtml(row[1]) + \"<\/p>\" +\n          \"<\/div>\"\n        );\n      }).join(\"\") +\n      \"<\/div>\" +\n      '<a class=\"sim-diagnosis__campaign-button\" href=\"' + escapeHtml(service.campaign_url || service.official_url) + '\" target=\"_blank\" rel=\"noopener\" data-cta-service=\"' + escapeHtml(service.service_id) + '\" data-cta-kind=\"campaign_detail\">\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u8a73\u7d30\u3092\u898b\u308b<span><\/span><\/a>' +\n      \"<\/section>\"\n    );\n  }\n\n  function renderCampaignItems(service) {\n    var items = service.campaign_items && service.campaign_items.length\n      ? service.campaign_items\n      : [{ title: \"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u60c5\u5831\", benefit: service.campaign_text, condition: \"\u7533\u3057\u8fbc\u307f\u524d\u306b\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u6700\u65b0\u6761\u4ef6\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\", url: service.campaign_url || service.official_url }];\n\n    return (\n      '<div class=\"sim-diagnosis__campaign-list\">' +\n      items.map(function (item) {\n        return (\n          '<article class=\"sim-diagnosis__campaign-item\">' +\n          '<div class=\"sim-diagnosis__campaign-title\">' +\n          escapeHtml(item.title) +\n          \"<\/div>\" +\n          '<p class=\"sim-diagnosis__benefit\">' +\n          escapeHtml(item.benefit) +\n          \"<\/p>\" +\n          renderConditionList(item.condition) +\n          '<a href=\"' +\n          escapeHtml(item.url || service.campaign_url || service.official_url) +\n          '\" target=\"_blank\" rel=\"noopener\" data-cta-service=\"' +\n          escapeHtml(service.service_id) +\n          '\" data-cta-kind=\"campaign_detail\">' +\n          \"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u8a73\u7d30\u3092\u78ba\u8a8d\" +\n          \"<\/a>\" +\n          \"<\/article>\"\n        );\n      }).join(\"\") +\n      \"<\/div>\"\n    );\n  }\n\n  function renderConditionList(condition) {\n    var raw = String(condition || \"\").trim();\n    var items = raw\n      .split(\"\u3002\")\n      .map(function (item) { return item.trim(); })\n      .filter(Boolean)\n      .map(function (item) { return \/[\u3002.!?\uff01\uff1f]$\/.test(item) ? item : item + \"\u3002\"; });\n\n    if (!items.length) {\n      items = [\"\u7533\u3057\u8fbc\u307f\u524d\u306b\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u6700\u65b0\u6761\u4ef6\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\"];\n    }\n\n    return (\n      '<div class=\"sim-diagnosis__condition\">' +\n      \"<span>\u6761\u4ef6<\/span>\" +\n      \"<ul>\" +\n      items.map(function (item) {\n        return \"<li>\" + escapeHtml(item) + \"<\/li>\";\n      }).join(\"\") +\n      \"<\/ul>\" +\n      \"<\/div>\"\n    );\n  }\n\n  function renderCandidateCards(mainServiceId, compared) {\n    var serviceIds = getComparisonCandidateIds(mainServiceId, compared);\n\n    return (\n      '<div class=\"sim-diagnosis__candidate-grid\">' +\n      serviceIds.map(function (serviceId) {\n        var service = SERVICES[serviceId];\n        var ui = CANDIDATE_UI[serviceId] || { bullets: service.comparisons || [], campaign: service.campaign_text || \"\" };\n        var campaign = service.campaign_items && service.campaign_items[0]\n          ? service.campaign_items[0]\n          : { title: \"\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u60c5\u5831\", benefit: service.campaign_text || \"\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u6700\u65b0\u60c5\u5831\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\" };\n        return (\n          '<article class=\"sim-diagnosis__candidate-card\" style=\"--candidate-color:' + escapeHtml(service.brand_color) + '\">' +\n          '<div class=\"sim-diagnosis__candidate-head\">' +\n          '<img decoding=\"async\" src=\"' + escapeHtml(service.logo_image) + '\" alt=\"' + escapeHtml(service.display_name) + ' \u30ed\u30b4\">' +\n          '<div class=\"sim-diagnosis__candidate-title\">' + escapeHtml(service.display_name) + \"<\/div>\" +\n          \"<\/div>\" +\n          '<div class=\"sim-diagnosis__candidate-body\">' +\n          '<p><span>\u304a\u3059\u3059\u3081\u306a\u4eba<\/span>' + escapeHtml(service.candidate_reason || \"\") + \"<\/p>\" +\n          '<ul>' +\n          ui.bullets.slice(0, 3).map(function (bullet) {\n            return \"<li>\" + escapeHtml(bullet) + \"<\/li>\";\n          }).join(\"\") +\n          \"<\/ul>\" +\n          renderCandidateCampaign(service, ui, campaign) +\n          \"<\/div>\" +\n          '<a href=\"' +\n          escapeHtml(service.campaign_url || service.official_url) +\n          '\" target=\"_blank\" rel=\"noopener\" data-cta-service=\"' +\n          escapeHtml(service.service_id) +\n          '\" data-cta-kind=\"candidate\">' +\n          \"\u516c\u5f0f\u30b5\u30a4\u30c8\u3092\u78ba\u8a8d\u3059\u308b<\/a>\" +\n          \"<\/article>\"\n        );\n      }).join(\"\") +\n      \"<\/div>\"\n    );\n  }\n\n  function getComparisonCandidateIds(mainServiceId, compared) {\n    var preferredId = COMPARISON_CANDIDATE_MAP[mainServiceId];\n    if (preferredId && preferredId !== mainServiceId && SERVICES[preferredId]) {\n      return [preferredId];\n    }\n\n    var fallback = (compared || []).find(function (item) {\n      return item.serviceId !== mainServiceId && SERVICES[item.serviceId];\n    });\n    return fallback ? [fallback.serviceId] : [];\n  }\n\n  function renderCandidateCampaign(service, ui, campaign) {\n    var banner = service.campaign_banner_image || \"\";\n    var url = service.campaign_url || service.official_url;\n\n    if (banner) {\n      return (\n        '<a class=\"sim-diagnosis__candidate-banner\" href=\"' +\n        escapeHtml(url) +\n        '\" target=\"_blank\" rel=\"noopener\" data-cta-service=\"' +\n        escapeHtml(service.service_id) +\n        '\" data-cta-kind=\"campaign_detail\">' +\n        '<img decoding=\"async\" src=\"' +\n        escapeHtml(banner) +\n        '\" alt=\"' +\n        escapeHtml(service.display_name) +\n        ' \u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u30d0\u30ca\u30fc\" loading=\"lazy\">' +\n        \"<\/a>\"\n      );\n    }\n\n    return '<div class=\"sim-diagnosis__candidate-campaign\"><span>\u30ad\u30e3\u30f3\u30da\u30fc\u30f3<\/span><p>' + escapeHtml(ui.campaign || campaign.title + \"\uff1a \" + campaign.benefit) + \"<\/p><\/div>\";\n  }\n\n  function renderCandidateCtas(mainServiceId, compared) {\n    var serviceIds = getComparisonCandidateIds(mainServiceId, compared);\n    return serviceIds.map(function (serviceId) {\n      var service = SERVICES[serviceId];\n      return (\n        '<a href=\"' +\n        escapeHtml(service.campaign_url || service.official_url) +\n        '\" target=\"_blank\" rel=\"noopener\" data-cta-service=\"' +\n        escapeHtml(service.service_id) +\n        '\" data-cta-kind=\"candidate\">' +\n        escapeHtml(service.display_name) +\n        \"\u3092\u78ba\u8a8d<\/a>\"\n      );\n    }).join(\"\");\n  }\n\n  function renderScoreBars(ranked) {\n    var max = Math.max.apply(null, ranked.map(function (item) {\n      return item.finalScore;\n    }));\n    return (\n      '<div class=\"sim-diagnosis__score-list\">' +\n      ranked.map(function (item) {\n        var service = SERVICES[item.serviceId];\n        var width = max ? Math.round((item.finalScore \/ max) * 100) : 0;\n        return (\n          '<div class=\"sim-diagnosis__score-row\">' +\n          \"<span>\" +\n          escapeHtml(service.display_name) +\n          \"<\/span>\" +\n          '<b><i style=\"width:' +\n          width +\n          \"%;background:\" +\n          escapeHtml(service.brand_color) +\n          '\"><\/i><\/b>' +\n          \"<em>\" +\n          Math.round(item.finalScore) +\n          \"<\/em>\" +\n          \"<\/div>\"\n        );\n      }).join(\"\") +\n      \"<\/div>\"\n    );\n  }\n\n  function bindRootEvents(root, state) {\n    root.querySelectorAll(\"[data-action]\").forEach(function (button) {\n      button.addEventListener(\"click\", function () {\n        var action = button.getAttribute(\"data-action\");\n        if (action === \"start\") {\n          state.step = \"questions\";\n          state.currentIndex = 0;\n          state.selectedAnswerId = null;\n          track(\"start_click\", {});\n          render(root, state);\n        }\n        if (action === \"back\") {\n          state.currentIndex = Math.max(0, state.currentIndex - 1);\n          render(root, state);\n        }\n        if (action === \"next\") {\n          goNext(root, state);\n        }\n        if (action === \"restart\") {\n          state.step = \"start\";\n          state.currentIndex = 0;\n          state.answers = {};\n          state.result = null;\n          track(\"restart_click\", {});\n          render(root, state);\n        }\n      });\n    });\n\n    root.querySelectorAll(\"[data-answer-id]\").forEach(function (button) {\n      button.addEventListener(\"click\", function () {\n        var question = QUESTIONS[state.currentIndex];\n        var answerId = button.getAttribute(\"data-answer-id\");\n        state.answers[question.id] = answerId;\n        track(\"answer\", {\n          question_id: question.id,\n          answer_id: answerId,\n          answer_text: getAnswer(question, answerId).text\n        });\n        render(root, state);\n        window.setTimeout(function () {\n          if (state.step === \"questions\" && state.answers[question.id] === answerId) {\n            goNext(root, state);\n          }\n        }, 220);\n      });\n    });\n\n    root.querySelectorAll(\"[data-cta-service]\").forEach(function (link) {\n      link.addEventListener(\"click\", function () {\n        var kind = link.getAttribute(\"data-cta-kind\");\n        track(kind === \"main\" ? \"main_cta_click\" : kind === \"campaign_detail\" ? \"campaign_detail_click\" : \"candidate_cta_click\", {\n          service_id: link.getAttribute(\"data-cta-service\"),\n          url: link.getAttribute(\"href\")\n        });\n      });\n    });\n  }\n\n  function goNext(root, state) {\n    var question = QUESTIONS[state.currentIndex];\n    if (!state.answers[question.id]) {\n      return;\n    }\n    if (state.currentIndex >= QUESTIONS.length - 1) {\n      state.result = calculateResult(state);\n      state.step = \"analyzing\";\n      render(root, state);\n      window.setTimeout(function () {\n        if (state.step !== \"analyzing\") {\n          return;\n        }\n        state.step = \"result\";\n        track(\"result_display\", { main_service: state.result.mainServiceId });\n        render(root, state);\n      }, getAnalyzingDuration());\n      return;\n    }\n    state.currentIndex += 1;\n    render(root, state);\n  }\n\n  function getAnalyzingDuration() {\n    if (window.matchMedia && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches) {\n      return 300;\n    }\n    return 1800;\n  }\n\n  function init() {\n    document.querySelectorAll(ROOT_SELECTOR).forEach(function (root) {\n      if (root.dataset.initialized === \"true\") {\n        return;\n      }\n      root.dataset.initialized = \"true\";\n      var state = makeState(root);\n      root.__simDiagnosisState = state;\n      render(root, state);\n    });\n  }\n\n  window.SimDiagnosisTool = {\n    init: init,\n    calculateResultForTest: function (answerMap) {\n      var testRoot = document.createElement(\"div\");\n      var state = makeState(testRoot);\n      state.answers = answerMap || {};\n      return calculateResult(state);\n    },\n    services: SERVICES,\n    questions: QUESTIONS\n  };\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", init);\n  } else {\n    init();\n  }\n})();\n\/* ===== SIM DIAGNOSIS JS END ===== *\/\n\n<\/script>\n<!-- ===== SIM COMPARE JS END ===== -->\n\n","protected":false},"author":2,"featured_media":0,"template":"","meta":{"_acf_changed":false,"swell_btn_cv_data":"","footnotes":"","_wp_rev_ctl_limit":""},"class_list":["post-6179","lp","type-lp","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/uqmobile-store.jp\/column\/wp-json\/wp\/v2\/lp\/6179","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/uqmobile-store.jp\/column\/wp-json\/wp\/v2\/lp"}],"about":[{"href":"https:\/\/uqmobile-store.jp\/column\/wp-json\/wp\/v2\/types\/lp"}],"author":[{"embeddable":true,"href":"https:\/\/uqmobile-store.jp\/column\/wp-json\/wp\/v2\/users\/2"}],"version-history":[{"count":24,"href":"https:\/\/uqmobile-store.jp\/column\/wp-json\/wp\/v2\/lp\/6179\/revisions"}],"predecessor-version":[{"id":6289,"href":"https:\/\/uqmobile-store.jp\/column\/wp-json\/wp\/v2\/lp\/6179\/revisions\/6289"}],"wp:attachment":[{"href":"https:\/\/uqmobile-store.jp\/column\/wp-json\/wp\/v2\/media?parent=6179"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}