f. 統計言語R
December 22, 2025
December 20, 2025
地域や政党のクラスタリング(参院選2025年福岡のデータの対応分析に基づく)

国民民主党の位置が興味深い。投票数のパターンからは、対応分析のグラフにおいて第1軸の原点よりも右に位置し、「フリンジ政党」の仲間になっている。それらの政党は、政権獲得はせずとも、僅差の選挙で「キングメーカー」になったり、その主張が主流派に取り入れられたりすることで政治に影響を与える可能性がある。
→ ★データで探る福岡の選挙動向:メモの整理
December 18, 2025
December 16, 2025
[資料]参院選2025年データ(政党得票数と候補者得票数、政党の得票数と相対得票率)
ファイル名に含まれる「PC」はパーソナル・コンピュータではなく、Pは政党(party)を、Cは候補者(Candidate)を意味する。
(1) data_PC.csv
data_PC[,1:4]

colnames(data_PC)
(2) data_parties.csv
data_parties[,1:4]

colnames(data_parties)
→ ★データで探る福岡の選挙動向:メモの整理
December 14, 2025
衆院選2024年福岡11区の政党と候補者の対応分析
市町村別の政党得票数(比例代表)と市町村別の候補者得票数(選挙区)とを結合して対応分析をおこなった。 市町村別の政党得票数と候補者得票数データから、政党、候補者、地域の三者間の関係性を可視化することを目的としている。 グラフ上で政党とその候補者がどの程度離れているか、どの地域がどの政党や候補者に引っ張られているか(正確には、「その地域において、その候補者の得票率が全体の平均と比べて相対的に高いか」)などに注目することができる。
村上候補のポイントに苅田町や行橋市が引きつけられ、さらに、出口調査で報道されていたことと一致することだが、日本維新の会支持者だけでなく社会民主党や参政党、国民民主党の支持者も引きつけられている様子が見てとれる。
武田候補の周囲を添田町、香春町、赤村が囲んでいる。しかし、興味深いことに、自民党の位置から遠く離れた位置にある。自民党は別の象限に位置している。
社会民主党の志岐候補に田川市は引き寄せられているが、志岐氏と社会民主党の距離よりも志岐氏とれいわ新選組との距離の方がグラフ上で近い位置に描かれている。
対応分析のグラフから読み取れる政党とそのその政党の候補者の位置の隔たりは、上記のCOR(候補者超過達成比率)の値と関連しているはずである(MurakamiとJIP、TakedaとLDP、ShikiとSDP)。→ 候補者がどれだけ政党の基盤票を超えて幅広い有権者の票を包含できたか(2024年衆院選福岡11区)

[分析に用いたデータと略号について]

