電話 0422-27-7828チャットで質問無料相談を予約

武蔵野個別指導塾の特徴

フーリエ解析 どんな波も正弦波の重ね合わせに分解する|武蔵野個別指導塾

X LINE Facebook

三角関数の積分から波の成分を求め、方形波の収束とギブス現象を計算でたどります。フーリエ変換・畳み込み・FFTをつなぎ、音や画像を扱う数学の見通しを得られます。

武蔵野個別指導塾の教室 武蔵野個別指導塾

フーリエ解析 どんな波も正弦波の重ね合わせに分解する

玄関に届く音と暖かさを、波の成分から考える

ストーブの前の塾の玄関で、かじかんだ指を少し温めながら、ノートに sin x のグラフを描く場面を考えてみてください。外から車の走行音が届き、扉が閉まるとその響きが変わります。耳に届く音は、高校数学で描くような滑らかな波が1つだけとは限りません。高い音と低い音、一定の響きと短い衝撃が重なっています。それでも、それぞれの成分を数で取り出せたら、音の違いを数学で説明できそうです。

暖かさにも数学への入口があります。温度が場所によって違うとき、その分布が時間とともにどう変わるかを考える問題です。複雑な分布を、扱いやすい基本的な形の和に分けられれば、1つずつの変化を計算してから足し合わせる道が開けます。波の形を分解する考え方は、音の分析だけでなく、熱の伝わり方を調べる問題とも結びついています。

フーリエ解析で中心になるのは、正弦と余弦を使って関数を表すという発想です。ただし、「どんな波も」という言い方は、どの関数でも、どの点でも、単純な足し算が元の値に戻るという保証ではありません。関数にどんな条件を置くか、近づくとは何を意味するかが大事です。ジャンプのある波では、無限に項を増やしても残る特徴があります。

多くの理系学部では、1〜2年で学ぶ微積分や線形代数を足場に、この考え方へ進みます。高校の三角関数の公式が、波を読み取る道具になるところから始めましょう。

武蔵野個別指導塾

三角関数の積分が、混ざった音を選び出す

高校数学で学ぶ三角関数の加法定理から、積を和に直す公式が得られます。例えば、次の式です。

sin x × sin 2x = (cos x – cos 3x)/2

ここから、区間 -π ≦ x ≦ π で積分すると0になります。以下では ∫[-π,π] と書いた積分記号は、下端 -π、上端 π の定積分を表します。

∫[-π,π] sin x × sin 2x dx = (1/2)∫-π,π dx = 0

最後の等号では、cos x の原始関数が sin x、cos 3x の原始関数が sin 3x/3 であり、両端でいずれも0になることを使いました。一方、同じ波どうしを掛けると、結果は0になりません。

∫[-π,π] sin²x dx = (1/2)∫-π,π dx = π

この違いが、波を分離する仕組みです。2つの矢印の内積が0なら直交している、とベクトルで学びます。関数にも「掛けて積分する」という内積を入れると、sin x と sin 2x は直交していると考えられます。グラフが見た目に直角で交わるという意味ではありません。区間全体の積を積分した値が0になるという関係です。

実際に、次の波から sin x の成分だけを取り出してみましょう。

f(x) = 3 sin x + 2 cos 2x

両辺に sin x を掛けて積分し、π で割ります。

(1/π)∫[-π,π] f(x) sin x dx = 3

sin²x の積分から3が残り、cos 2x × sin x は奇関数なので対称な区間の積分が0になります。同じように cos 2x を掛けて積分すると2が取り出せます。混ざった波を眺めて山の高さを推測するのではなく、調べたい波を掛けて区間全体で測るのです。

数列と級数も必要になります。高校では有限個の項を足した式を扱いやすいですが、角のある波や急に値が変わる波を表すには、三角関数を無限個足すことを考えます。すると、各項を正しく計算できることと、無限の和が元の関数を表すことは別の問題になります。

また、複素数も役立ちます。i² = -1 として、オイラーの公式 eⁱᶿ = cos θ + i sin θ を使えば、正弦と余弦を1つの指数関数でまとめられます。高校の複素数平面で学ぶ回転が、そのまま波の位相を扱う言葉になります。積分、数列、ベクトル、複素数は、ここでは別々の単元ではなく、同じ波を見るための道具です。

フーリエ係数は関数の座標になる

