『ご注文はうさぎですか?』からコマ単位で選出する人生のフルコース

注1:人生のフルコースは漫画『トリコ』に登場するアイデアですが、筆者はトリコを読んだことがありません。
注2:本記事は2025年6月17日に発売された季刊エス第90号pp. 24-31の内容及びご注文はうさぎですか?1-13巻の内容を一部含みます。閲覧の際はご注意ください。
みなさん、ご存知でしょうか?
剣豪同士が手合わせをする時、剣を交えずともその足運びだけから流派を推測できるそうです。
嘘です。2秒で考えました。
しかしみなさん、ご存知でしょうか?
ご注文はうさぎですか?の愛好者が各話から一定の規則に従い特定のコマを選んだ時、何も語り合わずともその人物の好む話のテイスト、キャラクター愛、ごちうさ遍歴が推測できるそうです。
こちらは体感8割本当です。
本記事を書くきっかけとなったのは季刊エス第90号のキャラクター紹介ページでした。この編集者の選出画像からは、明らかにごちうさが好きすぎる人間特有の匂いがします。まず2025年6月17日に発売された雑誌に、2025年5月19日発売のまんがタイムきららMAX掲載の1コマが使用されている時点でちょっと様子がおかしいです。また、「このキャラクターを紹介するならこのコマを使いたい」というファンの期待を外さない選出が随所に光っています。
本記事の要旨はもうお分かりでしょう。
すなわち、ご注文はうさぎですか?における好きなシーンを『トリコ』の人生のフルコースに見立て、特定のコマを選出し、ぼくの考えた最強のフルコースを完成させようではないかという試みです。
- なぜフルコースによる列挙表現なのか?
- 各メニューの役割を考えるために使用したプロンプト
- 1. オードブル(前菜):作品の入り口
- 2. スープ:エモーショナルな安心感
- 3. 魚料理:技術が光る転換点
- 4. 肉料理:力強い王道の一場面
- 5. メインディッシュ(主菜):コース全体を通しての最高傑作
- 6. サラダ:一息つかせるバランサー
- 7. デザート:甘美な多幸感
- 8. ドリンク:総括するテーマ
- 終わりに
なぜフルコースによる列挙表現なのか?
列挙表現として、単純な並列列挙やランキング、野球の打線表現、あるいは音楽のベストアルバムのトラック構成なども比較として挙げられます。トリコファンの皆様におかれましては、トリコを読んだことがないエアプのインターネット受動喫煙者がフルコースという画期的列挙表現を使うなよと憤慨されるかと思いますが、本記事であえて使用する理由が大きく2つあります。
・各要素が独立した役割を持つ
ランキング形式や野球の打線表現では、各要素のパワーバランスが存在しており、明確な優劣がつけられると考えます。しかし、好きな漫画について列挙する場合、かわいさ、ギャグ、キャラクター、ストーリー、4コマ表現の巧みさなど、多角的かつ複合的な基準で評価されうるため、明確な優劣をつけることが非常に難しくなります。
一方で、フルコースによる表現ではメイン料理こそ存在しますが全体の中の一要素であり、各要素それぞれが役割を持ちます。肉料理は重厚さを持ちますが、スープのようにじんわりと身体を温めることはできません。
また、役割を考えることで単純な力比べではなく「どこに魅力を感じるか」という作成者の主観的評価が現れます。このため他者の作成したフルコースとの比較が興味深いものになり、魅力的です。トリコのユダさんも「捕獲レベル?ナンセンスな・・・フルコースに優劣などない。みなその者にとって最高の献立なのだ」と仰っているそうです。いいこと言うなあ。
・物語が存在する
フルコースでは提供方式がある程度決まっており、オードブルから徐々に熱量を上げ、メインで爆発させ、最後は余韻に浸るという起伏が存在します。これはほかの表現にない強みであり、コース内の各メニューをどの役割に見立てるかが難しいですが、メニュー同士のシナジーが生じ得ます。
物語が存在するということは一本の軸を通すテーマが与えられうるということにもなります。「ノスタルジー」や「夢」のようなものですね。特にごちうさは人生を描いている作品であり、その切り出し方によって膨大な受け止め方ができるため、注目するテーマを変えることで無限にフルコースが生み出せます。
各メニューの役割を考えるために使用したプロンプト
本記事の頭で述べた通り、筆者はトリコエアプな上に現実のフルコースに対する知見について浅瀬ちゃぷちゃぷもいいところなので、思考の壁打ち相手にGeminiを使用しました。以下はそのプロンプト文です。
# 役割
あなたはプロの漫画編集者である。特に、ある漫画の設定のエッセンスを紐解き、別の漫画のアイデアへの昇華や分析記事の執筆を行うことに優れている。# 背景
漫画『トリコ』において、フルコースという概念が存在する。これは、未開の味を探し求める美食屋が人生の目標とするメニューであり、オードブル(前菜)、スープ、魚料理、肉料理、メインディッシュ(主菜)、サラダ、デザート、ドリンクの8つからなる。
ユーザーは、このフルコースに基づく列挙表現を用いて、「ある漫画における名シーン・お気に入りのシーン」を8つ挙げたリストを作成したいと考えている。# 目的
「ある漫画における名シーン・お気に入りのシーン」を例にとったフルコースを作成するうえで、各メニューの位置付けおよび役割を考察すること。# 指示
1. フルコース以外の列挙表現として、以下が挙げられる。
・単純な並列列挙
・野球の打線表現:DHを含めて10人で構成されると仮定
・ベストアルバムのトラック表現:AB面からなる8曲構成と仮定
フルコースを含めたこれらの各表現について詳細に説明するとともに、各表現の比較を行い、利点と欠点を述べよ。2. 現実のフランス料理におけるフルコースとトリコのフルコースは構成が異なる。
フランス料理におけるフルコースが、[アミューズ、オードブル(前菜)、スープ、ポワソン(魚料理)、グラニテ/ソルベ、ヴィアンド(肉料理)、デザート、カフェ・プチフィール]で構成されるとして、
2-1. フランス料理におけるフルコース中の各メニューの位置付けおよび役割を、提供側の意図に注目しつつ詳細に説明せよ。
2-2. メニューの追加・削減や順番の変化によって、トリコのフルコースではそれらの役割にどのような違いが生まれると考えられるかを詳細に述べよ。3. トリコのフルコースについて、「ある漫画における名シーン・お気に入りのシーン」を例にとったとして、各メニューの位置付けおよび役割を理由とともに詳細に述べよ。
ただし、ワンショットではなく必要に応じて追加でプロンプトを投げます。
得られた出力は各項目の説明に部分的に用いています。
1. オードブル(前菜):作品の入り口
直訳すると「作品外」という意味になり、フルコースの枠外にあるものという意味になるそうです。挨拶代わりにシェフのアイデンティティやセンスを名刺代わりに提示する一皿。フルコースに向けて食欲を増加させるために、色鮮やかで酸味や塩気の効いたものが多く、「胃を刺激して食欲を湧かせる」役割を持ちます。
直訳こそ作品外という意味ではありますが、ごちうさフルコースにおける役割を考えると、物語に没入させるための入り口、好きになったきっかけ、といったものが該当するのではないかと思います。なおかつ、後に続くメニューに対しての布石となるようなテーマ性を備えたものが選ばれるはずでしょう。
単行本4巻14話『チノちゃん、私も!私もマッチョに撮って!』より

ごちうさのことを本格的に好きになるきっかけだったと自信を持って言える一コマ。いきなり筆者の思い出語りから始まってしまい恐縮ですが、自分のごちうさとの出会いについて振り返ると、来月放送予定のこのアニメがかわいすぎるという旨のネットニュースを偶然見かけ(きららMAX2014年5月号の表紙が一緒に掲載されていたことを覚えています)、それまで感じたことの無い衝撃に脳を焼かれたことが始まりでした。とするときっかけは作品のかわいさということになり、初期に感じたかわいさを象徴する一コマを選ぶのが妥当ではないか…とも思いますが、実際のところごちうさのかわいさに灼かれた後にさらにもう一段深く好きになるきっかけがありました。それがこれです。
この回を読むまではかわいさと掛け合いの心地よさに惹かれて読み続けており、時折それだけでは説明できないものを感じてはいたのですが、このコマを見たときようやく「この子たちの関係性はかなり有機的なんじゃないか?」と思い始めるようになりました。それまでの保登心愛さんの印象は、明るく天真爛漫で人当たりが良く香風智乃さんや周囲を巻き込んで物語にエネルギーを与えてくれる人、というものでした。完全なるヒーローであり、太陽という言葉が似合う人です。しかしこのコマでは香風智乃さんからぬいぐるみをぶつけられて涙と笑顔を見せており、単に「チノちゃんから構ってもらえて嬉しい」だけでは説明がつかない様子を見せています。つまり、姉として自分は至らないのではないかという不安を冗談混じりに吐露し、それを真正面から「ココアさんがこの街に来て良かった」と告げられて緊張を解いたことが伺えます。
この瞬間に保登心愛さんの印象が「みんなを笑顔にする太陽みたいな人」から「外から街へ一人でやってきて理想の姉になれているか不安をもちながら笑顔を見せる少女」へと変わり、作品がより色鮮やかに見えるようになりました。やっぱりごちうさ4巻っておもしろすぎるかも。モカさんが襲来して姉妹喧嘩が最後に来る構成が本当に良い。オードブルでお腹いっぱいにさせてしまってすいません。
2. スープ:エモーショナルな安心感
コースはここからが本番とも言われるそうです。スープによって水分と温かさを胃に届けることで、緊張した胃壁を緩め、消化器系全体のコンディションを整える役割があります。主菜を迎えるための「土台作り」であり、じんわりと身体に染み渡る優しさが求められます。
オードブルがフルコース全体における方針を表すとすれば、スープでは作品世界の広がりを表すと言えるかもしれません。色彩豊かなオードブルに続いて、温かみのあるスープが安心感を与えながら、後に続くメニューに備えさせる役割を持つと考えられます。すなわち、エモーショナルな雰囲気を纏いつつ、作品への没入感を深める、そんな一コマを選びたいところです。
単行本2巻6話『お話をするお話』より

2巻6話のお散歩回が本当に大好きで大好きで……。
まずこの一話全体について言及したいのがその構成の心地良さです。部屋の中で休日を過ごそうとする香風智乃さんから始まり、散歩に行くことになり、歩くうちにさまざまな人と出会い、話すのは得意じゃないと溢した後に雰囲気の違う天々座理世さん(ロゼ)と話すことでココアさんの影響を感じ、また部屋の中に帰ってきて「まだお話してたい」と告げる。もはや人生の縮図ですよね。
ココアさんの影響を感じるきっかけが勘違いだったというのもこの作品らしい優しい偶然性が出ていて好きです。加えて、おそらくこの回で出会ったことをきっかけにして次の回で条河麻耶さんと奈津恵さんがラビットハウスに訪れるようになった変化も好きです。さらにいえば、部屋の中から始まり部屋の中で終わる「日常に帰ってくる」構成と、その日常が以前とは少し色合いが異なる点が本当に好きです。
その中からこのコマを選出した理由は、やはり香風智乃さんの変化が強く現れているためです。「話すのは得意じゃないです」と自分で言っていた彼女が保登心愛さんの部屋を訪れてもう少しだけ一人じゃない休日を過ごそうとする変化のなんと愛おしいことか。何度読んでも好きな回です。
3. 魚料理:技術が光る転換点
魚料理は前半の山場であり、肉料理に比べて脂肪分が少なく淡白でありながら、ソースや調理法によって「味の密度」を確実に一段引き上げる役割を持ちます。繊細なタンパク質で満足感を与えつつ、重すぎない仕上がりで肉料理への架け橋とする、そんな立ち位置。また、トリコのフルコースでは本来魚料理の後に続くお口直しとしてのソルベ/グラニテが省略されていることから、魚料理がその役割を一部担うとも言えそうです。
フレンチの魚料理が繊細な火入れとソースの技術を競う点に注目すると、例えばバトル漫画においては力押しではない「知略」「伏線回収」「スタイリッシュな演出」が冴え渡るシーンと言えるでしょう。これをごちうさに翻訳すると、第一印象としてのインパクトよりもその奥に潜んだ技術が伺えるような場面、つまり後になって気付く構成の巧みさや嚙めば嚙むほど染み渡る関係性が該当しそうです。
単行本13巻13話『愛情たっぷり首輪代わりの堕天マフラー』より

