[
  {
    "id": 3462,
    "title": "FAQ_F-14",
    "icon": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewbox=\"0 0 256 256\"><path d=\"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z\" fill=\"#9aa8c9\"/><path d=\"M140,180a12,12,0,1,1-12-12A12,12,0,0,1,140,180ZM128,72c-22.06,0-40,16.15-40,36v4a8,8,0,0,0,16,0v-4c0-11,10.77-20,24-20s24,9,24,20-10.77,20-24,20a8,8,0,0,0-8,8v8a8,8,0,0,0,16,0v-.72c18.24-3.35,32-17.9,32-35.28C168,88.15,150.06,72,128,72Zm104,56A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z\" fill=\"#1a1a2e\"/></svg>",
    "keywords": [
      "FAQ",
      "よくある質問",
      "アコーディオン",
      "Q&A",
      "FAQ・Q&A"
    ],
    "slug": "lazyblock/f-faq2026a",
    "description": "よくある質問(FAQ)をアコーディオン形式で表示するブロック。Arkhe Blocks風の白ベース×ブルーアクセントの配色。トグルでFAQPage構造化データ(JSON-LD)の出力有無を切り替え可能。",
    "category": "Lazyblocks Free",
    "category_label": "Lazyblocks Free",
    "supports": {
      "customClassName": true,
      "anchor": false,
      "html": false,
      "multiple": true,
      "inserter": true,
      "reusable": true,
      "color": false,
      "layout": false,
      "shadow": false,
      "spacing": false,
      "dimensions": false,
      "typography": false,
      "lock": true,
      "align": [
        "wide",
        "full"
      ],
      "ghostkit": {
        "effects": false,
        "position": false,
        "spacings": false,
        "frame": false,
        "transform": false,
        "customCSS": false,
        "display": false,
        "attributes": false
      }
    },
    "controls": {
      "control_7f2a9c14e6": {
        "type": "toggle",
        "name": "enable_faq_schema",
        "default": "true",
        "label": "構造化データを出力",
        "help": "",
        "child_of": "",
        "placement": "inspector",
        "group": "settings",
        "width": "",
        "hide_if_not_selected": "false",
        "required": "false",
        "translate": "false",
        "save_in_meta": "false",
        "save_in_meta_name": "",
        "checked": "true",
        "alongside_text": "",
        "placeholder": "",
        "characters_limit": ""
      },
      "control_3b8d5f1a02": {
        "type": "repeater",
        "name": "faq_list",
        "default": "",
        "label": "質問一覧",
        "help": "",
        "child_of": "",
        "placement": "content",
        "group": "settings",
        "width": "",
        "hide_if_not_selected": "true",
        "required": "false",
        "translate": "false",
        "save_in_meta": "false",
        "save_in_meta_name": "",
        "rows_min": "",
        "rows_max": "",
        "rows_label": "質問",
        "rows_add_button_label": "質問を追加",
        "rows_collapsible": "true",
        "rows_collapsed": "true",
        "placeholder": "",
        "characters_limit": ""
      },
      "control_9c4e7b2f18": {
        "type": "text",
        "name": "faq_question",
        "default": "",
        "label": "質問",
        "help": "",
        "child_of": "control_3b8d5f1a02",
        "placement": "content",
        "group": "settings",
        "width": "",
        "hide_if_not_selected": "false",
        "required": "false",
        "translate": "false",
        "save_in_meta": "false",
        "save_in_meta_name": "",
        "placeholder": "",
        "characters_limit": 0
      },
      "control_e15a3d9c47": {
        "type": "text",
        "name": "faq_answer",
        "default": "",
        "label": "回答",
        "help": "",
        "child_of": "control_3b8d5f1a02",
        "placement": "content",
        "group": "settings",
        "width": "",
        "hide_if_not_selected": "false",
        "required": "false",
        "translate": "false",
        "save_in_meta": "false",
        "save_in_meta_name": "",
        "placeholder": "",
        "characters_limit": 0
      }
    },
    "code": {
      "output_method": "php",
      "editor_html": "",
      "editor_callback": "",
      "frontend_html": "<?php\n$faq_list = isset( $attributes['faq_list'] ) && is_array( $attributes['faq_list'] ) ? $attributes['faq_list'] : [];\n$enable_schema = ! empty( $attributes['enable_faq_schema'] );\n?>\n<?php if ( empty( $faq_list ) ) : ?>\n<div class=\"faq-placeholder\">FAQブロック：質問一覧を追加してください</div>\n<?php else : ?>\n<div class=\"faq-accordion\">\n\t<?php foreach ( $faq_list as $faq ) :\n\t\t$q = isset( $faq['faq_question'] ) ? $faq['faq_question'] : '';\n\t\t$a = isset( $faq['faq_answer'] ) ? $faq['faq_answer'] : '';\n\t?>\n\t<details class=\"faq-item\">\n\t\t<summary class=\"faq-question\"><span class=\"faq-badge faq-badge-q\">Q</span><span class=\"faq-question-text\"><?php echo esc_html( $q ); ?></span></summary>\n\t\t<div class=\"faq-answer\"><span class=\"faq-badge faq-badge-a\">A</span><span class=\"faq-answer-text\"><?php echo nl2br( esc_html( $a ) ); ?></span></div>\n\t</details>\n\t<?php endforeach; ?>\n</div>\n<?php\nif ( $enable_schema ) :\n\t$schema_entities = [];\n\tforeach ( $faq_list as $faq ) {\n\t\t$q = isset( $faq['faq_question'] ) ? $faq['faq_question'] : '';\n\t\t$a = isset( $faq['faq_answer'] ) ? $faq['faq_answer'] : '';\n\t\tif ( $q && $a ) {\n\t\t\t$schema_entities[] = [\n\t\t\t\t'@type' => 'Question',\n\t\t\t\t'name'  => $q,\n\t\t\t\t'acceptedAnswer' => [\n\t\t\t\t\t'@type' => 'Answer',\n\t\t\t\t\t'text'  => wp_strip_all_tags( $a ),\n\t\t\t\t],\n\t\t\t];\n\t\t}\n\t}\n\tif ( ! empty( $schema_entities ) ) {\n\t\t$schema_data = [\n\t\t\t'@context'   => 'https://schema.org',\n\t\t\t'@type'      => 'FAQPage',\n\t\t\t'mainEntity' => $schema_entities,\n\t\t];\n\t\techo '<script type=\"application/ld+json\">' . wp_json_encode( $schema_data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ) . '</script>';\n\t}\nendif;\n?>\n<style>\n.faq-accordion, .faq-accordion * { box-sizing: border-box; }\n.faq-accordion p { margin: 0 !important; }\n.faq-accordion {\n\tmax-width: 680px; width: 100%; margin: 24px 0;\n\tdisplay: flex; flex-direction: column; gap: 12px;\n}\n.faq-item {\n\tbackground: #ffffff; border: 1px solid #E5E7EB; border-radius: 10px;\n\toverflow: hidden;\n}\n.faq-question {\n\tcursor: pointer; color: #1A1A1A; font-weight: 700; font-size: 15px;\n\tpadding: 16px 44px 16px 16px; position: relative; list-style: none;\n\tdisplay: flex; align-items: flex-start; gap: 12px;\n}\n.faq-question::-webkit-details-marker { display: none; }\n.faq-question::after {\n\tcontent: \"+\"; position: absolute; right: 16px; top: 14px;\n\tfont-size: 20px; color: #2F80ED; transition: transform 0.2s ease; line-height: 1;\n}\n.faq-item[open] .faq-question::after { content: \"\\2212\"; }\n.faq-question-text { flex: 1; }\n.faq-answer {\n\tpadding: 14px 16px 18px; font-size: 14px; color: #4B5563; line-height: 1.8;\n\tdisplay: flex; align-items: flex-start; gap: 12px;\n\tborder-top: 1px solid #F0F1F3;\n}\n.faq-answer-text { flex: 1; }\n.faq-badge {\n\tflex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;\n\twidth: 26px; height: 26px; border-radius: 50%; font-size: 12px; font-weight: 700;\n\tline-height: 1;\n}\n.faq-badge-q { background: #2F80ED; color: #ffffff; }\n.faq-badge-a { background: #ffffff; color: #2F80ED; border: 2px solid #2F80ED; }\n.faq-placeholder {\n\tborder: 2px dashed #D1D5DB; border-radius: 10px; padding: 32px 20px;\n\ttext-align: center; color: #9CA3AF; font-size: 13px; background: #F9FAFB;\n}\n@media (max-width: 680px) {\n\t.faq-accordion { max-width: 100%; }\n}\n@media (max-width: 480px) {\n\t.faq-question { padding: 14px 40px 14px 14px; font-size: 14px; }\n\t.faq-answer { padding: 12px 14px 16px; }\n}\n</style>\n<?php endif; ?>\n",
      "frontend_callback": "",
      "show_preview": "always",
      "single_output": true
    },
    "style": {
      "block": "",
      "editor": ""
    },
    "script": {
      "view": ""
    },
    "styles": [],
    "condition": [],
    "edit_url": null,
    "provide_context_to_blocks": "",
    "custom_context_slug": "",
    "allowed_blocks": "",
    "ancestor": ""
  }
]