重要キーワード解説:福岡11区の事例から
はじめに:選挙の「なぜ?」を解き明かす道具
衆議院選挙福岡11区の分析を例として、選挙結果の裏側にある「なぜ?」を深く理解するための重要なキーワードを解説します。一見すると単なる数字の羅列に見える選挙データも、統計分析という道具を使うことで、有権者の動向や候補者と政党の関係性をいきいきと可視化することができます。この解説を通じて、データから選挙を読み解く面白さを体験していきましょう。
--------------------------------------------------------------------------------1. 選挙の基本:2つの投票方法
衆議院選挙では、有権者は基本的に2つの票を投じます。これが「選挙区」と「比例代表」です。それぞれの仕組みを理解することが、分析の第一歩となります。
1.1. 選挙区制度:地域を代表する「一人」を選ぶ
選挙区制度とは、全国を細かく分けた選挙区ごとに、一人の代表者を選ぶ方法です。分析資料にある「市町村別の候補者得票数(選挙区)」というデータがこれにあたります。有権者は、自分の住む地域の代表になってほしい「候補者」個人の名前を書いて投票します。
1.2. 比例代表制度:支持する「政党」を選ぶ
比例代表制度は、有権者が支持する「政党」の名前を書いて投票する方法です。分析資料の「市町村別の政党得票数(比例代表)」というデータがこれを示します。全国(またはブロックごと)で各政党が集めた票の数に応じて、議席が配分されます。
1.3. 2つの制度の比較
この2つの制度の最も重要な違いは、投票の対象です。
投票の対象 説明選挙区 候補者個人比例代表 政党--------------------------------------------------------------------------------
ここまでで選挙の基本的な仕組みをとりあげました。次に、これらの投票データがどのように分析され、有権者の隠れた投票行動を明らかにするのかを見ていきましょう。
2. 対応分析:データに隠された「関係性」を可視化する
ここでの選挙分析では、複雑なデータを直感的に理解するために「対応分析」という統計手法が用いられます。
2.1. 対応分析とは何か?
対応分析の目的は、「政党、候補者、地域の三者間の関係性を可視化すること」です。難しい数式を追うのではなく、市町村ごとの選挙区(候補者)と比例代表(政党)の得票データを使い、それぞれの関係性を一枚の「地図」のようにグラフ上に描き出します。このグラフを見ることで、どの要素が互いに「近い」関係にあり、どの要素が「遠い」関係にあるのかを一目で把握できます。
2.2. 対応分析で何がわかるのか?
この分析グラフからは、主に以下の3つのような重要な関係性を読み取ることができます。
政党と候補者の「距離感」 グラフ上での位置関係は、所属政党と候補者の支持基盤の重なり具合を示します。例えば、福岡11区の分析では、武田候補が所属する自民党から「遠く離れた位置にある」ことが示されました。これは、候補者が政党の基本的な支持層とは異なる層から票を得ている可能性を示唆します。
候補者と地域の「引力」 特定の候補者と地域の位置が近い場合、その地域でその候補者が特に強い支持を得ていることを意味します。分析例では、村上候補のポイントに「苅田町や行橋市が引きつけられ」ている様子が描かれており、これらの地域が村上候補の強力な地盤であることがわかります。
候補者と他党支持者の関係 党派を超えた支持の広がりも可視化されます。村上候補は、日本維新の会だけでなく「社会民主党や参政党、国民民主党の支持者も引きつけられている」ことが示されました。また、社会民主党の志岐候補は、自身の所属政党よりも「れいわ新選組との距離の方がグラフ上で近い位置に描かれている」ことが指摘されており、候補者個人の思想や魅力が、所属政党の枠を超えて支持を集めている様子が読み取れます。
このように、グラフ上の「位置」と「距離」を読み解くことで、地盤の強さ、党との一体性、そして無党派層への浸透度といった、候補者ごとの選挙戦の「質」の違いを浮き彫りにすることができるのです。
--------------------------------------------------------------------------------このようにグラフ上の「距離」は、候補者と政党、そして有権者の関係性を直感的に示してくれます。では、この「距離」を数値で評価する指標が次に解説するCORです。
3. 候補者超過達成比率(COR):候補者の「個の力」を測る指標
対応分析で視覚的に捉えた関係性を、より具体的に数値で評価するのが「候補者超過達成比率(COR)」です。
CORとは、「候補者がどれだけ政党の基盤票を超えて幅広い有権者の票を包含できたか」を示す指標です。つまり、その候補者が「比例代表」で示される党の基礎支持層に安住せず、自らの魅力でどれだけ多くの「選挙区」票を上乗せできたか、その「個の力」を数値化したものです。
3.2. CORと対応分析の関係
CORの値は、対応分析グラフにおける政党と候補者の距離と強く相関します。グラフ上で所属政党から遠い位置にいる候補者ほど、政党の枠を超えて支持を集めていることを意味し、CORの値も高くなる傾向があります。(ただし、政党と候補者との距離が遠いことは、CORが低いことと結びついていることもありうる。 → 政党と候補者との距離が、高いCOR値と結びついていたのが衆院選2024年福岡県11区の場合である。)
--------------------------------------------------------------------------------まとめ:キーワードを繋げて選挙を深く読む
本稿で解説した4つのキーワードを繋げることで、選挙結果を立体的に理解できます。
有権者は「選挙区」で候補者個人に、「比例代表」で政党に投票します。
この2種類の投票データを使い「対応分析」を行うと、候補者・政党・地域の関係性が地図のように可視化されます。
そのグラフ上の「政党と候補者の距離」は、候補者個人の集票力を示す「COR」という数値指標と連動しています。
これらのキーワードを使いこなすことで、私たちは選挙結果の裏に隠された有権者の選択の「なぜ」を、データに基づいて解き明かすことができるのです。
→ ★データで探る福岡の選挙動向:メモの整理
December 13, 2025
対応分析(参院選2025年福岡)の分析資料及びメモ(その2)
福岡県の参院選2025年の結果について、地域、政党、候補者のデータを用いて行った対応分析
→ 対応分析(参院選2025年福岡)の分析資料及びメモ(その1)
1. 分析用データ
市町村別(municipality)の各政党(party)の得票数の表と市町村別の各候補(candidate)の得票数の表を横に結合したものである。行(row)に市町村、列(column)に政党と候補者がきている。2次元データの結合であり、3次元のデータではない。


