{"id":22824,"date":"2025-12-07T14:58:05","date_gmt":"2025-12-07T05:58:05","guid":{"rendered":"https:\/\/zekno.co.jp\/programming\/?page_id=22824"},"modified":"2026-04-08T09:53:41","modified_gmt":"2026-04-08T00:53:41","slug":"diagnostic","status":"publish","type":"page","link":"https:\/\/zekno.co.jp\/programming\/diagnostic\/","title":{"rendered":"\u3042\u306a\u305f\u306b\u30d4\u30c3\u30bf\u30ea\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30b9\u30af\u30fc\u30eb\u3092\u8a3a\u65ad\uff01"},"content":{"rendered":"\n<p>\u4ee5\u4e0b\u306e5\u3064\u306e\u8cea\u554f\u306b\u7b54\u3048\u308b\u3060\u3051\u3067\u3001\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30b9\u30af\u30fc\u30eb\u3092\u8a3a\u65ad\u3067\u304d\u307e\u3059\u3002<span class=\"swl-marker mark_yellow\"><span class=\"swl-inline-color has--color\"><strong>\u6240\u8981\u6642\u9593\u306f\u308f\u305a\u304b30\u79d2<\/strong><\/span><\/span>\u3067\u3059\u3002<\/p>\n\n\n\n<!-- \n  ========================================\n  \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30b9\u30af\u30fc\u30eb\u8a3a\u65ad\u30c4\u30fc\u30eb for WordPress (SWELL)\n  \u300cDMM \u751f\u6210AI CAMP\u300d\u8ffd\u52a0\u7248\n  ========================================\n-->\n\n<!-- 1. \u5fc5\u8981\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u8aad\u307f\u8fbc\u307f -->\n<script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n<script crossorigin src=\"https:\/\/unpkg.com\/react@18\/umd\/react.production.min.js\"><\/script>\n<script crossorigin src=\"https:\/\/unpkg.com\/react-dom@18\/umd\/react-dom.production.min.js\"><\/script>\n<script src=\"https:\/\/unpkg.com\/@babel\/standalone\/babel.min.js\"><\/script>\n\n<!-- 2. \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30de\u30a6\u30f3\u30c8\u30dd\u30a4\u30f3\u30c8 -->\n<div id=\"diagnosis-app-root\"><\/div>\n\n<!-- 3. \u30b9\u30bf\u30a4\u30eb\u8abf\u6574 -->\n<style>\n  #diagnosis-app-root button {\n    background-color: transparent;\n    border: none;\n    cursor: pointer;\n    line-height: inherit;\n  }\n  #diagnosis-app-root a {\n    text-decoration: none;\n    box-shadow: none;\n  }\n<\/style>\n\n<!-- 4. React\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u672c\u4f53 -->\n<script type=\"text\/babel\">\n  const { useState, useEffect } = React;\n\n  \/\/ --- \u30a2\u30a4\u30b3\u30f3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8 ---\n  const Icons = {\n    ChevronRight: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><path d=\"m9 18 6-6-6-6\"\/><\/svg>,\n    Check: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg>,\n    RefreshCw: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><path d=\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\"\/><path d=\"M21 3v5h-5\"\/><path d=\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\"\/><path d=\"M8 16H3v5\"\/><\/svg>,\n    ExternalLink: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\/><polyline points=\"15 3 21 3 21 9\"\/><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"\/><\/svg>,\n    MessageCircle: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><path d=\"m3 21 1.9-5.7a8.5 8.5 0 1 1 3.8 3.8z\"\/><\/svg>,\n    Star: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>,\n    Award: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><circle cx=\"12\" cy=\"8\" r=\"7\"\/><polyline points=\"8.21 13.89 7 23 12 20 17 23 15.79 13.88\"\/><\/svg>,\n    BookOpen: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><path d=\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\"\/><path d=\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\"\/><\/svg>,\n    Briefcase: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><rect width=\"20\" height=\"14\" x=\"2\" y=\"7\" rx=\"2\" ry=\"2\"\/><path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"\/><\/svg>,\n    MapPin: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><path d=\"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>,\n    Monitor: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><rect width=\"20\" height=\"14\" x=\"2\" y=\"3\" rx=\"2\" ry=\"2\"\/><line x1=\"8\" x2=\"16\" y1=\"21\" y2=\"21\"\/><line x1=\"12\" x2=\"12\" y1=\"17\" y2=\"21\"\/><\/svg>,\n    Users: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M22 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg>,\n    Zap: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><polygon points=\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\"\/><\/svg>,\n    Gift: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><rect x=\"3\" y=\"8\" width=\"18\" height=\"4\" rx=\"1\"\/><path d=\"M12 8v13\"\/><path d=\"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7\"\/><path d=\"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5\"\/><\/svg>,\n    Clock: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg>,\n    Heart: (props) => <svg {...props} xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><path d=\"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z\"\/><\/svg>,\n  };\n\n  \/\/ --- \u30c7\u30fc\u30bf\u5b9a\u7fa9 ---\n  const SCHOOL_DATA = [\n    {\n      id: 'dmm-ai-camp',\n      name: 'DMM \u751f\u6210AI CAMP',\n      description: 'ChatGPT\u7b49\u306e\u751f\u6210AI\u30b9\u30ad\u30eb\u3092\u5b9f\u52d9\u3067\u6d3b\u7528\u3057\u305f\u3044\u30d3\u30b8\u30cd\u30b9\u30d1\u30fc\u30bd\u30f3\u5411\u3051\u3002\u6700\u77ed4\u9031\u9593\u3067\u6700\u65b0\u306eAI\u6d3b\u7528\u8853\u3092\u30de\u30b9\u30bf\u30fc\u3057\u3001\u696d\u52d9\u52b9\u7387\u5316\u3084\u751f\u7523\u6027\u5411\u4e0a\u3092\u5f37\u529b\u306b\u652f\u63f4\u3057\u307e\u3059\u3002DMM\u306e\u8c4a\u5bcc\u306a\u6559\u80b2\u30ce\u30a6\u30cf\u30a6\u304c\u51dd\u7e2e\u3055\u308c\u3066\u3044\u307e\u3059\u3002',\n      features: ['\u6700\u65b0\u306e\u751f\u6210AI\u6d3b\u7528\u8853', '\u6700\u77ed4\u9031\u9593\u3067\u30de\u30b9\u30bf\u30fc', '\u5b9f\u52d9\u76f4\u7d50\u306e\u30ab\u30ea\u30ad\u30e5\u30e9\u30e0'],\n      reviewUrl: 'https:\/\/zekno.co.jp\/programming\/dmm-ai-reputation\/',\n      officialUrl: 'https:\/\/www.rentracks.jp\/adx\/r.html?idx=0.20183.350301.10003.14281&dna=164344',\n      imageUrl: 'https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/07\/dmmseiseiaicamp.jpg',\n      matchTags: ['ai-skill', 'online', 'short-term', 'skill', 'medium-budget'],\n      color: 'bg-emerald-600',\n    },\n    {\n      id: 'runteq',\n      name: 'RUNTEQ (\u30e9\u30f3\u30c6\u30c3\u30af)',\n      description: '\u300cWeb\u30a8\u30f3\u30b8\u30cb\u30a2\u8ee2\u8077\u300d\u306b\u7279\u5316\u3057\u305f\u8d85\u5b9f\u8df5\u578b\u30b9\u30af\u30fc\u30eb\u3002\u958b\u767a\u4f1a\u793e\u304c\u904b\u55b6\u3057\u3066\u304a\u308a\u3001\u6c42\u3081\u3089\u308c\u308b\u30ec\u30d9\u30eb\u306f\u9ad8\u3044\u3067\u3059\u304c\u3001\u305d\u306e\u5206\u5b9f\u529b\u304c\u78ba\u5b9f\u306b\u8eab\u306b\u3064\u304d\u307e\u3059\u3002\u6d3b\u767a\u306a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u3082\u9b45\u529b\u3067\u3059\u3002',\n      features: ['Web\u81ea\u793e\u958b\u767a\u4f01\u696d\u3078\u8ee2\u8077', '1000\u6642\u9593\u306e\u5727\u5012\u7684\u5b66\u7fd2\u91cf', '\u6d3b\u767a\u306a\u30b3\u30df\u30e5\u30cb\u30c6\u30a3'],\n      reviewUrl: 'https:\/\/zekno.co.jp\/programming\/runteq-reputation\/',\n      officialUrl: 'https:\/\/af.moshimo.com\/af\/c\/click?a_id=4662585&p_id=2717&pc_id=6139&pl_id=34648&url=https%3A%2F%2Frunteq.jp%2Flp_01%2F%3Futm_campaign%3Dschool%26utm_content%3Dprogramming-navi%26utm_medium%3Dmoshimo%26utm_term%3D%26utm_source%3Dcoupon%26rd_code%3D%7B%7BCODE%7D%7D',\n      imageUrl: 'https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/06\/runteq-banner.png',\n      couponUrl: 'https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/02\/runteq-coupon.jpg',\n      matchTags: ['job', 'online', 'hard', 'high-budget', 'community'],\n      color: 'bg-orange-500',\n    },\n    {\n      id: 'coachtech',\n      name: 'COACHTECH (\u30b3\u30fc\u30c1\u30c6\u30c3\u30af)',\n      description: '\u300c\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u30a8\u30f3\u30b8\u30cb\u30a2\u300d\u3092\u76ee\u6307\u3059\u306a\u3089\u3053\u3053\u3002\u6700\u5927\u306e\u7279\u5fb4\u306f\u300c\u6848\u4ef6\u4fdd\u8a3c\u300d\u304c\u3042\u308b\u3053\u3068\u3002\u5b66\u7fd2\u4e2d\u306b\u6a21\u64ec\u6848\u4ef6\u3067\u306f\u306a\u304f\u5b9f\u6848\u4ef6\u306b\u30c1\u30e3\u30ec\u30f3\u30b8\u3067\u304d\u3001\u5b9f\u7e3e\u3092\u4f5c\u3063\u3066\u304b\u3089\u5352\u696d\u3067\u304d\u307e\u3059\u3002',\n      features: ['\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u7279\u5316', '\u5b9f\u6848\u4ef6\u306e\u958b\u767a\u4fdd\u8a3c', '\u5373\u6226\u529b\u30b9\u30ad\u30eb'],\n      reviewUrl: 'https:\/\/zekno.co.jp\/programming\/coachtech-review\/',\n      officialUrl: 'https:\/\/af.moshimo.com\/af\/c\/click?a_id=5168098&p_id=2552&pc_id=5659&pl_id=39477',\n      imageUrl: 'https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/12\/coachtech-bannar-1.png',\n      matchTags: ['freelance', 'online', 'practical', 'high-budget'],\n      color: 'bg-zinc-800',\n    },\n    {\n      id: 'ninja-code',\n      name: '\u5fcd\u8005CODE',\n      description: '\u300c\u526f\u696d\u30fb\u72ec\u5b66\u300d\u304b\u3089\u59cb\u3081\u305f\u3044\u4eba\u306b\u6700\u9069\u3002\u8cb7\u3044\u5207\u308a\u578b\u3067\u30b3\u30b9\u30c8\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u975e\u5e38\u306b\u9ad8\u304f\u3001\u672a\u7d4c\u9a13\u304b\u3089\u3067\u3082Web\u5236\u4f5c\u3084\u30a2\u30d7\u30ea\u958b\u767a\u306e\u30b9\u30ad\u30eb\u3092\u81ea\u5206\u306e\u30da\u30fc\u30b9\u3067\u7fd2\u5f97\u3067\u304d\u307e\u3059\u3002',\n      features: ['\u30b3\u30b9\u30d1\u6700\u5f37\u306e\u8cb7\u3044\u5207\u308a\u578b', '\u526f\u696d\u6848\u4ef6\u306b\u5f37\u3044', '\u7121\u671f\u9650\u30b5\u30dd\u30fc\u30c8'],\n      reviewUrl: 'https:\/\/zekno.co.jp\/programming\/ninja-code-reviews\/',\n      officialUrl: 'https:\/\/af.moshimo.com\/af\/c\/click?a_id=4662528&p_id=5816&pc_id=16120&pl_id=74561',\n      imageUrl: 'https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/11\/ninjacode-bannar.png',\n      couponUrl: 'https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/03\/programming-navi-coupon-ninjacode.png',\n      matchTags: ['side-job', 'freelance', 'skill', 'online', 'low-budget', 'hobby'],\n      color: 'bg-purple-600',\n    },\n    {\n      id: 'samurai',\n      name: '\u4f8d\u30a8\u30f3\u30b8\u30cb\u30a2',\n      description: '\u300c\u30de\u30f3\u30c4\u30fc\u30de\u30f3\u6307\u5c0e\u300d\u306e\u30d1\u30a4\u30aa\u30cb\u30a2\u3002\u3042\u306a\u305f\u5c02\u7528\u306e\u30ab\u30ea\u30ad\u30e5\u30e9\u30e0\u3092\u4f5c\u6210\u3057\u3001\u5c02\u5c5e\u30a4\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u30fc\u304c\u5352\u696d\u307e\u3067\u4f34\u8d70\u3057\u307e\u3059\u3002\u632b\u6298\u3057\u305f\u304f\u306a\u3044\u65b9\u3084\u3001\u4f5c\u308a\u305f\u3044\u30a2\u30d7\u30ea\u304c\u3042\u308b\u65b9\u306b\u304a\u3059\u3059\u3081\u3002',\n      features: ['\u5b8c\u5168\u30de\u30f3\u30c4\u30fc\u30de\u30f3', '\u30aa\u30fc\u30c0\u30fc\u30e1\u30a4\u30c9\u30ab\u30ea\u30ad\u30e5\u30e9\u30e0', '\u632b\u6298\u3057\u306a\u3044\u74b0\u5883'],\n      reviewUrl: 'https:\/\/zekno.co.jp\/programming\/samurai-engineer-reputation\/',\n      officialUrl: 'https:\/\/af.moshimo.com\/af\/c\/click?a_id=4662594&p_id=1421&pc_id=2473&pl_id=21248&url=https%3A%2F%2Flp.sejuku.net%2Flp1_afi_programmingnavi%2F%3Fcid%3Dmoshimo%26acid%3Dmoshimo%26utm_source%3Dmoshimo%26utm_medium%3Daffiliate%26utm_campaign%3Dprogrammingnavi',\n      imageUrl: 'https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2024\/12\/samurai-engineer-banner.jpg',\n      couponUrl: 'https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/08\/coupon-samurai-ENGINEER-1024x439.png',\n      matchTags: ['freelance', 'man-to-man', 'online', 'high-budget', 'job', 'support'],\n      color: 'bg-slate-700',\n    },\n    {\n      id: 'dmm-webcamp',\n      name: 'DMM WEBCAMP',\n      description: '\u5927\u624bDMM\u304c\u904b\u55b6\u3059\u308b\u8ee2\u8077\u4fdd\u8a3c\u4ed8\u304d\u30b9\u30af\u30fc\u30eb\u3002\u672a\u7d4c\u9a13\u304b\u3089\u306e\u30a8\u30f3\u30b8\u30cb\u30a2\u8ee2\u8077\u5b9f\u7e3e\u304c\u8c4a\u5bcc\u3067\u3001\u30ad\u30e3\u30ea\u30a2\u30b5\u30dd\u30fc\u30c8\u304c\u975e\u5e38\u306b\u624b\u539a\u3044\u3067\u3059\u3002\u6559\u80b2\u8a13\u7df4\u7d66\u4ed8\u91d1\u306e\u5bfe\u8c61\u8b1b\u5ea7\u3082\u5145\u5b9f\u3057\u3066\u3044\u307e\u3059\u3002',\n      features: ['\u624b\u539a\u3044\u8ee2\u8077\u30b5\u30dd\u30fc\u30c8', '\u7d66\u4ed8\u91d1\u5bfe\u8c61\u8b1b\u5ea7\u3042\u308a', '\u5927\u624b\u3067\u5b89\u5fc3'],\n      reviewUrl: 'https:\/\/zekno.co.jp\/programming\/dmm-webcamp-reputation\/',\n      officialUrl: 'https:\/\/px.a8.net\/svt\/ejp?a8mat=3ZDEG6+GGEBOY+3XAE+BXYE9',\n      imageUrl: 'https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2024\/09\/dmmwebcamp-banner.png',\n      matchTags: ['job', 'online', 'medium-budget', 'support', 'certification'],\n      color: 'bg-red-500',\n    },\n    {\n      id: 'tech-camp',\n      name: '\u30c6\u30c3\u30af\u30ad\u30e3\u30f3\u30d7',\n      description: '\u300c\u77ed\u671f\u96c6\u4e2d\u300d\u3067\u4eba\u751f\u3092\u5909\u3048\u305f\u3044\u4eba\u5411\u3051\u3002\u672a\u7d4c\u9a13\u304b\u3089\u30d7\u30ed\u306e\u30a8\u30f3\u30b8\u30cb\u30a2\u3078\u3001\u30b9\u30d1\u30eb\u30bf\u5f0f\u3067\u4e00\u6c17\u306b\u5f15\u304d\u4e0a\u3052\u307e\u3059\u3002\u30aa\u30f3\u30e9\u30a4\u30f3\u3060\u3051\u3067\u306a\u304f\u6559\u5ba4\u3082\u5229\u7528\u53ef\u80fd\u306a\u30d7\u30e9\u30f3\u304c\u3042\u308b\u306e\u304c\u5f37\u307f\u3067\u3059\u3002',\n      features: ['\u6559\u5ba4\u901a\u5b66\u304c\u53ef\u80fd', '\u77ed\u671f\u96c6\u4e2d\u30b9\u30d1\u30eb\u30bf', 'No.1\u306e\u8ee2\u8077\u5b9f\u7e3e'],\n      reviewUrl: 'https:\/\/zekno.co.jp\/programming\/techcamp-reputation\/',\n      officialUrl: 'https:\/\/t.felmat.net\/fmcl?ak=B10546.1.K620390.X118083S',\n      imageUrl: 'https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/12\/techcamp-bannar.png',\n      matchTags: ['job', 'offline', 'short-term', 'hard', 'high-budget'],\n      color: 'bg-red-600',\n    },\n    {\n      id: 'human',\n      name: '\u30d2\u30e5\u30fc\u30de\u30f3\u30a2\u30ab\u30c7\u30df\u30fc',\n      description: '\u5168\u56fd\u306b\u6821\u820e\u3092\u6301\u3064\u8cc7\u683c\u30fb\u5c31\u8077\u306e\u8001\u8217\u3002\u5bfe\u9762\u6388\u696d\u3068\u30aa\u30f3\u30e9\u30a4\u30f3\u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u5b66\u7fd2\u304c\u53ef\u80fd\u3002\u5c31\u8077\u90e8\u306b\u3088\u308b\u5f37\u529b\u306a\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u4f53\u5236\u304c\u3042\u308a\u3001\u5730\u65b9\u3067\u306e\u5c31\u8077\u306b\u3082\u5f37\u3044\u3067\u3059\u3002',\n      features: ['\u5168\u56fd23\u6821\u820e\u3042\u308a', '\u5c31\u8077\u30fb\u8cc7\u683c\u306b\u5f37\u3044', '\u6559\u80b2\u8a13\u7df4\u7d66\u4ed8\u91d1\u5bfe\u8c61'],\n      reviewUrl: 'https:\/\/zekno.co.jp\/programming\/human-academy-programming\/',\n      officialUrl: 'https:\/\/t.felmat.net\/fmcl?ak=I5287L.1.3957590.X118083S',\n      imageUrl: 'https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/12\/human-academy-bannar.jpg',\n      matchTags: ['job', 'offline', 'certification', 'medium-budget', 'support'],\n      color: 'bg-blue-500',\n    },\n    {\n      id: 'win',\n      name: 'Win\u30b9\u30af\u30fc\u30eb',\n      description: '\u300c\u500b\u4eba\u30ec\u30c3\u30b9\u30f3\u300d\u5f62\u5f0f\u3067\u5b66\u3079\u308b\u30d1\u30bd\u30b3\u30f3\u6559\u5ba4\u3002\u5168\u56fd\u306e\u6559\u5ba4\u3067\u8b1b\u5e2b\u304c\u305d\u3070\u306b\u3064\u3044\u3066\u6307\u5c0e\u3057\u3066\u304f\u308c\u308b\u305f\u3081\u3001\u7591\u554f\u70b9\u3092\u305d\u306e\u5834\u3067\u89e3\u6c7a\u3067\u304d\u307e\u3059\u3002\u4f01\u696d\u7814\u4fee\u306e\u5b9f\u7e3e\u3082\u8c4a\u5bcc\u3067\u3059\u3002',\n      features: ['\u5168\u6559\u5ba4\u3067\u500b\u4eba\u30ec\u30c3\u30b9\u30f3', '\u6301\u3061\u8fbc\u307fPC\u5bfe\u5fdc', '\u4ed5\u4e8b\u5e30\u308a\u306b\u901a\u3048\u308b'],\n      reviewUrl: 'https:\/\/zekno.co.jp\/programming\/win-school-review\/',\n      officialUrl: 'https:\/\/px.a8.net\/svt\/ejp?a8mat=3ZDEG6+GEM0VM+529E+60OXE',\n      imageUrl: 'https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/12\/win-shool-bannar.jpg',\n      matchTags: ['skill', 'offline', 'man-to-man', 'medium-budget', 'certification'],\n      color: 'bg-sky-600',\n    },\n  ];\n\n  const QUESTIONS = [\n    {\n      id: 1,\n      text: '\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3092\u5b66\u3076\u4e00\u756a\u306e\u76ee\u7684\u306f\uff1f',\n      options: [\n        { label: '\u30a8\u30f3\u30b8\u30cb\u30a2\u5c31\u8077\u30fb\u8ee2\u8077', value: 'job', icon: <Icons.Briefcase size={20} \/> },\n        { label: 'AI\uff08\u4eba\u5de5\u77e5\u80fd\uff09\u3092\u4f7f\u3044\u3053\u306a\u3057\u305f\u3044', value: 'ai-skill', icon: <Icons.Zap size={20} \/> },\n        { label: '\u526f\u696d\u30fb\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u72ec\u7acb', value: 'freelance', icon: <Icons.Award size={20} \/> },\n        { label: '\u6559\u990a\u30fb\u4eca\u306e\u4ed5\u4e8b\u306b\u6d3b\u304b\u3059', value: 'skill', icon: <Icons.BookOpen size={20} \/> },\n        { label: '\u307e\u305a\u306f\u8da3\u5473\u30fb\u4f4e\u30b3\u30b9\u30c8\u3067', value: 'side-job', icon: <Icons.Star size={20} \/> },\n      ],\n    },\n    {\n      id: 2,\n      text: '\u73fe\u5728\u306e\u3042\u306a\u305f\u306e\u72b6\u6cc1\u30fb\u5b66\u7fd2\u6642\u9593\u306f\uff1f',\n      options: [\n        { label: '\u50cd\u304d\u306a\u304c\u3089\u591c\u3084\u4f11\u65e5\u4e2d\u5fc3\u3067', value: 'online', icon: <Icons.Clock size={20} \/> },\n        { label: '\u77ed\u671f\u96c6\u4e2d\u3067\u4e00\u6c17\u306b\u7fd2\u5f97\u3057\u305f\u3044', value: 'short-term', icon: <Icons.Zap size={20} \/> },\n        { label: '\u96e2\u8077\u4e2d\/\u5b66\u751f\u3067\u65e5\u4e2d\u3082OK', value: 'short-term', icon: <Icons.Clock size={20} \/> },\n        { label: '\u9699\u9593\u6642\u9593\u3067\u30de\u30a4\u30da\u30fc\u30b9\u306b', value: 'skill', icon: <Icons.Monitor size={20} \/> },\n      ],\n    },\n    {\n      id: 3,\n      text: '\u5e0c\u671b\u3059\u308b\u5b66\u7fd2\u30b9\u30bf\u30a4\u30eb\u306f\uff1f',\n      options: [\n        { label: '\u30aa\u30f3\u30e9\u30a4\u30f3\u5b8c\u7d50\u3067\u52b9\u7387\u7684\u306b', value: 'online', icon: <Icons.Monitor size={20} \/> },\n        { label: '\u6559\u5ba4\u306b\u901a\u3063\u3066\u76f4\u63a5\u5b66\u3073\u305f\u3044', value: 'offline', icon: <Icons.MapPin size={20} \/> },\n        { label: '\u30de\u30f3\u30c4\u30fc\u30de\u30f3\u3067\u624b\u539a\u304f', value: 'man-to-man', icon: <Icons.Users size={20} \/> },\n      ],\n    },\n    {\n      id: 4,\n      text: '\u30b9\u30af\u30fc\u30eb\u306b\u6c42\u3081\u308b\u74b0\u5883\u3084\u96f0\u56f2\u6c17\u306f\uff1f',\n      options: [\n        { label: '\u6700\u65b0\u6280\u8853\uff08AI\u306a\u3069\uff09\u3092\u5b9f\u52d9\u306b\u53d6\u308a\u5165\u308c\u305f\u3044', value: 'ai-skill', icon: <Icons.Zap size={20} \/> },\n        { label: '\u624b\u539a\u3044\u30b5\u30dd\u30fc\u30c8\u3067\u632b\u6298\u3092\u9632\u304e\u305f\u3044', value: 'support', icon: <Icons.Heart size={20} \/> },\n        { label: '\u53b3\u3057\u3044\u74b0\u5883\u3067\u81ea\u5206\u3092\u8ffd\u3044\u8fbc\u307f\u305f\u3044', value: 'hard', icon: <Icons.Zap size={20} \/> },\n        { label: '\u4ef2\u9593\u3068\u4ea4\u6d41\u3057\u3066\u9ad8\u3081\u5408\u3044\u305f\u3044', value: 'community', icon: <Icons.Users size={20} \/> },\n        { label: '\u5b9f\u8df5\u7684\u306a\u6848\u4ef6\u306b\u6311\u6226\u3057\u305f\u3044', value: 'practical', icon: <Icons.Briefcase size={20} \/> },\n      ],\n    },\n    {\n      id: 5,\n      text: '\u4e88\u7b97\u306e\u30a4\u30e1\u30fc\u30b8\u306f\uff1f',\n      options: [\n        { label: '\u3067\u304d\u308b\u3060\u3051\u5b89\u304f\u6291\u3048\u305f\u3044', value: 'low-budget', icon: <div className=\"text-xl\">\ud83d\udcb0<\/div> },\n        { label: '\u76f8\u5834\u7a0b\u5ea6\uff0820\u301c60\u4e07\u5186\uff09', value: 'medium-budget', icon: <div className=\"text-xl\">\ud83d\udcb4<\/div> },\n        { label: '\u9ad8\u304f\u3066\u3082\u78ba\u5b9f\u306b\u6210\u679c\u3092\u51fa\u3057\u305f\u3044', value: 'high-budget', icon: <div className=\"text-xl\">\ud83d\udc8e<\/div> },\n      ],\n    },\n  ];\n\n  function DiagnosisApp() {\n    const [step, setStep] = useState(0);\n    const [answers, setAnswers] = useState([]);\n    const [resultSchool, setResultSchool] = useState(null);\n    const [isCalculating, setIsCalculating] = useState(false);\n\n    const handleAnswer = (value) => {\n      const newAnswers = [...answers, value];\n      setAnswers(newAnswers);\n\n      if (step < QUESTIONS.length - 1) {\n        setStep(step + 1);\n      } else {\n        setIsCalculating(true);\n        setTimeout(() => {\n          calculateResult(newAnswers);\n          setIsCalculating(false);\n        }, 1500);\n      }\n    };\n\n    const calculateResult = (userAnswers) => {\n      let bestMatch = null;\n      let maxScore = -1;\n\n      SCHOOL_DATA.forEach((school) => {\n        let score = 0;\n        userAnswers.forEach((ans, index) => {\n          if (school.matchTags.includes(ans)) {\n            if (index === 0) score += 4; \n            else if (index === 4) score += 3; \n            else if (index === 2) score += 2; \n            else score += 1; \n          }\n        });\n\n        \/\/ \u7279\u5225\u52a0\u70b9\u30fb\u6e1b\u70b9\u30ed\u30b8\u30c3\u30af\n        if (school.matchTags.includes('hard') && userAnswers.includes('low-budget')) {\n          score -= 5;\n        }\n        if (userAnswers.includes('offline') && school.matchTags.includes('offline')) {\n          score += 5;\n        }\n        if (userAnswers.includes('ai-skill') && school.matchTags.includes('ai-skill')) {\n          score += 10; \/\/ AI\u7279\u5316\u3078\u306e\u5f37\u3044\u52a0\u70b9\n        }\n        if (userAnswers.includes('community') && school.matchTags.includes('community')) {\n          score += 3;\n        }\n        if (userAnswers.includes('freelance') && userAnswers.includes('practical') && school.matchTags.includes('practical')) {\n          score += 4;\n        }\n\n        if (score > maxScore) {\n          maxScore = score;\n          bestMatch = school;\n        }\n      });\n\n      setResultSchool(bestMatch || SCHOOL_DATA[0]);\n    };\n\n    const resetQuiz = () => {\n      setStep(0);\n      setAnswers([]);\n      setResultSchool(null);\n    };\n\n    if (isCalculating) {\n      return (\n        <div className=\"min-h-[400px] bg-gray-50 flex flex-col items-center justify-center p-4 rounded-xl\">\n          <div className=\"animate-spin rounded-full h-16 w-16 border-t-4 border-b-4 border-blue-600 mb-4\"><\/div>\n          <h2 className=\"text-xl font-bold text-gray-700\">\u6700\u9069\u306a\u30b9\u30af\u30fc\u30eb\u3092\u9078\u5b9a\u4e2d...<\/h2>\n          <p className=\"text-gray-500 mt-2\">\u3042\u306a\u305f\u306e\u56de\u7b54\u3092\u5206\u6790\u3057\u3066\u3044\u307e\u3059<\/p>\n        <\/div>\n      );\n    }\n\n    if (resultSchool) {\n      return (\n        <div className=\"bg-gradient-to-br from-blue-50 to-indigo-100 py-10 px-4 rounded-xl\">\n          <div className=\"max-w-2xl mx-auto\">\n            <div className=\"text-center mb-8\">\n              <span className=\"bg-blue-600 text-white px-4 py-1 rounded-full text-sm font-bold tracking-wider inline-block\">DIAGNOSIS RESULT<\/span>\n              <h1 className=\"text-2xl md:text-3xl font-bold text-gray-800 mt-4\">\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306e\u30b9\u30af\u30fc\u30eb\u306f...<\/h1>\n            <\/div>\n\n            <div className=\"bg-white rounded-2xl shadow-xl overflow-hidden border border-gray-100\">\n              <div className={`${resultSchool.color} text-white p-6 text-center`}>\n                <h2 className=\"text-2xl font-bold mb-1\">{resultSchool.name}<\/h2>\n                <div className=\"flex justify-center gap-2 mt-3 flex-wrap\">\n                  {resultSchool.features.map((feature, idx) => (\n                    <span key={idx} className=\"bg-white\/20 px-2 py-0.5 rounded text-xs backdrop-blur-sm whitespace-nowrap\">\n                      {feature}\n                    <\/span>\n                  ))}\n                <\/div>\n              <\/div>\n\n              <div className=\"p-6 md:p-8\">\n                <div className=\"flex flex-col md:flex-row gap-6 mb-8\">\n                  <div className=\"w-full md:w-1\/3 flex flex-col gap-4\">\n                      <a \n                          href={resultSchool.officialUrl}\n                          target=\"_blank\" \n                          rel=\"noopener noreferrer\"\n                          className=\"block bg-white rounded-lg border border-gray-200 overflow-hidden flex items-center justify-center shadow-sm hover:opacity-80 hover:shadow-md transition-all cursor-pointer\"\n                      >\n                          <img \n                              src={resultSchool.imageUrl} \n                              alt={resultSchool.name} \n                              className=\"w-full h-auto object-contain\"\n                              onError={(e) => {\n                                  e.target.src = \"https:\/\/placehold.co\/600x400?text=No+Image\";\n                              }}\n                          \/>\n                      <\/a>\n                  <\/div>\n\n                  <div className=\"w-full md:w-2\/3\">\n                    <h3 className=\"text-lg font-bold text-gray-800 mb-2 border-b border-gray-200 pb-2\">\u304a\u3059\u3059\u3081\u306e\u7406\u7531<\/h3>\n                    <p className=\"text-gray-600 leading-relaxed text-sm md:text-base\">\n                      {resultSchool.description}\n                    <\/p>\n                    \n                    <div className=\"mt-4 bg-yellow-50 p-3 rounded-lg border border-yellow-100\">\n                      <p className=\"text-xs text-yellow-800 font-bold mb-1\">\u3042\u306a\u305f\u306e\u5e0c\u671b\u3068\u306e\u30de\u30c3\u30c1\u30dd\u30a4\u30f3\u30c8:<\/p>\n                      <div className=\"flex flex-wrap gap-2\">\n                         {answers.map((ans, i) => {\n                           const q = QUESTIONS[i];\n                           const opt = q.options.find(o => o.value === ans);\n                           return opt ? (\n                             <span key={i} className=\"flex items-center text-xs text-gray-600 bg-white px-2 py-1 rounded border border-gray-200\">\n                               <Icons.Check size={12} className=\"mr-1 text-green-500\" \/> {opt.label}\n                             <\/span>\n                           ) : null;\n                         })}\n                      <\/div>\n                    <\/div>\n                  <\/div>\n                <\/div>\n\n                {resultSchool.couponUrl && (\n                    <div className=\"mb-6 animate-pulse\">\n                        <div className=\"bg-red-50 border-2 border-red-200 rounded-xl p-4 text-center\">\n                            <div className=\"flex items-center justify-center text-red-600 font-bold mb-2\">\n                                <Icons.Gift className=\"mr-2\" \/>\n                                <span>\u5f53\u30b5\u30a4\u30c8\u9650\u5b9a\u30af\u30fc\u30dd\u30f3\u914d\u5e03\u4e2d\uff01<\/span>\n                            <\/div>\n                            <a \n                              href={resultSchool.officialUrl} \n                              target=\"_blank\" \n                              rel=\"noopener noreferrer\"\n                              className=\"block hover:scale-105 transition-transform duration-300 cursor-pointer\"\n                            >\n                                <img \n                                    src={resultSchool.couponUrl} \n                                    alt={`${resultSchool.name} \u30af\u30fc\u30dd\u30f3`} \n                                    className=\"max-w-full h-auto mx-auto rounded-lg shadow-sm\"\n                                \/>\n                            <\/a>\n                            <p className=\"text-xs text-red-500 mt-2 font-bold\">\u203b\u753b\u50cf\u3092\u30bf\u30c3\u30d7\u3057\u3066\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u8a73\u7d30\u3092\u78ba\u8a8d<\/p>\n                        <\/div>\n                    <\/div>\n                )}\n\n                <div className=\"space-y-4\">\n                  <a \n                    href={resultSchool.officialUrl} \n                    target=\"_blank\" \n                    rel=\"noopener noreferrer\"\n                    className={`group relative flex items-center justify-center w-full ${resultSchool.color} hover:opacity-90 text-white font-bold py-4 rounded-xl shadow-lg transition-all transform hover:-translate-y-1`}\n                  >\n                    <Icons.ExternalLink className=\"mr-2\" \/>\n                    \u516c\u5f0f\u30b5\u30a4\u30c8\u306f\u3053\u3061\u3089\n                    <span className=\"absolute right-4 opacity-70 group-hover:translate-x-1 transition-transform\">\n                      <Icons.ChevronRight \/>\n                    <\/span>\n                  <\/a>\n\n                  <a \n                    href={resultSchool.reviewUrl} \n                    target=\"_blank\" \n                    rel=\"noopener noreferrer\"\n                    className=\"flex items-center justify-center w-full bg-white border-2 border-gray-200 hover:border-gray-400 text-gray-700 font-bold py-3 rounded-xl transition-all\"\n                  >\n                    <Icons.MessageCircle className=\"mr-2 text-gray-500\" \/>\n                    \u53e3\u30b3\u30df\u30fb\u8a55\u5224\u306f\u3053\u3061\u3089\n                  <\/a>\n                <\/div>\n\n                <div className=\"mt-8 text-center\">\n                  <button \n                    onClick={resetQuiz}\n                    className=\"text-gray-400 text-sm hover:text-gray-600 flex items-center justify-center mx-auto bg-transparent border-none\"\n                  >\n                    <Icons.RefreshCw size={14} className=\"mr-1\" \/>\n                    \u3082\u3046\u4e00\u5ea6\u8a3a\u65ad\u3059\u308b\n                  <\/button>\n                <\/div>\n              <\/div>\n            <\/div>\n            \n            <div className=\"mt-8 text-center text-gray-400 text-xs\">\n              \u203b\u3053\u306e\u8a3a\u65ad\u7d50\u679c\u306f\u72ec\u81ea\u306e\u30ed\u30b8\u30c3\u30af\u306b\u57fa\u3065\u3044\u3066\u3044\u307e\u3059\u3002<br\/>\n              \u5b9f\u969b\u306e\u30b9\u30af\u30fc\u30eb\u9078\u3073\u306f\u7121\u6599\u30ab\u30a6\u30f3\u30bb\u30ea\u30f3\u30b0\u7b49\u3092\u901a\u3058\u3066\u614e\u91cd\u306b\u884c\u3063\u3066\u304f\u3060\u3055\u3044\u3002\n            <\/div>\n          <\/div>\n        <\/div>\n      );\n    }\n\n    const currentQuestion = QUESTIONS[step];\n    const progress = ((step) \/ QUESTIONS.length) * 100;\n\n    return (\n      <div className=\"bg-gray-50 py-10 px-4 flex flex-col items-center rounded-xl\">\n        <div className=\"w-full max-w-lg mb-8\">\n          <div className=\"flex justify-between text-xs text-gray-500 mb-1\">\n            <span>START<\/span>\n            <span>GOAL<\/span>\n          <\/div>\n          <div className=\"h-2 w-full bg-gray-200 rounded-full overflow-hidden\">\n            <div \n              className=\"h-full bg-blue-500 transition-all duration-500 ease-out\" \n              style={{ width: `${progress}%` }}\n            ><\/div>\n          <\/div>\n        <\/div>\n\n        <div className=\"w-full max-w-lg bg-white rounded-2xl shadow-lg p-6 md:p-10\">\n          <span className=\"text-blue-600 font-bold text-sm tracking-wider\">QUESTION {step + 1} \/ {QUESTIONS.length}<\/span>\n          <h2 className=\"text-2xl font-bold text-gray-800 mt-2 mb-8\">{currentQuestion.text}<\/h2>\n\n          <div className=\"space-y-3\">\n            {currentQuestion.options.map((option, index) => (\n              <button\n                key={index}\n                onClick={() => handleAnswer(option.value)}\n                className=\"w-full text-left p-4 rounded-xl border border-gray-200 hover:border-blue-500 hover:bg-blue-50 transition-all group flex items-center bg-white\"\n              >\n                <div className=\"w-10 h-10 rounded-full bg-gray-100 group-hover:bg-blue-200 flex items-center justify-center text-blue-600 mr-4 transition-colors\">\n                  {option.icon}\n                <\/div>\n                <span className=\"font-bold text-gray-700 group-hover:text-blue-800\">{option.label}<\/span>\n                <span className=\"ml-auto text-gray-300 group-hover:text-blue-500\">\n                  <Icons.ChevronRight \/>\n                <\/span>\n              <\/button>\n            ))}\n          <\/div>\n        <\/div>\n      <\/div>\n    );\n  }\n\n  \/\/ \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30de\u30a6\u30f3\u30c8\n  const rootElement = document.getElementById('diagnosis-app-root');\n  if (rootElement) {\n    ReactDOM.createRoot(rootElement).render(<DiagnosisApp \/>);\n  }\n<\/script>\n\n\n\n<p class=\"has-text-align-center is-style-balloon_box2 u-mb-ctrl u-mb-10\">AI\u89e3\u6790\u306b\u3088\u308b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30b9\u30af\u30fc\u30eb\u8a3a\u65ad\u306f<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-swl-deep-02-color\"><a href=\"https:\/\/zekno.co.jp\/programming\/diagnostic-ai\/\" data-type=\"link\" data-id=\"https:\/\/zekno.co.jp\/programming\/diagnostic-ai\/\">\u3053\u3061\u3089<\/a><\/mark><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/zekno.co.jp\/programming\/diagnostic-ai\/\"><img decoding=\"async\" width=\"1024\" height=\"541\" src=\"https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/12\/AI-Programming-School-Diagnosis1-1024x541.jpg\" alt=\"AI\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30b9\u30af\u30fc\u30eb\u8a3a\u65ad\" class=\"wp-image-23622\" srcset=\"https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/12\/AI-Programming-School-Diagnosis1-1024x541.jpg 1024w, https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/12\/AI-Programming-School-Diagnosis1-300x158.jpg 300w, https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/12\/AI-Programming-School-Diagnosis1-768x406.jpg 768w, https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/12\/AI-Programming-School-Diagnosis1-1536x811.jpg 1536w, https:\/\/zekno.co.jp\/programming\/wp-content\/uploads\/2025\/12\/AI-Programming-School-Diagnosis1-2048x1082.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u4ee5\u4e0b\u306e5\u3064\u306e\u8cea\u554f\u306b\u7b54\u3048\u308b\u3060\u3051\u3067\u3001\u3042\u306a\u305f\u306b\u3074\u3063\u305f\u308a\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30b9\u30af\u30fc\u30eb\u3092\u8a3a\u65ad\u3067\u304d\u307e\u3059\u3002\u6240\u8981\u6642\u9593\u306f\u308f\u305a\u304b30\u79d2\u3067\u3059\u3002 AI\u89e3\u6790\u306b\u3088\u308b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30b9\u30af\u30fc\u30eb\u8a3a\u65ad\u306f\u3053\u3061\u3089<\/p>\n","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":"","_wp_rev_ctl_limit":""},"class_list":["post-22824","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/zekno.co.jp\/programming\/wp-json\/wp\/v2\/pages\/22824","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zekno.co.jp\/programming\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zekno.co.jp\/programming\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zekno.co.jp\/programming\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zekno.co.jp\/programming\/wp-json\/wp\/v2\/comments?post=22824"}],"version-history":[{"count":9,"href":"https:\/\/zekno.co.jp\/programming\/wp-json\/wp\/v2\/pages\/22824\/revisions"}],"predecessor-version":[{"id":25470,"href":"https:\/\/zekno.co.jp\/programming\/wp-json\/wp\/v2\/pages\/22824\/revisions\/25470"}],"wp:attachment":[{"href":"https:\/\/zekno.co.jp\/programming\/wp-json\/wp\/v2\/media?parent=22824"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}