風衣葉冬優さんと狩手結良さんがこの関係性に落ち着くとは全く想像していませんでした。おそらく10巻6話で風衣葉冬優さんが神沙姉妹との距離を縮めた後でも、10巻10話で狩手結良さんが保登心愛さんと共犯者になった後でも、フユユラの関係が熱くてえ…などと言われても過剰に先鋭化された一部勢力の与太話だと思っていたでしょう。
フユユラを語る上で外せない回として11巻5話(きららMAX2022年5月号)が挙げられます。ブライトバニーでのバイトを始めた狩手結良さんに対して風衣葉冬優さんが香風智乃さんや神沙姉妹には出さない警戒した様子を見せており、一人にしか見せない表情は特別の始まりなんだよなあ…と筆者も読んでいた当時は早々に腕組みをしたものですが、風衣葉冬優さん側からの矢印がここまで強くなることは予想していませんでした。
風衣葉冬優さんからの矢印が明確に強度を増したのは13巻4話のココフユバッドスタイル回だと筆者は考えていますが、13話で答えを示された後に振り返ってみるとここに至るまでに2つの要素が必要だったのかなと思います。つまり、ブロカントやブラバ組プール回で描かれていた狩手結良さん側からのアプローチと、風衣葉冬優さんのそれに対する気付きです。特に後者については13巻4話p36左列で描かれていますが、ここが個人的におもしろいところだと思っています。というのは、「ユラさんもココ姉を通じて私を励ましてくれた」に関しては時系列的におそらく風衣葉冬優さんの勘違いであり、その勘違いを元にそれまでの狩手結良さんの振る舞いを思い返して矢印の強度を増しているためです。
では、風衣葉冬優さんがそのように転換するための下地には何があったのか。これが13話で示されたフユユラの共通項です。個人的な解釈として風衣葉冬優さんは「自分の中に特有の世界を持っているが、他者とそれを共有することに苦慮しており、一方で結び付きに憧れてもいる」、狩手結良さんは「自分の弱みを他者に見せず、自らの優位性が危険にさらされうる場合は距離を置くが、安心できる居場所を求めてもいる」と考えています。風衣葉冬優さんはこのような二人の共通項を感じ、さらに矢印を強めたのではないでしょうか。さらに言えば、すれ違いや勘違いから関係が深まるというのはまさしくごちうさ的であり、それが13話に描かれた形で結実したことを考えると描写の巧みさについ膝を打ってしまいます。まさしく魚料理に見られる繊細な火入れがここにあると言っていいでしょう。
ちなみに11巻12話p105R3でココアさんの実家に行って疲れて寝てしまって印象最悪ですと思う香風智乃さんも味染み染みなので悩みましたが、予想を裏切ってくれた嬉しさも加味してこちらの一コマとしました。
4. 肉料理:力強い王道の一場面
コースの最高峰であり、最も重厚で濃厚な、満足度のピークを司る一皿。万全に整えられた胃袋に対して、シェフが持てる最大の技術と厳選された素材で直球の「美味の衝撃」をぶつけるパート。通常のフルコースではこの肉料理が頂点でありメインとして扱われますが、トリコのフルコースでは肉料理とメインが区別されています。となるとここでの肉料理はメインに向かうための最大の加速装置としての役割を持つのか、あるいは単純な二枚看板としての役割を持つのか…と悩むところです。が、メインにこそフルコース作成者の嗜好が現れると仮定すると、肉料理は「みんな好きだし俺も好き」、メインは「みんなは好きか分からないけど俺は大好き」、といった区別ができるのではないでしょうか。さらに言えば、「肉料理」と限定されていることに注目して、ひと目でその力強さが分かるようなものに選択肢を絞ることができそうです。
具体的にはどのような一コマを選定すると良いでしょうか。圧倒的なパワー、クライマックス、ということであれば例えば『ワールドトリガー』であれば22巻195話の雨取千佳さんが撃つコマになるでしょうし、『スロウスタート』であれば8巻95話の最終ページになるでしょうし、『やがて君になる』であれば6巻31話の「先輩のものですよ」になるでしょう。これ全部分かってくれる人どのくらいいるんでしょうか。まあつまるところ、大きなイベントが結実する瞬間がここに入りそうです。
単行本6巻11話『出勤せよ!焙煎戦隊ラビレンジャー!』より

事あるごとに言及していますが、ご注文はうさぎですか?という作品全体、全ての巻、全ての回、全てのコマの中で筆者が最も好きなものがこちらです。
どこから話したものか……。なんというか、香風智乃さんが周囲から愛されていると原始的な感情としての嬉しさが湧き上がるんですよね。既にいたるところで言及されていることにはなりますが、初期の香風智乃さんは私にはできない、とか、私がこうできていれば、のように、周囲を大人に囲まれて過ごしてきたからか、あるいは早くに母を亡くし、忙しそうに過ごす父の助けにならなければと思って育ったからか、自分の能力を信じられておらず、ありのままの自分を受け入れてもらえない(甘えられない)と思っている様子が窺えました。周囲はそう思っていないにも関わらずです。
その彼女がココアさんとの生活を通じて自分を認められるようになり、「私がお返ししても迷惑になるだけ」ではなく、ただ真っ直ぐに「お返ししたい」と言える事実があまりにも尊いです。一巻の頃から描かれてきた香風智乃さんの変化はこのコマをもって結実したと思っています。自分にとっては香風智乃さんの変化はごちうさの歴史に等しいので、このコマは迷うことなくこのパートに選出しました。
5. メインディッシュ(主菜):コース全体を通しての最高傑作
フルコースの象徴であり王。現代のフランス料理では肉料理が主菜を兼ねることが多いですが、コース全体がこの一皿のために計算され、すべての料理がその布石となります。一方で先述の通り、トリコのフルコースでは肉料理とメインが区別されるため、肉料理とはまた別の役割を持つべきでしょう。「みんなは好きか分からないけど俺は大好き」に該当しつつも、やはり主役は主役であり、単に派手なだけでなくこれまでの伏線やキャラクターの生き様がすべて結実した、「歴史に残る1コマ」がここに相応しいと言えます。この説明はAIがだいたい書いてくれたんですけど何言ってんだこいつって感じですね。うまいこと何かを誤魔化されている気分です。
ごちうさにおけるそのような特性を考えると、やはり「余韻」を挙げたくなります。というのも、巻単位でも一話単位でも、大きなイベントの後にまたいつもの日常に余韻深く戻るところまでを十分に描いているのがごちうさであると筆者が考えているためです。「このシーンを見るためにこの漫画を読んできた」と言えるものが選出できそうです。
単行本11巻13話『うさぎになったバリスタ』より

いろいろ考えましたが、やはりこのコマを挙げたくなります。チノ祖父に迎えがくる話はいつかは来るだろうと思いつつもまだもう少しだけいてほしいと願っていたため、非常に思い入れが強いシーンです。
筆者がごちうさを含めた日常を描く作品を読むときに目標としてここまでは見たい、と考えているのが「この子たちはもう大丈夫だ」と思える瞬間なのですが、香風智乃さんが周囲と関わり外の世界に踏み出していくほどに、チノ祖父はいつ旅立ってしまうのだろうという思いを強めてもいました。それこそ先に述べた6巻のクリスマスでの香風智乃さんの成長を目にした後、12話でタカヒロさんに語りかける場面が描かれたこともあり、7巻13話で旅に向かう香風智乃さんを見送ったあたりでは「旅行編でチノ祖父は旅立ってしまうのではないか」と考えていました。幸い8巻1話で神沙姉妹が登場したこともあり、少なくとも彼女たちの日常はまだ続くはずだ、と考えを改めはしたものの、やはり避けては通れないだろうと思い続けていました。
他方、チノ祖父が乗車する瞬間には「まだ行かないでほしい」と思うよりは「行ってしまうのだな」という納得が大きかったことを覚えています。というのは、直前の香風智乃さんが私なりの喫茶店にしてみたいと話しており、彼女がこれまで周囲と過ごした日常が、クリスマスでの出来事が、旅先での経験がそう決めさせたのだと深く納得できていたからです。また、2ページかけて穏やかな時間が流れるように、一つの動作を丁寧に描いてくれたからこそ、その受け止めができたのだろうと感じています。チノ祖父の旅立ちが単なる悲劇や日常の崩壊ではなく、次の日常へ進むための幸せの過程にすぎないのだとこの余韻深い描写によって理解できました。
改めて11巻13話を読んでみてもチノ祖父の旅立ちとしてやはりこれ以上ないですね。この回を読んでからずっと香風智乃さんの喫茶店が形として示される瞬間を心待ちにしてしまっています。
6. サラダ:一息つかせるバランサー
一般的には前菜の延長や肉の付け合わせですが、コース後半に登場する場合は、重厚な肉料理の脂を瑞々しい野菜の水分と酸味でリセットし、口内をリフレッシュさせる役割を持ちます。通常のフルコースにおいてメインの衝撃を着地させる役割を持つのはデザートですが、デザートの前に配置されていることを考えると、エモーショナルになりすぎない程度にワンクッション置いて全体のバランスを取るような役割であると考えられます。
コマで言えば激闘の後のひと時の休息やコミカルな日常のような、清涼感と安らぎを与えるシーンが合致するように思えます。『カグラバチ』における第一部終了後の番外編「漣宗也の戻らないで記憶」が良い例でしょう。良い例だろうか?まあそんな感じです。
単行本9巻7話『Foooo am I ?』より

すいません桐間紗路さんの様子がおかしくなる場面が全部好きなんです……。なんなんですかねこのセリフ。欲望丸出しなのにおすすめですって言って客観性を持たせているのが本当に大好きなんですが……。
ごちうさのギャグは多彩で、鋭いツッコミ、シュール、顔芸とさまざまですが、桐間紗路さんが天々座理世さんに性欲(性欲?)を向けている場面が一貫して好きです。アニメで言うと1期3羽のお泊まり会でチマメ中学制服を着た天々座理世さんを見つめる描写が盛られていたのとか本当に嬉しいんですよね。ココチノがお風呂から上がってもまだ目を爛々と輝かせ続けていて香風智乃さんから「まだやってたんですか」って言われていたのが大好きです。全体的に7巻6話Eを探し続ける日常以降彼女のギアがまた一つ上がったように思うのは気のせいでしょうか?12巻2話の催眠回とか……。
催眠回で言うとp17R4で幼児化した天々座理世さんに抱きつかれて催眠サイコー!!と嬉しそうに鳴き声を上げていたのも大好きすぎますね。というか催眠回全体がギャグの質が本当に高くて読むたびに思わず歯茎を全て剥き出しにしてニコニコしてしまいます。12巻で言うと1話の射的するところで天々座理世さんがくらえっユラ!と言うところも好きですね。パァンパァンと良い音を響かせている上に保登心愛さんが横で楽しそうにしているのが好きです。これ書き始めると止まりませんね。ごちうさってギャグがめちゃくちゃおもしろい漫画なので。
7. デザート:甘美な多幸感
デザートとは元々デセールが転じて出来たもので、料理を片付けるという意味を持っています。お菓子のようなデザートからフルーツメインのものまで、幅広くコースごとにその姿は変化します。食事の締めくくりであり、幸福感を伴いながらコース全体のテーマを形容できる、そういった役割を持ちます。
食事の締めくくりというと直感的にはメインの余韻を持たせる役割が想像されますが、ことごちうさにおいては作中の余韻そのものがメインと呼べる重要さを持つ(と筆者が勝手に考えている)ため、別の属性を考えたいところです。ということで、ごちうさフルコースにおいては読後に「この漫画を読んで本当によかった」という幸福感をもたらすような役割を考えてみます。
単行本12巻10話『Alices in house of gloom』より