2. 作成されたグラフ等
「coord_fixed(ratio = 1)」として設定した場合
2.1 当選可能性との関係
第1軸座標と得票率との関係を見ると、第1軸座標が負である自民党や自民党候補の得票率が最も高いことが確認できる。 非都市部における伝統的政党の集票力が依然として選挙結果を左右する重要な要素であることが示されている。 得票率がそれに続くのが参政党候補と参政党であるが、座標値は負ではなく正である。
第2軸座標でも、自民党、自民党候補、参政党候補が高い得票率を示している。自民党及び自民党候補の座標値は極めて低い。参政党候補の参政党の座標値はゼロの近い。
2.2 第1軸の解釈について
以下は地域と候補者得票数を対応分析した場合のグラフである。
地域番号10:福岡市中央区、地域番号9:福岡市博多区、地域番号11:福岡市南区、地域番号8:福岡市東区、地域番号15:大牟田市、 地域番号20:柳川市、地域番号37:嘉麻市、地域番号21:八女市
軸への寄与度が大きい地域が、正の側では福岡市中央区、福岡市博多区、福岡市南区等であり、負の側では、大牟田市、柳川市、嘉麻市、八女市等であることを読み取ることができる。同じことが、地域の政党支持と候補者支持とをまとめて対応分析した場合の軸の解釈にも通用するとみられるので、同じように「都市度」と解釈することにする。
2.3 第2軸の解釈について
地域と候補者得票数を対応分析した場合には、第2軸を「支持基盤の『質的』差異」と解釈した(以下のグラフを参照)。これが、候補者と政党の両方を同時に位置づける対応分析の場合には、そのことが、両軸軸上で候補者と政党との距離という形で可視化される。
3. 市町村と政党のクラスタリング
4. 検討用メモ
1. 【越境型】 党の枠を超えて支持を広げている候補
所属政党の支持層(地盤)とは異なる層からも票を得ている、あるいは「党の平均的な支持層」とは異なる地域で強い候補です。
NOD候補(立憲民主党)
データの特徴: 立憲民主党の候補でありながら、データ上の位置は「自由民主党」に極めて近い(立憲本体よりも自民に近い)。
分析: これはこのデータの中で最も特異な動きです。NOD候補は、立憲民主党の公認でありながら、実態としては「保守層(自民党支持層)」や「無党派層」から大量に集票している可能性があります。「保守本流に近い立憲」あるいは「自民党に不満を持つ保守票の受け皿」として機能していることが示唆されます。
2. 【競合型】 支持基盤が激しく被っている候補
所属政党は違いますが、データ上(地域ごとの得票傾向)で「支持層がほぼ同じ」になっているグループです。
MOR候補(日本保守党) と KWM候補(国民民主党)
データの特徴: MOR候補(日本保守党)は、データ分析上「国民民主党」と非常に近い位置にいました。
分析: 「日本保守党」と「国民民主党」は、この地域において支持基盤がバッティング(競合)しています。どちらも「自民党ではないが、左派でもない」という層を取り合っており、MOR候補とKWM候補は同じパイを奪い合っているライバル関係にあると言えます。
ITO候補(日本維新の会) もこのグループに近く、いわゆる「第三極」の票がこの3人に分散している構図です。
3. 【直結型】 党の組織力と完全に一体化している候補
「党の勢い=候補の勢い」となっており、党の支持基盤を忠実に固めているグループです。
NKD候補(参政党)
データの特徴: 参政党との距離がほぼゼロ。
分析: 参政党の組織票や熱心な支持層が、そのままNKD候補に流れています。他党への広がりは少ない代わりに、党の支持者は逃していません。
SHM候補(公明党) & YMG候補(日本共産党)
分析: これらも組織政党らしく、党のプロット位置と候補者の位置が強くリンクしている典型的なパターンです。
MTS候補(自由民主党)
分析: 自民党の中心位置に近く、標準的な自民党候補としての得票パターンを示しています。(ただし、同じ自民党票の一部を立憲のNOD候補に食われている可能性があります)。
NAS候補(社民党) & OKS候補(れいわ)
これらは、正確な表現ではありませんが、いわゆる「左派」ブロックとして、NOD候補(立憲)とは異なる独自の位置にプロットされています。
[参考]
以下は、政党得票率とCOR(候補者超過達成比率)の関係を野田候補、川元候補、中田候補について示したものである。
立憲民主党野田氏のCORがきわめて高い地域があり、分散が大きい。参政党中田氏の政党得票率とCORとの関係はほとんど存在しない。
国民民主党川元氏のCORは、政党得票率が相対的に低い地域で1以下となっているケースが多い。

