29.松本城

29.松本城

日本100名城

基本情報

住所 長野県松本市丸の内4番1号
電話 0263-32-2902(松本城管理課)
築城年 1593年(文禄2年)

営業情報

開館時間 8:30-17:00(最終入場16:30)
入場料 大人700円、小・中学生300円
休館日 12/29~12/31(年末の3日間のみ)

1. 松本城の概要と歴史的価値

松本城は長野県松本市に位置する平城で、現存する五重六階木造天守では日本最古として国宝に指定されています。戦国時代の永正年間に築かれた深志城を起源とし、武田信玄による信濃支配の拠点を経て、石川数正・康長父子により現在の姿に大改修されました。黒い板張りの美しい外観から「烏城」と呼ばれ、北アルプスの山々を背景とした絶景で全国的に知られています。

2. 築城の経緯と変遷

松本城の歴史は戦国時代の深志城に始まります。信濃守護・小笠原氏の家臣が林城の前面を守る支城として築いたのが最初で、その後武田信玄が小笠原長時を追って信濃支配の拠点としました。天正10年(1582年)に小笠原貞慶が城を回復して松本城と改名し、天正18年(1590年)には豊臣秀吉の命で石川数正が入城、本格的な近世城郭への改修を開始しました。

3. 天守の建築的特徴

松本城天守は文禄2~3年(1593~1594年)頃に完成した複合連結式天守で、大天守・乾小天守・渡櫓・辰巳附櫓・月見櫓が連結した独特の構造を持ちます。五重六階の木造建築として現存最古であり、戦闘に特化した急勾配の階段(約140段、最大61度)や115の鉄砲狭間、石落としなど、実戦的な防御機能が随所に見られます。

4. 城郭の構造と縄張り

松本城は戦国時代には珍しい平城として築かれ、本丸を中心に二の丸、三の丸が同心円状に配置された梯郭式の縄張りを持ちます。女鳥羽川が天然の堀の役割を果たし、侍町と町人町を分ける境界ともなっていました。石垣は野面積みと打込接ぎが混在し、時代による築城技術の変遷を物語る貴重な遺構となっています。

5. 国宝指定と文化財的価値

松本城は昭和27年(1952年)に姫路城、彦根城、犬山城、松江城とともに国宝に指定されました。戦国時代から江戸時代初期の築城技術を示す貴重な現存天守として、その建築史的価値は極めて高く評価されています。特に複合連結式天守の完成形として、日本の城郭建築の発展を知る上で欠かせない文化財です。

6. 保存と復元の歴史

松本城は明治時代の廃城令により一時解体の危機に瀕しましたが、市民の熱意により天守の保存が実現しました。昭和25年から30年にかけて行われた昭和の大修理では、傾いていた天守を解体修理し、現在の美しい姿を取り戻しました。この保存運動は全国の城郭保存のモデルケースとなり、文化財保護の先駆的事例として評価されています。

7. 見どころと体験

松本城の見学では、天守内部の急勾配階段を実際に登り、最上階からの北アルプスの絶景を楽しむことができます。各階には当時の武具や城の歴史を紹介する展示があり、鉄砲狭間や石落としなど実戦的な防御設備を間近で観察できます。春の桜、秋の紅葉シーズンには城と自然の美しいコントラストを楽しめ、夜間ライトアップも実施されています。

8. 周辺の見どころと城下町

松本城周辺には江戸時代の城下町の面影を残す中町通りやなわて通りがあり、古い建物をリノベーションしたカフェや土産物店が軒を連ねています。源智の井戸をはじめとする湧水群は「平成の名水百選」に選ばれ、城下町散策の楽しみを添えています。旧開智学校校舎や松本市美術館など文化施設も徒歩圏内にあります。

9. アクセスと観光情報

松本城はJR松本駅から徒歩約15分、松本周遊バス「タウンスニーカー」で「松本城・市役所前」下車すぐとアクセス良好です。長野自動車道松本ICから車で約15分、周辺には市営駐車場も完備されています。観覧料は大人700円、小中学生300円で、年末3日間を除いて通年開館しています。事前予約可能な電子チケットの利用で混雑時も スムーズに入場できます。

10. 松本城と日本100名城

松本城は日本100名城の29番に選定され、スタンプは松本城管理事務所で押印できます。現存12天守の一つとして全国の城郭ファンから愛され、特に国宝五城制覇を目指す観光客に人気です。御城印は300円で販売され、松本城オリジナルデザインとして記念品価値も高く評価されています。信州観光の中心的存在として、年間を通じて多くの観光客が訪れる日本屈指の名城です。

アクセスマップ

御城印情報

御城印画像
価格: 300円
販売場所: 松本城管理事務所

スタンプ情報

スタンプ画像
設置場所: 松本城管理事務所
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-