まず周期を定義します。正の数 T に対し、すべての実数 x で f(x + T) = f(x) が成り立つとき、f は T を周期にもつといいます。T が最小の正の周期であることまでは求めません。例えば sin x は 2π を周期にもつ関数ですが、4π も周期です。以下ではまず、周期 2π の実数値関数を扱います。一般の周期も変数の尺度を変えれば同じ考え方で調べられます。

次に、1周期で絶対可積分な関数 f、すなわち ∫[-π,π]|f(x)| dx が有限な関数に対して、フーリエ係数を定義します。a₀ は次の値です。

a₀ = (1/π)∫[-π,π] f(x) dx

正の整数 n に対する aₙ と bₙ は、次の値です。

aₙ = (1/π)∫[-π,π] f(x) cos(nx) dx

bₙ = (1/π)∫[-π,π] f(x) sin(nx) dx

係数とは、定数、余弦、正弦の各成分をどれだけ含むかを測った数です。この係数から作る級数を、f のフーリエ級数と呼びます。

a₀/2 + ∑n=1,…,∞

ここで ∑ の角括弧は、足し合わせる添字の範囲を示しています。定数項が a₀ ではなく a₀/2 なのは、定数関数1の二乗の積分が2πであり、正弦や余弦の二乗の積分 π と違うためです。例えば f(x) = 4 なら a₀ = 8、ほかの係数はすべて0なので、定数項 a₀/2 は確かに4です。

この段階で、f(x) と級数を等号で結ぶことはまだしません。係数を定義できること、級数が収束すること、収束した値が f(x) になることは、それぞれ確かめる必要があります。「展開せよ」という問題でも、式を作った後に等号の意味を考える習慣をつけると、大学の解析学に進みやすくなります。

最初の N 個の周波数成分を残した関数を、部分和と呼びます。

Sₙ(x) = a₀/2 + ∑k=1,…,n

ここでは添字 n が、残す周波数の上限を表しています。すべての波を一度に描く代わりに、S₁、S₂、S₃ と順に比較できます。波形を実際に表示する場合も、有限個の係数から作るのはこの部分和です。

直交性を正確に書くと、正の整数 m、n に対して、sin(mx) と sin(nx) の積の積分は m ≠ n なら0、m = n なら π です。余弦どうしも同じで、正弦と余弦の積の積分は常に0です。定数1と、正の周波数の正弦・余弦との積の積分も0になります。これらは積和公式を使えば、高校の計算から確かめられます。

さらに、二乗可積分な実数値関数では、内積を ⟨f,g⟩ = ∫[-π,π] f(x)g(x) dx と定められます。厳密には、測度0の集合上だけ違う関数を同じものとみなして関数空間を作ります。二乗可積分とは ∫[-π,π]|f(x)|² dx が有限という条件です。積分した誤差を扱う場面では、点1つだけの値の変更は区別しないという考え方になります。

この内積で、f と Sₙ の差は、Sₙ に含まれる基本の波すべてに直交します。したがって、周波数 n 以下の任意の三角多項式 p に対して、次の分解が成り立ちます。

∫[-π,π]|f – p|² dx = ∫[-π,π]|f – Sₙ|² dx + ∫[-π,π]|Sₙ – p|² dx

右辺の最後は0以上なので、Sₙ はその範囲の波で作れる近似の中で、二乗誤差の積分を最小にします。理由は f – p = (f – Sₙ) + (Sₙ – p) と分けて二乗すると、交差項の積分が直交性によって消えるからです。フーリエ係数を関数の座標と呼ぶのは、比喩だけではありません。ベクトルを直交する方向に射影する計算が、関数でも働いています。

武蔵野個別指導塾の自習室 武蔵野個別指導塾

方形波の計算で確かめる収束と飛び出し

収束の定理には複数の形があります。ここではディリクレ型の収束定理の、使いやすい十分条件を述べます。f が 2π 周期で、1周期を有限個の区間に分けた各区間において、その内側の値が区間の閉包まで C¹ 関数として延長できるとします。C¹ とは、1回微分できて、その導関数が連続であることです。分割点では左右の延長の値が違ってもよく、関数そのものの値は別に指定してもかまいません。

この条件のもとで、フーリエ級数の部分和は、各点 x で次の値に収束します。

Sₙ(x) → (f(x-0) + f(x+0))/2