神沙姉妹に萌え萌えできて本当に良かった…!
いや、真面目に、このレベルの萌えがカラーでお出しされて狂わないわけがないですよ。「ふーん、なかなかの萌えレベルのようだね」と平静を装っている人間の方が狂人だと思います。
まず神沙姉妹のキャラクター造形について客観的な意見を述べたいんですが、これだけ真摯に「かわいい」と向き合ってきたごちうさという作品が8巻にして登場させた新キャラクターにそれまで練り上げられてきたかわいさのエッセンスが詰まっていないわけがないんですよ。言わばかわいいのサラブレッド。萌えの黒船来航。そして神沙姉妹はそれまでに木組みの街で作り上げられた既存のコミュニティに対して「なぜ?」を投げかける立ち位置にあると読めるのですが、未知の世界に触れて楽しそうな笑顔を見せる様子が本当に魅力的です。
次に上述のコマについて主観的な意見を述べたいんですが、客観的にこれだけかわいい神沙姉妹がおそろいリボンのふりふりドレスのしましまソックスを身に付けているのが、その……ふふ……まあ、萌え、ですよね……。あと神沙姉妹は頻繁に服の上下を交換しているんですけど(メガネクイクイ)、こちらのカラーコマは色配置が綺麗で本当にかわいいです。やっぱアリス服って神だな。表情も良いですよね。照れ焦りしている顔がとにかくかわいい。流石に言及しないわけにはいかないのが神沙夏明さんのポーズで、もう愛おしくて愛おしくて……なんていうか本当に愛おしいです。必死にスカート丈を伸ばして少しでも姿を隠そうとしているのかもしれませんけど、お顔とお洋服からして萌え萌えすぎるので何も隠せてないんですよね。ああ、神沙姉妹に萌え萌えできて本当に良かった。
ちなみにチャイナ神沙姉妹も大好きです。
8. ドリンク:総括するテーマ
コースのすべての食事が終わった後、コーヒーの苦味やハーブティーの香りで口内を引き締め、現実に緩やかに戻す役割。同時に、楽しかった食事の時間を振り返る「語らい」の場を提供します。AIが出力した文章を適宜コピペしていて思ったんですが、なんかトリコのフルコースって余韻を持たせる役割がやけに多くないでしょうか?肉!メイン!の後にサラダッ……デザートッ……ドリンク……!と三段階かけてゆっくり余韻を持たせる構成がかなり独特に思えてきました。
さておき、フルコースにおける立ち位置を考えると、最後の余韻をもたらすとともにオードブルの対となるようにコース全体を象徴・総括するようなものが期待されます。すべてを喉越し良く流し込み、一生胸に残り続ける作品全体を象徴するセリフや、無限の余白を感じさせる1コマを選びたいところです。
単行本3巻8話『スニーキング ストーキング ストーカーストーリー』より

『ご注文はうさぎですか?』という作品の魅力を考えたときに、短くまとめるのであればやはり「境界の曖昧さ」に尽きるという持論があります。列挙していきますが、まず学年も学校もバイト先も異なる少女たちがひとつのコミュニティを作っていること。もてなす側ともてなされる側が逆転し得ること。木組みの街という現実の街並みと文化が溶け合って不思議な調和を見せていること。現実と幻想の境界が曖昧で、それが日常を彩る要素となっていること。筆者が最も好きなのは、それらの曖昧さが優しく許容されていることです。
3巻8話における条河麻耶さんの「友達と進む学校違ったらもう親友じゃなくなるのかな」とはそういった境界に対してのクリティカルな問い掛けですが、天々座理世さんは「それはそれで楽しい」と返しており、この作品における彼女たちの境界を飛び越える力の強さが感じられます。これを踏まえて上述のコマをもう一度見ると、嬉しそうに笑う条河麻耶さんの表情と短い一言に全て詰まっていて非常に美しく思えます。これが3巻で描かれていることにも驚きますし、現在から過去を振り返って読んでみてもその在り方が一貫していることにも驚きます。
終わりに
最後までお付き合いいただきありがとうございます。
特に偏らせたつもりは無かったのですが、フルコースの8品中3品が単行本最終話になっていたのでおれって自分で思っていたよりも最終話のこと大大大大好きだったんだ…という新しい気付きを得られました。あと言及できていない話も多いのでフルコースって言ったけど全然フルじゃないなとも思いました。
上で書いたコースの役割についてざっくりまとめると、以下のように言えるかなと考えています。
オードブル:好きのオリジン
スープ:この日常描写が味するんすわ
魚料理:この関係性が味するんすわ
肉料理:みんな好きだし俺も好き
メインディッシュ:おお~...俺 皆と違ってこういう余韻に惹かれがちなんだよな...
サラダ:うれしいギャグ
デザート:うれしい萌え / かわいさ
ドリンク:象徴的一コマ
この記事を読んだ皆さんのフルコースも楽しみにしています。お前はトリコ?
『ご注文はうさぎですか?』を対象としたローカル環境で動作するアノテーションサイトの作成
前回のテキスト抽出作業の自動化を試みた記事以降にやったことについて、作業の進捗報告を兼ねた記事です。
ご注文はうさぎですか?を対象としていますが、そちらをメインで追っているファンの方以外でもデータ分析の参考になるかと思います。データ系でない人には退屈な記事だと思いますのでご留意ください。記事の内容について疑問等ありましたら筆者(Twitter: ddu__q)までご連絡をいただければ幸いです。
1. 概要
前回の記事で得られたOCR結果をもとに、詳細なアノテーション作業を効率よく行うためのサイト作成を行いました。使用言語はPython3.12、バックエンドはFlaskを使い、現在ローカル上でのみ動作する仕様です。
効率化はしたのですが一人でやろうとするには作業量が膨大で、非常に、本当の本当に困っているので、アノテーション作業に協力していただける方を随時募集中です。
2. 背景
前回の記事では4コマ漫画を自動で切り抜いたのちにGASを利用してOCRまで自動化する手法についてお示ししました。それ以降は自動切り抜きやバルーン抽出のさらなる品質向上に取り組んでいたのですが、労力をかけて品質向上するよりもさっさと最低限のデータだけ手元に用意してしまった方が良いな、と正気に返ったのでアノテーション作業(あるデータに対して情報をタグ付けする作業)を開始するに至りました。
3. 方法
3.1 アノテーションサイトの仕様
いろいろとやりようがあるので悩むところではありますが、この分野については既に先駆者が存在しているのでその知恵にあやかることにします。具体的にはS治さんが以下の本で記載しているアノテーションシステムを一部流用することにしました。
ポストモダンのポリアネス tech. ~ 4コマ漫画のデータ収集と分析による評論の可能性(with Python) ~ - esuji - BOOTH
上記のアノテーションシステムのうち、各コマの画像をランダムに取得し、アノテーション済みのデータに対して確認作業を行う2段階の工程を流用させていただきました。
最終的に、やっていることは以下の通りです。前回記事に示した手法により各コマの画像とOCR結果(csv形式)を準備->サイトを作成->各コマの画像とそれに対応するOCR結果を取得(後者はサイト内の入力フォームにデフォルト値として入力)->適宜修正とアノテーション->判断に困るアノテーションであった場合は信頼度ボタンとしてnot sureを選択(デフォルトはsure)->送信ボタンを押し、出力用csvに結果を保存->送信ボタン押下後、次にランダムで選択された画像のアノテーションページに自動遷移(2段階目のアノテーション作業が完了している画像ページには遷移しない)->以下同様の作業。
文字で説明しても百聞は一見に如かずがすぎるので、4. 結果を先にご参照いただけるとスムーズかと思います。
3.2 アノテーションの大分類
以前の記事でも軽く触れましたが、今回作成したアノテーションサイトでも同様の分類に従うこととします。すなわち、吹き出し内, 吹き出し外, 背景, キャラクターの4分類を基本として、各フォームがそれぞれ異なるサブのフォームを持ちます。具体例は以下3.3節-3.6節をご参照ください。この分類により、文字が記載される場所ごとに割り当てられた役割を区別することが可能となります。
3.3 吹き出し内のアノテーション
記事作成時点において1コマあたりの最大吹き出し数は8個であることが確認されていますが、最大で10個の領域を作成できるようにしています。
最初に1コマ内にある吹き出しの数に対応する領域数を選択することで、その数だけ入力フォームを作成します。OCR結果が入っている場合はデフォルト値としてその結果がフォーム内に割り当てられるようになっています。その後、balloon 1, balloon 2のように作成された各フォームについてそれぞれ修正/追加入力作業を行います。
サブフォームには吹き出し内の文字、吹き出しの形状、話者、聞き手の情報を入力します。
----- 以下はアノテーション規則について興味が無ければ読み飛ばしてください -----
吹き出し内の文字について、繋がった吹き出しは分割して各吹き出しとしてアノテーションを行います。これは、吹き出し形状の異なるものが連結されている場合があるためです。
また、吹き出しの縁に配置されている小さな文字も1つの台詞として扱い、全角スペース1つを使って結合します。以下の例では「すごい! これは…」となります。

吹き出しの形状について、(マイナーチェンジは無視すると)基本的に10種類に分類可能であることを確認しました。真面目に確認をしたのは1, 2巻範囲のみですが、最新刊範囲を含めたアノテーション作業をしているときに特に困らなかったのでこの10分類で基本的にカバーはできると考えています。
以下はその一覧です。

上段: 左からそれぞれround, peak, pop, rectangle, convex。
下段: 左からそれぞれpainted, flush, balloonless, distortion, handwriting。
引用元はVolume-Page-Frameの記法でそれぞれ以下の通り。
上段: 1-5-2, 1-6-4, 1-4-3, 1-4-1, 2-6-2
下段: 1-14-4, 1-12-4, 1-5-4, 1-8-3, 1-18-3
例の中で重複して登場している吹き出し形状がありますがご容赦ください。英語表記にしているのは後々アノテーションしたデータを解析するときに役立つからという理由とコード内で日本語を極力打ちたくないという宗教上の理由があります。
上で示した画像内にはありませんが、バリエーションとして1-6-2に登場する考え事の内容に対応するround、1-10-8に登場する曲線で繋がれたpeakなども吹き出し形状として存在しています。より細かな分類を行うことは可能ですが、吹き出しのアノテーションを行う理由の1つとして感情分析を行いたいというものがあり、その理由のためにはこの10分類で十分であると考えました。
吹き出し形状に関して、デフォルトの形状が決まっているものは非常に容易ですが、convex, distortion, handwritingの判断が鬼門となります。これはhandwritingが他の吹き出し形状と混同しやすいためです。
判断に困った際は発言に伴うキャラクターの感情から逆に形状の推測を行います。個人の考えになりますが、定義としてはconvex, distortionの2つについては「peakほどの激しさや大きな声量を伴わないがroundと比較して強調される表現」「震えた声、不安、自信の無さの表れ」としています。ただ、handwritingはこれといった感情分析が困難であり、キャラクターに吹き出しが被ることを避けるためにデフォルト形状を削っている/作業効率的に吹き出しを手書きした、等の理由を考えてはいますが現状では真偽不明です。
一例として、以下に示す6-19-7ではリゼとマヤの吹き出しがどちらもroundかhandwritingか判断に迷います。これに関しては、輪郭をよくよく見てみると線の太さに強弱がついていることが分かり、おそらくroundがベースになっているのだろうと推定できます。しかし同時にリゼの吹き出しはroundとするには形が不整形であるので、handwritingとします。このあたりになると完全に個人の感性の話になってくるのですが、趣味のアノテーション作業とはそういうものなので、自信が持てない場合は遠慮なく信頼度ボタンをnot sureに設定してじゃんじゃか進めます。この後にダブルチェックが控えていますし、なんならアノテーション完了後も不必要にデータを眺めてメガネクイクイするはずなので1周目は速度重視で進めます。

話者はキャラクターが一緒にうつっているコマや明らかなナレーションでは問題はありませんが(後者の場合は話者と聞き手の双方をナレーションとします)、1-66-4の2つ目の吹き出しではツッコミのテンポや前後の会話がテーブル内で行われていることから話者はリゼであろうと考えられますが、「2億円賭けてもいいけどこれはシャロが話者だよ」と言われると2億も賭けるなら実はテーブルの近くに来ていたシャロかもしれんなあ…という考えが浮かんできます。

上記例のようにアニメ化範囲であれば最悪確認しに行けば話者がリゼであるということがわかるのですが、アニメ化していない範囲については自分の解釈との戦いになります。この戦いに突入した時点で速やかに信頼度ボタンをnot sureに設定し、その上で前後の場面で登場するキャラクター、会話のテンポ、語彙の選び方などから総合的に判断してキャラクターを入力します。
聞き手は最も判断に迷うサブフォームです。定義としては該当発言の明確な受け手を指し、不在の場合は話者自身を受け手とします(独り言や考え事、聞き手に届けるためではない驚きから出た発言などが該当)。よりシンプルな判断基準として「聞き手として設定されたキャラクターがその場にいなかった時、そのキャラクターは同じ発言をするのか」というものがあります。また、話者-聞き手のアノテーションを行う理由としてキャラクター間の会話の頻度、独り言/考え事の頻度、コーパスの作成などがあり、この目的に沿うようにアノテーションを行います。それが難しいんですが。以下はアノテーションの一例です。参考画像を示してはいますが、かなり目が滑る文章になっています。
1-45-1では吹き出し1はココアの驚きから出た誰に向けたわけでもない台詞であるため、この聞き手はココア自身となります。吹き出し2では千夜がココアの発言を受けてその台詞に回答する台詞(つまり、ココアが驚きの台詞を発さなければ千夜はこの発言をしなかったであろうと考えられる台詞)であるため、聞き手はココアとなります。
1-8-1では吹き出し1はココアによるシャロの紹介ナレーションです。この場合話者が明確にココアと分かり、この台詞の配置意図は読者に対するシャロの紹介であるため、聞き手はナレーションとします(日本語的におかしいですが、アノテーションの目的には沿っています。物語は読者に無関係に成立するべきという強い思想を自分が持っているので、タグに読者は使いません)。吹き出し2はシャロによる発言ですが、聞き手が前後を見ても存在していません。しかしチラシを受け取るであろう通行人に向けて発した台詞であることがわかるため、この発言の聞き手は"不定"とします。発言が届くか不確実であるため不定としており、特定の名前のない通行人数人に向けて発している場合は"その他"となります。
一方で、1-47-1では千夜の発言はその場にいるココア, チノ, リゼの三人に対してであるため、この場合の聞き手は不定とせず、"ココア, チノ, リゼ"となります。ちなみにこの場合の連結方法は半角コンマ+半角スペースです。

