<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>IT on namaraii.com</title><link>https://namaraii.com/categories/it/</link><description>Recent content in IT on namaraii.com</description><generator>Hugo -- gohugo.io</generator><language>ja</language><managingEditor>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</managingEditor><webMaster>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</webMaster><copyright>© 2026 TAKEUCHI Hitoshi, All Rights Reserved.</copyright><lastBuildDate>Tue, 30 Dec 2025 10:05:39 +0900</lastBuildDate><atom:link href="https://namaraii.com/categories/it/index.xml" rel="self" type="application/rss+xml"/><item><title>Ghostty</title><link>https://namaraii.com/posts/ghostty/</link><pubDate>Tue, 30 Dec 2025 10:05:39 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/ghostty/</guid><description>&lt;p&gt;&lt;a href="https://ghostty.org/" target="_blank" rel="noreferrer"&gt;Ghostty&lt;/a&gt;はクロスプラットフォームのターミナルエミュレーター。動作が軽くカスタマイズ性が高い。&lt;/p&gt;

&lt;h2 class="relative group"&gt;Macへのインストールと設定
 &lt;div id="macへのインストールと設定" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#mac%e3%81%b8%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8%e8%a8%ad%e5%ae%9a" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;brewでインストールした。&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install --cask ghostty&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;各種の設定はGUIではなくconfigファイルで行う。
&lt;code&gt;~/Library/Application Support/com.mitchellh.ghostty/config&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;設定ファイルをターミナル内から再読み込みするのは&lt;code&gt;cmd+shift+,&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;ターミナルから以下のコマンドを入力すると、使用できる（インストールされている）フォントファミリのリストが表示される。&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ghostty +list-fonts&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;以下のコマンドでインストールされているテーマのリストが表示される。&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ghostty +list-themes&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;このようにプレビューを表示しながらテーマを選ぶことができる。&lt;/p&gt;
&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="auto"
 alt="image"
 width="1178"
 height="844"
 src="https://namaraii.com/images/ghostty-001_hu_3f6f7557d4ec26b2.png"
 srcset="https://namaraii.com/images/ghostty-001_hu_3f6f7557d4ec26b2.png 800w, https://namaraii.com/images/ghostty-001.png 1280w"
 sizes="(min-width: 768px) 50vw, 65vw"
 data-zoom-src="https://namaraii.com/images/ghostty-001.png"&gt;&lt;/figure&gt;
&lt;p&gt;現時点での設定ファイルは以下の通り。&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;theme&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Dracula&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;font-family &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;UDEV Gothic&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;font-thicken
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;font-size &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="m"&gt;20&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mouse-hide-while-typing
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;window-theme &lt;span class="o"&gt;=&lt;/span&gt; dark
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;background-opacity &lt;span class="o"&gt;=&lt;/span&gt; 0.8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;background-blur &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;macos-titlebar-style &lt;span class="o"&gt;=&lt;/span&gt; transparent
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;window-inherit-working-directory &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;window-save-state &lt;span class="o"&gt;=&lt;/span&gt; always&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;設定可能な項目の説明は&lt;a href="https://ghostty.org/docs/config" target="_blank" rel="noreferrer"&gt;Configuration&lt;/a&gt;にある。かなりの数があるが、自分は必要最低限のものに絞った。&lt;/p&gt;

&lt;h2 class="relative group"&gt;Alfred関連の設定
 &lt;div id="alfred関連の設定" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#alfred%e9%96%a2%e9%80%a3%e3%81%ae%e8%a8%ad%e5%ae%9a" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;デフォルトで使用するターミナルをGhosttyに変更するため、Alfredの設定変更とワークフローの修正を行った。&lt;/p&gt;

&lt;h3 class="relative group"&gt;Teminalの設定変更
 &lt;div id="teminalの設定変更" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#teminal%e3%81%ae%e8%a8%ad%e5%ae%9a%e5%a4%89%e6%9b%b4" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;以下のGhosttyとの連携スクリプトを手順に従って設定する。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/zeitlings/alfred-ghostty-script" target="_blank" rel="noreferrer"&gt;zeitlings/alfred-ghostty-script: AppleScript for Ghostty Alfred integration&lt;/a&gt;&lt;/p&gt;

&lt;h3 class="relative group"&gt;terminalfinderワークフローの修正
 &lt;div id="terminalfinderワークフローの修正" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#terminalfinder%e3%83%af%e3%83%bc%e3%82%af%e3%83%95%e3%83%ad%e3%83%bc%e3%81%ae%e4%bf%ae%e6%ad%a3" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;ファインダとターミナルを行き来するのに使っているAlfredのtermmialfinderワークフローにGhostty用のトリガーとスクリプトを追加した。&lt;/p&gt;</description></item><item><title>ObsidianのVimモードでNORMALモードに移行したらIMEをOFFにする(Mac)</title><link>https://namaraii.com/posts/obsidian-vimmode-imeoff/</link><pubDate>Sat, 27 Dec 2025 10:02:07 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/obsidian-vimmode-imeoff/</guid><description>&lt;p&gt;ObsidianのVimモードでNORMALモードに移行した際、デフォルの動作ではIMEのON/OFFが変わらないため、日本語のテキストを書いているときに不便なので、im-select + Karabiner-Elementsを使って&lt;code&gt;Esc&lt;/code&gt;押下でIME OFFにする設定を追加した。&lt;/p&gt;
