176.一宮城

176.一宮城

続100名城

基本情報

住所 徳島県徳島市一宮町
電話
築城年 南北朝時代(1338年頃)

営業情報

開館時間 常時開放(山城)
入場料 無料
休館日 なし

1. 一宮城の概要と歴史的背景

 一宮城は、徳島県徳島市一宮町に位置する山城です。南北朝時代に天険を利用して築かれた山城で、東竜王山の北東に延びた枝尾根の最先端にあり、本丸部分は標高144.3m、麓からの比高は約120mの山嶺に築かれています。北は鮎喰川、東は船戸川、園瀬川が天然の濠として機能し、背後には四国山脈が控える要害の地に位置しています。
 一宮城は1338年頃、小笠原長房の四男である小笠原長宗によって築城されました。長宗は一宮を称し、以後一宮氏が代々居城としました。南北朝時代には長宗が南朝に属して活躍しましたが、細川頼春による南朝の切り崩し工作により、1340年から激しい攻防戦が展開されました。1362年に細川頼之軍と戦って破れ、和睦を結んで一宮成行が細川氏の被官となり、以後永正の錯乱まで細川氏の重要な拠点として機能しました。

2. 城郭構造と防御システム

 一宮城は南城と北城の二城から構成される複合城郭で、本丸は北城に属し、明神丸等の曲輪は南城に属しています。城域は本丸を中心に東西800m、南北500mの範囲に及び、才蔵丸や明神丸、小倉丸などの曲輪が配置されているほか、倉庫跡、畑跡、貯水池跡などの施設も確認されています。尾根筋には堀切、横堀、竪堀、小曲輪を配し、徳島県内で最大級の山城として強固な防御体系を構築していました。
 特筆すべきは一宮城の巧妙な横面攻撃システムです。才蔵丸と明神丸を区切る堀切から堀底道を通り、帯曲輪への門へ繋がる構造となっていますが、ここは一段高い才蔵丸や明神丸の帯曲輪から側面攻撃を受ける仕組みになっています。堀底道には竪堀が設けられ、あえて狭くして進入速度を遅らせる工夫が施されており、明神丸の虎口でも同様の側面攻撃が可能な構造となっています。

3. 蜂須賀氏による改修と石垣技術

 天正14年(1586年)、豊臣秀吉による四国征伐の際には豊臣秀長と長宗我部元親との攻防の舞台となりました。秀吉が四国を平定した後、阿波に封ぜられた蜂須賀家政が居城として大幅な改修を行いました。本丸部分の石垣は蜂須賀家政時代のものと考えられ、徳島に産出例が多い結晶片岩(阿波青石)の野面積みで構築され、角石には立石を用いるなど近世城郭の初期時代の特徴を示しています。
 これらの石垣は徳島県下では池田城と同規模で、徳島城に次ぐ大規模なものとなっており、蜂須賀氏の築城技術の高さを物語っています。1817年(文化14年)に編纂された『一宮城古城跡書』によると、主要曲輪は6ヵ所、小規模なものを含めると13ヵ所の丸と呼ばれる曲輪があったと記載されており、その規模の大きさが伺えます。家政が新たに築いた徳島城に移った後は、家臣の益田長行が城主を務めました。

4. 戦国期の戦略的意義と軍事的機能

 一宮城は戦国期を通じて阿波国東部の重要な軍事拠点として機能し、三好氏と長宗我部氏の攻防の舞台となりました。特に長宗我部元親の四国統一戦争において、一宮城は阿波国への侵入路を扼する要衝として重要な役割を果たしました。城の立地は鮎喰川、船戸川、園瀬川という三つの河川に囲まれた天然の要害であり、背後の四国山脈と合わせて難攻不落の防御拠点を形成していました。
 永正の錯乱以降、細川家の内乱で度々畿内に出軍した国人衆の中に一宮氏の名前が見られることから、一宮城は単なる地方の山城ではなく、中央政界とも密接な関係を持つ政治的拠点でもありました。蜂須賀氏の時代には徳島城の支城(阿波九城のひとつ)として重要視され、阿波国統治の重要な拠点として機能し続けました。

5. 近世への移行と廃城

 蜂須賀家政が徳島城を築城して本拠を移した後も、一宮城は徳島城の重要な支城として維持されました。しかし、元和元年(1615年)の一国一城令により廃城が決定され、長い歴史に幕を下ろしました。廃城後も城跡は良好に保存され、1954年(昭和29年)8月6日に徳島県指定史跡に指定されました。
 現在も本丸跡には蜂須賀家政時代の石垣が良好な状態で残存しており、その野面積みの石垣は戦国期から近世初期の築城技術を示す貴重な遺構となっています。登山道も整備され、山麓には一宮城の名前の由来となった一宮神社や四国八十八ヶ所霊場第13番札所の大日寺があり、城郭遺構とともに地域の歴史文化を物語る重要な文化財群を形成しています。

アクセスマップ

散歩記録

散歩記録準備中

御城印情報

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