アコーディオンメニューの構築に関して

Q&Aにてアコーディオンを実現するために、GTMでカスタムHTMLを設定しています。
ページをリロードすると、scriptが反映されているようでアコーディオンが機能するのですが、ページ遷移した後だと、アコーディオンが機能しなくなってしまいます。
ページを最初に読み込んだ際しか、カスタムHTML内のjavascriptが実行されていないようで、おそらくSingle Page Applicationであることが影響しているのかと思われますが、どのようにGTMを設定 または javascriptを書き換えすれば問題解決できますでしょうか?
gtmのカスタムHTMLのトリガーには、「ウィンドウ読み込み」を設定しております。
何卒、よろしくお願いいたします。

カスタムHTMLにはこちらを記載しています。

 
 -----
<style>
 .accordion__answer--active {
 height: auto !important;
 padding-top: 16px !important;
 }
</style> 
 <script>
 "use strict"; 
 var accordion = document.querySelector("#accordion");
 var index;
 accordion.style.cursor = "pointer"; 
 accordion.addEventListener("click", function (e) {
 e.preventDefault();
 var clickedAccordionItem = e.target.closest("#accordion > div");
 var accordionItems = document.querySelectorAll("#accordion > div");
 
 if (!clickedAccordionItem) return;
 var clickedAccordionAnswer = clickedAccordionItem.children[1];
 
 if ( clickedAccordionAnswer.classList.contains("accordion__answer--active") == true ) {
 clickedAccordionAnswer.classList.remove("accordion__answer--active");
 } else {
 clickedAccordionAnswer.classList.add("accordion__answer--active");
 } 
 });
</script>
----- 
「いいね!」 1

以前、この症状の解決方法をブログにまとめましたので、こちらをご参照ください。
具体的には、ページの遷移先をURL指定する、または自分のサーバーにアップロードしたものをiFrameから呼び出せば解決できます。

「いいね!」 1

ありがとうございます!
理解できました。
ページの遷移先をURL指定にする方法、大変参考になりました。
ありがとうございます!