&lt;p&gt;自分の環境では既にターミナルや&lt;a href="https://namaraii.com/posts/ghostty/" &gt;Ghostty&lt;/a&gt;用にその設定を入れているので、対象とするアプリとしてObisidianを追加するだけだった。&lt;/p&gt;
&lt;p&gt;具体的には&lt;code&gt;bundle_identifiers&lt;/code&gt;に&lt;code&gt;&amp;quot;^md\\.obsidian$&amp;quot;&lt;/code&gt;を追加した。&lt;/p&gt;
&lt;p&gt;Obsidianのbundle_identifierは以下のようにして調べた。&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;osascript -e &lt;span class="s1"&gt;&amp;#39;id of app &amp;#34;Obsidian&amp;#34;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;md.obsidian&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;以下はKarabiner-Elementsに表示で入っている「TerminalまたはMacVimでESCあるいは^[を押したときに日本語入力を英数に切り替える」にGhosttyとObsidianを追加したもの。&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;指定したアプリでESCあるいは^[を押したときに日本語入力を英数に切り替える。&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;manipulators&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;conditions&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;bundle_identifiers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;^com\\.apple\\.Terminal$&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;^org\\.vim\\.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;^com\\.mitchellh\\.ghostty$&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;^md\\.obsidian$&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;frontmost_application_if&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;from&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;key_code&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;escape&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;modifiers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;optional&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;any&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;to&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;key_code&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;japanese_eisuu&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;key_code&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;escape&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;basic&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;conditions&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;bundle_identifiers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;^com\\.apple\\.Terminal$&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;^org\\.vim\\.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;frontmost_application_if&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;from&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;key_code&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;open_bracket&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;modifiers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;mandatory&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;left_control&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;to&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;key_code&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;japanese_eisuu&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;key_code&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;escape&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;basic&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>Elo Rating</title><link>https://namaraii.com/posts/elo_rating/</link><pubDate>Fri, 12 Dec 2025 08:57:42 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/elo_rating/</guid><description>&lt;p&gt;イロレーティング(Elo rating) とは、対戦型の競技（2人のプレイヤーまたは2つのチームが対戦して勝敗を決めるタイプの競技）において、相対評価で実力を表すために使われる指標の一つ。数学的裏付けのある最も著名なレーティングシステムである。&lt;/p&gt;
&lt;p&gt;イロレーティングは、もともとチェスの実力を表すために考案されたものだが、FIFAランキングや将棋や囲碁のオンライン対局場など様々な競技に応用されている。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%AD%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0#:~:text=%E3%82%A4%E3%83%AD%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%20%28Elo%20rating%29%20%E3%81%A8,%E3%81%AA%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%A7%E3%81%82%E3%82%8B%E3%80%82" target="_blank" rel="noreferrer"&gt;イロレーティング - Wikipedia&lt;/a&gt;より&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://jelo.ifdef.jp/system.html" target="_blank" rel="noreferrer"&gt;個人的 J-League ELO Ratings system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://japanchess.org/2019/09/about-rating/" target="_blank" rel="noreferrer"&gt;レーティングについて | National Chess Society of Japan - NCS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiis.info/blog/ilo-rating-system/" target="_blank" rel="noreferrer"&gt;イロ・レーティングの意味と求め方を完全解説 | ワイズ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://football-tribe.com/japan/2022/04/17/241230/" target="_blank" rel="noreferrer"&gt;サッカーファンでも意外と知らない！？最新FIFAランキングの決め方とは | Football Tribe Japan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.thothchildren.com/chapter/5b1fd9df52392816a2f5a679" target="_blank" rel="noreferrer"&gt;二人対戦のプレイヤ強さを数値化したい - Thoth Children&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.s1ncha.com/2021/03/toto-prediction3.html" target="_blank" rel="noreferrer"&gt;サッカーくじ totoの予想をしてみる。－レーティング計算－ - Extrasensory Perception + ER + Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>日付キーワードからフォーマットされた日付テキストを生成するAlfred Workflow</title><link>https://namaraii.com/posts/20251107-alfred-dateconverter/</link><pubDate>Fri, 07 Nov 2025 09:25:15 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/20251107-alfred-dateconverter/</guid><description>&lt;p&gt;&lt;a href="https://azookey.com/" target="_blank" rel="noreferrer"&gt;azooKey&lt;/a&gt;という高精度なニューラルかな漢字変換エンジンをサポートしたiOS用キーボードアプリの&lt;a href="https://github.com/azooKey/azooKey-Desktop" target="_blank" rel="noreferrer"&gt;macOS版&lt;/a&gt;を試している。&lt;/p&gt;
&lt;p&gt;ライブ変換もサポートしていて、標準のIMEより変換精度が高くて素晴らしい。問題なく常用できそうな感じ。&lt;/p&gt;
&lt;p&gt;ただ、いくつかのIMEでサポートしている「きょう」で本日の日付に変換する機能がないんですよね。これはＸでも話題になっていて、以下のような改善策も見つけました。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://scrapbox.io/terfno/azooKey-Desktop_%E3%81%A7%E6%97%A5%E4%BB%98%E3%82%92%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B" target="_blank" rel="noreferrer"&gt;azooKey-Desktop で日付を入力する - terfnoのScrapbox&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;しかし、個人的には「昨日」や「明日」「先週の金曜日」などの日付を得たいケースが多く、ChatGPTで&lt;a href="https://namaraii.com/posts/alfred/" &gt;Alfred&lt;/a&gt;用のワークフローを作成した。&lt;/p&gt;

&lt;h2 class="relative group"&gt;動作イメージ
 &lt;div id="動作イメージ" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%8b%95%e4%bd%9c%e3%82%a4%e3%83%a1%e3%83%bc%e3%82%b8" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;ワークフローを起動して、キーワードを入力すると対応するものがサジェストされる。
&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="auto"
 alt=""
 width="554"
 height="220"
 src="https://namaraii.com/images/20251107-alfred-dateconverter-001.png"
 srcset="https://namaraii.com/images/20251107-alfred-dateconverter-001.png 800w, https://namaraii.com/images/20251107-alfred-dateconverter-001.png 1280w"
 sizes="(min-width: 768px) 50vw, 65vw"
 data-zoom-src="https://namaraii.com/images/20251107-alfred-dateconverter-001.png"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;キーワードを決定すると､複数の日付フォーマットを選択できる。
&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="auto"
 alt=""
 width="558"
 height="261"
 src="https://namaraii.com/images/20251107-alfred-dateconverter-002.png"
 srcset="https://namaraii.com/images/20251107-alfred-dateconverter-002.png 800w, https://namaraii.com/images/20251107-alfred-dateconverter-002.png 1280w"
 sizes="(min-width: 768px) 50vw, 65vw"
 data-zoom-src="https://namaraii.com/images/20251107-alfred-dateconverter-002.png"&gt;&lt;/figure&gt;
&lt;/p&gt;

