{"id":4790,"date":"2026-03-04T14:05:49","date_gmt":"2026-03-04T05:05:49","guid":{"rendered":"https:\/\/www.estarico-japan.com\/?page_id=4790"},"modified":"2026-03-06T22:14:31","modified_gmt":"2026-03-06T13:14:31","slug":"%e3%83%af%e3%82%a4%e3%83%b3%e8%a8%ba%e6%96%ad","status":"publish","type":"page","link":"https:\/\/www.estarico-japan.com\/?page_id=4790","title":{"rendered":"\u30ef\u30a4\u30f3\u8a3a\u65ad"},"content":{"rendered":"\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cinzel:wght@600;700&#038;family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300&#038;family=Noto+Serif+JP:wght@400;500;700&#038;display=swap\" rel=\"stylesheet\">\n\n<style>\n\/* \u2500\u2500\u2500 \u30ea\u30bb\u30c3\u30c8\uff08\u30b9\u30b3\u30fc\u30d7\u5185\u306e\u307f\uff09 \u2500\u2500\u2500 *\/\n#wq-scope *, #wq-scope *::before, #wq-scope *::after {\n  box-sizing: border-box;\n}\n\n\/* \u2500\u2500\u2500 \u30c7\u30b6\u30a4\u30f3\u30c8\u30fc\u30af\u30f3\uff08\u30b9\u30b3\u30fc\u30d7\u5185\u306e\u307f\uff09 \u2500\u2500\u2500 *\/\n#wq-scope {\n  --burgundy:  #3D0B18;\n  --wine:      #6B1E2E;\n  --gold:      #C9A84C;\n  --parchment: #F2EAD8;\n  --ink:       #1A0508;\n}\n\n\/* \u2500\u2500\u2500 \u30ec\u30a4\u30a2\u30a6\u30c8 \u2500\u2500\u2500 *\/\n#wq-scope #app {\n  max-width: 960px;\n  margin: 0 auto;\n  padding: 40px 20px 80px;\n}\n\n#wq-scope .card {\n  background: linear-gradient(160deg, #fff 0%, #fdf8f0 100%);\n  border: 1px solid rgba(201,168,76,0.2);\n  border-radius: 4px;\n  box-shadow:\n    0 2px 4px rgba(61,11,24,0.04),\n    0 8px 24px rgba(61,11,24,0.06),\n    0 32px 80px rgba(61,11,24,0.1);\n  overflow: hidden;\n}\n\n\/* \u2500\u2500\u2500 \u30d8\u30c3\u30c0\u30fc \u2500\u2500\u2500 *\/\n#wq-scope .header {\n  background: linear-gradient(160deg, var(--burgundy) 0%, var(--wine) 55%, #8B2438 100%);\n  padding: 48px 40px 40px;\n  text-align: center;\n  position: relative;\n  overflow: hidden;\n}\n#wq-scope .header::before {\n  content: '';\n  position: absolute; inset: 0;\n  background: radial-gradient(ellipse at 50% 120%, rgba(201,168,76,0.18) 0%, transparent 65%);\n}\n#wq-scope .header::after {\n  content: '';\n  position: absolute;\n  bottom: 0; left: 50%; transform: translateX(-50%);\n  width: 80%; height: 1px;\n  background: linear-gradient(90deg, transparent, rgba(201,168,76,0.5), transparent);\n}\n#wq-scope .header-ornament {\n  font-family: 'Cinzel', serif;\n  color: var(--gold);\n  font-size: 12px;\n  letter-spacing: 0.4em;\n  margin-bottom: 16px;\n  opacity: 0.8;\n}\n#wq-scope .header h1 {\n  font-family: 'Cinzel', serif;\n  color: #fff;\n  font-size: clamp(22px, 4.2vw, 31px);\n  font-weight: 600;\n  letter-spacing: 0.12em;\n  position: relative;\n}\n#wq-scope .header-sub {\n  font-family: 'Cormorant Garamond', serif;\n  color: rgba(255,255,255,0.65);\n  font-size: 16px;\n  font-style: italic;\n  margin-top: 8px;\n  letter-spacing: 0.05em;\n}\n\n\/* \u2500\u2500\u2500 \u30dc\u30c7\u30a3 \u2500\u2500\u2500 *\/\n#wq-scope .body {\n  padding: 56px 48px 48px;\n}\n@media (max-width: 600px) {\n  #wq-scope .body   { padding: 40px 24px 32px; }\n  #wq-scope .header { padding: 40px 24px 32px; }\n}\n\n\/* \u2500\u2500\u2500 \u30b9\u30bf\u30fc\u30c8\u753b\u9762 \u2500\u2500\u2500 *\/\n#wq-scope .start-wrap {\n  max-width: 420px;\n  margin: 0 auto;\n  text-align: center;\n}\n#wq-scope .logo-img {\n  height: 72px;\n  object-fit: contain;\n  margin: 0 auto 40px;\n  display: block;\n}\n#wq-scope .start-title {\n  font-family: 'Cormorant Garamond', serif;\n  font-size: 20px;\n  font-weight: 300;\n  line-height: 1.4;\n  color: var(--burgundy);\n  margin-bottom: 12px;\n  letter-spacing: 0.04em;\n}\n#wq-scope .start-desc {\n  font-size: 15px;\n  color: #8a6a50;\n  line-height: 1.9;\n  margin-bottom: 48px;\n  font-weight: 300;\n}\n#wq-scope .divider {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  margin: 32px 0;\n}\n#wq-scope .divider::before,\n#wq-scope .divider::after {\n  content: '';\n  flex: 1;\n  height: 1px;\n  background: linear-gradient(90deg, transparent, rgba(201,168,76,0.4), transparent);\n}\n#wq-scope .divider-icon {\n  color: var(--gold);\n  font-size: 18px;\n  opacity: 0.7;\n}\n#wq-scope .cta-btn {\n  display: inline-block;\n  padding: 16px 48px;\n  background: linear-gradient(135deg, var(--wine) 0%, var(--burgundy) 100%);\n  color: #fff;\n  border: none;\n  border-radius: 2px;\n  font-family: 'Cinzel', serif;\n  font-size: 15px;\n  font-weight: 500;\n  letter-spacing: 0.25em;\n  cursor: pointer;\n  position: relative;\n  overflow: hidden;\n  transition: all 0.3s ease;\n  box-shadow: 0 4px 20px rgba(61,11,24,0.25);\n}\n#wq-scope .cta-btn::before {\n  content: '';\n  position: absolute; inset: 0;\n  background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, transparent 100%);\n}\n#wq-scope .cta-btn:hover  { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(61,11,24,0.35); }\n#wq-scope .cta-btn:active { transform: translateY(0); }\n\n\/* \u2500\u2500\u2500 \u30af\u30a4\u30ba\u753b\u9762 \u2500\u2500\u2500 *\/\n#wq-scope .quiz-wrap {\n  max-width: 440px;\n  margin: 0 auto;\n}\n#wq-scope .progress-bar {\n  display: flex;\n  gap: 6px;\n  margin-bottom: 48px;\n  justify-content: center;\n}\n#wq-scope .progress-dot {\n  width: 32px;\n  height: 3px;\n  border-radius: 2px;\n  background: rgba(201,168,76,0.2);\n  transition: background 0.4s ease;\n}\n#wq-scope .progress-dot.active { background: var(--gold); }\n\n#wq-scope .question-num {\n  font-family: 'Cinzel', serif;\n  font-size: 10px;\n  letter-spacing: 0.35em;\n  color: var(--gold);\n  text-align: center;\n  margin-bottom: 16px;\n}\n#wq-scope .question-text {\n  font-family: 'Cormorant Garamond', serif;\n  font-size: 20px;\n  font-weight: 400;\n  text-align: center;\n  color: var(--burgundy);\n  line-height: 1.5;\n  margin-bottom: 40px;\n  letter-spacing: 0.02em;\n}\n#wq-scope .option-btn {\n  display: block;\n  width: 100%;\n  padding: 18px 24px;\n  background: transparent;\n  border: 1px solid rgba(201,168,76,0.25);\n  border-radius: 2px;\n  margin-bottom: 10px;\n  cursor: pointer;\n  font-family: 'Noto Serif JP', serif;\n  font-size: 14px;\n  font-weight: 400;\n  color: var(--ink);\n  text-align: left;\n  transition: all 0.25s ease;\n  position: relative;\n  overflow: hidden;\n}\n#wq-scope .option-btn::before {\n  content: '';\n  position: absolute;\n  left: 0; top: 0; bottom: 0;\n  width: 3px;\n  background: var(--gold);\n  transform: scaleY(0);\n  transition: transform 0.25s ease;\n  transform-origin: bottom;\n}\n#wq-scope .option-btn:hover {\n  background: linear-gradient(90deg, rgba(201,168,76,0.06), transparent);\n  border-color: rgba(201,168,76,0.5);\n  padding-left: 32px;\n}\n#wq-scope .option-btn:hover::before { transform: scaleY(1); }\n\n#wq-scope .option-btn.selected {\n  background: linear-gradient(90deg, rgba(201,168,76,0.12), rgba(201,168,76,0.04));\n  border-color: var(--gold);\n  padding-left: 32px;\n  font-weight: 700;\n  color: var(--burgundy);\n}\n#wq-scope .option-btn.selected::before { transform: scaleY(1); }\n#wq-scope .option-btn.selected::after {\n  content: '\u2713';\n  position: absolute;\n  right: 16px;\n  top: 50%;\n  transform: translateY(-50%);\n  color: var(--gold);\n  font-size: 14px;\n  font-family: sans-serif;\n}\n\n#wq-scope .quiz-nav {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  margin-top: 28px;\n  gap: 12px;\n}\n#wq-scope .quiz-nav-btn {\n  padding: 12px 24px;\n  border-radius: 2px;\n  font-family: 'Cinzel', serif;\n  font-size: 11px;\n  font-weight: 600;\n  letter-spacing: 0.2em;\n  cursor: pointer;\n  transition: all 0.25s ease;\n  border: 1px solid rgba(107,30,46,0.3);\n}\n#wq-scope .quiz-nav-btn.prev {\n  background: transparent;\n  color: #444;\n  border-color: rgba(0,0,0,0.35);\n}\n#wq-scope .quiz-nav-btn.prev:hover {\n  color: var(--burgundy);\n  border-color: rgba(107,30,46,0.4);\n}\n#wq-scope .quiz-nav-btn.next {\n  background: linear-gradient(135deg, var(--wine) 0%, var(--burgundy) 100%);\n  color: #fff;\n  border: none;\n  box-shadow: 0 4px 16px rgba(61,11,24,0.2);\n  flex: 1;\n  max-width: 200px;\n}\n#wq-scope .quiz-nav-btn.next:hover {\n  transform: translateY(-1px);\n  box-shadow: 0 6px 20px rgba(61,11,24,0.3);\n}\n#wq-scope .quiz-nav-btn:disabled,\n#wq-scope .quiz-nav-btn.pending {\n  opacity: 1;\n  cursor: not-allowed;\n  pointer-events: none;\n  transform: none;\n  box-shadow: none;\n}\n\n\/* \u2500\u2500\u2500 \u7d50\u679c\u753b\u9762 \u2500\u2500\u2500 *\/\n#wq-scope .result-title {\n  font-family: 'Cormorant Garamond', serif;\n  font-size: 32px;\n  font-weight: 300;\n  text-align: center;\n  color: var(--burgundy);\n  margin-bottom: 8px;\n  letter-spacing: 0.05em;\n}\n#wq-scope .result-sub {\n  font-family: 'Cinzel', serif;\n  font-size: 12px;\n  letter-spacing: 0.35em;\n  color: var(--gold);\n  text-align: center;\n  margin-bottom: 48px;\n}\n#wq-scope .answer-summary {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  justify-content: center;\n  margin-bottom: 36px;\n}\n#wq-scope .answer-tag {\n  display: inline-block;\n  padding: 6px 14px;\n  background: rgba(107,30,46,0.06);\n  border: 1px solid rgba(107,30,46,0.18);\n  border-radius: 999px;\n  font-size: 14px;\n  color: var(--wine);\n  font-weight: 500;\n  letter-spacing: 0.03em;\n}\n#wq-scope .summary-nav {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 12px;\n  margin-bottom: 40px;\n  padding: 20px;\n  background: linear-gradient(160deg, var(--burgundy) 0%, var(--wine) 100%);\n  border-radius: 4px;\n}\n#wq-scope .snav-card {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 8px;\n  padding: 16px 12px;\n  background: rgba(255,255,255,0.07);\n  border: 1px solid rgba(201,168,76,0.25);\n  border-radius: 3px;\n  cursor: pointer;\n  text-decoration: none;\n  transition: background 0.2s ease, transform 0.2s ease;\n  text-align: center;\n}\n#wq-scope .snav-card:hover,\n#wq-scope .snav-card:active {\n  background: rgba(201,168,76,0.15);\n  transform: translateY(-2px);\n}\n#wq-scope .snav-label {\n  font-family: 'Cinzel', serif;\n  font-size: 11px;\n  letter-spacing: 0.25em;\n  color: var(--gold);\n  font-weight: 700;\n  text-transform: uppercase;\n}\n#wq-scope .snav-num {\n  font-family: 'Cinzel', serif;\n  font-size: 20px;\n  font-weight: 600;\n  color: var(--gold);\n  line-height: 1;\n  opacity: 0.9;\n}\n#wq-scope .snav-name {\n  font-family: 'Noto Serif JP', serif;\n  font-size: 11px;\n  font-weight: 500;\n  color: rgba(255,255,255,0.9);\n  line-height: 1.5;\n  word-break: break-all;\n}\n#wq-scope .snav-arrow {\n  font-size: 12px;\n  color: var(--gold);\n  opacity: 0.6;\n  margin-top: 2px;\n}\n@media (max-width: 480px) {\n  #wq-scope .summary-nav {\n    grid-template-columns: 1fr;\n    gap: 8px;\n    padding: 16px;\n  }\n  #wq-scope .snav-card {\n    flex-direction: row;\n    text-align: left;\n    gap: 12px;\n    padding: 12px 16px;\n  }\n  #wq-scope .snav-num  { font-size: 18px; flex-shrink: 0; }\n  #wq-scope .snav-text { display: flex; flex-direction: column; gap: 2px; flex: 1; }\n  #wq-scope .snav-name { font-size: 12px; word-break: keep-all; }\n  #wq-scope .snav-arrow { margin-top: 0; margin-left: auto; flex-shrink: 0; }\n}\n\n#wq-scope .result-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));\n  gap: 24px;\n}\n#wq-scope .result-card {\n  background: linear-gradient(160deg, #fff, #fdf8f0);\n  border: 1px solid rgba(201,168,76,0.2);\n  border-radius: 2px;\n  overflow: hidden;\n  transition: transform 0.2s ease, box-shadow 0.2s ease;\n  position: relative;\n  display: flex;\n  flex-direction: column;\n}\n#wq-scope .result-card::after {\n  content: '';\n  position: absolute;\n  top: 0; left: 0; right: 0;\n  height: 2px;\n  background: linear-gradient(90deg, transparent, var(--gold), transparent);\n  opacity: 0;\n  transition: opacity 0.3s ease;\n}\n#wq-scope .result-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(61,11,24,0.12); }\n#wq-scope .result-card:hover::after { opacity: 1; }\n\n#wq-scope .card-img-wrap {\n  height: 220px;\n  background: var(--parchment);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 24px;\n  overflow: hidden;\n}\n#wq-scope .card-img-wrap img {\n  max-height: 100%;\n  max-width: 100%;\n  object-fit: contain;\n  transition: transform 0.4s ease;\n}\n#wq-scope .result-card:hover .card-img-wrap img { transform: scale(1.04); }\n\n#wq-scope .card-body {\n  padding: 24px;\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n}\n#wq-scope .card-name {\n  font-family: 'Noto Serif JP', serif;\n  font-size: 16px;\n  font-weight: 500;\n  line-height: 1.6;\n  color: var(--burgundy);\n  margin-bottom: 6px;\n  min-height: 2.8em;\n}\n#wq-scope .card-price {\n  font-family: 'Cinzel', serif;\n  font-size: 15px;\n  color: var(--gold);\n  letter-spacing: 0.1em;\n  margin-bottom: 12px;\n}\n#wq-scope .card-feat {\n  font-family: 'Cormorant Garamond', serif;\n  font-size: 14px;\n  font-style: italic;\n  color: #7a5c4a;\n  line-height: 1.8;\n  font-weight: 300;\n  flex: 1;\n  margin-bottom: 20px;\n}\n#wq-scope .card-link {\n  display: block;\n  text-align: center;\n  padding: 12px;\n  background: transparent;\n  border: 1px solid rgba(61,11,24,0.45);\n  color: var(--burgundy);\n  font-family: 'Cinzel', serif;\n  font-size: 12px;\n  font-weight: 700;\n  letter-spacing: 0.3em;\n  text-decoration: none;\n  transition: all 0.25s ease;\n}\n#wq-scope .card-link:hover { background: var(--wine); color: #fff; border-color: var(--wine); }\n\n#wq-scope .fallback-label {\n  font-family: 'Cinzel', serif;\n  font-size: 12px;\n  letter-spacing: 0.35em;\n  color: var(--gold);\n  text-align: center;\n  margin: 48px 0 24px;\n}\n#wq-scope .restart-btn {\n  display: block;\n  margin: 40px auto 0;\n  background: none;\n  border: none;\n  font-family: 'Cormorant Garamond', serif;\n  font-size: 16px;\n  color: #666;\n  cursor: pointer;\n  letter-spacing: 0.1em;\n  text-decoration: underline;\n  text-underline-offset: 3px;\n  transition: color 0.2s;\n}\n#wq-scope .restart-btn:hover { color: var(--wine); }\n\n\/* \u2500\u2500\u2500 \u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3 \u2500\u2500\u2500 *\/\n@keyframes wq-fadeUp {\n  from { opacity: 0; transform: translateY(20px); }\n  to   { opacity: 1; transform: translateY(0); }\n}\n#wq-scope .fade-up {\n  animation: wq-fadeUp 0.35s ease forwards;\n  will-change: transform, opacity;\n}\n<\/style>\n\n<div id=\"wq-scope\">\n  <div id=\"app\">\n    <div class=\"card\">\n      <div class=\"header\">\n        <div class=\"header-ornament\">\u2726 VINOS ESPA\u00d1OLES \u2726<\/div>\n        <h1>ESTARICO JAPAN<\/h1>\n        <div class=\"header-sub\">Wine Pairing Diagnosis<\/div>\n      <\/div>\n      <div class=\"body\" id=\"wq-body\">\n        <div class=\"start-wrap fade-up\">\n          <p style=\"color: var(--burgundy); font-size: 18px;\">\u8aad\u307f\u8fbc\u307f\u4e2d&#8230;<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function () {\n  'use strict';\n\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/  \u5b9a\u6570\u30fb\u30de\u30b9\u30bf\u30fc\u30c7\u30fc\u30bf\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n  const WINE_LIST = [\n    { id:'76',   name:'\u30e9\u30c7\u30ed \u30c6\u30f3\u30d7\u30e9\u30cb\u30fc\u30ea\u30e7 2022',                         type:'red',       body:'medium', pair:'meat',   price:3580,  feat:'\u30d5\u30ec\u30c3\u30b7\u30e5\u3067\u98f2\u307f\u3084\u3059\u3044\u30c7\u30a4\u30ea\u30fc\u30ef\u30a4\u30f3',                    tag:'fruity',   image:'https:\/\/i.ibb.co\/ks8s9grf\/76.jpg' },\n    { id:'73',   name:'\u30e9\u30c7\u30ed \u30d6\u30e9\u30f3\u30b3 2024',                                 type:'white',     body:'light',  pair:'fish',   price:3580,  feat:'\u548c\u98df\u306b\u3082\u5408\u308f\u305b\u3084\u3059\u3044\u30ab\u30b8\u30e5\u30a2\u30eb\u306a\u767d',                      tag:'fruity',   image:'https:\/\/i.ibb.co\/yn3wVMm2\/73.jpg' },\n    { id:'71',   name:'\u30e9\u30c7\u30ed \u30ed\u30b5\u30fc\u30c9 2024',                                 type:'others',    body:'light',  pair:'fish',   price:3580,  feat:'\u30ad\u30ea\u30c3\u3068\u51b7\u3084\u3057\u3066\u7f8e\u5473\u3057\u3044\u8f9b\u53e3\u30ed\u30bc',                        tag:'fruity',   image:'https:\/\/i.ibb.co\/ZpyHhMRT\/71.jpg' },\n    { id:'4443', name:'\u30da\u30eb\u30e9\u30c3\u30c8 \u30d6\u30e9\u30f3\u30b3 2024',                             type:'white',     body:'light',  pair:'fish',   price:5500,  feat:'\u4e0a\u54c1\u306a\u679c\u5b9f\u5473\u3092\u697d\u3057\u3080\u767d',                                  tag:'story',    image:'https:\/\/i.ibb.co\/jv20kT5p\/4443.jpg' },\n    { id:'4453', name:'\u30aa\u30ea\u30aa\u30fc\u30eb \u30ed\u30bc 2024',                                 type:'others',    body:'medium', pair:'fish',   price:5500,  feat:'\u7e4a\u7d30\u304b\u3064\u500b\u6027\u7684\u306a\u30ed\u30bc',                                    tag:'story',    image:'https:\/\/i.ibb.co\/C3NtdnHD\/4453.jpg' },\n    { id:'4457', name:'\u30aa\u30ea\u30aa\u30fc\u30eb \u30c6\u30a3\u30f3\u30c8 \u30c7\u30eb\u30b9 \u30a2\u30b9\u30d7\u30ec\u30b9 2024',           type:'red',       body:'medium', pair:'meat',   price:5500,  feat:'\u529b\u5f37\u3055\u3068\u7e4a\u7d30\u3055\u3092\u4f75\u305b\u6301\u3064\u8d64',                              tag:'aged',     image:'https:\/\/i.ibb.co\/s9VXZp9F\/4457.jpg' },\n    { id:'4439', name:'\u30d5\u30a1\u30fc\u30ac\u30b9 2022',                                      type:'red',       body:'full',   pair:'meat',   price:8250,  feat:'\u30a2\u30e9\u30b4\u30f3\u306e\u30c6\u30ed\u30ef\u30fc\u30eb\u3092\u5473\u308f\u3046\u8d05\u6ca2\u306a1\u672c',                    tag:'aged',     image:'https:\/\/i.ibb.co\/tMZj0yK8\/4439.jpg' },\n    { id:'3626', name:'\u30bd\u30d5\u30a3\u30a2 \u30ce\u30fc\u30d6\u30eb 2023',                               type:'white',     body:'full',   pair:'cheese', price:8350,  feat:'\u5e0c\u5c11\u306a\u8cb4\u8150\u30ef\u30a4\u30f3\u3002\u9752\u304b\u3073\u30c1\u30fc\u30ba\u3068\u76f8\u6027\u6700\u9ad8\uff01',              tag:'aged',     image:'https:\/\/i.ibb.co\/Zp1r4nfb\/3626.jpg' },\n    { id:'4463', name:'\u30b3\u30f3\u30c8\u30e9\u30d1\u30b9 \u30d6\u30e9\u30f3\u30b3 2024',                           type:'white',     body:'medium', pair:'fish',   price:9350,  feat:'\u30a8\u30ec\u30ac\u30f3\u30c8\u304b\u3064\u5473\u308f\u3044\u6df1\u3044\u767d',                              tag:'fruity',   image:'https:\/\/i.ibb.co\/Fk7wJCFK\/4463.jpg' },\n    { id:'138',  name:'\u30ab\u30f4\u30a1 \u30b9\u30d3\u30e9\u30c8 \u30d1\u30ec\u30f3\u30c8 2011',                        type:'sparkling', body:'light',  pair:'fish',   price:9900,  feat:'\u304d\u3081\u7d30\u3084\u304b\u306a\u6ce1\u306e\u6700\u9ad8\u7d1a\u30ab\u30f4\u30a1',                            tag:'aged',     image:'https:\/\/i.ibb.co\/qL765Yx5\/138.jpg' },\n    { id:'1857', name:'\u30ea\u30d0\u30b9 \u30c7\u30eb \u30af\u30a2 \u30db\u30d9\u30f3 2021',                         type:'red',       body:'medium', pair:'meat',   price:3850,  feat:'\u30e1\u30f3\u30b7\u30a2100\uff05\u306e\u30a8\u30ec\u30ac\u30f3\u30c8\u306a\u30ef\u30a4\u30f3',                        tag:'fruity',   image:'https:\/\/i.ibb.co\/r2vH9gGR\/BR0001-1.jpg' },\n    { id:'78',   name:'\u30e9\u30c7\u30ed \u30c6\u30a3\u30f3\u30c8 \u30af\u30ea\u30a2\u30f3\u30b5 2018',                      type:'red',       body:'full',   pair:'meat',   price:3850,  feat:'\u30e9\u30fb\u30de\u30f3\u30c1\u30e3\u306e\u30b3\u30b9\u30d1\u6700\u9ad8\u8d64\u30ef\u30a4\u30f3',                        tag:'aged',     image:'https:\/\/i.ibb.co\/CKhTRr2z\/AC0003.jpg' },\n    { id:'1881', name:'\u30d0\u30c0\u30db \u30d9\u30eb\u30c7\u30db 2022',                                 type:'white',     body:'light',  pair:'fish',   price:4130,  feat:'\u548c\u98df\u306b\u3082\u5408\u308f\u305b\u3084\u3059\u3044\u3001\u30b3\u30b9\u30d1\u629c\u7fa4\u306a\u767d\u30ef\u30a4\u30f3\u3002',            tag:'fruity',   image:'https:\/\/i.ibb.co\/PZCk00rY\/BG0001.png' },\n    { id:'1706', name:'\u30f4\u30a3\u30fc\u30cb\u30e3 \u30df\u30ac\u30ed\u30f3 \u30ed\u30b5\u30fc\u30c9',                         type:'others',    body:'light',  pair:'fish',   price:4680,  feat:'\u30e1\u30f3\u30b7\u30a2100\uff05\u306e\u30c1\u30e3\u30fc\u30df\u30f3\u30b0\u306a\u30ed\u30bc\u30ef\u30a4\u30f3',                  tag:'fruity',   image:'https:\/\/i.ibb.co\/JjV31YkZ\/BA0003.jpg' },\n    { id:'1866', name:'\u30ea\u30d0\u30b9 \u30c7\u30eb \u30af\u30a2 \u30aa\u30f3\u30bb\u30c9 2021',                       type:'red',       body:'medium', pair:'meat',   price:4680,  feat:'\u6e05\u6f84\u3001\u6ffe\u904e\u3092\u3057\u306a\u3044\u3001\u81ea\u7136\u6d3e\u30ef\u30a4\u30f3',                        tag:'aged',     image:'https:\/\/i.ibb.co\/gZSYLyTB\/BR0002-469x1024.png' },\n    { id:'88',   name:'\u30f4\u30a3\u30fc\u30cb\u30e3 \u30df\u30ac\u30ed\u30f3 \u30d6\u30e9\u30f3\u30b3 2022',                    type:'white',     body:'light',  pair:'fish',   price:4680,  feat:'\u30d5\u30eb\u30fc\u30c6\u30a3\u304b\u3064\u30d5\u30ec\u30c3\u30b7\u30e5\u306a\u767d\u30ef\u30a4\u30f3',                      tag:'fruity',   image:'https:\/\/i.ibb.co\/4LPCpVn\/BA0001-2.jpg' },\n    { id:'1659', name:'\u30c6\u30a3\u30fc\u30dc 2022',                                        type:'white',     body:'light',  pair:'fish',   price:4730,  feat:'\u30d0\u30ec\u30f3\u30b7\u30a2\u5730\u65b9\u306e\u5e0c\u5c11\u306a\u767d\u30d6\u30c9\u30a6\u54c1\u7a2e\u3092\u4f7f\u7528',                tag:'fruity',   image:'https:\/\/i.ibb.co\/3y21hKkg\/DM0003.jpg' },\n    { id:'84',   name:'\u30d5\u30b9\u30c6\u30a3\u30ca 2021',                                      type:'red',       body:'medium', pair:'meat',   price:4730,  feat:'\u30d1\u30ef\u30d5\u30eb\u304b\u3064\u9999\u308a\u8c4a\u304b\u306a\u8d64\u30ef\u30a4\u30f3',                          tag:'aged',     image:'https:\/\/i.ibb.co\/9mHZRpS4\/DM0001.jpg' },\n    { id:'4392', name:'\u30d6\u30e9\u30f3\u30b3 \u30aa\u30e9\u30b4\u30b5 \u30d9\u30f3\u30c7\u30a3\u30df\u30a2 \u30bb\u30ec\u30af\u30b7\u30aa\u30ca\u30fc\u30c0 2024', type:'white',     body:'medium', pair:'fish',   price:4950,  feat:'\u4e0a\u54c1\u306a\u6a3d\u9999\u304c\u611f\u3058\u3089\u308c\u308b\u3001\u81f3\u6975\u306e\u767d\u30ef\u30a4\u30f3',                  tag:'aged',     image:'https:\/\/i.ibb.co\/vC5xYD4M\/BP0001.jpg' },\n    { id:'1885', name:'\u30c8\u30e9\u30b9\u30ab\u30f3\u30d1\u30ca\u30b9 \u30d9\u30eb\u30c7\u30db 2024',                       type:'white',     body:'light',  pair:'fish',   price:4950,  feat:'\u8349\u539f\u306e\u9999\u308a\u3068\u8c4a\u304b\u306a\u30df\u30cd\u30e9\u30eb\u611f\uff01',                          tag:'powerful', image:'https:\/\/i.ibb.co\/hxpFycmd\/BG0002.jpg' },\n    { id:'86',   name:'\u30b0\u30ed\u30ea\u30a2 2021',                                        type:'red',       body:'full',   pair:'meat',   price:4950,  feat:'12\u30ab\u6708\u3082\u306e\u6a3d\u719f\u6210\u30ef\u30a4\u30f3\u3002\u30d5\u30ea\u30fc\u30e9\u30f3\u30b8\u30e5\u30fc\u30b9\u306e\u307f\u3092\u4f7f\u7528\uff01',  tag:'powerful', image:'https:\/\/i.ibb.co\/r2B1ks3B\/DM0002.jpg' },\n    { id:'134',  name:'\u30b9\u30d3\u30e9\u30c8 \u30d1\u30ec\u30f3\u30c8 2023',                               type:'white',     body:'light',  pair:'fish',   price:5230,  feat:'\u7d76\u6ec5\u306e\u5371\u6a5f\u304b\u3089\u5fa9\u6d3b\u3002\u5e7b\u306e\u30ef\u30a4\u30f3\uff01',                        tag:'story',    image:'https:\/\/i.ibb.co\/zhrqx9Bz\/FV0002-2.jpg' },\n    { id:'95',   name:'\u30dd\u30de\u30fc\u30eb \u30c7 \u30d6\u30eb\u30b4\u30b9 2021',                            type:'red',       body:'full',   pair:'meat',   price:5230,  feat:'\u30d0\u30e9\u30f3\u30b9\u306e\u3088\u3044\u98f2\u307f\u3084\u3059\u3044\u8d64\u30ef\u30a4\u30f3',                        tag:'fruity',   image:'https:\/\/i.ibb.co\/PvsRQ46M\/PB0001.jpg' },\n    { id:'1682', name:'\u30c7\u30a3\u30a8\u30b4 2022',                                        type:'white',     body:'light',  pair:'fish',   price:5500,  feat:'\u30d5\u30ec\u30c3\u30b7\u30e5\u304b\u3064\u83ef\u3084\u304b\u306a\u9999\u308a\u304c\u7279\u5fb4',                        tag:'aged',     image:'https:\/\/i.ibb.co\/VcF3bL6q\/DM0004-745x1024.jpg' },\n    { id:'124',  name:'\u30e9\u30ac\u30fc\u30eb \u30c0\u30f3\u30d7\u30ea\u30a6\u30b9 \u30b2\u30f4\u30a7\u30eb\u30c4\u30c8\u30e9\u30df\u30cd\u30fc\u30eb 2021',    type:'white',     body:'full',   pair:'both',   price:5500,  feat:'\u5357\u56fd\u306e\u30cb\u30e5\u30a2\u30f3\u30b9\u3092\u611f\u3058\u308b\u30e6\u30cb\u30fc\u30af\u306a\u30b2\u30f4\u30a7\u30eb\u30c4\u30c8\u30e9\u30df\u30cd\u30fc\u30eb', tag:'story',    image:'https:\/\/i.ibb.co\/twRD9DWJ\/LA0001-2.jpg' },\n    { id:'116',  name:'\u30ed\u30d6\u30ec \u30d6\u30e9\u30c3\u30af 2021',                                 type:'red',       body:'full',   pair:'meat',   price:5500,  feat:'\u30ab\u30ab\u30aa\u306e\u9999\u308a\u3068\u3086\u3063\u304f\u308a\u6d41\u308c\u308b\u6642\u9593\u3092\u697d\u3057\u3080\u9038\u54c1\u3002',          tag:'aged',     image:'https:\/\/i.ibb.co\/S4sQ7sns\/VV0002-2.jpg' },\n    { id:'4447', name:'\u30da\u30eb\u30e9\u30c3\u30c8 \u30ac\u30eb\u30ca\u30c3\u30c1\u30e3 2024',                         type:'red',       body:'medium', pair:'meat',   price:5780,  feat:'\u5730\u4e2d\u6d77\u306e\u98a8\u3068\u5c71\u5cb3\u6027\u6c17\u5019\u72ec\u7279\u306e\u30c6\u30ed\u30ef\u30fc\u30eb\u3092\u8c61\u5fb4',            tag:'story',    image:'https:\/\/i.ibb.co\/dSWQLB2\/CU0002.jpg' },\n    { id:'3573', name:'\u30c6\u30e9\u30b9 \u30c7 \u30e9\u30f3\u30bf\u30fc\u30cb\u30e7 2022',                          type:'white',     body:'light',  pair:'fish',   price:5780,  feat:'\u4eba\u6c17\u6025\u4e0a\u6607\u4e2d\u306e\u30a2\u30eb\u30d0\u30cb\u30fc\u30ea\u30e7100\uff05',                        tag:'story',    image:'https:\/\/i.ibb.co\/Myzx5GHz\/VC0001.jpg' },\n    { id:'136',  name:'\u30e2\u30ca\u30b9\u30c8\u30ec\u30eb \u30ed\u30bc \u30ec\u30bc\u30eb\u30d0 \u30d6\u30ea\u30e5\u30c3\u30c8 \u30ca\u30c8\u30a5\u30fc\u30ec 2016',type:'sparkling', body:'light',  pair:'both',   price:5780,  feat:'\u591a\u5f69\u306a\u98df\u4e8b\u3068\u306e\u30de\u30ea\u30a2\u30fc\u30b8\u30e5\uff01',                            tag:'story',    image:'https:\/\/i.ibb.co\/S43zhPDT\/FV0006.jpg' },\n    { id:'4420', name:'\u30da\u30ea\u30ab\u30fb\u30f4\u30a3\u30fc\u30cb\u30e3\u30fb\u30aa\u30e9\u30b4\u30b5\u30fb\u30ec\u30bb\u30eb\u30d0 2014',         type:'red',       body:'full',   pair:'meat',   price:6050,  feat:'\u30ea\u30aa\u30cf\u306e\u4f1d\u7d71\u3068\u60c5\u71b1\u3092\u4f53\u73fe\u3059\u308b1\u672c',                         tag:'aged',     image:'https:\/\/i.ibb.co\/ksC1G30s\/BP0003.jpg' },\n    { id:'1710', name:'\u30e9\u30ac\u30fc\u30eb \u30c0\u30f3\u30d7\u30ea\u30a6\u30b9 \u30b7\u30e9\u30fc 2016',                    type:'red',       body:'full',   pair:'meat',   price:6050,  feat:'\u30a8\u30ec\u30ac\u30f3\u30c8\u306a\u30b7\u30e9\u30fc\u306e\u6975\u307f',                                tag:'story',    image:'https:\/\/i.ibb.co\/VYTB2dXb\/LA0002.jpg' },\n    { id:'98',   name:'\u30ad\u30f3\u30bf \u30c7 \u30d0\u30b3 \u30af\u30ea\u30a2\u30f3\u30b5 2020',                       type:'red',       body:'full',   pair:'meat',   price:6050,  feat:'\u30d1\u30ef\u30d5\u30eb\u306a\u8d64\u30ef\u30a4\u30f3\u3092\u304a\u63a2\u3057\u306e\u65b9\u306b',                        tag:'powerful', image:'https:\/\/i.ibb.co\/8ndZ5S1r\/PB0002.jpg' },\n    { id:'4436', name:'\u30a2\u30e9\u30b4\u30cb\u30a2 \u30bb\u30ec\u30af\u30b7\u30aa\u30f3 \u30a8\u30b9\u30da\u30b7\u30a2\u30eb 2021',            type:'red',       body:'full',   pair:'meat',   price:6380,  feat:'\u30ef\u30a4\u30ca\u30ea\u30fc\u81ea\u6162\u306e\u30d7\u30ec\u30df\u30a2\u30e0\u8d64\u30ef\u30a4\u30f3',                      tag:'aged',     image:'https:\/\/i.ibb.co\/MyH826yp\/AR0001.jpg' },\n    { id:'4460', name:'\u30b7\u30e7\u30c3\u30c8 \u30d6\u30e9\u30f3 \u30c7\u30eb\u30b9 \u30a2\u30b9\u30d7\u30ec\u30b9 2024',               type:'white',     body:'medium', pair:'fish',   price:6600,  feat:'\u6d17\u7df4\u3055\u308c\u305f\u767d\u30ef\u30a4\u30f3\u306e\u9038\u54c1',                                tag:'story',    image:'https:\/\/i.ibb.co\/8D2tr5b9\/VA0005.jpg' },\n    { id:'3580', name:'\u30c6\u30e9\u30b9 \u30c7 \u30e9\u30f3\u30bf\u30fc\u30cb\u30e7 \u30a8\u30b9\u30d7\u30e2\u30fc\u30bd',                  type:'sparkling', body:'light',  pair:'both',   price:6880,  feat:'\u5927\u5909\u5e0c\u5c11\u306a\u30a2\u30eb\u30d0\u30cb\u30fc\u30ea\u30e7100\uff05\u6ce1',                          tag:'fruity',   image:'https:\/\/i.ibb.co\/1JmWw5kS\/VC0002.jpg' },\n    { id:'1694', name:'\u30d5\u30ea\u30a2 2020',                                          type:'red',       body:'full',   pair:'meat',   price:6880,  feat:'18\u30ab\u6708\u3082\u306e\u6a3d\u719f\u6210\u3092\u7d4c\u305f\u82b3\u9187\u306a\u5473\u308f\u3044',                      tag:'powerful', image:'https:\/\/i.ibb.co\/39xrgZx7\/DM0006.jpg' },\n    { id:'4425', name:'\u30da\u30ea\u30ab\u30fb\u30f4\u30a3\u30fc\u30cb\u30e3\u30fb\u30aa\u30e9\u30b4\u30b5\u30fb\u30b0\u30e9\u30f3\u30ec\u30bb\u30eb\u30d0 2012',    type:'red',       body:'full',   pair:'meat',   price:7150,  feat:'\u30ea\u30aa\u30cf\u306e\u4f1d\u7d71\u3068\u719f\u6210\u306e\u7f8e\u5b66\u3092\u6975\u3081\u305f\u81f3\u9ad8\u306e\u8d64',                tag:'story',    image:'https:\/\/i.ibb.co\/HTGYfdnw\/BP0004.jpg' },\n    { id:'1873', name:'\u30ea\u30d0\u30b9 \u30c7\u30eb \u30af\u30a2 \u30d7\u30ea\u30d3\u30ec\u30b8\u30aa 2019',                   type:'red',       body:'medium', pair:'meat',   price:7700,  feat:'\u81ea\u7531\u306a\u767a\u60f3\u3067\u9020\u3089\u308c\u305f\u81ea\u7136\u6d3e\u30ef\u30a4\u30f3\uff01',                      tag:'aged',     image:'https:\/\/i.ibb.co\/XZbwNHkW\/BR0003.png' },\n    { id:'3586', name:'\u30ac\u30eb\u30ca\u30c3\u30c1\u30e3 2017 \u30a8\u30c7\u30a3\u30b7\u30e7\u30f3 \u30ea\u30df\u30bf\u30fc\u30c0',            type:'red',       body:'full',   pair:'both',   price:8530,  feat:'\u9a5a\u304f\u307b\u3069\u30a8\u30ec\u30ac\u30f3\u30c8\u306a\u30ac\u30eb\u30ca\u30c3\u30c1\u30e3',                        tag:'fruity',   image:'https:\/\/i.ibb.co\/XfMfHD8x\/LA0003-294x1024.jpg' },\n    { id:'1699', name:'\u30bd\u30d5\u30a3\u30a2 2019',                                        type:'red',       body:'medium', pair:'meat',   price:8530,  feat:'\u6a3d\u7531\u6765\u306e\u9999\u306e\u4f59\u97fb\u304c\u9577\u304f\u7d9a\u304f\u8d64',                            tag:'powerful', image:'https:\/\/i.ibb.co\/4wCtJD69\/Sofia.jpg' },\n    { id:'1917', name:'\u30f4\u30a3 \u30c7 \u30d1\u30f3\u30bb\u30b9',                                     type:'others',    body:'full',   pair:'cheese', price:8800,  feat:'\u7518\u53e3\u30ef\u30a4\u30f3\u304c\u304a\u597d\u304d\u306a\u65b9\u306b\u6700\u9069',                            tag:'story',    image:'https:\/\/i.ibb.co\/23jB2v42\/VA0002-rotated.jpg' },\n    { id:'4450', name:'\u30ea\u30b3\u30ec\u30c3\u30ea\u30e3 \u30f4\u30a3\u30c6\u30a3\u30b9 2019',                         type:'red',       body:'full',   pair:'meat',   price:10180, feat:'\u91cd\u539a\u3067\u3042\u308a\u306a\u304c\u3089\u6d17\u7df4\u3055\u308c\u305f\u5473\u308f\u3044',                        tag:'story',    image:'https:\/\/i.ibb.co\/bM488QPr\/CU0003.jpg' },\n    { id:'4399', name:'\u30d5\u30a3\u30f3\u30ab \u30d0\u30eb\u30c7\u30e9\u30b9\u30ab\u30ec\u30bf\u30b9 2020',                     type:'white',     body:'full',   pair:'both',   price:10450, feat:'\u30ea\u30aa\u30cf\u767d\u306e\u65b0\u305f\u306a\u30b9\u30bf\u30a4\u30eb',                                tag:'aged',     image:'https:\/\/i.ibb.co\/rfcxJHXj\/BP0002.jpg' },\n    { id:'122',  name:'\u30c6\u30e9 \u30a4\u30f3\u30b3\u30b0\u30cb\u30bf 2019',                               type:'red',       body:'full',   pair:'meat',   price:10730, feat:'\u6a39\u9f62100\u5e74\u8d85\u306e\u30d6\u30c9\u30a6\u304b\u3089\u9020\u3089\u308c\u305f\u6fc0\u65e8\u306e\u30ef\u30a4\u30f3',              tag:'aged',     image:'https:\/\/i.ibb.co\/4n9VLw0Q\/VV0006.jpg' },\n    { id:'4428', name:'\u30d5\u30a3\u30f3\u30ab \u30b5\u30f3\u30bf \u30d5\u30ea\u30bf 2021',                          type:'red',       body:'full',   pair:'meat',   price:11000, feat:'\u529b\u5f37\u304f\u3082\u512a\u96c5\u306a\u5473\u308f\u3044',                                    tag:'powerful', image:'https:\/\/i.ibb.co\/S4X7Bfkh\/BP0005.jpg' },\n    { id:'4433', name:'\u30da\u30ea\u30ab \u30aa\u30ed \u30ec\u30bc\u30eb\u30d0 \u30a8\u30b9\u30da\u30b7\u30a2\u30eb 2012',               type:'red',       body:'full',   pair:'meat',   price:13750, feat:'\"\u81f3\u5b9d\"\u3068\u547c\u3076\u306b\u3075\u3055\u308f\u3057\u3044\u9650\u5b9a\u54c1',                          tag:'story',    image:'https:\/\/i.ibb.co\/Jjk7HbCm\/BP0006.jpg' },\n    { id:'3598', name:'\u30de\u30a8\u30b9\u30c8\u30ed \u30a8\u30ea\u30a2\u30b9 2016',                             type:'red',       body:'full',   pair:'meat',   price:15180, feat:'\u6a39\u9f62100\u5e74\u8d85\u306e\u53e4\u6728\u304b\u3089\u63a1\u308c\u305f\u5e7b\u306e\u54c1',                        tag:'story',    image:'https:\/\/i.ibb.co\/HTNnCpKP\/PB0003-502x1024.jpg' },\n  ];\n\n  \/\/ \u2500\u2500\u2500 \u8a2d\u554f\u5b9a\u7fa9\uff085\u554f\u306b\u5909\u66f4\uff09 \u2500\u2500\u2500\n  const QUESTIONS = [\n    { q:'\u4eca\u65e5\u306e\u6599\u7406\u306f\uff1f',               opts:[{label:'\u304a\u8089\u6599\u7406',val:'meat'},{label:'\u304a\u9b5a\u30fb\u548c\u98df',val:'fish'},{label:'\u304a\u8089\u3082\u304a\u9b5a\u3082',val:'both'},{label:'\u30c7\u30b6\u30fc\u30c8\u30fb\u30c1\u30fc\u30ba',val:'cheese'}] },\n    { q:'\u60f9\u304b\u308c\u308b\u30ef\u30a4\u30f3\u306e\u7a2e\u985e\u306f\uff1f',     opts:[{label:'\u8d64\u30ef\u30a4\u30f3',val:'red'},{label:'\u767d\u30ef\u30a4\u30f3',val:'white'},{label:'\u30b9\u30d1\u30fc\u30af\u30ea\u30f3\u30b0',val:'sparkling'},{label:'\u305d\u306e\u4ed6\uff08\u30ed\u30bc\u7b49\uff09',val:'others'}] },\n    { q:'\u597d\u307f\u306e\u30dc\u30c7\u30a3\u306f\uff1f',              opts:[{label:'\u8efd\u3084\u304b\u30fb\u30d5\u30ec\u30c3\u30b7\u30e5',val:'light'},{label:'\u30d0\u30e9\u30f3\u30b9\u578b\u30fb\u30df\u30c7\u30a3\u30a2\u30e0',val:'medium'},{label:'\u3057\u3063\u304b\u308a\u30fb\u30d5\u30eb\u30dc\u30c7\u30a3',val:'full'}] },\n    { q:'\u3069\u3093\u306a\u30ef\u30a4\u30f3\u3092\u63a2\u3057\u3066\u3044\u307e\u3059\u304b\uff1f', opts:[\n        {label:'\u30d5\u30eb\u30fc\u30c6\u30a3\u30fb\u98f2\u307f\u3084\u3059\u3044\u3082\u306e',  val:'fruity'},\n        {label:'\u5e0c\u5c11\u30fb\u30b9\u30c8\u30fc\u30ea\u30fc\u304c\u3042\u308b\u3082\u306e',   val:'story'},\n        {label:'\u30d1\u30ef\u30d5\u30eb\u30fb\u9aa8\u683c\u306e\u3057\u3063\u304b\u308a\u3057\u305f\u3082\u306e', val:'powerful'},\n        {label:'\u6a3d\u719f\u6210\u30fb\u8907\u96d1\u306a\u5473\u308f\u3044',        val:'aged'},\n      ]\n    },\n    { q:'\u3054\u4e88\u7b97\u306f\u3044\u304b\u307b\u3069\uff1f',            opts:[{label:'\u301c4,500\u5186',val:'4500'},{label:'\u301c6,000\u5186',val:'6000'},{label:'\u301c7,500\u5186',val:'7500'},{label:'\u301c9,000\u5186',val:'9000'},{label:'\u301c10,500\u5186',val:'10500'},{label:'\u3053\u3060\u308f\u3089\u306a\u3044',val:'none'}] },\n  ];\n\n  \/\/ answers[0]=food, [1]=type, [2]=body, [3]=taste, [4]=budget\n\n  const ANSWER_LABELS = {\n    meat:'\u304a\u8089\u6599\u7406', fish:'\u304a\u9b5a\u30fb\u548c\u98df', both:'\u304a\u8089\u3082\u304a\u9b5a\u3082', cheese:'\u30c7\u30b6\u30fc\u30c8\u30fb\u30c1\u30fc\u30ba',\n    red:'\u8d64\u30ef\u30a4\u30f3', white:'\u767d\u30ef\u30a4\u30f3', sparkling:'\u30b9\u30d1\u30fc\u30af\u30ea\u30f3\u30b0', others:'\u305d\u306e\u4ed6\uff08\u30ed\u30bc\u7b49\uff09',\n    light:'\u8efd\u3084\u304b\u30fb\u30d5\u30ec\u30c3\u30b7\u30e5', medium:'\u30d0\u30e9\u30f3\u30b9\u578b\u30fb\u30df\u30c7\u30a3\u30a2\u30e0', full:'\u3057\u3063\u304b\u308a\u30fb\u30d5\u30eb\u30dc\u30c7\u30a3',\n    fruity:'\u30d5\u30eb\u30fc\u30c6\u30a3\u30fb\u98f2\u307f\u3084\u3059\u3044', story:'\u5e0c\u5c11\u30fb\u30b9\u30c8\u30fc\u30ea\u30fc', powerful:'\u30d1\u30ef\u30d5\u30eb', aged:'\u6a3d\u719f\u6210\u30fb\u8907\u96d1',\n    '4500':'\u301c4,500\u5186', '6000':'\u301c6,000\u5186', '7500':'\u301c7,500\u5186',\n    '9000':'\u301c9,000\u5186', '10500':'\u301c10,500\u5186', none:'\u4e88\u7b97\u3053\u3060\u308f\u3089\u306a\u3044',\n  };\n\n  const BODY_RANGE = {\n    light:  ['light', 'medium'],\n    medium: ['light', 'medium', 'full'],\n    full:   ['medium', 'full'],\n  };\n\n  \/\/ \u2500\u2500\u2500 \u30b9\u30b3\u30a2\u914d\u70b9\u5b9a\u6570 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/ 1\u554f\u76ee\u30fb\u6599\u7406\uff1acalcFoodScore() \u5185\u3067\u6700\u592724\u70b9\uff08\u6700\u512a\u5148\u30fb\u5909\u66f4\u306a\u3057\uff09\n  \/\/ 3\u554f\u76ee\u30fb\u30dc\u30c7\u30a3\u4e00\u81f4\uff1a20\u70b9\uff08\u512a\u5148\u5ea62\u4f4d\u306b\u5f15\u304d\u4e0a\u3052\uff09\n  \/\/ 5\u554f\u76ee\u30fb\u4e88\u7b97\uff1a12\u70b9\uff08\u512a\u5148\u5ea63\u4f4d\u306b\u5f15\u304d\u4e0b\u3052\uff09\n  \/\/ 4\u554f\u76ee\u30fb\u30bf\u30b0\uff1a10\u70b9\uff08\u512a\u5148\u5ea64\u4f4d\u306b\u5f15\u304d\u4e0b\u3052\uff09\n  \/\/ \u4e88\u7b97\u8d85\u904e\u30dc\u30fc\u30ca\u30b9\uff1aapplyBudgetBonus() \u5185\u3067\u6700\u592710\u70b9\n  const SCORE_BODY_MATCH   = 20;  \/\/ \u30dc\u30c7\u30a3\u5b8c\u5168\u4e00\u81f4\n  const SCORE_BUDGET_OK    = 12;  \/\/ \u4e88\u7b97\u5185\n  const SCORE_TAG_MATCH    = 10;  \/\/ \u30bf\u30b0\u4e00\u81f4\n  const SCORE_BUDGET_BONUS = 10;  \/\/ \u4e88\u7b97\u5c11\u3057\u8d85\u3048\u308b\u304c\u6761\u4ef6\u5408\u81f4\n\n  const NAV_LABELS = ['\u672c\u547d\u306e1\u672c', '\u98df\u4e8b\u3068\u697d\u3057\u3080', '\u65b0\u3057\u3044\u767a\u898b'];\n  const NAV_NUMS   = ['I', 'II', 'III'];\n  const SESSION_KEY = 'wq_state';\n\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/  \u30a2\u30d7\u30ea\u72b6\u614b\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n  let appStep  = 'start';\n  let currentQ = 0;\n  let answers  = [];\n\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/  \u30bb\u30c3\u30b7\u30e7\u30f3\u4fdd\u5b58 \/ \u5fa9\u5143\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n  function saveSession() {\n    try { sessionStorage.setItem(SESSION_KEY, JSON.stringify({ appStep, currentQ, answers })); }\n    catch (e) { console.warn('\u30bb\u30c3\u30b7\u30e7\u30f3\u4fdd\u5b58\u5931\u6557:', e); }\n  }\n  function loadSession() {\n    try {\n      const saved = sessionStorage.getItem(SESSION_KEY);\n      if (!saved) return;\n      const { appStep: s, currentQ: q, answers: a } = JSON.parse(saved);\n      appStep = s; currentQ = q; answers = a;\n    } catch (e) { console.warn('\u30bb\u30c3\u30b7\u30e7\u30f3\u8aad\u8fbc\u5931\u6557:', e); }\n  }\n  function clearSession() {\n    try { sessionStorage.removeItem(SESSION_KEY); } catch (e) {}\n  }\n\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/  \u30b9\u30b3\u30a2\u30ea\u30f3\u30b0\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n  function calcFoodScore(wine, food) {\n    if (food === 'both' && wine.pair === 'both')                           return 24;\n    if (wine.pair === food)                                                 return 20;\n    if (wine.pair === 'both' && food !== 'cheese')                         return 20;\n    if (food === 'both' && (wine.pair === 'meat' || wine.pair === 'fish')) return 16;\n    return 0;\n  }\n\n  function calcWineScores(pool, { food, body, taste, budget }) {\n    const budgetLimit   = budget === 'none' ? Infinity : parseInt(budget, 10);\n    const allowedBodies = BODY_RANGE[body] ?? ['light', 'medium', 'full'];\n\n    return pool\n      .filter(wine => allowedBodies.includes(wine.body))\n      .map(wine => {\n        let score = calcFoodScore(wine, food);\n        if (wine.body === body)                              score += SCORE_BODY_MATCH;\n        if (budget === 'none' || wine.price <= budgetLimit)  score += SCORE_BUDGET_OK;\n        if (wine.tag === taste)                              score += SCORE_TAG_MATCH;\n        return { ...wine, score };\n      });\n  }\n\n  function applyBudgetBonus(scoredList, { food, body, type, budget }) {\n    if (budget === 'none') return scoredList;\n    const budgetLimit = parseInt(budget, 10);\n    return scoredList.map(wine => {\n      const over = wine.price - budgetLimit;\n      if (over <= 0 || over > 1000) return wine;\n      const matchCount = [\n        wine.pair === food || wine.pair === 'both' || food === 'both',\n        wine.type === type,\n        wine.body === body,\n      ].filter(Boolean).length;\n      return matchCount >= 2 ? { ...wine, score: wine.score + SCORE_BUDGET_BONUS } : wine;\n    });\n  }\n\n  function getTopWines(pool, criteria, limit = 3) {\n    let scored = calcWineScores(pool, criteria);\n    scored     = applyBudgetBonus(scored, criteria);\n    const maxScore = scored.length ? Math.max(...scored.map(w => w.score)) : 0;\n    return scored\n      .filter(w => w.score >= maxScore - 5)\n      .sort((a, b) => b.score - a.score || b.price - a.price)\n      .slice(0, limit);\n  }\n\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/  HTML \u30d3\u30eb\u30c0\u30fc\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n  function fadeStyle(index) {\n    return `style=\"animation: wq-fadeUp 0.35s ease ${index * 0.04}s forwards; opacity: 0;\"`;\n  }\n\n  function buildProgressDots(activeIndex) {\n    return QUESTIONS.map((_, i) =>\n      `<div class=\"progress-dot${i <= activeIndex ? ' active' : ''}\"><\/div>`\n    ).join('');\n  }\n\n  function buildOptionButtons(opts, selectedVal) {\n    return opts.map((opt, i) =>\n      `<button class=\"option-btn${selectedVal === opt.val ? ' selected' : ''}\" ${fadeStyle(i + 2)} data-val=\"${opt.val}\">${opt.label}<\/button>`\n    ).join('');\n  }\n\n  function buildWineCard(wine, index) {\n    return `\n      <div id=\"wq-detail-${index}\" class=\"result-card\" style=\"scroll-margin-top:24px; animation: wq-fadeUp 0.35s ease ${(index + 2) * 0.04}s forwards; opacity: 0;\">\n        <div class=\"card-img-wrap\">\n          <img decoding=\"async\" src=\"${wine.image}\" referrerpolicy=\"no-referrer\" alt=\"${wine.name}\" loading=\"lazy\">\n        <\/div>\n        <div class=\"card-body\">\n          <div class=\"card-name\">${wine.name}<\/div>\n          <div class=\"card-price\">\u00a5${wine.price.toLocaleString()}<span style=\"font-size:12px; opacity:0.7\"> \u301c<\/span><\/div>\n          <div class=\"card-feat\">\u300c${wine.feat}\u300d<\/div>\n          <a href=\"https:\/\/www.estarico-japan.com\/?p=${wine.id}\" class=\"card-link\">SHOP NOW<\/a>\n        <\/div>\n      <\/div>`;\n  }\n\n  function buildSummaryNav(wineList) {\n    return wineList.map((wine, i) => `\n      <a class=\"snav-card\" href=\"#wq-detail-${i}\"\n         onclick=\"event.preventDefault(); WineQuiz.scrollTo('wq-detail-${i}');\">\n        <span class=\"snav-label\">${NAV_LABELS[i] ?? ''}<\/span>\n        <span class=\"snav-num\">${NAV_NUMS[i] ?? i + 1}<\/span>\n        <div class=\"snav-text\">\n          <span class=\"snav-name\">${wine.name}<\/span>\n        <\/div>\n        <span class=\"snav-arrow\">\u2193<\/span>\n      <\/a>`\n    ).join('');\n  }\n\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/  \u753b\u9762\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n  function renderStart() {\n    return `\n      <div class=\"start-wrap fade-up\">\n        <img decoding=\"async\" class=\"logo-img\"\n             src=\"https:\/\/www.estarico-japan.com\/wp-content\/uploads\/2023\/08\/top-logo001.png\"\n             onerror=\"this.style.display='none'\" alt=\"ESTARICO JAPAN\">\n        <h2 class=\"start-title\">\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306e<br>\u4e00\u672c\u3092\u898b\u3064\u3051\u307e\u3057\u3087\u3046<\/h2>\n        <p class=\"start-desc\">5\u3064\u306e\u8cea\u554f\u306b\u304a\u7b54\u3048\u3044\u305f\u3060\u304f\u3060\u3051\u3067\u3001<br>\u30b9\u30da\u30a4\u30f3\u30ef\u30a4\u30f3\u306e\u5c02\u9580\u5bb6\u304c\u3042\u306a\u305f\u306b\u6700\u9069\u306a<br>\u30dc\u30c8\u30eb\u3092\u3054\u63d0\u6848\u3044\u305f\u3057\u307e\u3059\u3002<\/p>\n        <div class=\"divider\"><span class=\"divider-icon\">\u2726<\/span><\/div>\n        <button class=\"cta-btn\" id=\"wq-start-btn\">\u8a3a\u65ad\u3092\u306f\u3058\u3081\u308b<\/button>\n      <\/div>`;\n  }\n\n  function renderQuiz() {\n    const question     = QUESTIONS[currentQ];\n    const selectedVal  = answers[currentQ];\n    const isLastQ      = currentQ === QUESTIONS.length - 1;\n    const isRevisiting = currentQ < answers.length;\n\n    const prevBtn = currentQ > 0\n      ? `<button class=\"quiz-nav-btn prev\" id=\"wq-prev-btn\">\u2190 \u524d\u306b\u623b\u308b<\/button>`\n      : `<span><\/span>`;\n\n    const nextBtn = isRevisiting\n      ? `<button class=\"quiz-nav-btn next\" id=\"wq-next-btn\"\n           ${selectedVal !== undefined ? '' : 'disabled'}>\n           ${isLastQ ? '\u7d50\u679c\u3092\u898b\u308b \u2192' : '\u6b21\u3078\u9032\u3080 \u2192'}\n         <\/button>`\n      : `<span><\/span>`;\n\n    return `\n      <div class=\"quiz-wrap\">\n        <div class=\"progress-bar\">${buildProgressDots(currentQ)}<\/div>\n        <div class=\"question-num\" ${fadeStyle(1)}>QUESTION ${currentQ + 1} \/ ${QUESTIONS.length}<\/div>\n        <div class=\"question-text\" ${fadeStyle(2)}>${question.q}<\/div>\n        ${buildOptionButtons(question.opts, selectedVal)}\n        <div class=\"quiz-nav\">${prevBtn}${nextBtn}<\/div>\n      <\/div>`;\n  }\n\n  function renderResult() {\n    const [food, type, body, taste, budget] = answers;\n    const criteria = { food, type, body, taste, budget };\n\n    \/\/ \u2460 \u9078\u3093\u3060\u8272\u3067\u4e0a\u4f4d3\u672c\u3092\u63a2\u3059\n    const primaryPool  = WINE_LIST.filter(w => w.type === type);\n    const primaryWines = getTopWines(primaryPool, criteria, 3);\n\n    \/\/ \u2461 3\u672c\u672a\u6e80\u306e\u5834\u5408\u3001\u4ed6\u306e\u8272\u304b\u3089\u6b8b\u308a\u3092\u88dc\u5b8c\u3059\u308b\n    const need = 3 - primaryWines.length;\n    const usedIds = new Set(primaryWines.map(w => w.id));\n    const supplementWines = need > 0\n      ? getTopWines(\n          WINE_LIST.filter(w => w.type !== type && !usedIds.has(w.id)),\n          criteria,\n          need\n        )\n      : [];\n\n    \/\/ \u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u7528\u306f\u4e3b\u7d50\u679c\uff0b\u88dc\u5b8c\u3092\u5408\u308f\u305b\u305f\u6700\u59273\u672c\n    const allDisplayWines = [...primaryWines, ...supplementWines];\n\n    const answerTags = [food, type, body, taste, budget]\n      .map(v => `<span class=\"answer-tag\">${ANSWER_LABELS[v] ?? v}<\/span>`)\n      .join('');\n\n    \/\/ \u2462 \u88dc\u5b8c\u30ef\u30a4\u30f3\u306b\u306f\u300c\u4ed6\u306e\u304a\u3059\u3059\u3081\u300d\u30e9\u30d9\u30eb\u3092\u4ed8\u3051\u3066\u5225\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u8868\u793a\n    const primarySection = primaryWines.length > 0\n      ? `<div class=\"result-grid\">${primaryWines.map((w, i) => buildWineCard(w, i)).join('')}<\/div>`\n      : '';\n\n    const supplementSection = supplementWines.length > 0 ? `\n      <div class=\"fallback-label\">\u4ed6\u306e\u304a\u3059\u3059\u3081<\/div>\n      <div class=\"result-grid\">${supplementWines.map((w, i) => buildWineCard(w, primaryWines.length + i)).join('')}<\/div>`\n      : '';\n\n    return `\n      <div>\n        <div class=\"result-title fade-up\">\u304a\u3059\u3059\u3081\u306e\u30ef\u30a4\u30f3<\/div>\n        <div class=\"result-sub fade-up\">CURATED SELECTION FOR YOU<\/div>\n        <div class=\"answer-summary fade-up\">${answerTags}<\/div>\n        <div class=\"summary-nav fade-up\">${buildSummaryNav(allDisplayWines)}<\/div>\n        ${primarySection}\n        ${supplementSection}\n        <button class=\"restart-btn\" id=\"wq-restart-btn\">\u6700\u521d\u304b\u3089\u3084\u308a\u76f4\u3059<\/button>\n      <\/div>`;\n  }\n\n  function render() {\n    const container = document.getElementById('wq-body');\n    if      (appStep === 'start')  container.innerHTML = renderStart();\n    else if (appStep === 'quiz')   container.innerHTML = renderQuiz();\n    else                           container.innerHTML = renderResult();\n    saveSession();\n  }\n\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/  \u30af\u30a4\u30ba\u9032\u884c\u30d8\u30eb\u30d1\u30fc\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n  function advanceQuiz() {\n    if (currentQ < QUESTIONS.length - 1) {\n      currentQ++;\n      render();\n    } else {\n      answers = answers.slice(0, QUESTIONS.length);\n      appStep = 'result';\n      render();\n    }\n  }\n\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/  \u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n  function setupEvents() {\n    document.getElementById('wq-body').addEventListener('click', e => {\n      const el = e.target;\n\n      if (el.id === 'wq-start-btn') {\n        appStep = 'quiz'; currentQ = 0; answers = [];\n        render(); return;\n      }\n\n      if (el.classList.contains('option-btn')) {\n        const val        = el.dataset.val;\n        const isNewEntry = answers[currentQ] === undefined;\n        answers[currentQ] = val;\n\n        document.querySelectorAll('#wq-body .option-btn').forEach(btn =>\n          btn.classList.toggle('selected', btn.dataset.val === val)\n        );\n\n        const nextBtn = document.getElementById('wq-next-btn');\n        if (nextBtn) nextBtn.disabled = false;\n\n        if (isNewEntry) {\n          if (nextBtn) nextBtn.classList.add('pending');\n          setTimeout(advanceQuiz, 300);\n        }\n        return;\n      }\n\n      if (el.id === 'wq-next-btn') {\n        if (answers[currentQ] !== undefined) advanceQuiz();\n        return;\n      }\n\n      if (el.id === 'wq-prev-btn') {\n        if (currentQ > 0) { currentQ--; render(); }\n        return;\n      }\n\n      if (el.id === 'wq-restart-btn') {\n        appStep = 'start'; currentQ = 0; answers = [];\n        clearSession();\n        render();\n        document.getElementById('wq-scope')?.scrollIntoView({ behavior: 'smooth', block: 'start' });\n      }\n    });\n  }\n\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/  \u30b9\u30e0\u30fc\u30ba\u30b9\u30af\u30ed\u30fc\u30eb\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n  function smoothScrollTo(targetId) {\n    const el = document.getElementById(targetId);\n    if (!el) return;\n    const startY  = window.scrollY;\n    const endY    = el.getBoundingClientRect().top + startY - 24;\n    const delta   = endY - startY;\n    let   startTs = null;\n    const easeOutCubic = t => 1 - Math.pow(1 - t, 3);\n    (function step(ts) {\n      if (!startTs) startTs = ts;\n      const progress = Math.min((ts - startTs) \/ 900, 1);\n      window.scrollTo(0, startY + delta * easeOutCubic(progress));\n      if (progress < 1) requestAnimationFrame(step);\n    })(performance.now());\n  }\n\n  window.WineQuiz = { scrollTo: smoothScrollTo };\n\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/  \u521d\u671f\u5316\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n  function init() {\n    loadSession();\n    render();\n    setupEvents();\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n\n})();\n<\/script>\n\n\n\n\n<p>\u7d50\u679c\u306f\u3044\u304b\u304c\u3067\u3057\u305f\u3067\u3057\u3087\u3046\u304b\uff1f<\/p>\n\n\n\n<p>\u5f53\u793e\u306f\u591a\u6570\u306e\u9b45\u529b\u7684\u306a\u30b9\u30da\u30a4\u30f3\u30ef\u30a4\u30f3\u3092\u53d6\u308a\u6271\u3063\u3066\u304a\u308a\u307e\u3059\u306e\u3067\u3001\u8a3a\u65ad\u3067\u51fa\u4f1a\u3063\u305f\u30ef\u30a4\u30f3\u4ee5\u5916\u3082\u305c\u3072\u3054\u89a7\u3044\u305f\u3060\u3051\u308c\u3070\u3068\u601d\u3044\u307e\u3059\u266a<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u2726 VINOS ESPA\u00d1OLES \u2726 ESTARICO JAPAN Wine  [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4790","page","type-page","status-publish"],"aioseo_notices":[],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.estarico-japan.com\/index.php?rest_route=\/wp\/v2\/pages\/4790","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.estarico-japan.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.estarico-japan.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.estarico-japan.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.estarico-japan.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4790"}],"version-history":[{"count":54,"href":"https:\/\/www.estarico-japan.com\/index.php?rest_route=\/wp\/v2\/pages\/4790\/revisions"}],"predecessor-version":[{"id":4870,"href":"https:\/\/www.estarico-japan.com\/index.php?rest_route=\/wp\/v2\/pages\/4790\/revisions\/4870"}],"wp:attachment":[{"href":"https:\/\/www.estarico-japan.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}