179.河後森城

179.河後森城

続100名城

基本情報

住所 愛媛県北宇和郡松野町松丸
電話 0895-42-1118(松野町役場)
築城年 12世紀末頃

営業情報

開館時間 なし(屋外)
入場料 無料
休館日 なし

1. 境目地域における戦略的拠点の形成

河後森城は愛媛県南部の伊予と土佐の国境地帯、「黒土郷河原渕領」と呼ばれた要衝に築かれた中世山城で、四万十川の支流である広見川とその支流の堀切川・鰯川に囲まれた馬蹄形の独立丘陵上に立地しています。標高172m、平地部からの比高差約88mの地形を巧みに利用し、城域約21ヘクタールという愛媛県内最大級の規模を誇ります。この地域は伊予の西園寺氏と土佐の一条氏・長宗我部氏という諸勢力が及ぶ「境目」地域であり、永禄年間初期までに一条氏側から迎えられた領主「河原淵教忠」が治めていたことが古文書等から確認されています。

2. 馬蹄形縄張りと曲輪配置の特徴

河後森城の最大の特徴は、中央の風呂ヶ谷と呼ばれる谷戸を囲むように展開する馬蹄形の縄張りです。最高所の本郭を中心として、西側には西第二から西第十までの9つの曲輪が、東側には東第二から東第四、古城から古城第四の7つの曲輪が階段状に連なり、さらに南には新城の曲輪群が配置されています。各曲輪は急峻な切岸(人工的な崖)で守られ、外側には多数の堀切や竪堀状遺構が張り巡らされており、敵の侵入を効果的に阻む防御システムが構築されていました。この複雑な縄張りは中世山城の発達した形態を示す貴重な事例となっています。

3. 発掘調査による建物構造と生活実態の解明

平成11年度から継続的に実施されている発掘調査により、河後森城の具体的な利用実態が明らかになっています。本郭では城主の居所である主殿舎をはじめ、台所や番小屋など10棟の掘立柱建物跡が検出され、城主が家臣や住民と飲食を共にする儀式が執り行われていた様子が窺えます。西第十曲輪では門跡や土塀跡とともに、馬屋と番小屋が一体化した2棟の掘立柱建物跡が確認され、土塁から櫓や塀による防御施設への改変痕跡も検出されています。これらの調査成果を踏まえて城内には門や建物が復元され、当時の城郭景観を体感できる整備が行われています。

4. 近世城郭への移行と石垣・瓦葺建物の導入

16世紀終わりから17世紀初頭にかけて、河後森城は大規模な改修を受け、中世城郭から近世城郭への過渡的様相を示すようになりました。本郭西部では石垣が検出されており、瓦葺きの建物や多聞櫓の存在も確認され、天守相当の建物が存在していたと考えられています。特に藤堂高虎の時代には、河後森城の天守が板島城(現在の宇和島城)に移築されたという伝承が残っており、近世城郭技術の導入と展開を示す重要な事例となっています。大量の瓦の出土は、1600年前後の城郭が従来の土造りから瓦葺き建物を持つ格式の高い城郭へと発展していたことを物語っています。

5. 一国一城令による廃城と史跡としての価値

天正13年(1585年)の豊臣秀吉による四国平定以後、河後森城の支配は小早川氏、戸田氏、藤堂氏、冨田氏へと移り変わり、それぞれの時代に城代が置かれました。慶長19年(1614年)に伊達秀宗が宇和島藩を創立すると、付家老の桑折氏が7千石を領して居城しましたが、元和元年(1615年)の一国一城令により軍事施設としての河後森城は廃城となりました。平成9年(1997年)9月11日に国史跡に指定され、現在は継続的な発掘調査と整備により、中世から近世への移行過程を示す貴重な城郭遺跡として保存されています。平成29年(2017年)には続日本100名城に選定され、伊予・土佐国境地帯の歴史を物語る重要な文化遺産として注目を集めています。

アクセスマップ

散歩記録

散歩記録準備中

御城印情報

御城印画像
価格: 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-