5-86-6では会話のトピックとしてはメグですが、前後の会話から判断してもチノに話しかけているということが分かるため、ここでのマヤの発言の聞き手はチノとなります。
6-59-7ではチノの発言の対象は高校生組であり、前の会話からするとメグに返答しているようにも考えられますが、その場にいる高校生組は千夜一人であり、視線の方向が横に座るメグではなく立って授業を行う千夜に向いているため、聞き手は千夜だとわかります。
また、2-9-1のココアの手紙のように間接的な媒体を通しての台詞の場合は聞き手をココア自身としています。これは単に手紙だからという理由ではなく、このキャラクターが直接相手に届ける台詞であればこのような表現にならないであろう、という推測から判断しています。

ここまで判断に迷うポイントがいくつもありますが、迷ったときは即座に低信頼度のタグをつけ、前後の情報、キャラクターの視線や振る舞い、会話の自然さなどから総合的に判断します。
----- 上はアノテーション規則について興味が無ければ読み飛ばしてください -----
3.4 吹き出し外のアノテーション
吹き出し内のアノテーションと比較して難易度の易しさに心を洗われるフォームです。サブフォームには吹き出し外の文字、その文章に最も関連するキャラクター、オノマトペ/エモート/例示等のタイプの情報を入力します。
----- 以下はアノテーション規則について興味が無ければ読み飛ばしてください -----
吹き出し外の文字について、基本的にはそのまま入力を行います。3-4-4のようにいくつかに点在している場合でも関連キャラクターが同一の場合は一つに統合します。また、後述するアノテーションのタイプが3-25-4のように例示である場合には全角スペースで各まとまりを結合します。すなわち、下に示す画像では、順に「ちょこちょこ」「おーい」「チノ マヤ メグ」「私も!?」となります。チマメの表記では読む順序(視線誘導の順序)ではメグからスタートしますが、文意ではチノからスタートするため、そのように入力します。

手書き文字や判別困難であるために入力が難しい場合、可能な範囲で入力を行います。例えば6-4-3では音符が手書きで登場していますが、符尾が下向きの場合は入力ができないため、同じ長さの音符を上向きの符尾で入力します。この場合、右->左、上->下の順序で入力していき、最終的に「パンが… た~べないなら…」「♫ ♪ ♩ ♫ ♫」となります。
また、吹き出しで囲まれている場合であっても、後述するタイプ分類が明確にオノマトペやエモートに分類可能である場合には吹き出し内ではなく吹き出し外として扱います。3-34-7がその一例です。

文章に関連するキャラクターについて、上記例では左からココア、リゼとなります。オノマトペの場合、音を発生させた動作主と受け手がコマ内に同時に存在している場合がありますが、その場合も動作主を入力します。雷など自然界の発する音である場合や操作者不明の機械の発する音である場合などはその他としてアノテーションを行います。
文字のタイプの分類について、自明である場合が多いですが、上記左例では歌声はオノマトペでも感情表現やその説明(??、ハートマーク、カフェインテンションハイ)でもなく、ココアの台詞であるためタイプを"自身"としてアノテーションします。音符の場合はオノマトペが相当すると考えます。
----- 上はアノテーション規則について興味が無ければ読み飛ばしてください -----
3.5 背景のアノテーション
背景に存在する文字を入力するフォームです。サブフォームには背景中の文字、その文字が書かれている媒体についての情報を入力します。
----- 以下はアノテーション規則について興味が無ければ読み飛ばしてください -----
背景中の文字について、吹き出し外の文字と同様に可能な範囲で入力を行います。例えば1-46-6ではメニューの文字が見切れているので、判別可能部分をまとまりごとに全角スペースで結合して入力します。後から情報が出てきて補完可能になる場合を考慮して、後者の場合は意図的に信頼度ボタンをnot sureに設定しておきます。
書かれている媒体について、作中でより広範にカバーでき、一般的に使われる名詞を使用します。下の参考画像左側に示す1-46-4では抹茶ラテに文字が書かれていますが、他の喫茶店での登場ケースを考えて「ラテアート」とします。また、右側の例では「メニュー」とします。このあたりも個人の主観が大きいですが、気にせずじゃんじゃかアノテーションを進めていきます。

----- 上はアノテーション規則について興味が無ければ読み飛ばしてください -----
3.6 キャラクターのアノテーション
コマの中のキャラクターに関する情報を入力するフォームです。このフォームのみ最大フォーム数を15個まで設定できるようにしています。
サブフォームには右から(あるいは読む順番で)誰がいるか、そのキャラクターの顔の向き、仕草1, 仕草2についての情報を入力します。
----- 以下はアノテーション規則について興味が無ければ読み飛ばしてください -----
誰がいるかの情報について、そのキャラクターであると判別でき、なおかつ絵として背景よりもキャラクターの優先度が高い場合に「コマ内に存在している」と判定します。これはネームドであるか否かに関わらず行います。
以下に示す参考画像において、1-73-3では5人全員のアノテーションを右から順に行います。また、1-73-7もキャラクターのコマ内に占める面積は小さいですが、寝ている姿がメインであるため、やはり5人全員のアノテーションを行います。しかし8-11-1では絵の中のキャラクターの比重よりも背景の比重の方が大きく、表情が描かれないほどキャラクターのコマ内に占める面積も小さいため、このコマでは誰がいるかのアノテーションを行いません。

また、キャラクターの顔が被り物等で隠れている場合はその中にいるキャラクターの名前を入力します。これは後々服装の情報を追加する可能性があるためです。以下に示す参考画像の1-77-6ではココアとなります。
キャラクター間の会話の中でしばしばイメージ図としてキャラクターが登場する場合がありますが、これはその意味に応じて入力を変化させています。すなわち、1-77-6ではマヤとメグの会話の中で登場する単なるイメージ図に留まるので入力は行いません。一方で1-77-7ではチノの脳内ではありますがコマ内に占める面積が半分以上と圧倒的に大きいことや台詞もついていることからキャラクターとして入力を行います(つまりコマ内のキャラクター数は4となります)。

顔の向きについて、上下左右前後(S, I, L, R, A, P)の6方向とそれらを組み合わせた合成の12方向(LA, RA, LP, RP, ..., PS, PI)の中から最も近い方向をサイト内で作成してあるショートカット内から選択してアノテーションを行います。
注意点としては顔の向きと身体の向きと視線の方向の混同です。各キャラクターの身体を真正面から見た際の方向ではなく、コマを写真のフレームのように捉えてそのまま写っている方向を入力します。もう少しざっくり表現すると、頭部だけを抽出して回転させたときの3次元的な顔の向きを考えます。
例の画像が離れていて申し訳ないですが、2つ上で示した1-73-3では右側からそれぞれLP, LA, A, RA, RPとなります。また1-73-7ではAS, AS, LS, LS, LSとなります。顔が見切れている場合、身体の向きから推測できる場合はそれを入力し、それが難しければ空欄とします。
キャラクターの仕草について、主に手の位置とその表現に注目してアノテーションを行います。ただし、必要とする思考リソースが大きいため現在は1周目での入力を省略しています。
分類に悩むところですが、手/腕の位置に応じて大きく3つに分けることにしました。つまり、
- 髪を整える、口元に手を当てる、腕を組むなど、主に非言語コミュニケーションの意味を持つ、身体に接触する仕草
- 手を肩の高さに挙げる、手をテーブルの上に置く、肩に掛けたバッグを掴むなど、主にキャラクターの単純な動作を意味する、身体の周囲で表現される仕草
- 誰かに抱き着く/髪を触る/手を振る、物を指差すなど、主に他人や物が対象となる仕草
になります。ここ、そこ、あそこの分け方にやや近いかと思います。具体例は示しません。パターンが膨大なので…。ただ、主要な部位(髪、頭、顔、目、etc)や基本となる動作(当てる、挙げる、置く、乗せる、etc)のショートカットを作成してはいます。
----- 上はアノテーション規則について興味が無ければ読み飛ばしてください -----
4. 結果
アノテーションページの一例を以下に示します。