4. 「重心の原理」あるいは遷移公式
行(地域)と列(変数)を同じ平面で近接性を調べることに問題はないか? これについては、統計学の理論上、少し慎重な解釈が必要です。 厳密な話(理論): 数学的には、行(地域)と列(政党・候補者)は「異なる空間」に存在するため、「地域Aと政党Bの間の距離」は定義されていません(計算できません)。定義されているのは「地域同士の距離」、「政党同士の距離」、「候補者同士の距離」だけです。
実用的な話(解釈): しかし、対応分析では「重心の原理」という特別なルールを使って、この異なる空間を数学的な変換を行って重ね合わせて表示しています。 これにより、「関連が強いもの同士は近くに表示される」 という視覚的な関係性が保証されます。 したがって、「近接性について調べる(近いから関係が深いと判断する)」ことに問題はありません。 それが対応分析の最大の目的だからです。この「重心の原理」を数学的に裏付けているのが「遷移公式」です。
遷移公式:相互に引っ張り合って位置が決まる
遷移公式は、以下の2つのルールがセットになっています。
ルールA: 「ある地域の位置」は、そこで票を取った候補者たちの位置の平均(重心)で決まる。
ルールB: 「ある候補者の位置」は、その人が票を取った地域たちの位置の平均(重心)で決まる。
この「卵が先か、鶏が先か」のような、お互いの位置がお互いの平均(重心)になっている関係式のことを「遷移公式」と呼びます。
→ ★データで探る福岡の選挙動向:メモの整理
October 31, 2025
「高齢層と若者」というとらえ方の問題点を示唆するグラフ
このRidgeline Plotは、実際のデータではなく、シミュレーションによるもの。
```{r}
# ----------------------------------------------------
# 1. 必要なパッケージのインストールと読み込み
# ggridgesパッケージは、分布を重ねて表示するリッジラインプロットに必要です。
# ----------------------------------------------------
# install.packages(c("ggplot2", "ggridges", "dplyr")) # 必要に応じてコメントを外して実行
library(ggplot2)
library(ggridges)
library(dplyr)
# ----------------------------------------------------
# 2. 所得分布のシミュレーションデータ生成
# (単位: 万円/年)
# ----------------------------------------------------
# 現役世代: 20代
# 所得平均は中程度だが、バラツキはやや小さめ
set.seed(42)
income_20s <- data.frame(
Generation = factor("現役世代 (20代)", levels = c("現役世代 (20代)", "現役世代 (40代)", "高齢層 (70代)")),
Income_Millions = round(rnorm(n = 500, mean = 3.5, sd = 1.0), 1)
)
# 現役世代: 40代
# 所得平均は最も高いが、格差も存在
income_40s <- data.frame(
Generation = factor("現役世代 (40代)", levels = c("現役世代 (20代)", "現役世代 (40代)", "高齢層 (70代)")),
Income_Millions = round(rnorm(n = 500, mean = 6.0, sd = 2.0), 1)
)
# 高齢層: 70代
# 所得平均は低いが、資産家(高所得)も多く、最もバラツキが大きい
# (平均3.0の年金層と、平均8.0の資産家層を混合)
income_70s_low <- rnorm(n = 400, mean = 3.0, sd = 1.0)
income_70s_high <- rnorm(n = 100, mean = 8.0, sd = 2.5) # 豊かな高齢層を表現
income_70s <- data.frame(
Generation = factor("高齢層 (70代)", levels = c("現役世代 (20代)", "現役世代 (40代)", "高齢層 (70代)")),
Income_Millions = round(c(income_70s_low, income_70s_high), 1)
)
# 全データを結合
simulated_data <- bind_rows(income_20s, income_40s, income_70s) %>%
# マイナスの所得をクリッピング(現実的な範囲に収める)
filter(Income_Millions > 0)
# ----------------------------------------------------
# 3. リッジラインプロットの作成 (世代内のグラデーションを表現)
# ----------------------------------------------------
ggplot(simulated_data, aes(x = Income_Millions, y = Generation, fill = Generation)) +
# リッジラインプロットの描画
geom_density_ridges(
alpha = 0.7, # 透明度
scale = 3, # 世代間の重なりの度合い (大きくすると分布の山が大きくなる)
rel_min_height = 0.01 # 非常に小さな密度値の表示を省略
) +
# ラベルとタイトルの設定
labs(
title = "世代別の所得分布のシミュレーション",
subtitle = "「高齢層」と「現役世代」内の大きなグラデーションを示す",
x = "年収 (百万円)",
y = "世代"
) +
# X軸の調整 (所得0から上限を設定)
scale_x_continuous(
limits = c(0, 15), # 年収0万円から1500万円の範囲で表示
breaks = seq(0, 15, by = 2.5)
) +
# カラーパレットの指定 (任意)
scale_fill_manual(values = c("現役世代 (20代)" = "#1f77b4",
"現役世代 (40代)" = "#ff7f0e",
"高齢層 (70代)" = "#2ca02c")) +
# ユーザー指定のテーマ(日本語フォント対応)の適用
theme_minimal(base_family="HiraKakuProN-W3") +
# 凡例を非表示に
theme(legend.position = "none")
# ----------------------------------------------------
# 実行結果:
# グラフを見ると、高齢層(70代)の分布は幅広く、一部は40代の平均を上回る所得を持っています。
# このように、「高齢層」対「若者」ではなく、「所得」という軸で見るとグラデーションがあることが分かります。
# ----------------------------------------------------
```
October 06, 2025
毎月行われているNHKの世論調査で自民党と参政党の支持率がどう変化するかに関心を持っている。
きのうformat()という関数を使った——年月日のデータを年月だけにして表にするために。自民党の総裁選が10月4日に行われたので、10月の結果が発表されるのを待っている。なお、作成した表でNPSは「特になし」を意味する。特になし、参政党、自民党、国民民主党だけを取りあげたのは、参政党支持者がどこからやってきたのかということに関心を持っているからである。
library(tidyverse)
library(ggplot2)
df <- data.frame(
date = as.Date(c("2025-05-01", "2025-06-01", "2025-07-01", "2025-08-01", "2025-09-01")),
SAN = c(1.5,1.9,5.9,6.8,6.3),
LDP = c(26.4,31.6,24.0,29.4,27.9),
....
)
df$date<- format(df$date, "%Y-%m")
knitr::kable(df)

