148.浜松城

148.浜松城

続100名城

基本情報

住所 〒430-0946 静岡県浜松市中央区元城町100-2
電話 053-453-3872
築城年 元亀元年(1570年)

営業情報

開館時間 8:30~16:30(最終入場16:20)
入場料 大人200円(高校生以上)、中学生以下・70歳以上無料
休館日 12月29日~31日

1. 曳馬城から浜松城への発展

 浜松城の前身は15世紀頃に築かれた曳馬城(引馬城、引間城)で、築城者については諸説ありますが、今川貞相によるという説が有力です。16世紀前半には今川氏支配下の飯尾氏が城主を務めており、当時の曳馬城は現在の元城町東照宮付近にありました。
 元亀元年(1570年)、29歳の徳川家康が岡崎城から曳馬城に拠点を移し、大規模な城域の拡張と改修工事を実施しました。この際に地名を浜松とし、城名も「浜松城」に改称しました。家康は駿府城に移るまでの17年間をこの城で過ごし、天下統一への基盤を築く重要な拠点としました。

2. 三方ヶ原の戦いと空城の計

 元亀3年(1572年)、武田信玄が上洛を目指して浜松城を素通りするような行軍を見せて家康を挑発しました。挑発に乗った家康は浜松城から打って出ましたが、三方ヶ原で武田軍に大敗を喫します。これは家康の人生最大の危機とも言われる敗戦でした。
 わずかな供回りのみで浜松城へ逃げ帰った家康は、機転を利かせて「空城の計」を実行しました。全ての城門を開いて篝火を焚き、あたかも大軍が待機しているかのように見せかけたのです。追撃してきた山県昌景隊は警戒して城内突入を躊躇し、そのまま引き上げました。この逸話は家康の機知と胆力を示すエピソードとして語り継がれています。

3. 江戸時代の出世城としての役割

 慶長5年(1600年)の関ヶ原の戦い以後、浜松城は江戸時代を通じて徳川家譜代大名の居城となりました。九家二十二代にわたって城主が引き継がれ、歴代の城主によって城域の改変・改修が進められました。
 特筆すべきは、歴代城主の多くが後に江戸幕府の重役に出世したことです。水野忠邦をはじめとする多くの城主が老中などの要職に就いたため、浜松城は「出世城」と呼ばれるようになりました。この異名は現在でも浜松城の代名詞として親しまれています。

4. 野面積みの石垣と築城技術

 浜松城の最大の見どころは、築城当時の姿をとどめる野面積みの石垣です。野面積みとは自然石を加工せずにそのまま積み上げる技法で、戦国時代の築城技術をよく表しています。これらの石垣は徳川家康在城時の土造りの城から、後の堀尾氏時代に石垣造りに改修された際のものです。
 堀尾氏在城期に創建された天守は17世紀のうちに失われ、現在は天守台のみが残っています。以降は天守門が浜松城の最高所に位置する建造物となり、江戸時代を通して城を代表する建物でした。現在の天守門は平成26年(2014年)に木造で復元されたものです。

5. 現代の浜松城公園と文化発信

 明治6年(1873年)の廃城令により建物は破壊されましたが、天守曲輪と本丸の一部は大きな開発を免れました。昭和25年(1950年)に浜松城公園として整備され、昭和33年(1958年)には鉄筋コンクリート製の復興天守が再建されました。
 現在の浜松城は家康ゆかりの品々を展示する資料館として機能しており、2021年には展示内容が全面リニューアルされました。浜松城公園は桜の名所としても知られ、約360本の桜が春には美しく咲き誇ります。また、毎日夜間にはライトアップが実施され、市民の憩いの場として愛され続けています。

アクセスマップ

散歩記録

散歩記録準備中

御城印情報

御城印画像
価格: 300円(通常版)
季節限定版500円
販売場所: 浜松城天守閣1階売店
天守門

スタンプ情報

スタンプ画像
設置場所: 浜松城天守門
border-light); } .breadcrumb-nav { font-size: 0.9rem; color: var(--color-text-light); } .breadcrumb-nav a { color: var(--color-text); text-decoration: none; transition: color 0.3s ease; } .breadcrumb-nav a:hover { color: var(--color-accent); } .breadcrumb-nav span { margin: 0 0.5rem; color: var(--color-text-light); } .breadcrumb-nav .current { color: var(--color-text); font-weight: 600; } /* ヒーローセクション - 控えめなサイズ */ .castle-hero { background: var(--color-primary); color: white; padding: 1.5rem 0; border-bottom: 1px solid var(--color-border); } .hero-content { display: flex; align-items: center; justify-content: center; } .castle-title-box { text-align: center; border: 2px solid rgba(255, 255, 255, 0.3); padding: 1rem 2rem; border-radius: 0; background: rgba(255, 255, 255, 0.1); display: inline-block; } .castle-title { font-size: 1.8rem; font-weight: 600; margin: 0 0 0.5rem 0; line-height: 1.2; letter-spacing: 0.5px; } .castle-badge { background: var(--color-accent); color: white; padding: 0.3rem 0.8rem; border-radius: 0; font-weight: 500; font-size: 0.8rem; letter-spacing: 0.5px; display: inline-block; } .castle-badge.zoku100 { background: #27ae60; } /* 2カラムレイアウト */ .two-column-layout { background: var(--color-background); padding: 2rem 0; } .layout-wrapper { display: grid; grid-template-columns: 1fr 320px; gap: 3rem; max-width: 1200px; margin: 0 auto; } /* メインカラム */ .main-column { display: flex; flex-direction: column; gap: 2rem; } /* セクションヘッダー */ .section-header { margin-bottom: 1rem; } .section-title { font-size: 1.3rem; font-weight: 600; color: var(--color-text); margin: 0; padding-bottom: 0.5rem; border-bottom: 2px solid var(--color-border); background: none; } /* テーブル形式の情報表示 */ .info-table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; background: var(--color-background); border: 1px solid var(--color-border-light); } .info-table th, .info-table td { padding: 0.8rem 1rem; text-align: left; border-bottom: 1px solid var(--color-border-light); } .info-table th { background: var(--color-background-alt); font-weight: 600; color: var(--color-text); width: 30%; font-size: 0.9rem; } .info-table td { color: var(--color-text); font-size: 0.9rem; } .info-table tr:last-child th, .info-table tr:last-child td { border-bottom: none; } /* コンテンツラッパー */ .content-wrapper { background: var(--color-background); padding: 1.5rem; border: 1px solid var(--color-border-light); line-height: 1.7; } .content-wrapper h2 { font-size: 1.4rem; font-weight: 600; color: var(--color-text); margin: 1.5rem 0 1rem 0; padding-bottom: 0.5rem; border-bottom: 1px solid var(--color-