ノスタルジックでエモーショナルな青春映画を多数生み出してきた台湾から、また新たな傑作が誕生しました。公開前から日本でも話題の『進行曲 マーチングボーイズ』は、1990年代の名門進学校を舞台に、廃部危機にあるマーチングバンド部の存続を求めて心を合わせる男子高校生の姿を描いた作品。どこか懐かしい風景や空気感、マーチングバンドのパワフルな描写、高校生たちの成長……青春トピックがこれでもかと詰まっており、90年代に青春を過ごした人もそうでない人も、“あの頃”を感じるはず。そんな本作の見どころを、今の台湾映画界を代表するヒットメーカー、ジャン・ルイジー監督のインタビューとともにお届けします。(文・村上淳子、スクリーン編集部(監督インタビュー)/デジタル編集・スクリーン編集部)

作品紹介画像1: 作品紹介

社会派の『牯嶺街少年殺人事件』(1991)からラブコメ『あの頃、君を追いかけた』(2018)まで、名作青春映画の宝庫の台湾から、新たに音楽をテーマにした秀作が生み出された。しかも、ロケ場所が『牯嶺街少年殺人事件』の学校と同じとなれば、台湾映画ファンには見逃せない。

『進行曲 マーチングボーイズ』の舞台は1990年代の台北。台湾屈指の進学高校を舞台に、マーチングバンド部に入部したジャン・ハオ(ムー・セン)が、天才肌のリウ・ジーチュワン(リウ・ユーレン)、真面目な部長・タイチェン(ユー・ジェエン)ら個性豊かな部員たちとの衝突を経て、絆を築き、廃部の危機に立ち向かい、全国大会に挑む姿を描く。

画像2: 作品紹介

実は台湾では、マーチングバンドはクラブ活動として注目を集める存在。本作のモデルになっている超進学校・建国高校のマーチングバンドは圧倒的な実力を誇り、昨年は「マーチングバンド世界大会(WAMSB)」で部門優勝と総合優勝の快挙を成し遂げ、 今年7月にオランダで開催された世界音楽コンクール(WMC)に台湾代表として出場。見事金賞を受賞しているほどだ。近年、台湾と日本のマーチングバンドも活発な友好関係を築き、深い国際交流を結んでいる。オレンジのユニフォームと驚異的なパフォーマンスで“オレンジの悪魔”の異名を持つ京都橘高校は、2022年台湾の建国記念日の祝賀式典で披露したパフォーマンスが高い評価を得て以来、現地ではつとに有名だ。また、台湾では葬儀をにぎやかに行うことが故人の供養になると考えられているため、マーチングバンドが葬列を先導する伝統文化も根付いており、本作にもそのシーンが入っているのも興味深い。

画像3: 作品紹介

ジャン・ハオを演じるムー・センは、本作で金馬奨新人賞にノミネート。医学部進学を望み、部活は時間の無駄と大反対する父親に内緒で入部し、のちに嘘がバレて激昂する父親に、「音楽が楽しい」「マーチングバンドをやりたい」と懇願するシーンでは、涙ながらの迫真の演技を見せた。部内で天才と評されるリウ・ジーチュワンを演じるリウ・ユーレンは、気ままで自己中心的なキャラクターの苛立ちや葛藤を鮮やかに表現。正反対のふたりを熱演したムー・センとリウ・ユーレンは、台北映画祭で非常新人(期待の若手)に選出されたこともある注目株だ。加えてリウ・ユーレンは、日本でも配信中のBLファンタジードラマ『セカイデキミダケ/Connecting to You』で不器用な警官役で主演。まだまだ演技の引き出しがありそうなふたりの今後の活躍から目が離せない。  

画像4: 作品紹介

本作を手掛けた、大ヒットシリーズ『角頭‐彷徨人』(21)などで知られるジャン・ルイジー監督は、「登場人物たちの成長を描くだけでなく、マーチングバンドが持つ情熱やエネルギーを映像に刻み込むことを常に心がけました」と語る。その言葉どおり、全国大会での優勝を目指す音楽に賭けた青春ストーリーで、成長物語としての見応えがありながら、マーチングバンドの魅力を余す所なく描写。拙い演奏から次第に上達し、最後にはパワー溢れるパフォーマンスを披露する姿は胸アツだ。これまで知る人ぞ知るだったマーチングバンドの素晴らしい世界を知るきっかけにもなる、エンタテインメント秀作なのだ。

胸アツ! エモーショナルPOINT