ページは左側の画像領域+フォーム数決定ボタンと右側の入力フォーム領域の大きく2つに分かれます。
左上のProgressは進捗度合いを示し、参照するフォルダ内にある各コマ画像を分母、アノテーション済みの画像ID数を分子として算出しています。Step 1は入力、Step 2は確認作業の進捗です。12巻までで概算して12巻 x 13話 x 60コマ = 9,360となり、増ページ等も含めるとアノテーション対象コマ数は5桁に及びます。そのため1画像の進捗が0.01%に相当します。
下に表示されているのは画像IDで、対応する画像のファイル名になります。これは前回の記事で述べたコマ切り出しの際にその名前で既に保存されています。
最下段は各フォームの数を動的に決定するラジオボタンです。
右側の上半分には設定したショートカットが並びます。アクティブなサぶフォームに対してクリックしたショートカットの文字が入力されます。
下半分は動的に生成される入力フォームです。デフォルト値としてOCR結果が入り、新たに入力フォームを増やした場合やOCR結果が存在しない場合はNaNが入っています。
5. 議論
5.1 外れ値の扱い
7-67-2,3や7-80-1,2のような2コマぶち抜きのコマのアノテーションについて、特に吹き出しをどちらに所属させるかの判断に迷うことがあります。2コマでアノテーションを重複させようかと思ったのですが、会話の頻度等の解析時にノイズが増えるのは困るためやはり1コマ単位で独立のアノテーションを行いたいところです。
ざっくりと確認したところ、2コマにわたって置かれる吹き出しは存在していない(吹き出し面積の70%以上は2コマどちらかに含まれる)ため、吹き出しもキャラクターも最初に登場した方のコマに所属させることにします。handwritingの説明でも触れたようにごちうさは吹き出しの位置に気を使っていそうなので、恐らくこの対応で問題ないかと思います。この限りでない例が出てきた場合は大人しくデータ系なりきり用の眼鏡をバキバキに割ることにします。
また、2-4, 2-8, 3-4, 8-118のように、扉絵ページとは別で4コマに隣接して台詞付きの大きな1コマが描かれている場合があり、これらを何コマ目として扱うかの問題があります。他の方の意見も伺ったのですが、やはり4コマの4の倍数の情報を残しておきたい、会話の前後の流れを無視したくはない、という結論になりました。そのため、アノテーションのデータ入力は1 or 5コマ目として扱い、領域としては1-4コマ目または5-8コマ目を使用する(つまり、2-4コマ目または6-8コマ目のデータは空白とする)ことにします。
5.2 より詳細なアノテーション
服装(マフラーなど小物含む)、髪型(ヘアピンやリボンを含む)、吹き出しに付随するデフォルメ化されたキャラの顔、キャラクターの反応に伴う表現(「っ」の形状で汗を表現=焦りを意味、など)、文字のフォント、エフェクト、背景が対応する聖地上の緯度経度の情報、と列挙すればどんどん出てきますがこれら全てをアノテーションするには人間の時間が足りないので、構造化画像に強い大規模言語モデルがさらに精度向上することを期待しています。
6. 結語
『ご注文はうさぎですか?』を対象として、自動化により得られたOCR結果からスタートして、詳細なアノテーション作業を効率よく行うためのサイト作成を行いました。個人の主観に依存する部分は残りますが、規則を明示してパターン化することである程度までであれば作品を読み込んだ方でなくともアノテーションはできます。結局根気は必要です。でもExcelやスプレッドシートに向き合い続けていた時代と比べて圧倒的に楽しいです。
付録A. 代表的なOSにおける実行環境の準備
ここはこの記事の本筋とは離れていて調べれば出てくる情報ではありますが書いておきます。なぜならアノテーション作業に協力していただける方を随時募集中だからです。人のPCを破壊する趣味は特に無いので書いている通りに操作していただければよいかと思います。macに関しては数年前に使っていた時のメモを元に書いているので情報が古いかもしれません。
A-1. Python3.12のダウンロードとインストール
Python公式サイト(https://www.python.org/downloads/release/python-312/)にアクセスし、Downloadsのページに移動後、Windows 11の場合はPython3.12.9のWindows installer (64-bit)を、macOSの場合はPython3.12.9のmacOS 64-bit universal2 installerをダウンロードします。3.13でもどちらでもよいと思います。
Windows 11の場合、ダウンロードした .exe ファイルを実行し、最初の画面で「Add Python 3.12 to PATH」にチェックを入れ、「Install Now」をクリックします。もしインストール済ではあるがPATHが通っていない場合は、設定を開く -> 環境変数と検索 -> 環境変数を編集をクリック -> ユーザー環境変数 の Path をクリックし、編集ボタンを押下 -> PATHを追加(例. C:/Users/xxx/AppData/Local/Programs/Python/Python312)で通します。インストール後、PowerShellを開き、python --versionと入力してPython 3.12が表示されればOKです。
macOSの場合、ダウンロードした .pkg ファイルをダブルクリックして起動し、インストーラーの指示に従ってインストールを完了させます。インストール後、ターミナルを開き、python3 --versionと入力してPython 3.12が表示されればOKです。
A-2. venvを用いた仮想環境の作成と有効化
まず、PowerShell(macOSの場合はターミナル)で mkdir -p ~/venv/python3.12 と入力しホームディレクトリ下に仮想環境用のフォルダを作成します。その後、cd ~/venv/python3.12/と入力して作成したフォルダに移動し、python -m venv myenv(macOSの場合はpython3 -m venv myenv)と入力し、仮想環境を作成します。myenvは適当な名前なのでgochiusa_annotationでもなんでもいいです。
これで仮想環境の作成ができたので、~\venv\python3.12\myenv\Scripts\Activate.ps1と入力して仮想環境を有効化します。macOSの場合はsource ~/venv/python3.12/myenv/bin/activateと入力して有効化します。
Windows11の場合、PowerShellでの実行時にエラーが出る場合にはSet-ExecutionPolicy RemoteSigned -Scope Processと入力して実行時ポリシーを変更します。どちらのOSでも仮想環境を無効化するにはdeactivateと入力します。
仮想環境の有効化をした上で各コマ画像を保存したフォルダ等を入れている作業フォルダに移動して、付録Bのコードを走らせます。ディレクトリ構成は付録Bに記載します。
A-3. パッケージのインストール
仮想環境を有効化した上でpip install -r requirements.txtと入力します。有効化していないとグローバルにインストールされてしまうので注意してください。まあ使用頻度の高いmoduleしか使っていないのでそんなに気にしなくてもいいんですけどバージョン違いとか後々発生するとあれなので…。
付録B. 使用コード
インターネット公開用のgithubアカウントを作ったのでそのリンクを貼っておきます。
GitHub - duf124/gochiusa_annotation
ざっくりした説明とかも一緒に書いています。不明点があればお気軽に筆者までお尋ねください。
4コマ漫画を対象としたテキスト抽出作業の自動化とデータベース作成
タイトル通り、データベース作成を行なったのでそのまとめです。公開が憚られる箇所はいい感じにぼかして書いているので興味のある方は筆者(Twitter: ddu__q)までお訊ねください。
また、記事作成時点で『ご注文はうさぎですか?』のコミックス未収録回のネタバレが一部あるのでご注意ください。
1. 概要
『ご注文はうさぎですか?』を対象として作中文章のデータベース作成を行いました。
手順としては画像が手元にあると仮定->Google DocumentのOCR機能を用いて自動テキスト抽出->Google SpreadSheetにデータを集約し整形+検索機能追加、となります。4コマのフォーマットで描かれた作品であれば同じ手順でデータベース作成が可能です。
2. 背景
『ご注文はうさぎですか?』に限らずあらゆる漫画で共通して言えることですが、話を追う中で「この台詞が参照しているのは8巻のあの回だな」「この場面は1巻のセルフオマージュになっているな」等を考えたい時があります。
このような時にデータベースを作成していると非常に有用で、すぐさま出典を明らかにすることができます。自分も一時期手入力でデータベース作成を行なっていましたが、はちゃめちゃにめんどくさいので途中からさぼっていました。そのため現在はデータベースに頼らず完全にパワーで解決しており、「ああ神沙映月さんがはじめて甘兎庵萌え萌えポニーテール姿をお披露目したのはコミックス11巻4話だったよね、うんうん」と内心参照元が間違っていたらどうしようと不安に襲われながら会話に参加する日々を送っています。
しかし連載期間が長くなるにつれてパワーで解決することは難しくなります。例えばまんがタイムきららMAX2024年5月号p12右列2コマ目において「シャロちゃんの"しょうがないわね"好きだよ」という台詞があり、自分はこれを見て2巻のお味噌汁を作ってくれるシーンで言っていた気がするな…と考えたのですが、しょうがないわねなどとは一言も発しておらず愕然とした気分になりました。

今にもしょうがないわねと言い出しそうな頼もしさがあるが、実際には言っていない。
あくまで上記は一例に過ぎないのですが、このような事態になってしまってはデータベース作成に戻る以外に道はなく、取り組みを再開するに至りました。
さて、文章の書き起こしをするにあたって手入力をするかOCRするかという選択肢があります。前者は非常にシンプルかつ手っ取り早い方法で、他の方の取り組みではプチトマトさんの以下のような記事があります。
ご注文は文字起こしですか?~4コマ漫画文字起こし(手入力)~|プチトマト
OCR処理について、代表的な方法としてはGoogle DocumentのOCR機能を利用する方法や、同じくGoogleのCloud Vision APIを使用して画像解析を行う方法があります。後者については記事としてまとめられている方もいるようです。
シャニマスのテキストをOCRで抜き出して風野灯織の性格推定 | аiгbus’s logbook
ただ、Cloud Vision APIは1000リクエスト/月を超えると無料ではなくなってしまうので、GCP利用開始時に残高をもらえるとはいえ積極的に取りたい選択肢とは言えません(4コマ漫画をコマ単位で画像解析するとして、1ページ8コマが1巻でおよそ120ページとすると無料枠のリクエスト数に優に届いてしまいます)。
tesseractなどのフリーのOCRソフトを利用する方法もあり、こちらは自分も一時期試していたのですが背景の文字認識精度がやや振るわず、吹き出しの種類によっては意味をなさない文字の羅列が出力されてしまう結果となったため、今回は使用しません。
ということで今回はフリーでOCR可能かつそこそこの精度が担保されているGoogle DocumentのOCR機能を利用することにします。何枚もちまちま開くのは手入力よりもつらいのでそこはGoogle Apps Scriptを使って自動化することにします。
3. 方法
3.1 前処理
いや〜画像データさえ手元にあればな〜〜!この記事に書いていることを実行してデータベース作成ができるのにな〜〜!画像データさえあればな〜〜!
ひとしきり体裁を整えたところで、今回は何故か不思議なことに画像データが手元にある前提で話を進めていきます。
Google DocumentのOCRを1ページ全体に掛けると縦に走査されて文章の順番が前後してしまいます。そのため、まずコマ単位でクロップする作業から始めます。具体的なコードは付録Aをご参照ください。
----- ここから下は読まなくていいです -----
元データを入れるディレクトリ構造は(dataset) -> (01, 02, 03, ..., CB01, CB02, ..., 2025)=巻 or max12号単位 -> (001.png, 002.png, ..., 124.png) or (201908_071.png, ..., 202201_174.png, ...)=ページ単位、のようにしています。
出力データは(dataset_new) -> (01, 02, 03, ..., CB01, CB02, ..., 202501)=巻単位 -> (06_004_01.png, ..., 06_098_03.png, ...)=巻_ページ_コマ、のようにしています。出力データのファイル名はデータベース作成時にそのまま巻, ページ, コマの情報として使えるようにしています。
やっていることはおおざっぱにファイル名取得->画像読み込み->関心領域(8コマ)リスト作成->グレースケール変換->クロップ、となります。関心領域リスト作成時、コマ枠のみを抽出するためにしきい値処理を行います。コマ枠を検出して座標を取得するので、キャラクターの顔などが飛び出して枠が欠けているケースでは8コマ全てを検出できません。そのため、8コマを検出できたページを基準とし、その座標を用いて他のページのクロップを行うこととしています。コマ検出部分を工夫すれば前述のケースでも上手く動くとは思いますが、今回はテキストを抽出できればそれで十分なのでこのような処理にしています。
----- ここから上は読まなくていいです -----
クロップされた各コマの画像が用意できれば次はOCRを行います。
3.2 GASを使用したOCR
GASを使う関係上、クロップされた各コマの画像はDrive上にあげておきます。GASの使い方やGoogle Drive APIへの接続はいい感じに調べていただければよいかと思いますが、自分は概ね以下のサイトを参考にしました。
GASを活用してGoogle DriveでのOCR処理を効率化(自動化) - みやもとメモ
具体的なコードは付録Bをご参照ください。空白の除去、三点リーダーの統一、感嘆符等の半角全角の統一などもテキスト抽出直後にここで行います。
----- ここから下は読まなくていいです -----
やっていることは画像を開いてOCRしてテキスト抽出、の処理をフォルダ内の全ファイルに対して行なっているだけです。注意事項として、Googleはカス大変配慮の行き届いた企業なので6分の壁というものを用意しているらしく、実行時間が6分を超えると停止させられてしまいます。この対策のためにトリガーを設定しループさせるように処理を行います。しかしこのトリガー呼び出しが合計90分を超えると今度は90分の壁というものが現れ、トリガーも呼び出せなくなってしまいます。では処理途中で中断されてしまった場合はどうするかというと、Googleは大変配慮の行き届いた企業なので変数の情報をスクリプトのプロパティとして保存してくれるようで、これを使うことにします。つまるところ、6分以下実行->途中経過をプロパティとして保存&CSV形式で保存->全ファイルに対して処理が完了すれば最終CSVを出力&プロパティを初期化、というステップを踏むことにします。
----- ここから上は読まなくていいです -----
無事にコードが走り、巻, ページ, コマ, テキストの情報が抽出されれば、スプレッドシートに貼り付けて後処理を行います。
3.3 後処理
抽出されたるであろうテキストの例を以下に示します。

ところどころゴミがついていますが、連続した日本語の認識精度はなかなか良いと言っていいでしょう。現在は吹き出し単位でのテキスト抽出処理ではないので複数の文章を結合してしまっており、この分離作業が必要となるのが欠点ではあります。(この文章を書いた直後に心の中のヒソカがカンペキに勝つ♧だろ?と話しかけてきたので吹き出し単位でのテキスト抽出処理も実装しました。詳細は付録Cに記載しますが、結論だけ言うと8割強の精度で抽出するにとどまっているため、今回は吹き出し単位ではなくコマ単位での結果をお示ししています。)
さて、後処理としてやりたいことは以下の通りです。
1. 台詞、吹き出し外台詞/効果音(オノマトペ, 内心の描写等)、背景中の文字に分類し、それぞれスプレッドシートの1セルに1台詞を入力
2. 各分類について、台詞は話者-受け手、吹き出し外台詞はその発生源-種類、背景中の文字はその掲載媒体を追加で入力
3. 検索機能を追加
ここまでできれば今回のデータベース作成は一通り完了です。
4. 結果
1.について、入力規則は上で引用したプチトマトさんのものとほぼ同じです。ただし、2.で話者の情報を追加しているため台詞分岐は各人の台詞として扱いました。
2.について、例を挙げると以下のようになります。

画像内では通常台詞に対応する情報のみ映っていますが、例えば1-6-3では「ドキッ」に追加する情報としてリゼ-オノマトペ、のようになります。オノマトペ以外の分類として、「中毒扱いされた…」のような独り言に対しては話者自身を後者に割り当て(例: ココア-ココア)、「??」や「カフェインテンションハイ」などに対してはオノマトペ等とは異なる表現であるためシャロ-エモート、のように情報を入力しています。この辺りは後から入力規則が大幅に変わりそうで今からヒヤヒヤしています。背景中の文字については、単に看板やチラシ、ノートのように入力します。主観100%です。
3.について、結果を示すと以下の画像のような表示を作成しました。

Search wordの欄に複数入力することでOR検索できるようにしており、これを使って表記揺れを検索できるようにしています。表記揺れそのものを判定することは流石に難しく、別シートに参照用のデータを集め、発見次第追加する方針です。ここはもう少しスマートにできそうだなとは思います。
Search speaker, listener, volumeは名前の通りです。下の画像はその一例です。pageやframe単位での検索は検索できるようにしても心を喪った悲しき4コマ漫画マシーンしか喜びそうにないので実装していません。

QUERY文は長いのでご興味のある方は付録Dをご参照ください。
5. 議論
1枚あたり5秒程度かかるので、文章の結合を許容するのであればコマを分割後左側に再結合すると良いのではないか、と考えました。Triggerを使って空いた時間にテキスト抽出を進める分には問題にはなりませんが…。
5-2. 後処理の入力規則
基本的には前後の繋がりを見れば話者-受け手の関係は明示的ですが、1-8-1シャロの「よろしくお願いしまーす」のような不特定多数に発しているもの、または1-108-7ココアの「コーヒー牛乳でかんぱーい!」のような複数人が対象となり得る呼びかけなどについては判断が難しいと感じます。思えば現実でも毎回特定個人に対して発話をするというわけでもありませんでした。さらに言えば、9-62-6ユラの「…嫉妬しちゃうなー…」も独り言としてではなくその奥に見据えているであろうココアたちを全員記載する必要があるのではないか、と考えることもできます。
最後の一例は置いておくとして、現在は暫定的に前者は「場」あるいは該当者なしの意味で「-」、後者は可能性のある全員をまとめて記述しようと考えています。何か案をお持ちの方はご共有いただけますと幸いです。
6. 結語
4コマ漫画を対象としたテキスト抽出作業をGASを利用して自動化し、作成したcsvからデータベース作成までのフローをまとめました。精度・処理の煩雑さの面からまだ改善点は数多くありますが、ベースラインとしてひとまず形にはなったかと思います。このデータを活用していろいろと分析を進める予定です。
付録A 画像前処理
使用コードを貼るためにGithubを使いたくなかったのでCarbon(https://carbon.now.sh/)を使っていますがなぜかコードが途中で切れちゃうので分割しています。リーダブルコードとか読んだこと無い人間が書いてるので汚いとは思いますがご容赦ください。ごめんね。
付録B GASを使用したOCR
付録C 吹き出し単位でのOCR
コードが熟練のパラメータ調整による継ぎ足し製法によって作られているので恥ずかしいため公開しません。処理の内容や試したことを文章で記載します。基本的に何やってるかわからないと思うので読まなくて大丈夫です。記載しているのも自分の作業メモの目的が大きいです。
吹き出し検出の方法はいろいろあるようですが、ここではある程度のサイズを持ち形状が良い輪郭を吹き出しとして検出する方針としています。
C-1. 前処理
カラー画像をグレースケール変換した画像を元画像として扱います。この元画像に対して、1. しきい値処理(threshold=160), 2. エッジ検出, 3. モルフォロジー変換(OPENING->erode->dilate) を施します。
1.は1ページに含まれる8コマを抽出した際とは別の閾値を使用しています。吹き出しによっては低い閾値では輪郭が途中で欠けてしまうケースがあり、これを回避する目的です。
2.は行わなくともある程度輪郭抽出できるのですが、吹き出し内側が着色されたケースでは後の変換により塗りつぶされてしまいます。すなわち、着色された吹き出しを無効化する役割があります。
3. はしきい値処理後に弱くなった吹き出しの境界線を再び強めるために使用しています。OPENING処理の後はカーネルサイズを変化させて目視で確認し、形状が潰れないように注意しつつ変換を掛けていきます。
C-2. 吹き出し候補の輪郭抽出
特に変わったことはせず、cv2を使って輪郭抽出を行います。このとき、読み進める順番を考慮して抽出された輪郭の重心位置の情報を使って右から左、上から下へと並ぶようにソートします。
C-3. 吹き出し優先度変更
ここまでである程度は抽出できるのですが、吹き出し全体を綺麗に抽出すると同時に文字領域だけを抽出した輪郭も得られるケースがあります。
ここで、吹き出し単位でのOCRではその処理の都合上、A. 抽出した輪郭の領域のみ元画像から抜き出す->B. 抜き出し済の領域を黒く塗りつぶす(二重のOCRを回避する目的)->C. 残った領域から次の輪郭領域を抜き出す、という操作を行なっています。
そのため、吹き出し全体を抽出するよりも先に文字領域だけを抽出してしまった場合、その文字領域が文章全体を抽出できているのであれば問題ないのですが、一部のみデタラメに抽出してしまった場合には残る領域内の文章もデタラメになってしまいます。
これを回避するために、先程のソート操作により重心位置が近い輪郭は連番になっているため、前後の輪郭で重複する領域が大きい場合には一部のみを抽出してしまっている可能性があると判断し、その場合より吹き出しとしての形状に近い一方を先に元画像から抜き出すように優先度を変更します。
ここで、吹き出しとしての形状を判断する指標として、素の輪郭で囲まれる領域の面積 / 領域を囲む最小の外接多角形(=凸包)の領域の面積、を使用します。このアイデアの背後には吹き出しが綺麗に抽出できているのであればそれに外接する多角形もほぼ同じサイズになるはずだよね、という仮定があります。適応できる吹き出し形状が卵型または雲形に限定されるという欠点はありますが、もし文字領域が一部のみ抽出されている場合はこの比率が低くなることが実験的に分かっているため、確実に吹き出しであると考えられる領域を優先する目的においては利用価値があります。
これを考えついた時は自分のあまりの問題解決能力の高さに感動したものですが、後からよくよく調べてみると既に存在している指標でSolidityという名前があるそうです。俺が最初に考えたことにならないかな。
さらにいろいろと試した結果、Solidity(面積比)だけでは上手くいかないケースがあることが分かったので、面積を輪郭の周囲長に変えた指標(便宜的にSolidity1Dと呼称します)も使用することにしました。これは特に見当たらなかったので自分が最初に考えたことにしていいか?と思っています。最終的に、Solidity1D<1.10 and Solidity2D>0.95であればまず間違いなく卵型または雲形の吹き出しであることが実験的に分かったので、この値を用いて優先度変更を行います。
また、Solidityを計算する過程で各輪郭の面積を取得しているため、吹き出しの大きさがあまりに小さすぎる/大きすぎるものはここで同時に除外することにしました。元画像の大きさが例えば350*475であり、そのうちコマ枠外の領域のマージンとして20 pixelを取っているとすると、実際の枠内の領域の面積は310*435となります。実験を繰り返した結果、解像度が異なる場合でも、ほとんどの吹き出しのサイズは枠内面積の5%以上50%以下に収まることがわかりました。そのため輪郭内部の面積がこの範囲にあるもののみを通し、その上でSolidityによる優先度変更を行いました。
C-4. 吹き出しの輪郭修正
吹き出しの優先度を変更した後、上と同様にSolidityを計算し、今度は少し条件を緩くしてSolidity1D<1.15 or Solidity2D>0.90であればそのまま通すようにします。もしこの範囲にない場合、明らかに吹き出しではないため単純に弾かれている場合もありますが、棘型の吹き出しであるためにSolidityの指標では拾い上げきれない場合や、輪郭自体は丸くともモルフォロジー変換の結果文字領域が外に拡張されすぎて輪郭の外側と繋がってしまい結果として凹んだような吹き出しとなったために値が低くなっている場合などもあります。
もしSolidityの指標ではうまく拾い上げられない棘型のような難しい吹き出しや連結した吹き出しであれば、Solidityの条件をもう少し緩和すれば通ってくれる可能性があります。しかし、ただ緩和するだけでは当然吹き出しの可能性が低い輪郭も通してしまいかねないので、ある程度の担保はほしいところです。そこで、Solidity1D<1.15 and Solidity2D>0.85の条件に加えて、吹き出しはコマ内の左右25%以内に配置される可能性が高いという仮定を立て、その左右領域と輪郭の交差する領域が80%以上あるならば輪郭を新たにその凸包に置き換えた上で通すことにします。ここはもう少し条件付けをしてもいいかなと思いましたが、これで通らなかった場合にも処理を用意しているのでひとまず最低限吹き出しらしい吹き出しを通す目的で大雑把に値を決めています。
上述の例で通らなかった場合、文字領域の拡張によって凹んだ吹き出しである可能性が高いです。この場合、輪郭の凸包を用意したところで凹んだ部分が解消しないことが多いので、まず内側の文字領域を綺麗に埋めてあげる処理が必要になります。そのため、dilate->erodeによって文字領域を圧縮していき、その上で輪郭内を塗りつぶしてやれば、問題となっていた凹みは多くのケースで改善します。この処理を行なった後の輪郭についてもう一度Solidityを計算し、Solidity1D<1.15 and Solidity2D>0.85 and 枠内面積<50%の場合には通すことにします。
C-5. 検討済み事項
試したけどそんなに上手くいかなかったなのコーナーです。
最初のしきい値処理を決め打ちの2値化ではなく大津の2値化を使った場合、吹き出しは比較的綺麗に残りますが背景の拾いたくない領域が増えてしまうのであまり上手く行きませんでした。
吹き出し内部はエッジ成分が少ない=>かなり強めにガウシアンフィルタを書けて画像をぼやけさせても値が変わらない領域が吹き出し内部である可能性が高い、という仮説を立てて試しました。吹き出し内部の特徴を上手く拾ってくることには成功しましたが、結局そういった特徴が残り続ける領域はモルフォロジー変換を掛けた後でもそこそこ残ってくれる領域なので有益な特徴量にはならなさそうでした。
tesseractを使ったOCRによって文字領域をあらかじめ取得し、該当領域を吹き出し内部と同じ色で塗りつぶしてしまえば吹き出し領域の輪郭抽出が容易になるのではないか、という仮説を立てて試しました。そもそもOCRする前処理の段階でOCRするってどういうことやねんというのは横に置いておくとして、結果自体はやや改善が見られました。ただ、前述の文字領域を綺麗に埋めてあげる処理で最終的な結果が概ね同じになったこと、OCR処理が重いこと、tesseractの認識精度が処理の重さに見合っていないことなどから採用はしませんでした。
付録D QUERY文
=QUERY({
QUERY(text_comic!A2:AO, "SELECT D, Q, R, A, B, C WHERE " & TEXTJOIN(" OR ", TRUE, ARRAYFORMULA(IF(search!A3:A7<>"", "D CONTAINS '" & search!A3:A7 & "'", IF(search!A12<>"", "Q CONTAINS '" & search!A12 & "'", IF(search!A17<>"", "R CONTAINS '" & search!A17 & "'", ""))))));
QUERY(text_comic!A2:AO, "SELECT E, S, T, A, B, C WHERE " & TEXTJOIN(" OR ", TRUE, ARRAYFORMULA(IF(search!A3:A7<>"", "E CONTAINS '" & search!A3:A7 & "'", IF(search!A12<>"", "S CONTAINS '" & search!A12 & "'", IF(search!A17<>"", "T CONTAINS '" & search!A17 & "'", ""))))), 1);
QUERY(text_comic!A2:AO, "SELECT F, U, V, A, B, C WHERE " & TEXTJOIN(" OR ", TRUE, ARRAYFORMULA(IF(search!A3:A7<>"", "F CONTAINS '" & search!A3:A7 & "'", IF(search!A12<>"", "U CONTAINS '" & search!A12 & "'", IF(search!A17<>"", "V CONTAINS '" & search!A17 & "'", ""))))), 1);
QUERY(text_comic!A2:AO, "SELECT G, W, X, A, B, C WHERE " & TEXTJOIN(" OR ", TRUE, ARRAYFORMULA(IF(search!A3:A7<>"", "G CONTAINS '" & search!A3:A7 & "'", IF(search!A12<>"", "W CONTAINS '" & search!A12 & "'", IF(search!A17<>"", "X CONTAINS '" & search!A17 & "'", ""))))), 1);
QUERY(text_comic!A2:AO, "SELECT H, Y, Z, A, B, C WHERE " & TEXTJOIN(" OR ", TRUE, ARRAYFORMULA(IF(search!A3:A7<>"", "H CONTAINS '" & search!A3:A7 & "'", IF(search!A12<>"", "Y CONTAINS '" & search!A12 & "'", IF(search!A17<>"", "Z CONTAINS '" & search!A17 & "'", ""))))), 1);
QUERY(text_comic!A2:AO, "SELECT I, AA, AB, A, B, C WHERE " & TEXTJOIN(" OR ", TRUE, ARRAYFORMULA(IF(search!A3:A7<>"", "I CONTAINS '" & search!A3:A7 & "'", IF(search!A12<>"", "AA CONTAINS '" & search!A12 & "'", IF(search!A17<>"", "AB CONTAINS '" & search!A17 & "'", ""))))), 1);
QUERY(text_comic!A2:AO, "SELECT J, AC, AD, A, B, C WHERE " & TEXTJOIN(" OR ", TRUE, ARRAYFORMULA(IF(search!A3:A7<>"", "J CONTAINS '" & search!A3:A7 & "'", IF(search!A12<>"", "AC CONTAINS '" & search!A12 & "'", IF(search!A17<>"", "AD CONTAINS '" & search!A17 & "'", ""))))), 1);
QUERY(text_comic!A2:AO, "SELECT K, AE, AF, A, B, C WHERE " & TEXTJOIN(" OR ", TRUE, ARRAYFORMULA(IF(search!A3:A7<>"", "K CONTAINS '" & search!A3:A7 & "'", IF(search!A12<>"", "AE CONTAINS '" & search!A12 & "'", IF(search!A17<>"", "AF CONTAINS '" & search!A17 & "'", ""))))), 1);
QUERY(text_comic!A2:AO, "SELECT L, AG, AH, A, B, C WHERE " & TEXTJOIN(" OR ", TRUE, ARRAYFORMULA(IF(search!A3:A7<>"", "L CONTAINS '" & search!A3:A7 & "'", IF(search!A12<>"", "AG CONTAINS '" & search!A12 & "'", IF(search!A17<>"", "AH CONTAINS '" & search!A17 & "'", ""))))), 1);
QUERY(text_comic!A2:AO, "SELECT M, AI, AJ, A, B, C WHERE " & TEXTJOIN(" OR ", TRUE, ARRAYFORMULA(IF(search!A3:A7<>"", "M CONTAINS '" & search!A3:A7 & "'", IF(search!A12<>"", "AI CONTAINS '" & search!A12 & "'", IF(search!A17<>"", "AJ CONTAINS '" & search!A17 & "'", ""))))), 1);
QUERY(text_comic!A2:AO, "SELECT N, AK, AL, A, B, C WHERE " & TEXTJOIN(" OR ", TRUE, ARRAYFORMULA(IF(search!A3:A7<>"", "N CONTAINS '" & search!A3:A7 & "'", IF(search!A12<>"", "AK CONTAINS '" & search!A12 & "'", IF(search!A17<>"", "AL CONTAINS '" & search!A17 & "'", ""))))), 1);
QUERY(text_comic!A2:AO, "SELECT O, AM, AN, A, B, C WHERE " & TEXTJOIN(" OR ", TRUE, ARRAYFORMULA(IF(search!A3:A7<>"", "O CONTAINS '" & search!A3:A7 & "'", IF(search!A12<>"", "AM CONTAINS '" & search!A12 & "'", IF(search!A17<>"", "AN CONTAINS '" & search!A17 & "'", ""))))), 1)
},
"SELECT Col1, Col2, Col3, Col4, Col5, Col6 WHERE Col1 IS NOT NULL
AND (" & IF(COUNTA(search!A3:A7) > 0, TEXTJOIN(" OR ", TRUE, ARRAYFORMULA(IF(search!A3:A7<>"", "Col1 CONTAINS '" & search!A3:A7 & "'", ""))),
IF(search!A12<>"", "Col2 CONTAINS '" & search!A12 & "'", IF(search!A17<>"", "Col3 CONTAINS '" & search!A17 & "'", ""))) & ")
AND Col2 CONTAINS '" & search!A12 & "'
AND Col3 CONTAINS '" & search!A17 & "'
AND Col4 CONTAINS '" & search!A22 & "'
ORDER BY Col4, Col5, Col6 ASC")
ご注文はうさぎですか?展 Café Lumière 鑑賞レポート
ご注文はうさぎですか?展 Café Lumièreに行ってきました。
今回は10周年記念と銘打ったうえで原作側がメインとなって展示を行うということで、自分も告知のあった1月から非常に楽しみにしていました。え、1月……!?!!?
原作連載10周年を記念して、「ご注文はうさぎですか?」展を今年の秋に開催決定!
— まんがタイムきらら編集部 (@mangatimekirara) 2021年1月18日
10年間の軌跡を堪能してもらえる場が…!どうぞお楽しみに。 #gochiusa pic.twitter.com/pFCQ84I1T6
時、早すぎ。
自分は普段からこういった展示会に行くわけではないのでイラストの他にキャラクターのお部屋再現なんかがあると嬉しいなあ、とぼんやり考えていた程度なのですが、まさかラビットハウスの再現やラフの公開までもあるとは思っていませんでした。本当に、万感の思いです。
さて、そんなごちうさ展を非常に充実した気持ちで鑑賞できたのでその感想なんかを書いていきたいと思います。
1. エントランス
開幕から凄かったです。ご注文はうさぎですか?9巻メロンブックス特典のデッッッッッカイ絵が飾られていたわけですが、受付に並んだ瞬間からそれが見えてしまうので気が気ではありませんでした。このイラストは10人がラビットハウス制服を着てカフェへと招待しているような構図となっていますが、それをごちうさ展に入場したときに最初に目に入るイラストとして配置しようというアイデアが大好きです。
入場して左手側を見てみると謎の見覚えのない描き下ろしイラストもデカデカと飾ってありました。ここの宇治松千夜さんが本当に好きです。小指を遊ばせながら耳に髪を上げる動作もメニュー表を体で支えるようにして抱えるポーズも前かがみになると同時に揺れる厚手のスカートもすべてが好き。一目惚れってこういうことなんだあ……と染み入ってしまいました。𝓢𝓾𝓹𝓮𝓻 𝓑𝓲𝓰 𝓛𝓸𝓿𝓮......
更新後のプロフィール、ずっと見たかったやつなので嬉しすぎたんですが奈津恵さんの身長が予想以上に高校生してて立ち眩みするかと思いました。ココアさんのパジャマがぴったりになるのも頷けます。あとMEGUMIという表記をすごく久しぶりに見た気がしました。メグ呼びがかなり慣れているのでそういえば奈津恵さんってメグじゃなくて恵なんだよな……と時々思い出します。神沙夏明さんも例えば神沙映月さんからナツ / なっちゃん、のように呼ばれていた世界線があったかもしれないなと夢想してしまいますね。前者だったら条河麻耶さんがそのうち呼んでくれるかもしれない。他にもこの子の誕生日ってこの子の並び替えになっているのか!という発見だったりこの子の身長ってこの子と同じなの!?という驚きだったり、客観的には数字を見ているだけなのにそれがすごく楽しかったです。彼女たちの積み重ねてきた日々があるからこその感動でした。
なんだかんだで一番びっくりしたのは神沙映月さんのプロフィールに15歳と書かれていたことかもしれません。神沙映月さんが15歳だという情報を得てしまった自分の脳に対して恐怖すら抱いていました。いやまあ高校1年生なので当然そうなんですけど、こう、急に湧いてきた実在感の"""""圧"""""がハチャメチャに大きすぎるので……。神沙夏明さんと同じ身長なのもなんか嬉しい。条河麻耶さんが5cmも身長差があるのを見るとちっちゃくてかわいいね……の気持ちがあふれてしまう。あとここの額縁がオシャレな上に絵のサイズが大きかったので神沙姉妹を飾ってある額を見て金持ちの家に飾ってありそうだな……って思いました。実際神沙パパは娘2人をイメージしたフレーバーを自社の新商品として出してるくらいには娘にめちゃ甘い(という事実に基づく推定がある)のでおうちに娘の写真を額に入れて飾ってたりするとかなりニコニコしちゃいますね。
ローマ字表記がちょっと怪しいことになっていましたが、流石にチェックしているはずだろう……という点を踏まえるとそこだけココアさんが担当したとも考えられてまた面白いですね。「今日のためにたくさん準備したから、ぜひ楽しんでいってね!」というエントランスのボイスが胸に響くようです。いやどうだろう。でも青山さんのローマ字表記はかなりそれっぽいと思います。
とにもかくにも、10mもなかったくらいだと記憶していますがこの場所だけで十分すぎるほどに楽しめました。これでまだエントランスという事実に慄きながら歩を進めていきます。
2. ラビットハウス
ラビットハウス、ウェルカムボードにかわいくデフォルメされた5人が描かれていたのがすごく好きです。ラビットハウスの看板もしっかり付いていたのが嬉しいですね。ここからラビットハウスに入れるのか……!という期待が高まっていくのが自分でもわかりました。
最初に目に飛び込んできたのはココアとチノの等身大フィギュアでした。これ凄すぎる。部屋全体が若干暗くしてある印象を受けたんですがその中でスポットライトに当たっていたので本当に映える。闇に舞い降りた天使なんですよね。修道院のマリア像みたいなもんですよ。Twitterでも徳井青空さんがめちゃ良接写画像を上げられていましたがこの衝撃は行って自分の目で見ないと分からない類だと思いました。
そんで等身大フィギュアって等身大なんですよね。最初見たときはこのサイズで立体化されてるのデッカ!!!って驚いていたんですけど近付いてみると香風智乃さんちっっっっっちゃ!!!!!って驚きました。ものすごい体験。フィギュアそのものもクオリティが高いんですよね。パンフレットに詳細なインタビューが載っているんですが個人的には髪のさらふわ感が綺麗に立体化されていることにめちゃくちゃ感動しました。それと服のシワとスカートの折り目とたなびいている腰のリボンも好き。風が吹いたまま静止しているから頭がおかしくなるかと思った。
あと小物もこだわっていたのが凄くよかったです。ラビットハウスの展示というよりも現実に存在する喫茶店のようにすら感じる雰囲気が作り上げられていたのが好き。バスケットに入ったティッピーパンとかめちゃめちゃ完成度が高い。食器と一緒にケーキスタンドが置かれていたのを見てつい4巻2話を連想してしまいました。カウンターに置かれていたメニューにただのシンプルなフォントでナポリタンと書かれていたんですが、なぜかこの文字を見ただけで天々座理世さんが調理している様子が脳裏に浮かんできて本当に感慨深くなりました。これでメニュー表にキャラクターのイラストとかが入っていたらそれはそれでかわいいんですが、多分こういう感情にはならなかったと思うんですよね。真摯にラビットハウスを再現しようとしてくれたからこその体験でした。
せっかくなので撮影した写真をいくつか載せておきたいと思います。

完成しすぎ。改めて見てみるとやはりブーツが本当にオシャレですね。

5人のかわいいつむじをバシャバシャ撮っていたときの一枚。香風智乃さんはティッピーでガードしていたので見せてもらえませんでしたが……。上から見ても髪がたなびいているのが分かるので良い。

これは他の人から聞いて初めて知ったんですが、テーブルの下から覗き込むようなアングルで写真を撮ると桐間紗路さんだけ絶対領域が見えるそうです。青山さんの視界を味わえるのは良いですね。フィギュアとテーブルの配置をそこまで考えてやっているとしたら本当にすごい。なんなんだその執念は。
3. ココアの部屋
すごいピンクピンクしてます。かわいい。ちゃんと屋根の形まで再現されていたのが好きです。ドーナツとマカロンのクッションって置いてあったかな?と思いましたが、パンフレットには無いもののTVアニメ1期公式ガイドブックに小物として紹介されていました。確かにココアさんこういうクッション好きそうですね。マジックセットやWe are FamilYのマグカップも置いてあるのが嬉しいです。
そしてココアさんはこの部屋に住んでるのか~~なんて思いながら左方向へと目を動かしていくとあるんですよね。ココアさんの制服が…………。これがごちうさ展の中で一番質感が飛びぬけてて過呼吸になるかと思いました。いや制服はココアさんがいつも着ているものなんですが本当にそのサイズが絶妙なんですよ。制服を見た瞬間に今まで断りなくココアさんのお部屋を舐め回すように観察していたことが申し訳なくなりました。「ココアさんの再現部屋」から「ココアさんが今は居ないだけでいつも住んでいる部屋」に認識が変わりましたね。横に姿見が置かれているのもあってココアさんがポーズをとっている姿が目に浮かぶようでした。
4. チノの部屋
ココアさんの部屋から一転してこちらは落ち着いた雰囲気です。チェス盤やボトルシップはもちろんですが、一緒にあのマグカップが普段から使っていることを感じさせる様子で置かれてあって彼女の生活が想像できます。クールに見えるけれど部屋の小物から彼女の好きなものが分かるの、すごく良いですね。「チノの部屋ってチノって感じだなー」という台詞を思い出しました。
見覚えのないポンデリングのクッションも置かれていてびっくりしましたがこれはアニメ等で出てきていたんでしょうか?記憶に自信がないのでわかりませんが……。ココアさんの部屋にあったドーナツのクッションのことを考えると、ココアさんがゲーセンなんかで沢山取ってきたクッションをチノさんにおすそ分けして初めは急に渡されて困っていたもののなんだかんだで愛用するようになった、みたいなバックグラウンドが想像できて楽しいですね。
5. イラスト展示コーナー
イベントキービジュアルと表紙、BDイラスト、アニメ用作画資料、エイプリルフールイラスト、歴代扉絵と盛り沢山の内容でした。BDイラストでは完成絵の下にラフが飾られていたんですが、全然ラフじゃないのがおもしろかったです。傍にいた他のお客さんも「1番古いデータがこれしかなかったんだろう」みたいなことをもう一人の方と話されていて、やっぱりそういう認識で良いんだよね……と少し安心しました。
アニメ用作画資料も印象深かったです。Koi先生がキャラクターらしい動きを伝えるために制作したという話でしたが、一つ一つの動きから彼女たちの考えていることが分かるようにラフの段階で練られていた、ということを知れたのが嬉しかったです。1羽のティッピーが「顎が伸びて目も下に引っ張られてます -> より引っ張られます -> 涙目」と書かれていたのがだいぶ好きでした。あと展示の中で一番ラフっぽい絵を見られたこともあって「ごちうさって本当に線の状態から描かれているんだ……」みたいな感動がありました。Dear My Sisterのネームも展示されていましたが、あれだけの量をKoi先生が用意されていたという事実にひたすらびっくりしていました。多くの人が言われていることですが、コミックスが中心にある!というわけではなくて、ごちうさという一つの世界を表現するために、静止画だからこそ、アニメだからこそ出来ることを追及しているのだと改めて実感します。ああ、嬉しい。
エイプリルフールイラストは初期案が展示されていたのがかなり嬉しかったですね。自分はメモを取りながら見て回っていたんですが、それを見返すと魔法少女チノの初期案を見たときには腋出しすぎだよ~~~!!!!と困惑していたっぽいです。この初期案を前提にして考えると怪盗ラパンでは結局腋出したい欲を抑えきれずにマントで隠れるからいいやろ!とこのデザインにした背景もあったのかもしれません。
クロラビ初期案もめちゃめちゃめちゃめちゃめちゃかわいいですね。好きすぎ。お団子ショートカットの宇治松千夜さんを見たときは流石に一目惚れってこういうことなんだあ……と染み入ってしまいましたね。宇治松千夜さん、生徒会に入ってそう。というか周囲の人たちから尊敬を集める立場にいそうだなと思います。常に余裕がある。立ち姿が洗練されている。たまに和服とか着てほしい。それにココアさんの初期案もすごくかわいいですね。""後輩感のある先輩さ""がカンストしています。カラオケが好きそう。カラオケ店のバイトの女の子から一方的に顔を覚えられてそう。なおかつ並行世界でもココ千夜は大親友なので初期案であってもこの二人は大親友なんですよね。気が狂いそうです。あと5人とも制服のデザインがかなり違うのでまったく別の学校なのかもしれませんね。都会が舞台だからこそのパワープレイって感じがします。クロラビ、めちゃめちゃ好きだ……。
歴代扉絵のコーナー、とにかく圧が凄かったです。最終日最終回にも1度行ったんですが、人の数が少なくなって視界全てが扉絵イラストで埋まる体験はかなり衝撃的でした。家にこの画廊が欲しい。
6. Koi先生の作画映像初公開
凄すぎ。自分はイラストに全く詳しくないのでこの凄さを9割以上理解できていないと思いますが、それでも凄すぎました。木漏れ日を意識したイラストということでその点についても映像内で説明されていましたが、自分はイラストに全く詳しくないのでキャラクターに白色を落としたところで(えっせっかくめちゃめちゃ綺麗にキャラクターが描いてあるのにこの上に塗っちゃうの?)とハラハラしてしまって、それが数秒後には木漏れ日に当たるキャラクターとして完全に成立していたので本当に凄かったです。あと「複雑なことはしません。」という説明がされていてへえ~これって複雑なことではないのか~~と思っていたら「物を観察し、脳内でレイヤー分解し、イラストの際に出力、再構成する」と言われていたのでちょっとよく分からなくなりました。どういうこと?とにかく凄かったです。
7. 特別映像の上映
最後の展示です。本当に良すぎました。エントランスでのキャラクター紹介、ラビットハウス等の立体展示、これまで描かれてきた数々のイラストを見てきてごちうさも10周年かあ……ここまで来れたんだなあ……と人生円満終了みたいなテンションでいたんですが、旅行編をメインとする映像が「これからのごちうさは積み重ねてきたものでもっと面白くなるぞ!」というメッセージの込められた構成になっていて本当に泣きそうになりました。8巻最終話の1コマからロイヤルキャッツに神沙姉妹が訪れる1コマに繋げるパート、本当に好きです。音楽もセカイがカフェになっちゃった!が流れていて、10周年程度で終わらせる気なんてさらさら無いことが伝わってきました。最高すぎます。そして自分はまだWe are FamilYマグカップを買えていません。事後通販さん、助けてください。
と、やや長くなりましたがこんな感じです。ごちうさ展の会場を出て階段を降りるときの世界と調和がとれたような感覚が心の底から気持ちよかった。大阪開催も行きたいと思います。
希望、信じる心、天真爛漫、不公平【ポケモン剣盾感想】
オレともう一度勝負してくれないか!
すべてがはじまったこの場所……
……まどろみの森で!
ポケモン剣盾、最高!!!!!!!!!!(夏映画)
皆さんはポケモンをプレイするとき、最も楽しみにしていることは何ですか?
対戦はもちろん、新ポケモンや各BGM…といった要素もありますが、自分はその中でもシナリオを一番楽しんでいます。ま、小学生の頃からそうなんですけど……。
今回のエンディング後シナリオをプレイし終えたのですが、「英雄の物語を示しながらそれに付随して紡がれるホップくんの再起と選択の物語」の構造があまりにも”””””良”””””すぎたのでこの感想を風化させないように記事を書くことにしました。九分九厘自分用です。
序:未来しかないな!
この物語の役者たちを2種類に分けるとすれば、やはり「大人」と「子供」であるかと思います。ダンデやジムリーダーたち、ソニアといった「大人」は、ジムチャレンジャーである「子供」たちを見守り、支え、導こうとする。そうして育った子供たちは成長し、また次の世代へとバトンを渡していく。この両者が存在して初めて歴史は循環し紡がれていく……そのように感じられました。
一方で、ローズ委員長らは「大人」ではありますが、今そこにいる子供たちへとバトンを渡すのではなく、より広範な未来へと目を向けていました。つまりは、大人と子供の両者で未来を作ろうとするのではなく、大人が一方的に先導しようとしていたわけです。この物語ではそれが行き過ぎてしまい、惨事を引き起こしました。最高齢の登場人物も言っていましたが、「年寄りを軽んじるのはもちろんよくないけどさ 年寄りがでしゃばっている世界もよくないからねえ」ということなのでしょう。多分ね。
さて、おさらいはほどほどにしておき、ここでいう子供の視点から見たときに物語がどう映るかを考えます。
ビートの場合。彼はローズ委員長に救われた、と語っていました。そして委員長の助けになりたいと考え、各地でねがいぼしを手段を問わず集めます。
ホップの場合。彼はチャンピオンである兄に強い憧れを抱いています。それは兄の出ている試合をすべて見ており、頬を叩く仕草やボールを投げる動作すら似せるほどです。ジムチャレンジャーとなって、憧れの兄にようやく並び立てる…!そんな思いも胸中には多少ながらあったのではないでしょうか。しかしながら兄はやはり「大人」で、ナックルシティで騒ぎがあった時も「ここは任せて、自分のことをやるんだ」と言われます。
2人に共通することですが、この世界の大人は子供にとって非常に頼もしく、だからこそ同時に「役に立ちたい / 自分も対等になりたい」という思いが生まれるのだと考えられます。それゆえに、主人公とホップが並び、最強無敗のチャンピオンすら膝をついた「伝説」へと立ち向かったあの戦いはある種の到達……「子供」が未来を切り拓くことの証明であると言えます。
いなくなった目標
未来を示し最強無敗のチャンピオンにすら勝った主人公(以下ユウリと言います、なぜならぼくは女の子なので…)でしたが、対照的にホップはその変化に戸惑いを覚えていました。彼にとって兄ダンデは小さな頃から「最強無敵の象徴」であり、おそらくはそう在り続けるものでした。自身が対等なライバルだと思っていたユウリがその均衡を破るまでは。ホップからしてみれば、一日にして「目標」がいなくなり、「ライバル」が遠い存在となったのです。「子供」が成長し、世代が変わったがために、自分もまた変わらなければならないと考え、焦り、戸惑ったのです。
「アニキに勝っちまうなんて本当にすごいぞ!……すごすぎてユウリのことよく分かんないんだ」…とまどろみの森で静かに語るホップは、ユウリと自身との距離を確かめようとしたのか勝負を挑みますが、逆に大きな差があることを突き付けられてしまいます。思い返せばユウリがチャンピオンとなる前もホップは自分の強さに悩み、手持ちのポケモンを何度か入れ替えていました。強くてごめんね……。悩むホップに追い打ちをかけるように、髪の毛でチャンバラしてそうな兄弟が突如として現れ、伝説の剣と盾を持ち去ろうとします。止めようとして勝負をしますが、ホップはまたも負けてしまいます。
立ち去った兄弟の足取りを追うと、ジムスタジアムでダイマックスポケモンが暴れているとのこと。その鎮静の手伝いを頼まれたものの、負けが続いたホップは自信が無いように「役に立てるか分からない」「足手まといになるかも」と消極的でした。その場に居合わせたネズが「こういうとき君の兄なら迷わない」と言い、ホップは兄弟らによってダイマックスさせられたポケモンたちを助け始めます。
ズギャッと助けに行くっきゃないぞ!
3つのジムスタジアムでダイマックスポケモンを止めたユウリたちは、ポケモン研究所で兄弟と相まみえます。ユウリとホップはダブルバトルで彼らに勝利しますが、兄弟の「研究所のねがいぼしを持っていく」という目的は水面下で達成されており、ソニアは落ち込む様子を見せます。が、しかし。「たしかに落ち込んだ!でもハイ!落ち込み終了!しょげてるヒマないでしょ!」と自らを奮い立たせるのです。この姿を見たホップは目を見開き、自身の決意を言葉にします。
「ユウリ!のんびりしてられないぞ!ポケモンたちをズギャッと助けに行くっきゃないぞ!」
ユウリ、ホップ、ネズたちは各地のジムスタジアムで強引にダイマックスさせられたポケモンたちを改めて助けに行きます。ここから、ホップの再起の物語が動き出したのだと考えます。彼の物語が始まるきっかけはいつだってポケモンへの優しさが理由でした。まどろみの森へ迷い込んでしまったウールーを助けたいと思い、伝説との出会いを果たしたあの時のように。
かつてのジムチャレンジと同じように各地を巡りますが、「子供」として導かれていた以前とは違うものがあります。今はポケモンたちを助けるためにジムリーダーたちと並び、協力しており、そこには庇護対象へ向けるまなざしというよりは、共に戦うに値するほどの成長への信頼が見て取れました。キルクスタウンのジムリーダー、マクワも「ユウリさんはもちろんですが ホップさんもなかなか頼もしいトレーナーですよね」と語りかけています。周囲の変化に対する焦りを感じていたホップは、周囲の変わらぬ温かさによって誰かの役に立てるのだと自覚し、自分の夢を見据え始めます。
終:「ライバル」
英雄を含めたポケモンたちを助けた彼らは、まどろみの森に戻ってきました。伝説の英雄に認められたホップは、再びユウリへと勝負を挑みます。その顔つきには「自分も何かにならなければ」という焦りの色はありません。すべてが始まったこの場所で、ガラルを巡る一歩を踏み出したあの時と同じように、新たな道へと進む決意が感じられます。

余談ですが、このバトルのホップは頰を叩く仕草が無く、ボールを投げる動作も以前と別のものになっています。つまり、以前のように憧れの兄のモノマネではなく、自分の行き先を自分で決断したことを表していると思えます。こういう何気ない部分からホップが変化したのだということが語られているようで、本当にキャラクターに真摯に向き合っているのだと感じさせます。
勝負を終えて、ホップは自身の夢を語ります。世界中のポケモンを助けられるポケモン博士になりたい。ユウリやアニキとは違う道を進むけど、これからもライバルでいてほしい。周囲が変化する中で何を目指せばいいのかわからず、ただただ焦燥感に急かされていた彼は、周囲に支えられて自分だけの目指す道を選択しました。
ホップとユウリが話していると、いつのまにかダンデたちもやってきていました。彼らのポケモン勝負も見ていたようです。ダンデはホップへと語りかけます。
「ホップ!自分の進むべき道を見つけたんだな オマエのアニキとして……いや オマエのライバルとして応援してるぜ!」
この言葉をもってして、ホップは憧れの存在であった兄ダンデと真に並ぶことになったと考えます。「子供」だった彼は成長し、次の世代へとバトンを渡す存在へと進み始めました。
この記事の題とした「希望、信じる心、天真爛漫、不公平」というのはホップの花言葉です。最後の「不公平」は、ビールの原料に用いられるホップが雌花のみであり、雄花は不必要なものとされていることが由来だそうです。ここまでを振り返ると、周囲との差に悩みながらも選択を下した彼を表す物語性が強く感じられます。
さて、なんかいい感じにまとまったのでこのへんで締めたいと思います。最後に、もしここまでお付き合いしてくださった方がいましたら、夢に向かって走り続けるホップに負けないよう、自分も強くなりたいという決意から一言。
6Vメタモンください!!!!!!!!!!