f(x-0) は左から近づいた極限、f(x+0) は右から近づいた極限です。周期の端では、隣の周期までつないで左右を考えます。連続点なら両方が f(x) なので、元の値へ収束します。不連続点では左右の平均へ収束します。これが、ジャンプのある関数で等号の意味を慎重に扱う理由です。この十分条件から外れた関数がすべて収束しないという意味ではありません。

例として、-π < x < 0 で f(x) = -1、0 < x < π で f(x) = 1 とし、これを 2π 周期で繰り返す方形波を考えます。π の整数倍の点では f(x) = 0 と決めておきます。これは奇関数なので、a₀ とすべての aₙ は0になります。正弦係数は、奇関数どうしの積が偶関数になることを使って計算できます。

bₙ = (2/π)∫[0,π] sin(nx) dx = 2(1 – cos(nπ))/(πn)

cos(nπ) は n が偶数なら1、奇数なら -1 です。したがって、偶数番目の bₙ は0、奇数番目は4/(πn)となります。得られる級数は、次のようになります。

(4/π)(sin x + sin 3x/3 + sin 5x/5 + …)

方形波の形には角がありますが、足す部品は滑らかな波ばかりです。部品を増やすほど、一定値の部分をより細かく近似していきます。例えば x = π/2 では sin x、sin 3x、sin 5x が順に1、-1、1となるため、最初の3つの非零項の和は次の値です。

(4/π)(1 – 1/3 + 1/5) = 52/(15π) ≈ 1.103474

最初の5つの非零項では約1.063054、最初の50個では約0.993634です。部分和は上や下に振れながら1へ近づきます。3項より5項のほうが改善したからといって、すべての点で項を増やすたびに誤差が単調に小さくなると決めつけてはいけません。

不連続点 x = 0 では、すべての正弦の項が0なので、どの部分和も0です。右側の1と左側の -1 の平均も0になります。仮に f(0) だけを1に変更しても、積分による係数は変わらず、級数の値は0のままです。関数のある1点の値が、積分で決まる情報から必ず復元されるわけではないことが、ここにはっきり表れます。

さらに、ジャンプのすぐ近くでは、部分和が1を超えて盛り上がります。これがギブス現象です。奇数の周波数を M 個残した部分和を考え、点 x = π/(2M) の値を調べると、M = 10 で約1.179814、M = 50 で約1.179013となります。部品を増やしても、飛び出しの高さは簡単には消えません。

この様子は式からも追えます。その点での部分和は、次の和です。

(2/(πM))∑[j=0,…,M-1] sin(π(2j+1)/(2M))/((2j+1)/(2M))

これは区間0から1を M 等分した中点のリーマン和なので、M を増やすと (2/π)∫[0,1] sin(πt)/t dt に近づきます。t = 0 では連続な延長によって値を π とします。この積分の値は約1.178980です。上側の値1からの超過は約0.178980で、ジャンプ幅2の約8.95%に当たります。

ここで、評価する点 x も M とともに0へ動いています。固定した連続点で1へ収束することと、ジャンプに近づく点を追うと飛び出しが残ることは矛盾しません。幅の狭い盛り上がりが残るため、最大の誤差を区間全体で一度に小さくする一様収束にはなりません。連続関数の一様極限は連続なので、連続な三角多項式が不連続な方形波へ一様に収束しないことも説明できます。

熱の問題から、計算そのものを速くする研究へ

フーリエ解析の歴史的な入口の1つは、熱伝導の問題です。温度の空間分布を三角関数の成分に分けると、線形の熱方程式では各成分の変化を別々に扱えます。最初の温度分布が簡単な1本の正弦波でなくても、成分に分解してから時間変化を求めるという方針が生まれます。これを広く使うには、どの関数が展開できるか、微分や積分を無限の和と交換できるかを吟味しなければなりません。

方形波で確かめた不連続点の扱いは、この厳密化の必要性を小さく見せる例です。「細かな波を足せば元に戻る」という直感だけでは、ジャンプで平均になることも、近くの飛び出しも説明しきれません。級数の収束先と収束の仕方を分けて考えることで、計算の形式と正しい結論をつなぐ条件が明確になります。