&lt;h2 class="relative group"&gt;対応キーワード
 &lt;div id="対応キーワード" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%af%be%e5%bf%9c%e3%82%ad%e3%83%bc%e3%83%af%e3%83%bc%e3%83%89" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;today&lt;/code&gt;：今日&lt;/li&gt;
&lt;li&gt;&lt;code&gt;yesterday&lt;/code&gt;：昨日&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tomorrow&lt;/code&gt;：明日&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dayaftertomorrow&lt;/code&gt;（略：&lt;code&gt;dat&lt;/code&gt;）：明後日&lt;/li&gt;
&lt;li&gt;&lt;code&gt;daybeforeyesterday&lt;/code&gt;（略：&lt;code&gt;dby&lt;/code&gt;）：一昨日&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mon&lt;/code&gt; / &lt;code&gt;tue&lt;/code&gt; / &lt;code&gt;wed&lt;/code&gt; / &lt;code&gt;thu&lt;/code&gt; / &lt;code&gt;fri&lt;/code&gt; / &lt;code&gt;sat&lt;/code&gt; / &lt;code&gt;sun&lt;/code&gt;：各曜日
&lt;ul&gt;
&lt;li&gt;曜日を入力した場合は 「直近の過去の同曜日」「次に来る同曜日」を候補に表示&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;出力フォーマット
 &lt;div id="出力フォーマット" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%87%ba%e5%8a%9b%e3%83%95%e3%82%a9%e3%83%bc%e3%83%9e%e3%83%83%e3%83%88" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;ISO形式&lt;/strong&gt;：&lt;code&gt;YYYY-MM-DD&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ISO + 曜日&lt;/strong&gt;：&lt;code&gt;YYYY-MM-DD(Fri)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;日本語形式&lt;/strong&gt;：&lt;code&gt;YYYY年M月D日(金)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;和暦形式（令和）&lt;/strong&gt;：&lt;code&gt;令和X年M月D日(金)&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 class="relative group"&gt;ダウンロード
 &lt;div id="ダウンロード" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;作成したワークフローを置いておきます。Alfred 5.7で動作確認しました。&lt;/p&gt;</description></item><item><title>IPコード</title><link>https://namaraii.com/posts/ipcode/</link><pubDate>Mon, 22 Sep 2025 09:19:25 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/ipcode/</guid><description>&lt;p&gt;IPコード（Ingress Protection Code）は防塵と防水を示す国際規格。IPコードは「IP」の後に2つの数字が並び、以下を表す。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1桁目：防塵等級（固体異物に対する保護）
&lt;ul&gt;
&lt;li&gt;0〜6 の範囲で評価（6が完全防塵）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;2桁目：防水等級（水に対する保護）
&lt;ul&gt;
&lt;li&gt;0〜9K の範囲で評価（9Kが最高等級：高圧・高温の水流にも耐える）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;「X」が付く場合は、その桁の評価をしていない／規定していないことを意味する。&lt;/p&gt;
&lt;p&gt;等級の例&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;等級&lt;/th&gt;
 &lt;th&gt;保護内容&lt;/th&gt;
 &lt;th&gt;使用イメージ&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;IPX4&lt;/td&gt;
 &lt;td&gt;あらゆる方向からの水の飛沫に耐える&lt;/td&gt;
 &lt;td&gt;雨や水しぶきがかかる環境で使用可能。 &lt;br&gt;例：ランニング中のイヤホン、キッチンで使うスピーカー&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;IPX5&lt;/td&gt;
 &lt;td&gt;あらゆる方向からの噴流水に耐える（12.5L/分の水を3分以上）&lt;/td&gt;
 &lt;td&gt;シャワーを直接かけても問題ない。 &lt;br&gt;例：屋外スピーカー、アウトドア用機器&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;IPX7&lt;/td&gt;
 &lt;td&gt;一時的な水没（深さ1mで30分）に耐える&lt;/td&gt;
 &lt;td&gt;浴槽や水たまりに落としても問題ない（短時間なら）。 &lt;br&gt;例：防水スマホ、アクションカメラ&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>radiko APIを使って都道府県ごとのラジオ局一覧を出力する</title><link>https://namaraii.com/posts/radiko-station-list/</link><pubDate>Mon, 28 Jul 2025 09:19:37 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/radiko-station-list/</guid><description>&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ruby" data-lang="ruby"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;net/http&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;uri&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;rexml/document&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;prefecture_names&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;1&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;北海道&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;2&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;青森県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;3&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;岩手県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;4&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;宮城県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;5&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;秋田県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;6&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;山形県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;7&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;福島県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;8&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;茨城県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;9&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;栃木県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;群馬県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;11&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;埼玉県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;12&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;千葉県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;13&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;東京都&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;14&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;神奈川県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;15&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;新潟県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;16&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;富山県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;17&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;石川県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;18&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;福井県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;19&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;山梨県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;20&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;長野県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;21&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;岐阜県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;22&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;静岡県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;23&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;愛知県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;24&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;三重県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;25&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;滋賀県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;26&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;京都府&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;27&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;大阪府&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;28&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;兵庫県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;29&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;奈良県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;30&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;和歌山県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;31&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;鳥取県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;32&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;島根県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;33&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;岡山県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;34&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;広島県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;35&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;山口県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;36&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;徳島県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;37&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;香川県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;38&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;愛媛県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;39&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;高知県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;40&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;福岡県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;41&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;佐賀県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;42&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;長崎県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;43&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;熊本県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;44&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;大分県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;45&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;宮崎県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;46&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;鹿児島県&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;47&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;沖縄県&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;prefectures&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;..&lt;/span&gt;&lt;span class="mi"&gt;47&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="ss"&gt;:to_s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;prefectures&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;each&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;pref_code&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://radiko.jp/v2/station/list/JP&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;pref_code&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.xml&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;uri&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;URI&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;begin&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Net&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;HTTP&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_response&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;uri&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;is_a?&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;Net&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;HTTPSuccess&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;document&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;REXML&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Document&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;## &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;prefecture_names&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;pref_code&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;(&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;pref_code&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;document&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;elements&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;each&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;stations/station&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;station&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;station_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;station&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;elements&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;station_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;station&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;elements&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;- &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;station_name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;(&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;station_id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Failed to retrieve data for prefecture code &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;pref_code&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;rescue&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Error: &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; for prefecture code &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;pref_code&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;end&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 class="relative group"&gt;北海道(1)
 &lt;div id="北海道1" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%8c%97%e6%b5%b7%e9%81%931" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ＨＢＣラジオ(HBC)&lt;/li&gt;
