{"id":14052,"date":"2025-10-17T14:00:33","date_gmt":"2025-10-17T05:00:33","guid":{"rendered":"https:\/\/poi-poi.co.jp\/bike\/?page_id=14052"},"modified":"2026-01-09T21:24:01","modified_gmt":"2026-01-09T12:24:01","slug":"%e3%82%b3%e3%83%b3%e3%82%bf%e3%82%af%e3%83%88%e3%83%95%e3%82%a9%e3%83%bc%e3%83%a0","status":"publish","type":"page","link":"https:\/\/poi-poi.co.jp\/bike\/%e3%82%b3%e3%83%b3%e3%82%bf%e3%82%af%e3%83%88%e3%83%95%e3%82%a9%e3%83%bc%e3%83%a0","title":{"rendered":"\u30b3\u30f3\u30bf\u30af\u30c8\u30d5\u30a9\u30fc\u30e0"},"content":{"rendered":"\n<div class=\"wp-block-contact-form-7-contact-form-selector\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f13854-o1\" lang=\"ja\" dir=\"ltr\" data-wpcf7-id=\"13854\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/bike\/wp-json\/wp\/v2\/pages\/14052#wpcf7-f13854-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"\u30b3\u30f3\u30bf\u30af\u30c8\u30d5\u30a9\u30fc\u30e0\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"13854\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.4\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"ja\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f13854-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<!-- ============================================================\n     Contact Form 7 \u7528\u30d5\u30a9\u30fc\u30e0HTML\uff08YubinBango\u5bfe\u5fdc\u7248\uff09\n\n     \u3010\u8a2d\u7f6e\u65b9\u6cd5\u3011\n     1. WordPress\u7ba1\u7406\u753b\u9762 \u2192 \u304a\u554f\u3044\u5408\u308f\u305b \u2192 \u30b3\u30f3\u30bf\u30af\u30c8\u30d5\u30a9\u30fc\u30e0\n     2. \u65b0\u898f\u8ffd\u52a0 \u307e\u305f\u306f \u65e2\u5b58\u30d5\u30a9\u30fc\u30e0\u3092\u7de8\u96c6\n     3. \u4e0b\u8a18HTML\u3092\u30d5\u30a9\u30fc\u30e0\u30bf\u30d6\u306b\u8cbc\u308a\u4ed8\u3051\n     ============================================================ -->\n<div class=\"two-column-form h-adr\">\n\t<p><span class=\"p-country-name\" style=\"display:none;\">Japan<\/span>\n\t<\/p>\n\t<div class=\"form-column\">\n\t\t<h2 id=\"73\">STEP-1 \u611b\u8eca\u306b\u3064\u3044\u3066\n\t\t<\/h2>\n\t\t<div class=\"form-row\">\n\t\t\t<p><label for=\"maker\">\u30e1\u30fc\u30ab\u30fc\u540d<\/label>\n\t\t\t<\/p>\n\t\t\t<div class=\"form-field\">\n\t\t\t\t<p><span class=\"tag required\">\u5fc5\u9808<\/span><br \/>\n<select name=\"maker\" id=\"maker\" required>\n <option value=\"\">\u30e1\u30fc\u30ab\u30fc\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044<\/option>\n <\/select>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"form-row\">\n\t\t\t<p><label for=\"displacement\">\u6392\u6c17\u91cf<\/label>\n\t\t\t<\/p>\n\t\t\t<div class=\"form-field\">\n\t\t\t\t<p><span class=\"tag required\">\u5fc5\u9808<\/span><br \/>\n<select name=\"displacement\" id=\"displacement\">\n <option value=\"\">\u6392\u6c17\u91cf\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044<\/option>\n <\/select>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"form-row\">\n\t\t\t<p><label for=\"bike-name\">\u30d0\u30a4\u30af\u540d<\/label>\n\t\t\t<\/p>\n\t\t\t<div class=\"form-field\">\n\t\t\t\t<p><span class=\"tag required\">\u5fc5\u9808<\/span><br \/>\n<select name=\"bike-name\" id=\"bike-name\">\n <option value=\"\">\u30d0\u30a4\u30af\u540d\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044<\/option>\n <\/select>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"form-row\">\n\t\t\t<p><label for=\"bike-name-other\">\u203b\u9078\u629e\u80a2\u304c\u306a\u3044\u5834\u5408\u306f\u3053\u3061\u3089\u306b\u8a18\u5165<\/label>\n\t\t\t<\/p>\n\t\t\t<div class=\"form-field\">\n\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"bike-name-other\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"bike-name-other\" aria-invalid=\"false\" placeholder=\"\u4f8b\uff1aCB400SF\" value=\"\" type=\"text\" name=\"bike-name-other\" \/><\/span>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"form-row\">\n\t\t\t<p><label for=\"mileage\">\u8d70\u884c\u8ddd\u96e2<\/label>\n\t\t\t<\/p>\n\t\t\t<div class=\"form-field\">\n\t\t\t\t<p><span class=\"tag required\">\u5fc5\u9808<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"mileage\"><select class=\"wpcf7-form-control wpcf7-select wpcf7-validates-as-required\" id=\"mileage\" aria-required=\"true\" aria-invalid=\"false\" name=\"mileage\"><option value=\"\u8d70\u884c\u8ddd\u96e2\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\">\u8d70\u884c\u8ddd\u96e2\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044<\/option><option value=\"\u301c99km\">\u301c99km<\/option><option value=\"100\u301c999km\">100\u301c999km<\/option><option value=\"1,000\u301c2,999km\">1,000\u301c2,999km<\/option><option value=\"3,000\u301c4,999km\">3,000\u301c4,999km<\/option><option value=\"5,000\u301c9,999km\">5,000\u301c9,999km<\/option><option value=\"10,000\u301c14,999km\">10,000\u301c14,999km<\/option><option value=\"15,000\u301c19,999km\">15,000\u301c19,999km<\/option><option value=\"20,000\u301c24,999km\">20,000\u301c24,999km<\/option><option value=\"25,000\u301c29,999km\">25,000\u301c29,999km<\/option><option value=\"30,000\u301c49,999km\">30,000\u301c49,999km<\/option><option value=\"50,000\u301c99,999km\">50,000\u301c99,999km<\/option><option value=\"100,000km\u301c\">100,000km\u301c<\/option><option value=\"\u4e0d\u660e\">\u4e0d\u660e<\/option><\/select><\/span>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-column\">\n\t\t<h2>STEP-2 \u304a\u5ba2\u69d8\u306b\u3064\u3044\u3066\n\t\t<\/h2>\n\t\t<div class=\"form-row\">\n\t\t\t<p><label for=\"your-name\">\u304a\u540d\u524d<\/label>\n\t\t\t<\/p>\n\t\t\t<div class=\"form-field\">\n\t\t\t\t<p><span class=\"tag required\">\u5fc5\u9808<\/span>\n\t\t\t\t<\/p>\n\t\t\t\t<div class=\"name-fields\">\n\t\t\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-sei\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" id=\"your-sei\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\u305b\u3044\" value=\"\" type=\"text\" name=\"your-sei\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-mei\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" id=\"your-mei\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\u3081\u3044\" value=\"\" type=\"text\" name=\"your-mei\" \/><\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<p class=\"description\">\u203b\u5168\u89d2\u3072\u3089\u304c\u306a\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"form-row\">\n\t\t\t<p><label for=\"tel\">\u96fb\u8a71\u756a\u53f7<\/label>\n\t\t\t<\/p>\n\t\t\t<div class=\"form-field\">\n\t\t\t\t<p><span class=\"tag required\">\u5fc5\u9808<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"tel\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" id=\"tel\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\u4f8b\uff1a08012345678\" value=\"\" type=\"tel\" name=\"tel\" \/><\/span>\n\t\t\t\t<\/p>\n\t\t\t\t<p class=\"description\">\u203bSMS\u3067\u306e\u3054\u9023\u7d61\u306e\u307f\u306b\u5229\u7528\u3055\u305b\u3066\u3044\u305f\u3060\u304d\u307e\u3059\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"form-row\">\n\t\t\t<p><label for=\"postcode\">\u90f5\u4fbf\u756a\u53f7<\/label>\n\t\t\t<\/p>\n\t\t\t<div class=\"form-field\">\n\t\t\t\t<p><span class=\"tag required\">\u5fc5\u9808<\/span><br \/>\n<input type=\"text\" name=\"postcode\" id=\"postcode\" class=\"p-postal-code\" placeholder=\"\u4f8b\uff1a1500031\" maxlength=\"7\" required \/>\n\t\t\t\t<\/p>\n\t\t\t\t<p class=\"description\">\u203b\u30cf\u30a4\u30d5\u30f3\u306a\u3057 \u534a\u89d2\u6570\u5b57\uff08\u5165\u529b\u3059\u308b\u3068\u4f4f\u6240\u304c\u81ea\u52d5\u5165\u529b\u3055\u308c\u307e\u3059\uff09\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"form-row\">\n\t\t\t<p><label for=\"address\">\u4f4f\u6240<\/label>\n\t\t\t<\/p>\n\t\t\t<div class=\"form-field\">\n\t\t\t\t<p><span class=\"tag required\">\u5fc5\u9808<\/span><br \/>\n<input type=\"text\" name=\"address\" id=\"address\" class=\"p-region p-locality p-street-address p-extended-address\" placeholder=\"\u90f5\u4fbf\u756a\u53f7\u3092\u5165\u529b\u3059\u308b\u3068\u81ea\u52d5\u5165\u529b\u3055\u308c\u307e\u3059\" required \/>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"form-row\">\n\t\t\t<p><label for=\"email\">\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9<\/label>\n\t\t\t<\/p>\n\t\t\t<div class=\"form-field\">\n\t\t\t\t<p><span class=\"tag required\">\u5fc5\u9808<\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" id=\"email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"\u4f8b\uff1auser@example.com\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"form-row full-width\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"newsletter\"><span class=\"wpcf7-form-control wpcf7-acceptance optional\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"newsletter\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">\u30d0\u30a4\u30af\u306b\u95a2\u3059\u308b\u304a\u5f97\u306a\u60c5\u5831\u3092\u53d7\u3051\u53d6\u308b<\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<!-- \u8868\u793a\u540d\u3092\u9001\u4fe1\u3059\u308b\u305f\u3081\u306e\u96a0\u3057\u30d5\u30a3\u30fc\u30eb\u30c9 -->\n<input class=\"wpcf7-form-control wpcf7-hidden\" id=\"maker-text\" value=\"\" type=\"hidden\" name=\"maker-text\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" id=\"displacement-text\" value=\"\" type=\"hidden\" name=\"displacement-text\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" id=\"bike-name-text\" value=\"\" type=\"hidden\" name=\"bike-name-text\" \/>\n<div class=\"submit-button-wrap\">\n\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"\u9001\u4fe1\u3059\u308b\" \/>\n\t<\/p>\n<\/div><p style=\"display: none !important;\" class=\"akismet-fields-container\" data-prefix=\"_wpcf7_ak_\"><label>&#916;<textarea name=\"_wpcf7_ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js_1\" name=\"_wpcf7_ak_js\" value=\"57\"\/><script>document.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );<\/script><\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/div>\n\n\n\n<!-- YubinBango\uff08\u90f5\u4fbf\u756a\u53f7\u2192\u4f4f\u6240\u81ea\u52d5\u5165\u529b\uff09 -->\n<script src=\"https:\/\/yubinbango.github.io\/yubinbango\/yubinbango.js\" charset=\"UTF-8\"><\/script>\n\n<!-- \u30d0\u30a4\u30af\u30d5\u30a9\u30fc\u30e0\u9023\u52d5 -->\n<script>\n\/**\n * \u30d0\u30a4\u30af\u67fb\u5b9a\u30d5\u30a9\u30fc\u30e0 - \u9023\u52d5\u30bb\u30ec\u30af\u30c8\u30dc\u30c3\u30af\u30b9\n * \u30e1\u30fc\u30ab\u30fc \u2192 \u6392\u6c17\u91cf \u2192 \u30d0\u30a4\u30af\u540d \u3092\u9023\u52d5\u3055\u305b\u308b\n * \u8eca\u7a2e0\u4ef6\u306e\u30e1\u30fc\u30ab\u30fc\u306b\u3082\u5bfe\u5fdc\n *\/\n\n(function() {\n  'use strict';\n\n  \/\/ JSON\u30c7\u30fc\u30bf\u306eURL\n  const JSON_URL = 'https:\/\/poi-poi.co.jp\/bike\/wp-content\/uploads\/bike_master_v2.json';\n\n  \/\/ \u30b0\u30ed\u30fc\u30d0\u30eb\u30c7\u30fc\u30bf\n  let bikeData = null;\n\n  \/\/ \u521d\u671f\u5316\n  document.addEventListener('DOMContentLoaded', function() {\n    loadBikeData();\n  });\n\n  \/\/ JSON\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u3080\n  function loadBikeData() {\n    fetch(JSON_URL)\n      .then(response => {\n        if (!response.ok) throw new Error('JSON\u8aad\u307f\u8fbc\u307f\u5931\u6557');\n        return response.json();\n      })\n      .then(data => {\n        bikeData = data;\n        initForm();\n      })\n      .catch(error => {\n        console.error('\u30d0\u30a4\u30af\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557:', error);\n      });\n  }\n\n  \/\/ \u30d5\u30a9\u30fc\u30e0\u521d\u671f\u5316\n  function initForm() {\n    const makerSelect = document.getElementById('maker');\n    const displacementSelect = document.getElementById('displacement');\n    const bikeNameSelect = document.getElementById('bike-name');\n    const bikeNameOther = document.getElementById('bike-name-other');\n\n    if (!makerSelect || !displacementSelect || !bikeNameSelect) {\n      console.error('\u30d5\u30a9\u30fc\u30e0\u8981\u7d20\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093');\n      return;\n    }\n\n    \/\/ \u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u7528\u306e\u8981\u7d20\u3092\u4f5c\u6210\n    createNoBikesMessage(displacementSelect);\n\n    \/\/ \u30e1\u30fc\u30ab\u30fc\u9078\u629e\u80a2\u3092\u30bb\u30c3\u30c8\n    populateMakers(makerSelect);\n\n    \/\/ \u30a4\u30d9\u30f3\u30c8\u30ea\u30b9\u30ca\u30fc\u8a2d\u5b9a\n    makerSelect.addEventListener('change', function() {\n      onMakerChange(this.value, displacementSelect, bikeNameSelect, bikeNameOther);\n    });\n\n    displacementSelect.addEventListener('change', function() {\n      onDisplacementChange(makerSelect.value, this.value, bikeNameSelect);\n    });\n\n    \/\/ \u9001\u4fe1\u6642\u306e\u51e6\u7406\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\n    setupFormSubmit();\n\n    \/\/ \u30ab\u30b9\u30bf\u30e0\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\n    setupValidation(makerSelect, displacementSelect, bikeNameSelect, bikeNameOther);\n  }\n\n  \/\/ \u300c\u767b\u9332\u30d0\u30a4\u30af\u306a\u3057\u300d\u30e1\u30c3\u30bb\u30fc\u30b8\u8981\u7d20\u3092\u4f5c\u6210\n  function createNoBikesMessage(displacementSelect) {\n    const msg = document.createElement('p');\n    msg.id = 'no-bikes-message';\n    msg.style.cssText = 'color: #dc3545; font-weight: bold; margin: 10px 0; display: none;';\n    msg.textContent = '\u203b \u767b\u9332\u3055\u308c\u3066\u3044\u308b\u30d0\u30a4\u30af\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u4e0b\u306e\u5165\u529b\u6b04\u306b\u30d0\u30a4\u30af\u540d\u3092\u3054\u8a18\u5165\u304f\u3060\u3055\u3044\u3002';\n\n    \/\/ \u6392\u6c17\u91cf\u30bb\u30ec\u30af\u30c8\u306e\u89aa\u8981\u7d20\u306e\u5f8c\u306b\u633f\u5165\n    const parent = displacementSelect.closest('.form-row');\n    if (parent) {\n      parent.insertAdjacentElement('afterend', msg);\n    }\n  }\n\n  \/\/ \u30e1\u30fc\u30ab\u30fc\u304c\u8eca\u7a2e0\u4ef6\u304b\u3069\u3046\u304b\u3092\u30c1\u30a7\u30c3\u30af\n  function hasBikes(makerId) {\n    if (!makerId || !bikeData[makerId]) return false;\n    const emissions = bikeData[makerId].emissions;\n    return Object.keys(emissions).length > 0;\n  }\n\n  \/\/ \u30e1\u30fc\u30ab\u30fc\u9078\u629e\u80a2\u3092\u30bb\u30c3\u30c8\n  function populateMakers(select) {\n    \/\/ \u65e2\u5b58\u306e\u9078\u629e\u80a2\u3092\u30af\u30ea\u30a2\n    select.innerHTML = '<option value=\"\">\u30e1\u30fc\u30ab\u30fc\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044<\/option>';\n\n    \/\/ \u30e1\u30fc\u30ab\u30fc\u3092\u30bd\u30fc\u30c8\u3057\u3066\u8ffd\u52a0\n    const makers = Object.entries(bikeData)\n      .map(([id, data]) => ({ id, name: data.maker_name }))\n      .sort((a, b) => {\n        \/\/ \u56fd\u51854\u5927\u30e1\u30fc\u30ab\u30fc\u3092\u5148\u982d\u306b\n        const priority = ['\u30db\u30f3\u30c0', '\u30e4\u30de\u30cf', '\u30b9\u30ba\u30ad', '\u30ab\u30ef\u30b5\u30ad'];\n        const aIdx = priority.indexOf(a.name);\n        const bIdx = priority.indexOf(b.name);\n        if (aIdx !== -1 && bIdx !== -1) return aIdx - bIdx;\n        if (aIdx !== -1) return -1;\n        if (bIdx !== -1) return 1;\n        \/\/ \u300c\u305d\u306e\u4ed6\u300d\u306f\u6700\u5f8c\u306b\n        const aIsOther = a.name.includes('\u305d\u306e\u4ed6');\n        const bIsOther = b.name.includes('\u305d\u306e\u4ed6');\n        if (aIsOther && !bIsOther) return 1;\n        if (!aIsOther && bIsOther) return -1;\n        if (aIsOther && bIsOther) return a.name.localeCompare(b.name, 'ja');\n        return a.name.localeCompare(b.name, 'ja');\n      });\n\n    makers.forEach(maker => {\n      const option = document.createElement('option');\n      option.value = maker.id;\n      option.textContent = maker.name;\n      select.appendChild(option);\n    });\n  }\n\n  \/\/ \u30e1\u30fc\u30ab\u30fc\u5909\u66f4\u6642\n  function onMakerChange(makerId, displacementSelect, bikeNameSelect, bikeNameOther) {\n    \/\/ \u6392\u6c17\u91cf\u30fb\u30d0\u30a4\u30af\u540d\u3092\u30ea\u30bb\u30c3\u30c8\n    resetSelect(displacementSelect, '\u6392\u6c17\u91cf\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044');\n    resetSelect(bikeNameSelect, '\u30d0\u30a4\u30af\u540d\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044');\n\n    const noBikesMsg = document.getElementById('no-bikes-message');\n\n    if (!makerId || !bikeData[makerId]) {\n      \/\/ \u30e1\u30fc\u30ab\u30fc\u672a\u9078\u629e\u6642\n      setSelectsEnabled(displacementSelect, bikeNameSelect, true);\n      if (noBikesMsg) noBikesMsg.style.display = 'none';\n      updateOtherFieldRequired(bikeNameOther, false);\n      return;\n    }\n\n    const emissions = bikeData[makerId].emissions;\n    const hasEmissions = Object.keys(emissions).length > 0;\n\n    if (!hasEmissions) {\n      \/\/ \u8eca\u7a2e0\u4ef6\u306e\u30e1\u30fc\u30ab\u30fc\n      setSelectsEnabled(displacementSelect, bikeNameSelect, false);\n      if (noBikesMsg) noBikesMsg.style.display = 'block';\n      updateOtherFieldRequired(bikeNameOther, true);\n    } else {\n      \/\/ \u901a\u5e38\u306e\u30e1\u30fc\u30ab\u30fc\n      setSelectsEnabled(displacementSelect, bikeNameSelect, true);\n      if (noBikesMsg) noBikesMsg.style.display = 'none';\n      updateOtherFieldRequired(bikeNameOther, false);\n\n      \/\/ \u6392\u6c17\u91cf\u306e\u9078\u629e\u80a2\u3092\u30bb\u30c3\u30c8\n      Object.entries(emissions).forEach(([emissionId, emissionData]) => {\n        const option = document.createElement('option');\n        option.value = emissionId;\n        option.textContent = emissionData.label;\n        displacementSelect.appendChild(option);\n      });\n    }\n  }\n\n  \/\/ \u30bb\u30ec\u30af\u30c8\u30dc\u30c3\u30af\u30b9\u306e\u6709\u52b9\/\u7121\u52b9\u3092\u5207\u308a\u66ff\u3048\n  function setSelectsEnabled(displacementSelect, bikeNameSelect, enabled) {\n    displacementSelect.disabled = !enabled;\n    bikeNameSelect.disabled = !enabled;\n\n    \/\/ required\u5c5e\u6027\u3082\u5236\u5fa1\uff08\u7121\u52b9\u6642\u306f\u5916\u3059\uff09\n    if (enabled) {\n      displacementSelect.setAttribute('required', '');\n      bikeNameSelect.setAttribute('required', '');\n    } else {\n      displacementSelect.removeAttribute('required');\n      bikeNameSelect.removeAttribute('required');\n    }\n\n    \/\/ \u898b\u305f\u76ee\u3082\u5909\u66f4\n    const opacity = enabled ? '1' : '0.5';\n    displacementSelect.style.opacity = opacity;\n    bikeNameSelect.style.opacity = opacity;\n\n    if (!enabled) {\n      displacementSelect.innerHTML = '<option value=\"\">\u9078\u629e\u3067\u304d\u307e\u305b\u3093<\/option>';\n      bikeNameSelect.innerHTML = '<option value=\"\">\u9078\u629e\u3067\u304d\u307e\u305b\u3093<\/option>';\n    }\n  }\n\n  \/\/ \u305d\u306e\u4ed6\u5165\u529b\u6b04\u306e\u5fc5\u9808\u8868\u793a\u3092\u66f4\u65b0\n  function updateOtherFieldRequired(bikeNameOther, required) {\n    if (!bikeNameOther) return;\n\n    const row = bikeNameOther.closest('.form-row');\n    if (!row) return;\n\n    const label = row.querySelector('label');\n    let requiredTag = row.querySelector('.tag.required-dynamic');\n\n    if (required) {\n      \/\/ \u5fc5\u9808\u30bf\u30b0\u3092\u8ffd\u52a0\n      if (!requiredTag) {\n        const fieldDiv = row.querySelector('.form-field');\n        if (fieldDiv) {\n          requiredTag = document.createElement('span');\n          requiredTag.className = 'tag required required-dynamic';\n          requiredTag.textContent = '\u5fc5\u9808';\n          fieldDiv.insertBefore(requiredTag, fieldDiv.firstChild);\n        }\n      }\n      bikeNameOther.setAttribute('data-required', 'true');\n      \/\/ \u30e9\u30d9\u30eb\u3082\u66f4\u65b0\n      if (label) {\n        label.innerHTML = '\u30d0\u30a4\u30af\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044';\n      }\n    } else {\n      \/\/ \u5fc5\u9808\u30bf\u30b0\u3092\u524a\u9664\n      if (requiredTag) {\n        requiredTag.remove();\n      }\n      bikeNameOther.removeAttribute('data-required');\n      \/\/ \u30e9\u30d9\u30eb\u3092\u5143\u306b\u623b\u3059\n      if (label) {\n        label.innerHTML = '\u203b\u9078\u629e\u80a2\u304c\u306a\u3044\u5834\u5408\u306f\u3053\u3061\u3089\u306b\u8a18\u5165';\n      }\n    }\n  }\n\n  \/\/ \u6392\u6c17\u91cf\u5909\u66f4\u6642\n  function onDisplacementChange(makerId, emissionId, bikeNameSelect) {\n    \/\/ \u30d0\u30a4\u30af\u540d\u3092\u30ea\u30bb\u30c3\u30c8\n    resetSelect(bikeNameSelect, '\u30d0\u30a4\u30af\u540d\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044');\n\n    if (!makerId || !emissionId || !bikeData[makerId]) return;\n\n    const emissions = bikeData[makerId].emissions;\n    if (!emissions[emissionId]) return;\n\n    const bikes = emissions[emissionId].bikes;\n\n    \/\/ \u30d0\u30a4\u30af\u540d\u306e\u9078\u629e\u80a2\u3092\u30bb\u30c3\u30c8\uff08\u540d\u524d\u9806\u306b\u30bd\u30fc\u30c8\uff09\n    const sortedBikes = [...bikes].sort((a, b) =>\n      a.name.localeCompare(b.name, 'ja')\n    );\n\n    sortedBikes.forEach(bike => {\n      const option = document.createElement('option');\n      option.value = bike.id;\n      option.textContent = bike.name;\n      bikeNameSelect.appendChild(option);\n    });\n  }\n\n  \/\/ \u30bb\u30ec\u30af\u30c8\u30dc\u30c3\u30af\u30b9\u3092\u30ea\u30bb\u30c3\u30c8\n  function resetSelect(select, placeholder) {\n    select.innerHTML = '<option value=\"\">' + placeholder + '<\/option>';\n  }\n\n  \/\/ \u30ab\u30b9\u30bf\u30e0\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\n  function setupValidation(makerSelect, displacementSelect, bikeNameSelect, bikeNameOther) {\n    const form = document.querySelector('.wpcf7-form');\n    if (!form) return;\n\n    form.addEventListener('submit', function(e) {\n      const makerId = makerSelect.value;\n\n      if (!makerId) {\n        \/\/ \u30e1\u30fc\u30ab\u30fc\u672a\u9078\u629e\n        return; \/\/ CF7\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u306b\u4efb\u305b\u308b\n      }\n\n      const hasEmissions = hasBikes(makerId);\n\n      if (hasEmissions) {\n        \/\/ \u901a\u5e38\u30e1\u30fc\u30ab\u30fc: \u6392\u6c17\u91cf\u3068\u30d0\u30a4\u30af\u540d\u304c\u5fc5\u9808\n        if (!displacementSelect.value || !bikeNameSelect.value) {\n          e.preventDefault();\n          alert('\u6392\u6c17\u91cf\u3068\u30d0\u30a4\u30af\u540d\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002');\n          return false;\n        }\n      } else {\n        \/\/ 0\u4ef6\u30e1\u30fc\u30ab\u30fc: \u305d\u306e\u4ed6\u5165\u529b\u304c\u5fc5\u9808\n        if (bikeNameOther && !bikeNameOther.value.trim()) {\n          e.preventDefault();\n          alert('\u30d0\u30a4\u30af\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002');\n          bikeNameOther.focus();\n          return false;\n        }\n      }\n    });\n  }\n\n  \/\/ \u30d5\u30a9\u30fc\u30e0\u9001\u4fe1\u524d\u306b\u8868\u793a\u540d\u3092\u96a0\u3057\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u30bb\u30c3\u30c8\n  function setupFormSubmit() {\n    const form = document.querySelector('.wpcf7-form');\n    if (!form) return;\n\n    form.addEventListener('submit', function() {\n      const makerSelect = document.getElementById('maker');\n      const displacementSelect = document.getElementById('displacement');\n      const bikeNameSelect = document.getElementById('bike-name');\n\n      \/\/ \u9078\u629e\u4e2d\u306e\u30c6\u30ad\u30b9\u30c8\u3092\u53d6\u5f97\n      const makerText = makerSelect.options[makerSelect.selectedIndex] ? makerSelect.options[makerSelect.selectedIndex].text : '';\n      const displacementText = displacementSelect.options[displacementSelect.selectedIndex] ? displacementSelect.options[displacementSelect.selectedIndex].text : '';\n      const bikeNameText = bikeNameSelect.options[bikeNameSelect.selectedIndex] ? bikeNameSelect.options[bikeNameSelect.selectedIndex].text : '';\n\n      \/\/ \u96a0\u3057\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u30bb\u30c3\u30c8\n      const makerHidden = document.getElementById('maker-text');\n      const displacementHidden = document.getElementById('displacement-text');\n      const bikeNameHidden = document.getElementById('bike-name-text');\n\n      if (makerHidden) makerHidden.value = makerText;\n      if (displacementHidden) displacementHidden.value = displacementText;\n      if (bikeNameHidden) bikeNameHidden.value = bikeNameText;\n    });\n  }\n\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"swell_btn_cv_data":"","footnotes":""},"class_list":["post-14052","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/poi-poi.co.jp\/bike\/wp-json\/wp\/v2\/pages\/14052","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/poi-poi.co.jp\/bike\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/poi-poi.co.jp\/bike\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/poi-poi.co.jp\/bike\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/poi-poi.co.jp\/bike\/wp-json\/wp\/v2\/comments?post=14052"}],"version-history":[{"count":6,"href":"https:\/\/poi-poi.co.jp\/bike\/wp-json\/wp\/v2\/pages\/14052\/revisions"}],"predecessor-version":[{"id":23830,"href":"https:\/\/poi-poi.co.jp\/bike\/wp-json\/wp\/v2\/pages\/14052\/revisions\/23830"}],"wp:attachment":[{"href":"https:\/\/poi-poi.co.jp\/bike\/wp-json\/wp\/v2\/media?parent=14052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}