やがて、有限個の測定値から成分を求める計算も重要になります。そこで使う離散フーリエ変換を直接計算すると、各出力について入力全体の和を取るため、入力の個数が増えたときの計算量が問題になります。Cooley と Tukey の1965年の論文は、複素フーリエ級数の計算を時間と記憶領域の面で節約するアルゴリズムを扱っています(Cooley and Tukey, 1965)。数学的に定義した変換を、計算機で実行しやすい形へ組み替える研究です。

FFTは高速フーリエ変換の略ですが、独立した別の変換を定義した名称ではありません。離散フーリエ変換を速く求めるアルゴリズムの総称です。答えの精度を落として短時間で済ませることが定義なのではなく、同じ和の中にある共通部分を利用します。計算機では丸め誤差は生じますが、数式として求めようとしている変換は同じです。

この研究の流れを扱う歴史論文では、1965年の発表がデジタル信号処理や数値解析の一部における転機と位置づけられ、発表後にそれ以前の文献にも類似の算法が見つかったことが述べられています(Heideman, Johnson and Burrus, 1985)。新しい数学の歴史は、1人がある日すべてを作ったという形だけでは捉えられません。算法の発想と、それを必要とする計算環境が結びつくことにも意味があります。

この点は学習にもつながります。係数の定義が正しいこと、収束が保証されること、有限時間で係数を計算できることは、互いに関係しながらも別の課題です。フーリエ解析の歩みを追うと、証明と実用的な計算の両方が必要な理由が見えてきます。

周期のない信号、畳み込み、画像の係数

周期的な波を整数倍の周波数で分解するフーリエ級数に対し、実数直線上の関数を連続的な周波数で調べるのがフーリエ変換です。ここでは絶対可積分な関数 f に対し、次の規約で定義します。

F(ω) = ∫[-∞,∞] f(t)exp(-iωt) dt

exp は指数関数を表し、exp(-iωt) = cos(ωt) – i sin(ωt) です。ω は角周波数で、t が秒なら単位はラジアン毎秒です。この式は、各周波数の回転する波を掛けて積分するという意味で、フーリエ係数の定義と似ています。実数値の f でも F は一般に複素数で、大きさだけでなく位相の情報を含みます。

例えば f(t) を -1 ≦ t ≦ 1 で1、それ以外で0とする短い矩形の信号にすると、直接積分によって次の式が得られます。

F(ω) = 2 sin ω/ω (ω ≠ 0)、F(0) = 2

虚数の部分は奇関数の積分として消え、実数の部分は cos(ωt) の積分になります。ω = 0 では元の定義から長さ2の面積が得られ、式の極限とも一致します。時間方向で幅の限られた信号でも、周波数方向では多数の成分を含むことがわかります。

逆変換にも条件があります。例えば f が絶対可積分で、その変換 F も絶対可積分なら、次の反転公式がほとんど至るところで成り立ち、f の連続点でも成り立ちます。

f(t) = (1/(2π))∫[-∞,∞] F(ω)exp(iωt) dω

「ほとんど至るところ」とは、例外があっても測度0の集合に限られることです。先ほどの矩形信号では F の絶対値の積分は有限にならないので、この十分条件をそのまま適用することはできません。変換が計算できたことから、任意の形の反転公式まで自動的に使えると考えないようにします。

信号処理を理解するもう1つの定義が、畳み込みです。絶対可積分な f と g に対して、次の積分が存在する点で畳み込み h を定めます。積分はほとんどすべての t で存在し、得られる h も絶対可積分です。

h(t) = ∫[-∞,∞] f(s)g(t – s) ds

g をずらしながら f と掛け、その重なりを積分する操作です。前の矩形信号を f と g の両方に使うと、区間 [-1,1] と [t – 1,t + 1] の重なりの長さを計算することになります。

h(t) = 2 – |t| (|t| ≦ 2)、h(t) = 0 (|t| > 2)

したがって h(0) = 2、h(1) = 1、h(2) = 0 です。矩形どうしを畳み込むと三角形の波になることが、図の印象ではなく区間の長さで確かめられます。

この規約では、畳み込みのフーリエ変換は積 F(ω)G(ω) になります。f と g が絶対可積分なら二重積分の順序を交換でき、u = t – s と変数を置くと、指数が exp(-iωs) と exp(-iωu) の積に分かれます。これが証明の要です。時間方向での混ぜ合わせが周波数方向での掛け算になるため、特定の周波数を弱めるフィルターを考えやすくなります。ただし、高い周波数を弱めれば雑音だけが消えるとは限りません。鋭い変化や画像の輪郭も高い周波数成分を含むからです。