&lt;li&gt;ＳＴＶラジオ(STV)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;AIR-G&amp;rsquo;（FM北海道）(AIR-G)&lt;/li&gt;
&lt;li&gt;FM NORTH WAVE(NORTHWAVE)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（札幌）(JOIK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;青森県(2)
 &lt;div id="青森県2" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%9d%92%e6%a3%ae%e7%9c%8c2" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ＲＡＢ青森放送(RAB)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;エフエム青森(AFB)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（仙台）(JOHK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;岩手県(3)
 &lt;div id="岩手県3" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%b2%a9%e6%89%8b%e7%9c%8c3" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;IBCラジオ(IBC)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;エフエム岩手(FMI)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（仙台）(JOHK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;宮城県(4)
 &lt;div id="宮城県4" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%ae%ae%e5%9f%8e%e7%9c%8c4" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;TBCラジオ(TBC)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;Date fm エフエム仙台(DATEFM)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（仙台）(JOHK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;秋田県(5)
 &lt;div id="秋田県5" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%a7%8b%e7%94%b0%e7%9c%8c5" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ABSラジオ(ABS)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;エフエム秋田(AFM)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（仙台）(JOHK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;山形県(6)
 &lt;div id="山形県6" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%b1%b1%e5%bd%a2%e7%9c%8c6" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;YBC山形放送(YBC)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;Rhythm Station　エフエム山形(RFM)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（仙台）(JOHK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;福島県(7)
 &lt;div id="福島県7" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%a6%8f%e5%b3%b6%e7%9c%8c7" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;RFCラジオ福島(RFC)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;ふくしまFM(FMF)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（仙台）(JOHK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;茨城県(8)
 &lt;div id="茨城県8" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e8%8c%a8%e5%9f%8e%e7%9c%8c8" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;TBSラジオ(TBS)&lt;/li&gt;
&lt;li&gt;文化放送(QRR)&lt;/li&gt;
&lt;li&gt;ニッポン放送(LFR)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;interfm(INT)&lt;/li&gt;
&lt;li&gt;TOKYO FM(FMT)&lt;/li&gt;
&lt;li&gt;J-WAVE(FMJ)&lt;/li&gt;
&lt;li&gt;LuckyFM 茨城放送(IBS)&lt;/li&gt;
&lt;li&gt;ラジオ日本(JORF)&lt;/li&gt;
&lt;li&gt;BAYFM78(BAYFM78)&lt;/li&gt;
&lt;li&gt;NACK5(NACK5)&lt;/li&gt;
&lt;li&gt;ＦＭヨコハマ(YFM)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（東京）(JOAK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;栃木県(9)
 &lt;div id="栃木県9" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%a0%83%e6%9c%a8%e7%9c%8c9" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;TBSラジオ(TBS)&lt;/li&gt;
&lt;li&gt;文化放送(QRR)&lt;/li&gt;
&lt;li&gt;ニッポン放送(LFR)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;interfm(INT)&lt;/li&gt;
&lt;li&gt;TOKYO FM(FMT)&lt;/li&gt;
&lt;li&gt;J-WAVE(FMJ)&lt;/li&gt;
&lt;li&gt;CRT栃木放送(CRT)&lt;/li&gt;
&lt;li&gt;RADIO BERRY(RADIOBERRY)&lt;/li&gt;
&lt;li&gt;ラジオ日本(JORF)&lt;/li&gt;
&lt;li&gt;BAYFM78(BAYFM78)&lt;/li&gt;
&lt;li&gt;NACK5(NACK5)&lt;/li&gt;
&lt;li&gt;ＦＭヨコハマ(YFM)&lt;/li&gt;
&lt;li&gt;LuckyFM 茨城放送(IBS)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（東京）(JOAK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;群馬県(10)
 &lt;div id="群馬県10" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%be%a4%e9%a6%ac%e7%9c%8c10" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;TBSラジオ(TBS)&lt;/li&gt;
&lt;li&gt;文化放送(QRR)&lt;/li&gt;
&lt;li&gt;ニッポン放送(LFR)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;interfm(INT)&lt;/li&gt;
&lt;li&gt;TOKYO FM(FMT)&lt;/li&gt;
&lt;li&gt;J-WAVE(FMJ)&lt;/li&gt;
&lt;li&gt;FM GUNMA(FMGUNMA)&lt;/li&gt;
&lt;li&gt;ラジオ日本(JORF)&lt;/li&gt;
&lt;li&gt;BAYFM78(BAYFM78)&lt;/li&gt;
&lt;li&gt;NACK5(NACK5)&lt;/li&gt;
&lt;li&gt;ＦＭヨコハマ(YFM)&lt;/li&gt;
&lt;li&gt;LuckyFM 茨城放送(IBS)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（東京）(JOAK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;埼玉県(11)
 &lt;div id="埼玉県11" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%9f%bc%e7%8e%89%e7%9c%8c11" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;TBSラジオ(TBS)&lt;/li&gt;
&lt;li&gt;文化放送(QRR)&lt;/li&gt;
&lt;li&gt;ニッポン放送(LFR)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;interfm(INT)&lt;/li&gt;
&lt;li&gt;TOKYO FM(FMT)&lt;/li&gt;
&lt;li&gt;J-WAVE(FMJ)&lt;/li&gt;
&lt;li&gt;ラジオ日本(JORF)&lt;/li&gt;
&lt;li&gt;BAYFM78(BAYFM78)&lt;/li&gt;
&lt;li&gt;NACK5(NACK5)&lt;/li&gt;
&lt;li&gt;ＦＭヨコハマ(YFM)&lt;/li&gt;
&lt;li&gt;LuckyFM 茨城放送(IBS)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（東京）(JOAK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;千葉県(12)
 &lt;div id="千葉県12" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%8d%83%e8%91%89%e7%9c%8c12" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;TBSラジオ(TBS)&lt;/li&gt;
&lt;li&gt;文化放送(QRR)&lt;/li&gt;
&lt;li&gt;ニッポン放送(LFR)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;interfm(INT)&lt;/li&gt;
&lt;li&gt;TOKYO FM(FMT)&lt;/li&gt;
&lt;li&gt;J-WAVE(FMJ)&lt;/li&gt;
&lt;li&gt;ラジオ日本(JORF)&lt;/li&gt;
&lt;li&gt;BAYFM78(BAYFM78)&lt;/li&gt;
&lt;li&gt;NACK5(NACK5)&lt;/li&gt;
&lt;li&gt;ＦＭヨコハマ(YFM)&lt;/li&gt;
&lt;li&gt;LuckyFM 茨城放送(IBS)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（東京）(JOAK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;東京都(13)
 &lt;div id="東京都13" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%9d%b1%e4%ba%ac%e9%83%bd13" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;TBSラジオ(TBS)&lt;/li&gt;
&lt;li&gt;文化放送(QRR)&lt;/li&gt;
&lt;li&gt;ニッポン放送(LFR)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;interfm(INT)&lt;/li&gt;
&lt;li&gt;TOKYO FM(FMT)&lt;/li&gt;
&lt;li&gt;J-WAVE(FMJ)&lt;/li&gt;
&lt;li&gt;ラジオ日本(JORF)&lt;/li&gt;
&lt;li&gt;BAYFM78(BAYFM78)&lt;/li&gt;
&lt;li&gt;NACK5(NACK5)&lt;/li&gt;
&lt;li&gt;ＦＭヨコハマ(YFM)&lt;/li&gt;
&lt;li&gt;LuckyFM 茨城放送(IBS)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（東京）(JOAK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;神奈川県(14)
 &lt;div id="神奈川県14" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%a5%9e%e5%a5%88%e5%b7%9d%e7%9c%8c14" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;TBSラジオ(TBS)&lt;/li&gt;
&lt;li&gt;文化放送(QRR)&lt;/li&gt;
&lt;li&gt;ニッポン放送(LFR)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;interfm(INT)&lt;/li&gt;
&lt;li&gt;TOKYO FM(FMT)&lt;/li&gt;
&lt;li&gt;J-WAVE(FMJ)&lt;/li&gt;
&lt;li&gt;ラジオ日本(JORF)&lt;/li&gt;
&lt;li&gt;BAYFM78(BAYFM78)&lt;/li&gt;
&lt;li&gt;NACK5(NACK5)&lt;/li&gt;
&lt;li&gt;ＦＭヨコハマ(YFM)&lt;/li&gt;
&lt;li&gt;LuckyFM 茨城放送(IBS)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（東京）(JOAK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;新潟県(15)
 &lt;div id="新潟県15" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%96%b0%e6%bd%9f%e7%9c%8c15" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ＢＳＮラジオ(BSN)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;FM NIIGATA(FMNIIGATA)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（東京）(JOAK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;富山県(16)
 &lt;div id="富山県16" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%af%8c%e5%b1%b1%e7%9c%8c16" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ＫＮＢラジオ(KNB)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;ＦＭとやま(FMTOYAMA)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（名古屋）(JOCK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;石川県(17)
 &lt;div id="石川県17" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%9f%b3%e5%b7%9d%e7%9c%8c17" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;MROラジオ(MRO)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;エフエム石川(HELLOFIVE)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（名古屋）(JOCK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;福井県(18)
 &lt;div id="福井県18" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%a6%8f%e4%ba%95%e7%9c%8c18" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;FBCラジオ(FBC)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;FM福井(FMFUKUI)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（名古屋）(JOCK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;山梨県(19)
 &lt;div id="山梨県19" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%b1%b1%e6%a2%a8%e7%9c%8c19" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ＹＢＳラジオ(YBS)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;FM FUJI(FM-FUJI)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（東京）(JOAK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;長野県(20)
 &lt;div id="長野県20" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%95%b7%e9%87%8e%e7%9c%8c20" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;SBCラジオ(SBC)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;ＦＭ長野(FMN)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（東京）(JOAK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;岐阜県(21)
 &lt;div id="岐阜県21" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%b2%90%e9%98%9c%e7%9c%8c21" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;CBCラジオ(CBC)&lt;/li&gt;
&lt;li&gt;TOKAI RADIO(TOKAIRADIO)&lt;/li&gt;
&lt;li&gt;ぎふチャン(GBS)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;ZIP-FM(ZIP-FM)&lt;/li&gt;
&lt;li&gt;ＦＭ ＧＩＦＵ(FMGIFU)&lt;/li&gt;
&lt;li&gt;FM AICHI(FMAICHI)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（名古屋）(JOCK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;静岡県(22)
 &lt;div id="静岡県22" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%9d%99%e5%b2%a1%e7%9c%8c22" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;SBSラジオ(SBS)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;K-MIX(K-MIX)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（名古屋）(JOCK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;愛知県(23)
 &lt;div id="愛知県23" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%84%9b%e7%9f%a5%e7%9c%8c23" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;CBCラジオ(CBC)&lt;/li&gt;
&lt;li&gt;TOKAI RADIO(TOKAIRADIO)&lt;/li&gt;
&lt;li&gt;ぎふチャン(GBS)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;ZIP-FM(ZIP-FM)&lt;/li&gt;
&lt;li&gt;FM AICHI(FMAICHI)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（名古屋）(JOCK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;三重県(24)
 &lt;div id="三重県24" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e4%b8%89%e9%87%8d%e7%9c%8c24" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;CBCラジオ(CBC)&lt;/li&gt;
&lt;li&gt;TOKAI RADIO(TOKAIRADIO)&lt;/li&gt;
&lt;li&gt;ぎふチャン(GBS)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;ZIP-FM(ZIP-FM)&lt;/li&gt;
&lt;li&gt;レディオキューブ ＦＭ三重(FMMIE)&lt;/li&gt;
&lt;li&gt;FM AICHI(FMAICHI)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（名古屋）(JOCK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;滋賀県(25)
 &lt;div id="滋賀県25" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%bb%8b%e8%b3%80%e7%9c%8c25" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ABCラジオ(ABC)&lt;/li&gt;
&lt;li&gt;MBSラジオ(MBS)&lt;/li&gt;
&lt;li&gt;OBCラジオ大阪(OBC)&lt;/li&gt;
&lt;li&gt;FM COCOLO(CCL)&lt;/li&gt;
&lt;li&gt;FM802(802)&lt;/li&gt;
&lt;li&gt;FM大阪(FMO)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;KBS京都ラジオ(KBS)&lt;/li&gt;
&lt;li&gt;Kiss FM KOBE(KISSFMKOBE)&lt;/li&gt;
&lt;li&gt;e-radio FM滋賀(E-RADIO)&lt;/li&gt;
&lt;li&gt;ラジオ関西(CRK)&lt;/li&gt;
&lt;li&gt;α-STATION FM KYOTO(ALPHA-STATION)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（大阪）(JOBK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;京都府(26)
 &lt;div id="京都府26" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e4%ba%ac%e9%83%bd%e5%ba%9c26" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ABCラジオ(ABC)&lt;/li&gt;
&lt;li&gt;MBSラジオ(MBS)&lt;/li&gt;
&lt;li&gt;OBCラジオ大阪(OBC)&lt;/li&gt;
&lt;li&gt;FM COCOLO(CCL)&lt;/li&gt;
&lt;li&gt;FM802(802)&lt;/li&gt;
&lt;li&gt;FM大阪(FMO)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;KBS京都ラジオ(KBS)&lt;/li&gt;
&lt;li&gt;Kiss FM KOBE(KISSFMKOBE)&lt;/li&gt;
&lt;li&gt;α-STATION FM KYOTO(ALPHA-STATION)&lt;/li&gt;
&lt;li&gt;ラジオ関西(CRK)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（大阪）(JOBK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;大阪府(27)
 &lt;div id="大阪府27" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%a4%a7%e9%98%aa%e5%ba%9c27" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ABCラジオ(ABC)&lt;/li&gt;
&lt;li&gt;MBSラジオ(MBS)&lt;/li&gt;
&lt;li&gt;OBCラジオ大阪(OBC)&lt;/li&gt;
&lt;li&gt;FM COCOLO(CCL)&lt;/li&gt;
&lt;li&gt;FM802(802)&lt;/li&gt;
&lt;li&gt;FM大阪(FMO)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;Kiss FM KOBE(KISSFMKOBE)&lt;/li&gt;
&lt;li&gt;ラジオ関西(CRK)&lt;/li&gt;
&lt;li&gt;KBS京都ラジオ(KBS)&lt;/li&gt;
&lt;li&gt;α-STATION FM KYOTO(ALPHA-STATION)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（大阪）(JOBK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;兵庫県(28)
 &lt;div id="兵庫県28" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%85%b5%e5%ba%ab%e7%9c%8c28" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ABCラジオ(ABC)&lt;/li&gt;
&lt;li&gt;MBSラジオ(MBS)&lt;/li&gt;
&lt;li&gt;OBCラジオ大阪(OBC)&lt;/li&gt;
&lt;li&gt;FM COCOLO(CCL)&lt;/li&gt;
&lt;li&gt;FM802(802)&lt;/li&gt;
&lt;li&gt;FM大阪(FMO)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;ラジオ関西(CRK)&lt;/li&gt;
&lt;li&gt;Kiss FM KOBE(KISSFMKOBE)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（大阪）(JOBK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;奈良県(29)
 &lt;div id="奈良県29" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%a5%88%e8%89%af%e7%9c%8c29" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ABCラジオ(ABC)&lt;/li&gt;
&lt;li&gt;MBSラジオ(MBS)&lt;/li&gt;
&lt;li&gt;OBCラジオ大阪(OBC)&lt;/li&gt;
&lt;li&gt;FM COCOLO(CCL)&lt;/li&gt;
&lt;li&gt;FM802(802)&lt;/li&gt;
&lt;li&gt;FM大阪(FMO)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;Kiss FM KOBE(KISSFMKOBE)&lt;/li&gt;
&lt;li&gt;ラジオ関西(CRK)&lt;/li&gt;
&lt;li&gt;α-STATION FM KYOTO(ALPHA-STATION)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（大阪）(JOBK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;和歌山県(30)
 &lt;div id="和歌山県30" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%92%8c%e6%ad%8c%e5%b1%b1%e7%9c%8c30" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ABCラジオ(ABC)&lt;/li&gt;
&lt;li&gt;MBSラジオ(MBS)&lt;/li&gt;
&lt;li&gt;OBCラジオ大阪(OBC)&lt;/li&gt;
&lt;li&gt;FM COCOLO(CCL)&lt;/li&gt;
&lt;li&gt;FM802(802)&lt;/li&gt;
&lt;li&gt;FM大阪(FMO)&lt;/li&gt;
&lt;li&gt;wbs和歌山放送(WBS)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;Kiss FM KOBE(KISSFMKOBE)&lt;/li&gt;
&lt;li&gt;ラジオ関西(CRK)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（大阪）(JOBK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;鳥取県(31)
 &lt;div id="鳥取県31" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%b3%a5%e5%8f%96%e7%9c%8c31" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;BSSラジオ(BSS)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;エフエム山陰(FM-SANIN)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（広島）(JOFK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;島根県(32)
 &lt;div id="島根県32" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%b3%b6%e6%a0%b9%e7%9c%8c32" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;BSSラジオ(BSS)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;エフエム山陰(FM-SANIN)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（広島）(JOFK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;岡山県(33)
 &lt;div id="岡山県33" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%b2%a1%e5%b1%b1%e7%9c%8c33" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ＲＳＫラジオ(RSK)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;ＦＭ岡山(FM-OKAYAMA)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（広島）(JOFK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;広島県(34)
 &lt;div id="広島県34" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%ba%83%e5%b3%b6%e7%9c%8c34" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;RCCラジオ(RCC)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;広島FM(HFM)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（広島）(JOFK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;山口県(35)
 &lt;div id="山口県35" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%b1%b1%e5%8f%a3%e7%9c%8c35" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ＫＲＹ山口放送(KRY)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;エフエム山口(FMY)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（広島）(JOFK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;徳島県(36)
 &lt;div id="徳島県36" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%be%b3%e5%b3%b6%e7%9c%8c36" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ＪＲＴ四国放送(JRT)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;FM徳島(FM807)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（松山）(JOZK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;香川県(37)
 &lt;div id="香川県37" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%a6%99%e5%b7%9d%e7%9c%8c37" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;RNC西日本放送(RNC)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;エフエム香川(FMKAGAWA)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（松山）(JOZK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;愛媛県(38)
 &lt;div id="愛媛県38" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%84%9b%e5%aa%9b%e7%9c%8c38" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;RNB南海放送(RNB)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;FM愛媛(JOEU-FM)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（松山）(JOZK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;高知県(39)
 &lt;div id="高知県39" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%ab%98%e7%9f%a5%e7%9c%8c39" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;RKC高知放送(RKC)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;エフエム高知(HI-SIX)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（松山）(JOZK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;福岡県(40)
 &lt;div id="福岡県40" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%a6%8f%e5%b2%a1%e7%9c%8c40" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;RKBラジオ(RKB)&lt;/li&gt;
&lt;li&gt;KBCラジオ(KBC)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;LOVE FM(LOVEFM)&lt;/li&gt;
&lt;li&gt;CROSS FM(CROSSFM)&lt;/li&gt;
&lt;li&gt;FM FUKUOKA(FMFUKUOKA)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（福岡）(JOLK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;佐賀県(41)
 &lt;div id="佐賀県41" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e4%bd%90%e8%b3%80%e7%9c%8c41" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;エフエム佐賀(FMS)&lt;/li&gt;
&lt;li&gt;NBCラジオ(NBC)&lt;/li&gt;
&lt;li&gt;RKBラジオ(RKB)&lt;/li&gt;
&lt;li&gt;KBCラジオ(KBC)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（福岡）(JOLK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;長崎県(42)
 &lt;div id="長崎県42" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%95%b7%e5%b4%8e%e7%9c%8c42" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;NBCラジオ(NBC)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;FM長崎(FMNAGASAKI)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（福岡）(JOLK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;熊本県(43)
 &lt;div id="熊本県43" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%86%8a%e6%9c%ac%e7%9c%8c43" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;RKKラジオ(RKK)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;FMKエフエム熊本(FMK)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（福岡）(JOLK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;大分県(44)
 &lt;div id="大分県44" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%a4%a7%e5%88%86%e7%9c%8c44" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;OBSラジオ(OBS)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;エフエム大分(FM_OITA)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（福岡）(JOLK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;宮崎県(45)
 &lt;div id="宮崎県45" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%ae%ae%e5%b4%8e%e7%9c%8c45" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;宮崎放送(MRT)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;エフエム宮崎(JOYFM)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（福岡）(JOLK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;鹿児島県(46)
 &lt;div id="鹿児島県46" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%b9%bf%e5%85%90%e5%b3%b6%e7%9c%8c46" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ＭＢＣラジオ(MBC)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;μＦＭ(MYUFM)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（福岡）(JOLK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;沖縄県(47)
 &lt;div id="沖縄県47" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%b2%96%e7%b8%84%e7%9c%8c47" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;RBCiラジオ(RBC)&lt;/li&gt;
&lt;li&gt;ラジオ沖縄(ROK)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第1(RN1)&lt;/li&gt;
&lt;li&gt;ラジオNIKKEI第2(RN2)&lt;/li&gt;
&lt;li&gt;FM沖縄(FM_OKINAWA)&lt;/li&gt;
&lt;li&gt;オーディオ高校野球(ABCR-KOSHIEN)&lt;/li&gt;
&lt;li&gt;NHKラジオ第1（福岡）(JOLK)&lt;/li&gt;
&lt;li&gt;NHK-FM（東京）(JOAK-FM)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Kindleの蔵書一覧を生成するRubyスクリプト</title><link>https://namaraii.com/posts/booklist_kindle/</link><pubDate>Thu, 08 May 2025 14:00:51 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/booklist_kindle/</guid><description>&lt;p&gt;MacにインストールされているKindleアプリのデータから蔵書一覧を生成&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="codeblock-title"&gt;kindle_books_mac.rb&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ruby" data-lang="ruby"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;rexml/document&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;date&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;csv&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Kindle for Mac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="no"&gt;KINDLE_XML&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="no"&gt;ENV&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;HOME&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/Library/Containers/com.amazon.Kindle/Data/Library/Application Support/Kindle/Cache/KindleSyncMetadataCache.xml&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;doc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;REXML&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Document&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;File&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;KINDLE_XML&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;csv&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;CSV&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;force_quotes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kp"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;doc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;elements&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;each&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;//response/add_update_list/meta_data&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;csv&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;elements&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ASIN&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;elements&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;elements&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;authors&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;elements&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;publishers&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;elements&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;publication_date&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;elements&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;purchase_date&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;].&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>話した内容をテキスト化しTextwellへ追記するショートカット</title><link>https://namaraii.com/posts/20250327-voice-to-textwell-shortcut/</link><pubDate>Thu, 27 Mar 2025 10:06:02 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/20250327-voice-to-textwell-shortcut/</guid><description>&lt;div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info"&gt;
 &lt;div class="flex items-center gap-2 font-semibold text-inherit"&gt;
 &lt;div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"&gt;&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;
&lt;/span&gt;&lt;/div&gt;
 &lt;div class="grow"&gt;
 このエントリは生成AIで書いたものです
 &lt;/div&gt;
 &lt;/div&gt;&lt;div class="admonition-content mt-3 text-base leading-relaxed text-inherit"&gt;&lt;p&gt;&lt;a href="https://namaraii.com/posts/20250327-voice-to-textwell-shortcut/#%e3%82%aa%e3%83%aa%e3%82%b8%e3%83%8a%e3%83%ab%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88" &gt;このテキスト&lt;/a&gt;をClaudeでブログ用にリライトしてくださいと指示しました。&lt;/p&gt;
&lt;p&gt;「月に数百件のメモが溜まる」「入力速度はキーボード入力と比較して約3倍に」など書いてないこともシレッと入れてくるので､書き手としても読み手としても注意が必要です😅&lt;/p&gt;
&lt;p&gt;これとは別に､音声入力したテキストをClaudeに投げて構造化､Markdown化するショートカットも作っていますが､テキスト化に時間がかかり､気軽にメモをする感じではないので用途によって使い分けしています。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h1 class="relative group"&gt;iPhoneの音声入力を劇的に効率化する自作ショートカット
 &lt;div id="iphoneの音声入力を劇的に効率化する自作ショートカット" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#iphone%e3%81%ae%e9%9f%b3%e5%a3%b0%e5%85%a5%e5%8a%9b%e3%82%92%e5%8a%87%e7%9a%84%e3%81%ab%e5%8a%b9%e7%8e%87%e5%8c%96%e3%81%99%e3%82%8b%e8%87%aa%e4%bd%9c%e3%82%b7%e3%83%a7%e3%83%bc%e3%83%88%e3%82%ab%e3%83%83%e3%83%88" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;スマートフォンでの文字入力に悩まされていませんか？&lt;/p&gt;</description></item><item><title>syslogのメッセージ重大度</title><link>https://namaraii.com/posts/syslog-message-severities/</link><pubDate>Thu, 27 Mar 2025 06:56:27 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/syslog-message-severities/</guid><description>&lt;p&gt;&lt;a href="https://datatracker.ietf.org/doc/html/rfc5424#section-6.2.1" target="_blank" rel="noreferrer"&gt;RFC 5424 - The Syslog Protocol&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Level&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;debug&lt;/td&gt;
 &lt;td&gt;詳細なデバッグ情報&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;info&lt;/td&gt;
 &lt;td&gt;一般的な情報メッセージ&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;notice&lt;/td&gt;
 &lt;td&gt;正常だが重要なイベント&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;warning&lt;/td&gt;
 &lt;td&gt;警告条件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;error&lt;/td&gt;
 &lt;td&gt;エラー条件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;critical&lt;/td&gt;
 &lt;td&gt;危機的な状況&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;alert&lt;/td&gt;
 &lt;td&gt;直ちに行動を起こさなければならない&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;emergency&lt;/td&gt;
 &lt;td&gt;システムが使用できない&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>PopClip for Macのエクステンション・スニペット</title><link>https://namaraii.com/posts/popclip-snippet/</link><pubDate>Sat, 22 Mar 2025 21:03:54 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/popclip-snippet/</guid><description>&lt;h1 class="relative group"&gt;スニペット
 &lt;div id="スニペット" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%82%b9%e3%83%8b%e3%83%9a%e3%83%83%e3%83%88" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;Mac用のツール&lt;a href="https://www.popclip.app/" target="_blank" rel="noreferrer"&gt;PopClip for Mac&lt;/a&gt;の自作スニペット。スニペット全体を選択すればPopClipのメニューからインストールできる。&lt;/p&gt;
&lt;p&gt;アイコンの指定方法は&lt;a href="https://www.popclip.app/dev/icons#icons" target="_blank" rel="noreferrer"&gt;Icons — PopClip Developer&lt;/a&gt;にある。&lt;/p&gt;

&lt;h2 class="relative group"&gt;物書堂の辞書を検索する
 &lt;div id="物書堂の辞書を検索する" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%89%a9%e6%9b%b8%e5%a0%82%e3%81%ae%e8%be%9e%e6%9b%b8%e3%82%92%e6%a4%9c%e7%b4%a2%e3%81%99%e3%82%8b" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;#popclip&lt;/span&gt; &lt;span class="err"&gt;extension&lt;/span&gt; &lt;span class="err"&gt;to&lt;/span&gt; &lt;span class="err"&gt;search&lt;/span&gt; &lt;span class="err"&gt;MkDictionaries&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;name:&lt;/span&gt; &lt;span class="err"&gt;MkDictionaries&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;icon:&lt;/span&gt; &lt;span class="err"&gt;square&lt;/span&gt; &lt;span class="err"&gt;filled&lt;/span&gt; &lt;span class="err"&gt;物&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;url:&lt;/span&gt; &lt;span class="err"&gt;mkdictionaries:///?text=***&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 class="relative group"&gt;Googleのカスタム検索
 &lt;div id="googleのカスタム検索" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#google%e3%81%ae%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e6%a4%9c%e7%b4%a2" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;検索エンジンID&lt;/code&gt;は定義したカスタム検索のIDを指定する
&lt;a href="https://programmablesearchengine.google.com/controlpanel/all" target="_blank" rel="noreferrer"&gt;Programmable Search - すべての検索エンジン&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;#popclip&lt;/span&gt; &lt;span class="err"&gt;extension&lt;/span&gt; &lt;span class="err"&gt;to&lt;/span&gt; &lt;span class="err"&gt;Googleカスタム検索&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;name:&lt;/span&gt; &lt;span class="err"&gt;Googleカスタム検索&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;icon:&lt;/span&gt; &lt;span class="err"&gt;circle&lt;/span&gt; &lt;span class="err"&gt;filled&lt;/span&gt; &lt;span class="err"&gt;G&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;url:&lt;/span&gt; &lt;span class="err"&gt;https://cse.google.com/cse?cx=検索エンジンID#gsc.tab=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="err"&gt;&amp;amp;gsc.q=***&amp;amp;gsc.sort=&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 class="relative group"&gt;エクステンション
 &lt;div id="エクステンション" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%82%a8%e3%82%af%e3%82%b9%e3%83%86%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%b3" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;

&lt;h2 class="relative group"&gt;全角→半角変換
 &lt;div id="全角半角変換" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%85%a8%e8%a7%92%e5%8d%8a%e8%a7%92%e5%a4%89%e6%8f%9b" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;選択文字列中の全角英数字・記号・カナを半角に変換する。たまにある半角文字しか受け付けないサイトなどで使う。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/htakeuchi/PopClip-Extensions/tree/main/ZenHan.popclipext" target="_blank" rel="noreferrer"&gt;PopClip-Extensions/ZenHan.popclipext at main · htakeuchi/PopClip-Extensions&lt;/a&gt;&lt;/p&gt;

&lt;h2 class="relative group"&gt;半角→全角変換
 &lt;div id="半角全角変換" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%8d%8a%e8%a7%92%e5%85%a8%e8%a7%92%e5%a4%89%e6%8f%9b" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;選択文字列中の半角英数字・記号・カナを全角に変換する。ついでなので逆変換もつくった。&lt;/p&gt;</description></item></channel></rss>