『進行曲 マーチングボーイズ』
2026年10月23日(金)公開
台湾/2025/1時間57分/配給:メイジャー 共同配給:アクセスエー
監督:ジャン・ルイジー
出演:ムー・セン、リウ・ユーレン、ユー・ジェエン、リー・リーレン、マー・ジーシアン、ホアン・ディーヤン

©2025 Marching Next Media. All Rights Reserved.

‘).attr({‘id’:’script-vimeo-api’,’src’:’https://f.vimeocdn.com/js/froogaloop2.min.js’}).appendTo(‘body’);console.log(‘vimeo js api loading’);}});var $vimeo_need_replace=$();function checkVimeo($target){if(!window.$f){$vimeo_need_replace=$vimeo_need_replace.add($target);$target.data(‘need_replace’,true);return;}
$target.each(function(){var $ifr=$(this),ifr=$ifr[0],autoplay=$ifr.data(‘autoplay’);var src=$ifr.attr(‘src’).split(‘?’);var q=parseQuery(src[1]);if(!q.api){var id=$ifr.attr(‘id’)||(‘vimeo-‘+(++vimeo_cnt));$.extend(q,{api:’1′,player_id:id});var $new_ifr=$ifr.clone().attr({id:id,src:src[0]+’?’+buildQuery(q)});$ifr.replaceWith($new_ifr);console.log(‘vimeo iframe src replaced:’+$new_ifr.attr(‘src’));return;}
if($ifr.data(‘need_replace’)){$ifr.replaceWith($ifr.clone().data(‘need_replace’,false));return;}
if(autoplay){return;}
var player=$f($ifr[0]);player.addEvent(‘ready’,function(){console.info(‘vimeo:ready’,player);$ifr.data(‘autoplay’,{notinitialized:true,player:player});function startAutoPlay($ifr){if(stop_autoplay){return;}
var autoplay=$ifr.data(‘autoplay’);if(!autoplay||autoplay.notinitialized){var player=autoplay&&autoplay.player||$f($ifr[0]);autoplay={player:player,canceled:false,cursor:$ifr.css(‘cursor’)};player.api(‘getVolume’,function(vol){autoplay.muted=vol;});player.api(‘getLoop’,function(loop){autoplay.loop=loop;});$ifr.data(‘autoplay’,autoplay);}
var player=autoplay.player;if(!autoplay.canceled){player.api(‘setVolume’,0);$ifr.css(‘cursor’,’pointer’);$ifr.data(‘autoplay’,autoplay);if(allow_autoplay){player.api(‘play’);}else{makeAutoplayGif($ifr,function($ifr){var autoplay=$ifr.data(‘autoplay’),player=autoplay.player;player.api(‘seekTo’,0);player.api(‘setVolume’,autoplay.muted);player.api(‘play’);autoplay.canceled=true;$ifr.data(‘autoplay’,autoplay);});}}}
function stopAutoPlay($ifr,cue,clear_autoplay){if(stop_autoplay){return;}
var autoplay=$ifr.data(‘autoplay’),player=autoplay.player;if(allow_autoplay){player.api(‘pause’);}
player.api(‘setVolume’,autoplay.muted);if(cue){player.api(‘setCurrentTime’,0);}
if(clear_autoplay){$ifr.css(‘cursor’,autoplay.cursor);player.api(‘setLoop’,autoplay.loop);autoplay.canceled=true;$ifr.data(‘autoplay’,autoplay);}}
player.addEvent(‘play’,function(){player.playing=true;});player.addEvent(‘finish’,function(){player.playing=false;$ifr.trigger(‘ended.autoplaying’);});player.addEvent(‘pause’,function(){player.playing=false;$ifr.trigger(‘click.autoplaying’)});$ifr.on(‘click.autoplaying’,function(ev){var autoplay=$ifr.data(‘autoplay’),player=autoplay.player;if(autoplay&&!autoplay.canceled&&$ifr.isInView()){stopAutoPlay($ifr,true,true);player.api(‘play’);}}).on(‘ended.autoplaying’,function(ev){var $ifr=$(this),autoplay=$ifr.data(‘autoplay’),player=autoplay.player;player.api(‘seekTo’,0);if(!autoplay.canceled||autoplay.loop){player.api(‘play’);}}).on(‘scrolledintoview’,function(ev){var $ifr=$(this),autoplay=$ifr.data(‘autoplay’),player=autoplay.player;if(!autoplay||!autoplay.canceled){startAutoPlay($ifr);}}).on(‘scrolledoutofview’,function(ev){var $ifr=$(this),autoplay=$ifr.data(‘autoplay’),player=autoplay.player;if(player.playing){if(autoplay.muted){player.api(‘pause’);}else{fadeoutVimeo(player);}}});if($ifr.isInView()){startAutoPlay($ifr);}});});}
if(window._disable_autoplay_onscrolledintoview){return;}
setInterval(function(){checkAll();},WATCH_INTERVAL);var youtube_initialized=false;function youtubeInit(){if(youtube_initialized){return;}
youtube_initialized=true;console.log(‘youtubeInit()’);var _t=setInterval(function(){if(window.YT&&window.YT.Player){console.log(‘youtubeInit():window.YT.Player enabled’);clearInterval(_t);youtube_iframe_api_initialized=true;[‘ENDED’,’PLAYING’,’PAUSED’,’BUFFERING’,’CUED’].forEach(function(s){YT_ST_REV[YT.PlayerState[s]]=s;});}},100);}
var _onYouTubeIframeAPIReady=window.onYouTubeIframeAPIReady;if(_onYouTubeIframeAPIReady){window.onYouTubeIframeAPIReady=function(){_onYouTubeIframeAPIReady();youtubeInit();};}else{window.onYouTubeIframeAPIReady=youtubeInit;}
$(document).one(‘scrolledintoview’,YOUTUBE_SELECTOR,function(){if(!window.YT){$(”).attr(‘src’,’https://www.youtube.com/iframe_api’).appendTo(‘body’);}else{youtubeInit();}});});

/*** combinestatic: from:lib/js/enquire.js ***/
;(function(name,context,factory){var matchMedia=window.matchMedia;if(typeof module!==’undefined’&&module.exports){module.exports=factory(matchMedia);}
else if(typeof define===’function’&&define.amd){define(function(){return(context[name]=factory(matchMedia));});}
else{context[name]=factory(matchMedia);}}(‘enquire’,this,function(matchMedia){‘use strict’;function each(collection,fn){var i=0,length=collection.length,cont;for(i;i=0;$.alert=(function(){$(”).html([‘#commonjs-alert {‘,’position:fixed; bottom:0; right:0;’,’background:rgba(255,255,255,.5); color:black;’,’border:1px solid #ccc;’,’font-size:12px; line-height:1.1;’,’max-width:50vw;’,’}’,’#commonjs-alert:empty { display:none; }’,’#commonjs-alert > div { padding:.25em .5em; display:flex; }’,’#commonjs-alert > div + div { border-top:1px solid #ccc; }’,’#commonjs-alert > div > :first-child { padding-right:.25em; }’,’#commonjs-alert > div > :first-child::before { font-family:FontAwesome; content:”\\f071″; margin-right:.5em; color:darkred; }’,’#commonjs-alert > div > :last-child { margin-left:auto; padding-left:.25em; }’,’#commonjs-alert > div > :last-child:not(:empty)::before { content:”(” }’,’#commonjs-alert > div > :last-child:not(:empty)::after { content:”)” }’,].join(”)).appendTo(‘body’);var $alert=$(”).appendTo(‘body’);function msg(msg,timeout){timeout=timeout===undefined?5000:timeout;var $msg_hit=$alert.children().filter(function(){return $(this).data(‘msg’)==msg;});if(!$msg_hit[0]){var $msg=$(”).append($(”).text(msg),$(”)).data(‘msg’,msg).data(‘cnt’,0);$alert.prepend($msg);$msg.data(‘_t’,setTimeout(function(){this.remove()}.bind($msg),timeout));}else{clearTimeout($msg_hit.data(‘_t’));var cnt=$msg_hit.data(‘cnt’);$msg_hit.data(‘cnt’,++cnt);$msg_hit.children(‘:last-child’).text(cnt);$msg_hit.data(‘_t’,setTimeout(function(){this.remove()}.bind($msg_hit),timeout));}}
return msg;})();$(document).on(‘ajaxSend’,function(ev,xhr,settings){var loc=$(”).attr(‘href’,settings.url)[0];loc.protocol=loc.href.split(‘:’)[0];if(loc.hostname==location.hostname){xhr.setRequestHeader(‘X-Requested-With’,’XMLHttpRequest’);if(settings.type==’POST’){xhr.setRequestHeader(‘X-CSRFToken’,$.cookie(‘csrftoken’));}
if(_NO_CACHE){if(settings.url.indexOf(‘_no_cache=”)

Share.