49.小谷城

49.小谷城

日本100名城

基本情報

住所 滋賀県長浜市小谷郡上町139(小谷城戦国歴史資料館)
電話 0749-78-2320(小谷城戦国歴史資料館)
築城年 1525年頃(大永5年)

営業情報

開館時間 9:00~17:00(入館は16:30まで)
入場料 高校生以上300円、小中学生150円
休館日 毎週火曜日(祝祭日の場合は翌日水曜日)、年末年始(12/28~1/4)

1. 小谷城の基本情報

小谷城は滋賀県長浜市の標高約495メートルの小谷山に築かれた戦国時代の山城で、1525年頃(大永5年)に浅井亮政によって築城されました。浅井氏三代(亮政・久政・長政)の居城として使用され、日本五大山城の一つに数えられる堅固な山城として知られています。1937年に国の史跡に指定され、日本100名城(49番)にも選定されています。

2. 浅井氏の歴史と発展

小谷城は浅井氏の本拠地として、北近江の要衝に築かれました。築城者の浅井亮政は主家である京極氏のお家騒動に乗じて実権を握り、以後久政・長政と三代にわたって北近江を治めました。浅井氏は琵琶湖の水運を利用した日本海側からの物資を京都に運ぶ重要な拠点を支配し、朝倉氏や比叡山延暦寺と同盟を結んで勢力を拡大しました。

3. 浅井長政とお市の方

三代目の浅井長政は1567年に織田信長の妹であるお市の方を正室として迎え、織田氏と同盟を結びました。お市の方は「戦国一の美女」と称される美しい女性で、長政との間に茶々(後の淀殿)、初、江の三人の娘をもうけました。この三姉妹は浅井三姉妹と呼ばれ、後に戦国時代から江戸時代にかけて重要な役割を果たすことになります。

4. 織田信長との戦い

1570年、織田信長が朝倉義景討伐の兵を挙げた際、浅井長政は朝倉氏との古い同盟関係を重視して信長から離反しました。同年6月の姉川の戦いでは浅井・朝倉連合軍が織田・徳川連合軍と激突しましたが敗北。しかし小谷城は落城せず、その後3年間にわたって織田軍の攻撃に耐え続けました。この籠城戦は戦国時代屈指の激戦として知られています。

5. 小谷城の落城と浅井氏の滅亡

1573年8月、長政の重臣阿閉貞征が織田方に降伏したことをきっかけに、織田信長は小谷城への総攻撃を開始しました。朝倉義景を一乗谷で滅ぼした織田軍が戻ってくると、小谷城は完全に包囲されました。木下藤吉郎(後の豊臣秀吉)の活躍により京極丸が陥落すると、浅井久政と長政父子は相次いで自刃し、浅井氏は滅亡しました。

6. 城郭の構造と特徴

小谷城は小谷山の自然地形を巧みに利用した山城で、東西の尾根筋に各郭が配置されています。本丸、大広間跡、山王丸、京極丸、桜馬場などの主要な曲輪が連なり、最頂部の大嶽(495m)には土塁が残っています。清水谷には平時における浅井氏と家臣たちの館跡があり、山全体が一つの巨大な城塞として機能していました。

7. 現在の遺構と見どころ

現在の小谷城跡では、本丸の石垣、大堀切、山王丸の大石垣、黒金門跡などの遺構を見ることができます。桜馬場跡は琵琶湖を一望できる展望スポットとして人気があり、大河ドラマのロケ地としても使用されました。城跡の各所には詳細な解説板が設置されており、戦国時代の雰囲気を感じながら散策することができます。

8. 小谷城戦国歴史資料館

小谷城の麓には小谷城戦国歴史資料館があり、浅井氏や小谷城に関する貴重な資料が展示されています。浅井家ゆかりの人物の肖像画、小谷城跡絵図、城跡からの出土品などを通して、城内での生活や小谷城の構造、攻防戦の激しさを学ぶことができます。資料館では日本100名城スタンプも設置されています。

9. 日本100名城スタンプと御城印

日本100名城(49番)のスタンプは小谷城戦国歴史資料館の入口付近に設置されています。ただし、火曜日の休館日にはJR河毛駅コミュニティハウスに設置されるため注意が必要です。御城印は小谷城戦国歴史資料館で300円で販売されており、19種類の御城印が用意されています(販売終了も含む)。

10. アクセスと観光情報

小谷城跡へのアクセスはJR北陸本線河毛駅から徒歩約30分、車では北陸自動車道小谷城スマートICから約5分です。観光シーズンには期間限定で小谷城シャトルバスが運行され、山麓から中腹の番所跡まで運行されます。春は桜、初夏は新緑、秋は紅葉と四季を通じてハイキングを楽しめますが、冬季は積雪や林道凍結のため注意が必要です。

アクセスマップ

散歩記録

散歩記録準備中

御城印情報

御城印画像
価格: 300円
販売場所: 小谷城戦国歴史資料館

スタンプ情報

スタンプ画像
設置場所: 小谷城戦国歴史資料館入口付近(火曜休館日はJR河毛駅コミュニティハウス)
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-