194.佐伯城

194.佐伯城

続100名城

基本情報

住所 大分県佐伯市字城山76番地1
電話 0972-22-3269(佐伯市歴史資料館)
築城年 慶長11年(1606年)

営業情報

開館時間 24時間(城跡公園のため)
入場料 無料
休館日 なし

1. 佐伯城の概要と立地

佐伯城は、大分県佐伯市に位置する江戸時代初期の山城です。標高144メートルの八幡山山頂に築かれており、山頂主郭部の石垣と麓にある三の丸跡の石垣が良好に残存しています。慶長11年(1606年)に佐伯藩初代藩主毛利高政により築城が完成し、以降明治維新まで毛利氏12代の居城として機能しました。城の形が鶴が羽を広げたような形をしていることから、別名「鶴ヶ城」や「鶴屋城」とも呼ばれています。現在は国の史跡に指定されており、大分百景と続日本100名城(194番)に選定されています。

2. 毛利高政による築城と初期の発展

関ヶ原の戦いで徳川方(東軍)に与した毛利高政は、慶長6年(1601年)に角牟礼城から佐伯に移封され、2万石の佐伯藩を立藩しました。高政は慶長7年(1602年)から築城を開始し、4年の歳月をかけて慶長11年(1606年)に完成させました。毛利高政は元々豊臣秀吉の家臣である森氏の出身でしたが、中国攻めの際に毛利家に気に入られ、秀吉の許可を得て毛利姓に改名した経緯があります。築城当初の佐伯城は3重の天守と31基の櫓を擁する壮大な城郭で、2万石の大名に相応しくないほど立派な城として知られていました。

3. 火災と三の丸への藩政機能移転

築城からわずか11年後の元和3年(1617年)に失火により二の丸御殿が焼失し、天守の被害については不明とされています。この火災を契機として、寛永14年(1637年)に三代藩主毛利高直は山麓に三の丸を開いて藩政の中心を移しました。戦のない平和な世の中において山上での生活は不便であったため、この措置は時代の要請に応じたものでした。三の丸には藩庁の正門として櫓門が建造され、現在の櫓門は天保3年(1832年)に建て直されたものと考えられています。この櫓門は佐伯城の現存する唯一の城郭建築物として県指定有形文化財となっています。

4. 江戸時代の発展と石垣の大改修

佐伯城は江戸時代を通じて毛利氏12代の居城として繁栄しました。特に注目すべきは、宝永6年(1709年)に6代藩主毛利高慶の代に実施された20年に及ぶ大改修工事です。現在山頂に残る石垣の多くはこの時期のもので、「総石垣」という近世城郭の特徴を持ちながら、軍事色の強い山城の要素も取り入れた独特の構造を示しています。本丸と二の丸の間には石垣による堀切が設けられており、これは全国的にも珍しい遺構として評価されています。この改修により、佐伯城は技術的にも優れた近世山城として完成されました。

5. 現在の佐伯城跡と文化財的価値

明治4年(1871年)の廃藩置県により廃城となった佐伯城は、令和5年(2023年)3月に国の史跡に指定されました。国は「近世初頭に、それまでの城郭構造と築城技術を融合して築かれ、山体全体を維持してきた工夫が残る城郭として貴重」であると評価しています。現存する三の丸櫓門のほか、三の丸御殿の一部が市内船頭町に地区集会所(住吉御殿)として移築され、お浜御殿が市内東町に移築されて「城下町佐伯 国木田独歩館」として利用されています。また、平成29年(2017年)には続日本100名城(194番)に選定され、近世山城の真価を示す貴重な文化遺産として多くの見学者が訪れています。

アクセスマップ

散歩記録

散歩記録準備中

御城印情報

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