計算機に渡す有限列では、離散フーリエ変換、略してDFTを使います。入力を x₀,…,xₙ₋₁ と書くとき、長さを表す n に対して、その定義は次の式です。

Xₖ = ∑[j=0,…,n-1] xⱼ(cos(2πjk/n) – i sin(2πjk/n)) (k = 0,…,n-1)

入力が (1,0,-1,0) なら、出力は (0,2,0,2) になります。逆変換は符号を正に変えて和を取り、n で割ります。すると元の4個の数に戻ります。成分の大きさだけを残して複素数の位相を捨てると、一般には元の配置を復元できません。

長さ n が2の累乗なら、入力の偶数番目と奇数番目を分けて、それぞれ長さ n/2 のDFTを求め、回転の因子を掛けて組み合わせられます。これを再帰的に続けると、直接法で n² に比例した演算量を、n log₂ n に比例する演算量へ減らせます。FFTは、この分割と再利用を具体化する算法です。

画像では、横と縦の2方向の周波数を考えます。多次元の高速変換については、有限アーベル群の表現論から算法を導き、標準的な行・列方向の処理とは異なるデータの流れを得る研究があります。その論文は階層的なメモリ環境における数値例も扱っています(Auslander, Johnson and Johnson, 1996)。高速化では数式上の演算回数だけでなく、データをどの順番で動かすかも研究対象になるのです。

画像圧縮では、余弦などの波の係数に変換し、係数を粗い刻みで丸めてから保存する方法を考えられます。変換そのものは、全係数を正確に保てば可逆です。情報の削減は、係数を丸めたり捨てたりする段階にあります。細かい係数を削れば、輪郭の近くのにじみや振動が生じる場合もあります。FFTだけを実行すれば画像が圧縮される、という説明ではこの区別が抜けます。

応用は音や画像に限りません。FFTを修正して複素平面の原点中心の円周上にある等間隔の点で多項式を評価し、多項式の零点を求める算法の出発点に使う研究もあります(Hager, 1987)。複素数の回転と多項式の値の計算が同じ形の和に結びつくことが、別の数値計算への橋になっています。

式の暗記から、対象を見分ける練習へ

最初につまずきやすいのは、フーリエ級数、フーリエ変換、DFT、FFTがすべて似た名前を持つことです。周期関数の係数を積分で求めるのか、実数直線上の関数から連続な周波数の関数を作るのか、有限列を別の有限列に変えるのかを先に区別します。そのうえで、FFTはDFTの計算法だと位置づけると、用語を整理できます。

離散フーリエ級数を線形代数から導入する教育論文では、数学と工学の両面を扱い、信号処理、DFT、FFTのつながりが取り上げられています(Kohaupt, 2015)。対象は離散フーリエ級数の数学・工学的な導入であり、特定の高校生集団への授業効果を実証した研究としては扱えませんが、有限個の座標変換から考える道筋は授業を組み立てる手がかりになります。無限級数の収束と計算機の算法を一度に抱え込まず、まず4個の数の変換を逆変換で戻す練習ができます。

学習の手順は、次のように具体化できます。

  1. 問題の関数について、周期、積分区間、連続でない点を先に書きます。偶関数か奇関数かも確かめ、0になる係数を計算前に予測します。
  2. 係数を1つだけ、定義の積分から求めます。公式を丸ごと覚える前に、π で割る理由や定数項だけ半分になる理由を説明します。
  3. 少数の項からなる部分和を作り、連続点と不連続点を1つずつ選んで値を比べます。元の関数と違っていても、定理が予告した値に近づいているかを見ます。
  4. 離散的な計算では入力と出力の長さをそろえ、逆変換で元へ戻るかを確かめます。実数部だけを残していないか、逆変換の割り算を忘れていないかも点検します。

別の落とし穴は、測定の間隔と周波数の関係です。等間隔に測った有限個の値だけでは、異なる連続的な波が同じ列を作ることがあります。例えば整数 j の時刻で測ると、cos(2πj) も定数1もすべて1です。元の波を一意に復元するには、どの範囲の周波数を含むかなどの条件が必要です。グラフが描けたというだけで、測定前の波の正体が決まるわけではありません。この重なりをエイリアシングと呼びます。

