{"format":"murdoku-puzzle/1","id":"climb","version":1,"difficulty":"medium","level":6,"size":{"rows":9,"cols":9},"languages":["en","hu","de","fr","es","it","nl","pl","pt","ro","ca","cs","fi","vi","tr","el","ru","uk","ar","ko","ja","zh-Hans","zh-Hant"],"defaultLanguage":"en","title":"クライミングジム","tagline":"グラナイト・ロフト・クライミングジム・木曜の夜・明かりが消えた","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-17","story":"木曜の夜、古い鉄道の高架下にあるクライミングジム、グラナイト・ロフトでの出来事。夜の練習セッションの半ば、明かりが一分間消えた――そして戻ったとき、オーナー兼主任ルートセッターのVidarが、リードウォールの足元、ロープのそばで死んでいるのが見つかった。ジムには八人がいた：クライマー四人、スタッフ二人、来場者二人。そのうちの一人が犯人だ。すべての証言を読み、見取り図で全員のマスを見つけ出し、リードウォールでVidarと二人きりだった犯人を暴け。","rules":{"standard":["どの<b>行</b>にもどの<b>列</b>にも、ちょうど<b>一人</b>がいる。誰かを置いたら、その行と列を丸ごと消そう。","<b>「隣」</b> = 真左・真右・真上・真下で、かつ<b>同じエリア内</b>。物のあるマス（クライミングウォール、カウンター、ロッカー、自動販売機、ハングボード…）にはいられない。マット、椅子、ベンチ、玄関マットにはいられる。エリアの<b>角</b>とは、そのエリアの外側の辺を二つ持つマスのことだ。","方角は行と列を指し、同一直線上である必要はない：<i>「彼のちょうど1行北に女性がいた」</i> = 真上の行の人物が女性、列は問わない；<i>「Astridより北に」</i> = より上の行、列は問わない。","犯人は<b>被害者と二人きり</b>だった：そのエリアには他に誰もいなかった。"],"special":["<b>クライマーは全員クライミングウォールの隣にいた</b>（スタッフと来場者はどこにでもいられた）。"]},"roleNames":{"climber":"クライマー","staff":"スタッフ","visitor":"来場者","victim":"被害者"},"personGroups":[{"id":"climbers","name":"クライマー","persons":["A","B","C","D"]},{"id":"staff","name":"スタッフ","persons":["E","F","V"]},{"id":"visitors","name":"来場者","persons":["G","H"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Reception","cells":[[1,1],[1,2],[1,3],[2,1],[2,2],[3,1]],"fill":"#e4e0d2","pattern":"tiles","labelAt":[2,1.5],"name":"受付"},{"id":"Cafe","cells":[[1,4],[1,5],[1,6],[2,3],[2,4],[2,5],[2,6],[3,2],[3,3],[3,4]],"fill":"#e9dcd2","pattern":"boards","labelAt":[1,5],"name":"カフェ"},{"id":"Lead Wall","cells":[[1,7],[1,8],[1,9],[2,7],[2,8],[2,9],[3,8],[3,9],[4,9],[5,9],[6,9]],"fill":"#d9dde3","pattern":"marble","labelAt":[5,9],"name":"リードウォール"},{"id":"Boulder Hall","cells":[[3,5],[3,6],[3,7],[4,3],[4,4],[4,5],[4,6],[4,7],[4,8],[5,3],[5,4],[5,5],[5,6],[5,7],[5,8],[6,4],[6,5],[6,6],[6,7],[6,8],[7,3],[7,4],[7,5],[7,6],[8,1],[8,2],[8,3],[8,4],[8,5],[9,1],[9,2],[9,3],[9,4]],"fill":"#dfe3e6","pattern":"tiles","labelAt":[8,4],"name":"ボルダリングエリア"},{"id":"Training","cells":[[7,7],[7,8],[7,9],[8,6],[8,7],[8,8],[8,9],[9,5],[9,6],[9,7],[9,8],[9,9]],"fill":"#e3cfa8","pattern":"planks","labelAt":[9,8],"name":"トレーニングコーナー"},{"id":"Locker Room","cells":[[4,1],[4,2],[5,1],[5,2],[6,1],[6,2],[6,3],[7,1],[7,2]],"fill":"#e2e0d0","pattern":"tiles","labelAt":[5,2],"name":"更衣室"}],"objectTypes":{"doormat":{"occupiable":true,"name":"玄関マット","icon":"<rect x=\"5\" y=\"14\" width=\"36\" height=\"18\" rx=\"2\" fill=\"#a5834f\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><g stroke=\"#7a5a2a\" stroke-width=\"1.2\"><line x1=\"9\" y1=\"18\" x2=\"37\" y2=\"18\"/><line x1=\"9\" y1=\"23\" x2=\"37\" y2=\"23\"/><line x1=\"9\" y1=\"28\" x2=\"37\" y2=\"28\"/></g>"},"chair":{"occupiable":true,"name":"椅子","icon":"<rect x=\"9\" y=\"7\" width=\"28\" height=\"32\" rx=\"6\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"7\" width=\"28\" height=\"9\" rx=\"4\" fill=\"#d9d5cc\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/>"},"crashmat":{"occupiable":true,"name":"マット","icon":"<rect x=\"2\" y=\"2\" width=\"42\" height=\"42\" rx=\"4\" fill=\"#3a6fb0\" stroke=\"#1f3f6b\" stroke-width=\"1.5\"/><rect x=\"6\" y=\"6\" width=\"34\" height=\"34\" rx=\"3\" fill=\"none\" stroke=\"#8fb4e0\" stroke-width=\"1.2\"/><line x1=\"23\" y1=\"6\" x2=\"23\" y2=\"40\" stroke=\"#8fb4e0\" stroke-width=\"1.2\"/>"},"bench":{"occupiable":true,"name":"ベンチ","icon":"<rect x=\"7\" y=\"8\" width=\"3.2\" height=\"31\" fill=\"#5e4127\"/><rect x=\"35.8\" y=\"8\" width=\"3.2\" height=\"31\" fill=\"#5e4127\"/><rect x=\"4\" y=\"8\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#a5733f\" stroke=\"#4e3a1e\" stroke-width=\"1.3\"/><rect x=\"4\" y=\"17.5\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/><rect x=\"4\" y=\"25\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/><rect x=\"4\" y=\"32.5\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/>"},"shelf":{"occupiable":false,"name":"シューズラック","icon":"<rect x=\"8\" y=\"5\" width=\"30\" height=\"36\" fill=\"#8f6a44\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"11\" y=\"9\" width=\"24\" height=\"8\" fill=\"#e6cfa8\"/><rect x=\"11\" y=\"20\" width=\"24\" height=\"8\" fill=\"#d4b98f\"/><rect x=\"11\" y=\"31\" width=\"24\" height=\"8\" fill=\"#e6cfa8\"/>"},"counter":{"occupiable":false,"name":"カウンター","icon":"<rect x=\"0\" y=\"10\" width=\"46\" height=\"26\" fill=\"#a97c50\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"0\" y=\"10\" width=\"46\" height=\"7\" fill=\"#c9a06f\"/>"},"vending":{"occupiable":false,"name":"自動販売機","icon":"<rect x=\"9\" y=\"4\" width=\"28\" height=\"38\" rx=\"3\" fill=\"#2f3b4c\" stroke=\"#161c25\" stroke-width=\"1.5\"/><rect x=\"13\" y=\"8\" width=\"16\" height=\"18\" fill=\"#7fc4d8\"/><rect x=\"13\" y=\"29\" width=\"20\" height=\"4\" fill=\"#f0b429\"/><rect x=\"13\" y=\"35\" width=\"20\" height=\"3\" fill=\"#8a94a0\"/>"},"table":{"occupiable":false,"name":"テーブル","icon":"<rect x=\"7\" y=\"7\" width=\"32\" height=\"32\" rx=\"5\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><rect x=\"12\" y=\"12\" width=\"22\" height=\"22\" rx=\"3\" fill=\"#d1a675\"/>"},"plant":{"occupiable":false,"name":"鉢植え","icon":"<path d=\"M15 28 h16 l-2 12 h-12 z\" fill=\"#c2643a\" stroke=\"#7a3d20\" stroke-width=\"1.2\"/><ellipse cx=\"15\" cy=\"17\" rx=\"7\" ry=\"10\" fill=\"#3f8a4a\" transform=\"rotate(-30 15 17)\"/><ellipse cx=\"31\" cy=\"17\" rx=\"7\" ry=\"10\" fill=\"#3f8a4a\" transform=\"rotate(30 31 17)\"/><ellipse cx=\"23\" cy=\"13\" rx=\"6\" ry=\"11\" fill=\"#57a35e\"/>"},"ropes":{"occupiable":false,"name":"ロープ","icon":"<g stroke=\"#a5733f\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"11\" y1=\"3\" x2=\"11\" y2=\"43\"/><line x1=\"19\" y1=\"3\" x2=\"19\" y2=\"43\"/><line x1=\"27\" y1=\"3\" x2=\"27\" y2=\"43\"/><line x1=\"35\" y1=\"3\" x2=\"35\" y2=\"43\"/></g><rect x=\"6\" y=\"30\" width=\"34\" height=\"6\" rx=\"2\" fill=\"#5b5852\"/>"},"climbwall":{"occupiable":false,"name":"クライミングウォール","icon":"<rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" fill=\"#8b8f96\" stroke=\"#3d444b\" stroke-width=\"1.5\"/><g><circle cx=\"11\" cy=\"10\" r=\"3\" fill=\"#e0362e\"/><circle cx=\"24\" cy=\"8\" r=\"2.6\" fill=\"#f0b429\"/><circle cx=\"36\" cy=\"13\" r=\"3\" fill=\"#3fbf7f\"/><circle cx=\"15\" cy=\"22\" r=\"2.8\" fill=\"#1f6fb2\"/><circle cx=\"30\" cy=\"24\" r=\"3.2\" fill=\"#e0362e\"/><circle cx=\"9\" cy=\"34\" r=\"3\" fill=\"#f0b429\"/><circle cx=\"22\" cy=\"36\" r=\"2.6\" fill=\"#3fbf7f\"/><circle cx=\"37\" cy=\"35\" r=\"3\" fill=\"#1f6fb2\"/></g>"},"hangboard":{"occupiable":false,"name":"ハングボード","icon":"<rect x=\"4\" y=\"12\" width=\"38\" height=\"16\" rx=\"3\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><g fill=\"#6e4d2c\"><rect x=\"8\" y=\"16\" width=\"8\" height=\"4\" rx=\"1\"/><rect x=\"19\" y=\"15\" width=\"8\" height=\"6\" rx=\"1\"/><rect x=\"30\" y=\"16\" width=\"8\" height=\"4\" rx=\"1\"/></g><rect x=\"20\" y=\"28\" width=\"6\" height=\"12\" fill=\"#5b5852\"/><rect x=\"12\" y=\"39\" width=\"22\" height=\"4\" rx=\"1.5\" fill=\"#5b5852\"/>"},"locker":{"occupiable":false,"name":"ロッカー","icon":"<rect x=\"8\" y=\"4\" width=\"30\" height=\"38\" rx=\"2\" fill=\"#7f95a8\" stroke=\"#3d4f5e\" stroke-width=\"1.5\"/><line x1=\"23\" y1=\"4\" x2=\"23\" y2=\"42\" stroke=\"#3d4f5e\"/><rect x=\"11\" y=\"10\" width=\"9\" height=\"3\" fill=\"#d7e1e8\"/><rect x=\"26\" y=\"10\" width=\"9\" height=\"3\" fill=\"#d7e1e8\"/><rect x=\"11\" y=\"16\" width=\"9\" height=\"3\" fill=\"#d7e1e8\"/><rect x=\"26\" y=\"16\" width=\"9\" height=\"3\" fill=\"#d7e1e8\"/><circle cx=\"19\" cy=\"28\" r=\"1.5\" fill=\"#1f2a33\"/><circle cx=\"34\" cy=\"28\" r=\"1.5\" fill=\"#1f2a33\"/>"},"shower":{"occupiable":false,"name":"シャワー","icon":"<rect x=\"20\" y=\"6\" width=\"6\" height=\"14\" fill=\"#8a949c\"/><rect x=\"12\" y=\"18\" width=\"22\" height=\"6\" rx=\"3\" fill=\"#dfe6ea\" stroke=\"#5b6b76\"/><line x1=\"15\" y1=\"26\" x2=\"14\" y2=\"38\" stroke=\"#7fc4d8\" stroke-width=\"1.5\"/><line x1=\"20\" y1=\"26\" x2=\"19\" y2=\"40\" stroke=\"#7fc4d8\" stroke-width=\"1.5\"/><line x1=\"25\" y1=\"26\" x2=\"26\" y2=\"40\" stroke=\"#7fc4d8\" stroke-width=\"1.5\"/><line x1=\"30\" y1=\"26\" x2=\"31\" y2=\"38\" stroke=\"#7fc4d8\" stroke-width=\"1.5\"/>"}},"wallTypes":{},"objects":[{"cell":[1,1],"type":"shelf"},{"cell":[1,2],"type":"counter"},{"cell":[1,4],"type":"vending"},{"cell":[1,6],"type":"counter"},{"cell":[1,7],"type":"ropes"},{"cell":[1,9],"type":"climbwall"},{"cell":[2,3],"type":"chair"},{"cell":[2,4],"type":"table"},{"cell":[2,5],"type":"chair"},{"cell":[2,8],"type":"crashmat"},{"cell":[2,9],"type":"climbwall"},{"cell":[3,1],"type":"doormat"},{"cell":[3,2],"type":"plant"},{"cell":[3,8],"type":"crashmat"},{"cell":[3,9],"type":"climbwall"},{"cell":[4,1],"type":"locker"},{"cell":[4,4],"type":"climbwall"},{"cell":[4,5],"type":"climbwall"},{"cell":[5,1],"type":"locker"},{"cell":[5,4],"type":"crashmat"},{"cell":[5,5],"type":"crashmat"},{"cell":[6,2],"type":"bench"},{"cell":[6,6],"type":"climbwall"},{"cell":[6,7],"type":"climbwall"},{"cell":[7,1],"type":"shower"},{"cell":[7,6],"type":"crashmat"},{"cell":[8,2],"type":"crashmat"},{"cell":[8,9],"type":"hangboard"},{"cell":[9,2],"type":"climbwall"},{"cell":[9,3],"type":"crashmat"},{"cell":[9,7],"type":"bench"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Astrid","gender":"F","role":"climber","color":"#c62828","avatar":{"bg":"#5b2c6f","skin":"#f6d8c0","hair":"#d9b464","style":"ponytail","shirt":"#c0392b","headband":"#f0b429"},"clue":{},"job":"競技クライマー","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Astrid\"><rect width=\"80\" height=\"80\" fill=\"#5b2c6f\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#d9b464\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#c0392b\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><path d=\"M26 33 Q26 16 40 16 Q54 16 54 33 Q50 24 40 24 Q30 24 26 33 Z\" fill=\"#d9b464\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><rect x=\"26\" y=\"23\" width=\"28\" height=\"5\" rx=\"2\" fill=\"#f0b429\"/></svg>","solverRole":"climber","constraints":[{"type":"beside","obj":"climbwall","rule":true}]},{"id":"B","name":"Blake","gender":"M","role":"climber","color":"#2e7d32","avatar":{"bg":"#2f4858","skin":"#e7b98f","hair":"#1c1a1a","style":"short","shirt":"#264653","beanie":"#000000"},"clue":"彼の<b>列</b>のどこかに<b>ベンチ</b>があった。","job":"ボルダラー","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Blake\"><rect width=\"80\" height=\"80\" fill=\"#2f4858\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#264653\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e7b98f\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e7b98f\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#1c1a1a\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M24 31 Q24 11 40 11 Q56 11 56 31 Q48 21 40 21 Q32 21 24 31 Z\" fill=\"#000000\"/><rect x=\"23\" y=\"26\" width=\"34\" height=\"6\" rx=\"3\" fill=\"#000000\" stroke=\"rgba(0,0,0,.18)\"/><circle cx=\"40\" cy=\"10\" r=\"4\" fill=\"#f4efe6\"/></svg>","solverRole":"climber","constraints":[{"type":"col_has","obj":"bench"},{"type":"beside","obj":"climbwall","rule":true}]},{"id":"C","name":"Cleo","gender":"F","role":"climber","color":"#1565c0","avatar":{"bg":"#6e2c4b","skin":"#f0cdb0","hair":"#b7482c","style":"bob","shirt":"#3f8a4a"},"clue":"彼女の<b>行</b>のどこかに<b>ロッカー</b>があった。","job":"初心者","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Cleo\"><rect width=\"80\" height=\"80\" fill=\"#6e2c4b\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#b7482c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#3f8a4a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f0cdb0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f0cdb0\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#b7482c\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/></svg>","solverRole":"climber","constraints":[{"type":"row_has","obj":"locker"},{"type":"beside","obj":"climbwall","rule":true}]},{"id":"D","name":"Dorian","gender":"M","role":"climber","color":"#6a1b9a","avatar":{"bg":"#1b2a33","skin":"#f1c8a5","hair":"#5a3a22","style":"curly","shirt":"#5d4037","beard":true},"clue":"彼のエリアには<b>女性</b>がいた。彼の<b>行</b>のどこかに<b>クライミングウォール</b>があった。","job":"リードクライマー","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dorian\"><rect width=\"80\" height=\"80\" fill=\"#1b2a33\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#5d4037\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f1c8a5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1c8a5\"/><path d=\"M25 34 q-3 -8 4 -10 q0 -8 8 -7 q3 -4 8 -1 q6 -3 9 3 q7 0 5 8 q4 4 -1 9 q-6 -14 -16 -12 q-9 -1 -17 10 Z\" fill=\"#5a3a22\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#5a3a22\"/></svg>","solverRole":"climber","constraints":[{"type":"with_gender","gender":"F"},{"type":"row_has","obj":"climbwall"},{"type":"beside","obj":"climbwall","rule":true}]},{"id":"E","name":"Elvira","gender":"F","role":"staff","color":"#e65100","avatar":{"bg":"#7a6a3c","skin":"#f6d8c0","hair":"#1c1a1a","style":"bun","shirt":"#2f3b4c","whistle":true},"clue":"彼女は<b>男性と二人きり</b>だった。","job":"インストラクター","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Elvira\"><rect width=\"80\" height=\"80\" fill=\"#7a6a3c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2f3b4c\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#1c1a1a\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#1c1a1a\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M33 56 Q40 68 47 56\" fill=\"none\" stroke=\"#c9302c\" stroke-width=\"1.6\"/><rect x=\"37\" y=\"66\" width=\"7\" height=\"5\" rx=\"1.5\" fill=\"#e0b040\" stroke=\"#7a5a12\" stroke-width=\".8\"/></svg>","solverRole":"staff","constraints":[{"type":"with_gender","gender":"M","exact":true}]},{"id":"F","name":"Ferdinand","gender":"M","role":"staff","color":"#00838f","avatar":{"bg":"#3d5a6e","skin":"#d9a57a","hair":"#c9c3b8","style":"slick","shirt":"#8b5a2b","glasses":true},"clue":"彼の<b>列</b>のどこかに<b>椅子</b>があった。彼のエリアには<b>ベンチ</b>があった。","job":"受付係","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Ferdinand\"><rect width=\"80\" height=\"80\" fill=\"#3d5a6e\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#8b5a2b\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#d9a57a\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#d9a57a\"/><path d=\"M26 30 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 Z\" fill=\"#c9c3b8\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><circle cx=\"34\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><circle cx=\"46\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><line x1=\"39\" y1=\"35\" x2=\"41\" y2=\"35\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/></svg>","solverRole":"staff","constraints":[{"type":"col_has","obj":"chair"},{"type":"area_has","obj":"bench"}]},{"id":"G","name":"Giselle","gender":"F","role":"visitor","color":"#ad1457","avatar":{"bg":"#35607a","skin":"#f6d8c0","hair":"#5a3a22","style":"long","shirt":"#7a5a9a","earrings":true,"scarf":"#f2a53a"},"clue":"彼女は<b>スタッフと二人きり</b>だった。","job":"Cleoの母","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Giselle\"><rect width=\"80\" height=\"80\" fill=\"#35607a\"/><path d=\"M22 42 Q20 14 40 14 Q60 14 58 42 L62 72 L18 72 Z\" fill=\"#5a3a22\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#7a5a9a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#5a3a22\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M30 58 Q40 70 50 58 L48 66 Q40 76 32 66 Z\" fill=\"#f2a53a\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/></svg>","solverRole":"visitor","constraints":[{"type":"with_role","role":"staff","exact":true}]},{"id":"H","name":"Hugh","gender":"M","role":"visitor","color":"#5d4037","avatar":{"bg":"#8c3a5a","skin":"#f1c8a5","hair":"#2b1c14","style":"bald","shirt":"#1b1b1b","glasses":true,"cap":true},"clue":"<b>カウンター</b>の隣にいたのは彼<b>だけ</b>だった。彼は<b>玄関マット</b>にいた誰かと<b>二人きり</b>だった。","job":"写真家","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Hugh\"><rect width=\"80\" height=\"80\" fill=\"#8c3a5a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1b1b1b\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f1c8a5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1c8a5\"/><path d=\"M26 30 Q26 22 30 20 L30 34 Q26 34 26 30 Z\" fill=\"#2b1c14\"/><path d=\"M54 30 Q54 22 50 20 L50 34 Q54 34 54 30 Z\" fill=\"#2b1c14\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><circle cx=\"34\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><circle cx=\"46\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><line x1=\"39\" y1=\"35\" x2=\"41\" y2=\"35\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><path d=\"M24 24 Q24 11 40 11 Q56 11 56 24 Z\" fill=\"#22406f\"/><rect x=\"22\" y=\"22\" width=\"36\" height=\"5\" rx=\"2\" fill=\"#12213a\"/><circle cx=\"40\" cy=\"18\" r=\"2.6\" fill=\"#f0b429\"/></svg>","solverRole":"visitor","constraints":[{"type":"only_beside","obj":"counter"},{"type":"alone_with_on","obj":"doormat"}]},{"id":"V","name":"Vidar","gender":"M","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#e4b998","hair":"#c9c3b8","style":"short","shirt":"#1b1b1b","mustache":true},"clue":"<b>被害者。</b>彼は<b>リードウォール</b>で、<b>ロープ</b>の隣で発見された――犯人と二人きりで。","job":"オーナー兼主任ルートセッター","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Vidar\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1b1b1b\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e4b998\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e4b998\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#c9c3b8\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#3a2a1c\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"staff","constraints":[{"type":"area","areas":["Lead Wall"]},{"type":"beside","obj":"ropes"}]}],"victim":"V","murderer":"G","solution":{"H":[1,3],"V":[2,7],"E":[3,1],"G":[4,9],"C":[5,4],"D":[6,8],"A":[7,6],"B":[8,2],"F":[9,5]},"walkthrough":[{"place":["E"],"cand":{"V":[[1,8],[2,7]],"H":[[1,3],[2,2]],"B":[[5,7],[8,2]],"F":[[6,3],[9,5]],"C":[[4,3],[4,6],[4,9],[5,4],[5,5],[5,6],[5,7]],"D":[[4,3],[4,6],[4,9],[6,8],[9,1]],"A":[[4,3],[4,6],[4,9],[5,4],[5,5],[5,6],[5,7],[6,8],[7,6],[8,2],[9,1]],"G":[[4,2],[4,9],[5,9],[6,1],[6,2],[6,3],[6,9],[7,2],[7,7],[7,8],[7,9],[8,6],[8,8],[9,5],[9,6],[9,7],[9,8],[9,9]]},"text":"Vidarはロープの隣、リードウォールで発見された：R1C8かR2C7――1行目か2行目――そして犯人はそこで彼と二人きりだった。Hughはカウンターの隣にいた唯一の人物で、玄関マットにいる誰かと二人きりだった。玄関マットは受付のR3C1にしかない、だからHughは受付でそのカウンターの隣にいる（R1C3かR2C2）、彼とちょうどもう一人だけがそこにいて、その人物は玄関マットR3C1にいる。それは誰だろうか？クライマーは全員クライミングウォールの隣にいたが、受付には壁がない；Ferdinandは自分の列のどこかに椅子があると言っているが、1列目には椅子がない；Giselleはスタッフと一緒だったが、Hughは来場者だ。残るのはElviraだけだ――そしてHughは彼女の証言が必要とする男性だ。<b>ElviraはR3C1にいる。</b>これで1、2、3行目はHugh、Vidar、Elviraのものになった：他の誰もそこにはいない。"},{"place":["B","H","V"],"cand":{"C":[[4,6],[4,9],[5,4]],"F":[[6,3],[9,5]],"D":[[4,6],[4,9],[6,8],[9,1]],"A":[[4,6],[4,9],[5,4],[6,8],[7,6],[9,1]],"G":[[4,9],[6,1],[6,9],[7,7],[7,8],[7,9],[9,5],[9,6],[9,7],[9,8],[9,9]]},"text":"クライマーは全員クライミングウォールの隣にいたので、まだ空いている行の中でクライマーが使えるのは、リードウォールのR4C9と、ボルダリングエリアのR4C3、R4C6、R5C4、R5C5、R5C6、R5C7、R6C5、R6C8、R7C6、R8C2、R9C1、R9C3だけだ。Ferdinandは自分の列に椅子があった――3列目か5列目――そして自分のエリアにベンチがあった、それは更衣室かトレーニングコーナーだ：R6C3かR9C5。R6C5とR9C3は、彼から両方のマスを同時に奪うことになるので、他の誰も入れない。Blakeは自分の列にベンチがあった――2列目か7列目――そして隣に壁があった：R5C7かR8C2。4列目にいるのは誰か？Hugh、Vidar、Elviraではない――1～3行目にいる唯一の人たちだ――そしてFerdinandでもない。R6C4、R7C4、R8C4、R9C4のどれも隣にクライミングウォールがないので、クライマーはそこに入れない、Giselleも入れない――彼女にはスタッフが必要だが、ボルダリングエリアにスタッフはいない。だから誰かがR5C4にいて、5行目はその人のものだ：BlakeはR5C7を使えない：<b>BlakeはR8C2にいる</b>、トラバース壁の下のマットの上だ。2列目は彼のものになり、<b>HughはR1C3にいる</b>、そして1行目が埋まったので<b>VidarはR2C7にいる</b>。"},{"place":["F"],"cand":{"A":[[4,6],[4,9],[5,4],[6,8],[7,6]],"C":[[4,6],[4,9],[5,4]],"D":[[4,6],[6,8]],"G":[[4,9],[6,9],[7,8],[7,9]]},"text":"5列目：R5C5は5行目にあり、5行目はR5C4にいる人のものだ。R6C5は入れない、R7C5は隣に壁がない、8行目はBlakeのものだ――だから、この列の唯一のマスはR9C5だ――<b>FerdinandはR9C5にいる</b>、ベンチのあるトレーニングコーナーだ。Cleoは自分の行にロッカーがあった――ロッカーは4行目と5行目にある――そして隣に壁があった：R4C6、R4C9、R5C4のいずれか（R4C3はHughの列にあり、5行目に残るのはR5C4だけだ）。4、5、6、7行目と4、6、8、9列がAstrid、Cleo、Dorian、Giselleに残る。"},{"place":["D"],"cand":{"A":[[4,6],[4,9],[5,4],[7,6]],"C":[[4,6],[4,9],[5,4]],"G":[[4,9],[7,9]]},"text":"Dorianは自分の行のどこかにクライミングウォールがあった――5行目と7行目にはない――そして女性が一緒にいた、だからR4C9ではない、そこではVidarと二人きりになってしまう：彼はR4C6かR6C8、ボルダリングエリアの壁の隣にいる。<b>DorianはR4C6にいるだろうか？</b>その場合、4行目はCleoには使えなくなるので、彼女はR5C4にいる。壁の隣にいるAstridにはR6C8しか残らない（R7C6は彼の列、R4C9は彼の行にある）、そしてGiselleには――4～6行目と4、6、8列目が埋まっているので――R7C9しか残らない。すると誰もリードウォールでVidarと一緒にいないことになる：矛盾だ。<b>DorianはR6C8にいる。</b>"},{"place":["G","C","A"],"text":"Giselleはスタッフと二人きりだった：リードウォールではVidarと、トレーニングコーナーではFerdinandと。残っているのは4、5、7行目と4、6、9列目なので、彼女のマスはR4C9とR7C9だ――どちらにしても9列目で、他の誰もそこを使えない。リードウォールにはVidarと一緒にもう一人いなければならず、そこに残る最後のマスはR4C9だ――<b>GiselleはR4C9にいる</b>。4行目が埋まったので<b>CleoはR5C4にいる</b>、そして7行目と6列目から<b>R7C6</b>が<b>Astrid</b>に残る。全員の位置が決まった。"},{"final":true,"text":"事件解決：Vidarはリードウォールで、娘のクライミングを見に来た来場者と二人きりだった。<b>Giselleが犯人だ！</b>"}],"solver":{"rules":[],"occupiable":["chair","bench","doormat","crashmat"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-17"}}