次の図は、福岡県選挙管理委員会のウェブサイトで公表されている参院選福岡比例代表の各政党得票数のデータから作成した相関図である。自民党と参政党の得票率の間の関係を示すものである。
October 01, 2025
消費税収と法人税収の推移(1979年以降)
この記事は、1979年度以降の日本の消費税収と法人税収の推移に焦点を当てています。記事では、財務省のデータを利用し、R言語のggplotパッケージを用いてこれらの税収の変動をグラフ化する手法が紹介されています。また、生成AIによるファクトチェックに基づいて、法人税収が景気変動に左右されやすいこと、そして消費税が1989年に安定財源として導入され、主に社会保障費に充てられているという背景を説明しています。
昭和54年度(1979年度)以降の税収の推移(税収に関する資料、財務省)
https://www.mof.go.jp/tax_policy/summary/condition/zeisyu.xls


# データの整形
df_long <- tidyr::pivot_longer(
df,
cols = c(`法人税收(億円)`,`消費税收(億円)`),
names_to = "税目",
values_to = "税収"
)
# グラフの作成
ggplot(df_long, aes(x = 年度, y = 税収, color = 税目, group = 税目)) +
geom_line(size = 1.2) +
geom_point(size = 2) +
labs(
title = "日本の消費税収と法人税収の推移(1989年度以降)",
x = "年度",
y = "税収(億円)",
color = "税目"
) +
scale_x_discrete(breaks = seq(from = 1990, to = max(df_long$年度), by = 5)) +
theme(plot.title = element_text(size = 18, face = "bold"),
axis.title = element_text(size = 14),
axis.text.x = element_text(angle = 45, hjust = 1),
legend.title = element_text(size = 12),
legend.text = element_text(size = 12))
この部分に注意:
scale_x_discrete(breaks = seq(from = 1990, to = max(df_long$年度), by = 5)) +
年度の列の西暦の前の「()」を削除するのにsubstring()関数を使い次のようにした。
w <- df$年度 df[,1] <- substring(w, 3)
生成AIによるファクトチェック
(1) 日本の法人税収は景気変動に左右されやすく、1980年代後半のバブル崩壊後には急減し たが、税率引き下げ時期と減収が直接連動していない。 (2) 消費税は安定財源として1989年に導入され、社会保障費の増大に対応する目的だった。 (3) 法人税率引き下げに伴い、2014年から2018年に課税ベースが拡大され、実際の税負担 減は限定的だった。 (4) 日本の実効法人税率は30.62%で、2024年の世界平均23.51%より高い水準にある。 (5) 消費税収は一般会計に入るが、2012年法改正以降、社会保障費にほぼ全額充当されて いる。
日本の法人税収は、景気変動に左右されやすい点は事実です。バブル崩壊後の法人税収の急減は景気後退が主因であり、税率引き下げとの直接的な連動は見られません。2014〜2018年の税率引き下げは、課税ベース拡大とセットで行われ、企業の実質負担減は限定的でした。現在の実効法人税率は、標準的な企業の場合で約29.74%(国・地方税合計)であり、多くの国で税率が引き下げられた結果、国際的には高い水準にあります。
消費税は1989年に安定財源として導入され、社会保障費増大への対応が目的でした。2012年法改正以降、消費税収は社会保障費に充当されることが明確化されました。高齢化の進展により社会保障給付費は増加し、2025年度にはGDP比で約22.4%に達する見込みであり、消費税がその主たる財源の一つです。
「課税ベースの拡大」とは、法人税を課す対象となる所得の範囲を広げることです。これは、税率を下げる一方で税収の急減を防ぐために行われることが多い税制改革の手法です。具体的には、特定の控除や優遇税制を制限・廃止することで、企業の課税対象となる所得を増やします。日本の法人税改革でも、欠損金繰越控除の制限などによって、税率引き下げ後の税収を維持する狙いがありました。
(Gemini)
以下の竹上将人さんの解説は非常に参考になる。
それはデマ、何回も何回も取り上げている。下の動画でわかる。消費税は税率を下げたも課税ベース拡大で増税しているのと、法人税は経済動向で税収が変化するし、また企業業績が上向いても比例して増加しない仕組みになっている。なのでれいわの出している税率が下がったとか、消費税の税収増と同額程度… pic.twitter.com/eyV7If4NXt
— 竹上将人(中小企業診断士・BCPコンサル) (@the_last_leaf) July 31, 2025
September 25, 2025
より以前の記事一覧
- 福岡県内72区市町村における政党別得票率(参院選比例代表)の散布図 2025.09.19
- 福岡県全域における立憲民主党と国民民主党の得票率(参院選比例代表) 2025.09.17
- 対応分析:福岡県内の全地域のデータ(参院選比例代表の各政党の得票数) 2025.09.17
- 対応分析:軸形成へのプロファイル・ポイントの寄与、ポイントへの軸の寄与 2025.09.17
- 立憲民主党と国民民主党との関係 2025.09.15
- 対応分析:参院選(比例代表)での各党の得票を福岡県の区市別にみると何がわかるのだろうか? 2025.09.14
- 対応分析のひながた 2025.09.03
- Geminiは便利だ。 2025.09.02
- 生成AIにRのスクリプトを書いてもらう。 2025.08.20
- Geminiは、Rのスクリプトを書くことができる。 2025.08.10
- 統計学やR言語に関するnoteの記事をココログでまとめてみた。 2025.03.07
- 市税決算額(北九州市、1990-2022) 2025.02.17
- noteで公表したもののPDFファイル 2023.05.17
- データサイエンスのための統計学入門(PDFファイル) 2023.05.16
- オッズ比、相対リスク、自転車用ヘルメット(PDFファイル) 2023.05.14
- 北九州市長選挙(PDFファイル) 2023.05.14
- 世論調査について(PDFファイル) 2023.05.14