高校生のうちに準備するなら、積和公式、偶関数と奇関数の積分、複素数の回転を、自分の言葉でつなぐ練習が有効です。方形波の係数の計算でも、最初から長い式に進まず、n が偶数と奇数の場合を分けるだけで見通しが変わります。ノートには式だけでなく、「異なる波だから積分が0」「ジャンプでは左右の平均」と、等号の理由を短く添えてみてください。

塾で担うのは、どの段階で理解が途切れたかを計算の跡から見分け、必要な定義へ戻れるようにする支援です。係数の符号の誤りと、収束先の取り違えでは、直すべき箇所が違います。家庭では、お子さまがすぐに波形の意味を説明できなくても、まず「どの区間で計算したのか」「何を確かめたのか」と過程を聞く余地を持てます。答えの速さだけでなく、式とグラフを往復した跡を見ていただけると、取り組みの内容が伝わりやすくなります。

ここで手が止まるなら、止まった単元まで一緒に戻ります。武蔵境の数学塾(1 対 1)/お問い合わせ

波の見方について残る3つの問い

どんな関数でも、フーリエ級数は元の値に戻りますか

無条件には戻りません。ここで述べた区分的な C¹ の条件なら、各点で左右の極限の平均へ収束します。二乗可積分な関数では二乗誤差の積分で測る収束を考えられますが、それをすべての点での一致と読み替えることはできません。「どんな波も」という表現に出会ったら、対象と収束の意味を確かめることが理解の出発点です。

波を増やせば、ギブス現象はなくなりますか

通常の部分和では、ジャンプの近くの飛び出しが単に消えるわけではありません。方形波の計算で見たように、その起きる範囲が狭くなっても高さは残ります。各点での収束と一様収束を区別し、固定した点を見ているのか、項数とともに動く点を見ているのかを確かめましょう。係数に重みを付けるなど、部分和の作り方を変える考え方へ進む入口にもなります。

FFTを使えれば、積分の勉強は不要ですか

FFTは有限列のDFTを速く計算しますが、その列がどんな連続信号を表すかは別に考える必要があります。測定間隔、観測する時間の長さ、区間の端のつなぎ方によって、得られる成分の読み方が変わります。積分で定義される変換と有限列の変換を結ぶ理解があれば、計算結果をそのまま信じず、何を測った結果なのかを説明できます。

ストーブの前の塾の玄関で描いた sin x に戻ると、それは単独のグラフであると同時に、複雑な波を測るための基準でもあります。別の波を掛けて積分するだけで成分が取り出せること、無限に足すときには条件が必要なこと、同じ和でも計算順序で速さが変わること。この3つをつなぐと、高校の公式が大学の定義や算法へ伸びていく道が見えます。

波形を見て終わらず、係数を計算し、収束の条件を確かめるところから、音と画像を読み解く数学が始まります。

あわせて読む(数学の地図・高校数学の単元解説)

参考文献

  1. Cooley, James W., Tukey, John W.(1965)「An algorithm for the machine calculation of complex Fourier series」Mathematics of Computation. https://doi.org/10.2307/2003354
  2. Heideman, Michael T., Johnson, Don H., Burrus, C. Sidney(1985)「Gauss and the history of the fast Fourier transform」Archive for History of Exact Sciences. https://doi.org/10.1007/bf00348431
  3. Auslander, L., Johnson, J. R., Johnson, R. W.(1996)「Multidimensional Cooley-Tukey algorithms revisited」Advances in Applied Mathematics. https://doi.org/10.1006/aama.1996.0019
  4. Hager, William W.(1987)「A modified fast Fourier transform for polynomial evaluation and the Jenkins-Traub algorithm」Numerische Mathematik. https://doi.org/10.1007/bf01390703
  5. Kohaupt, Ludwig(2015)「Introduction to the Discrete Fourier Series Considering Both Mathematical and Engineering Aspects–A Linear Algebra Approach」Cogent Education. https://doi.org/10.1080/2331186x.2015.1064560

本気になった日が、入塾の日。

お子様の教育、迷ったら「丸投げ」してください。必ず、期待以上の結果で返します。武蔵野で育む、武蔵境で学ぶ。

電話は年中無休。365日、24時間、お電話可能。

お電話 チャットで質問チャット