141.郡上八幡城

141.郡上八幡城

続100名城

基本情報

住所 〒501-4214 岐阜県郡上市八幡町柳町一の平659
電話 0575-67-1819
築城年 永禄2年(1559年)

営業情報

開館時間 3~5月・9~10月:9:00~17:00、6~8月:8:00~18:00、11~2月:9:00~16:30
入場料 大人400円、小人200円
休館日 12月20日~1月10日

1. 郡上八幡城の概要と歴史的意義

郡上八幡城は、岐阜県郡上市八幡町の八幡山(標高約354m)に築かれた平山城で、2017年に続日本100名城(141番)に選定されています。永禄2年(1559年)、戦国時代末期に遠藤盛数によって砦が築かれたのが起源とされ、古名を積翠城、郡城、虞城とも称しました。山の南側と西側にそれぞれ吉田川と小駄良川が流れて天然の濠となし、急峻な山容は防御に優れ、山麓には城下町を構築する平地も備えるという極めて理想的な立地条件を揃えた名城です。

2. 築城から江戸時代までの歴史

郡上八幡城は、遠藤盛数が赤谷山城の戦いの際に牛首山(現八幡山)の山上に陣を敷いたことに始まります。その後、稲葉貞通が城主となって本格的な城郭整備を行い、本丸に天守台を設け、石垣を高くし、塀を巡らせ武庫と糧庫を増築するなど、現在に見られる近世城郭としての基礎がこの時期にほぼ築かれました。慶長5年(1600年)の関ヶ原の戦いでは、稲葉貞通が西軍に与したため、遠藤慶隆が徳川家康に郡上八幡城奪還を申し出て東軍として参戦し、城を奪還する郡上八幡城合戦が繰り広げられました。

3. 江戸時代の藩政と城郭の発展

関ヶ原の戦い後、遠藤慶隆が郡上藩初代藩主となり、以後遠藤氏3代、井上氏1代、金森氏3代、青山氏6代と続きました。特に青山氏時代には幕末の戊辰戦争において、郡上藩は凌霜隊を結成して会津戦争に参加し、白虎隊とともに戦った歴史があります。城郭構造は平山城で、木造の模擬天守(再建)は独立式層塔型の4層5階となっており、この他に2つの隅櫓、高塀、櫓門が再建されています。

4. 明治維新後の廃城と昭和の再建

明治2年(1869年)の版籍奉還により青山幸宜が郡上藩知事となり、翌明治3年(1870年)に「郡上城撤去伺」が出され、順次城の解体が始まり石垣を残して城郭の建物は全て壊されました。明治4年の廃藩置県により郡上藩は廃藩、郡上八幡城も廃城となりました。現在の天守は昭和8年(1933年)に全国の城復興のさきがけとして大垣城を模して建てられた再建城で、現存する木造再建城としては日本最古の城であり、築城後90年以上を経た天守や櫓は周囲の自然や風景に見事に溶け込んでいます。

5. 現在の城址と見学情報

現在の郡上八幡城は、城郭一帯の石垣すべてが県の史跡に指定され、天守閣は市の有形文化財に指定されています。開館時間は季節により変動し、3~5月・9~10月は9:00~17:00、6~8月は8:00~18:00、11~2月は9:00~16:30で、12月20日~1月10日は休館となります。入場料は大人400円、小人200円で、続日本100名城のスタンプと御城印は天守1階で取得・購入できます。東海北陸自動車道郡上八幡インターチェンジから約12分、郡上八幡駅からまめバス赤ルートで「城下町プラザ」下車後徒歩20分でアクセス可能です。

アクセスマップ

散歩記録

散歩記録準備中

御城印情報

御城印画像
価格: 300円
販売場所: 郡上八幡城1階

スタンプ情報

スタンプ画像
設置場所: 郡上八幡城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-