 <style>
      /* ----- 共通リセット ----- */
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Noto Sans JP', sans-serif;
      }
      body {
        line-height: 1.6;
        color: #333;
        background-color: #f9f9f9;
      }

    nav ul{
display: table;
margin: 0 auto;
padding: 0 ;
width: 80%;
text-align: center;
}
nav li{
display: table-cell;
min-width: 50px;
}
nav a{
display: block;
width: 100%;
text-decoration: none;
color: #555;
padding-bottom: 5px;
}
nav a {
  display: block;
  text-align: center;
}

nav li.current{
border-bottom: 3px solid #92D050;
}
nav li:hover{
color: #E7DA66;
border-bottom: 3px solid #F0E475;
}

/* メイン領域内のインラインテキストを中央揃え */
#hpb-main {
  text-align: center;
}

/* 年度ごとのリスト全体を幅を絞って中央に */
#hpb-main dl {
  display: inline-block;
  margin: 0 auto;
  text-align: left; /* dl 内部は左揃え */
}

      /* ----- フッター ----- */
      footer {
        background-color: #333;
        color: #fff;
        text-align: center;
        padding: 20px;
        margin-top: 40px;
      }

      /* ----- レスポンシブ ----- */
      @media (max-width: 800px) {
        .container { flex-direction: column; }
        .sidebar {
          width: 100%;
          box-shadow: none;
          border-bottom: 1px solid #e0e0e0;
 margin-left: 0;                /* 自動解除 */
        }
      }
    </style>

/* ========== 1. 共通リセット & ベース ========== */
*{margin:0;padding:0;box-sizing:border-box;font-family:'Noto Sans JP',sans-serif;}
body{line-height:1.6;color:#333;background:#f9f9f9;}



/* ========== 3. サイドバー（PCは左端固定） ========== */
.sidebar{
  position:fixed;
  top:70px;               /* ヘッダー高とそろえる */
  left:0;
  width:223px;
  height:calc(100% - 70px);
  overflow-y:auto;
  background:#fff;
  padding:30px 20px;
  flex-shrink:0;
  box-shadow:2px 0 4px rgba(0,0,0,.05);
}
.sidebar h3{font-size:1.1rem;margin-bottom:10px;}
.sidebar address{font-style:normal;line-height:1.6;margin-bottom:20px;}
.sidebar ul{list-style:none;}
.sidebar li+li{margin-top:8px;}
.sidebar a{color:#007acc;text-decoration:none;transition:opacity .3s;}
.sidebar a:hover{opacity:.7;}

/* ========== 4. メインコンテンツ領域 ========== */
.container{max-width:1200px;margin:0 auto;}
.content{
  margin-left:260px;      /* サイドバー幅ぶん右へ */
  padding-top:70px;       /* ヘッダー高ぶん下へ */
}

.hero h1{font-size:3rem;}
.section{padding:60px 20px;max-width:1000px;margin:auto;}
.section h2{font-size:2rem;margin-bottom:20px;}

/* ========== 5. フッター ========== */
footer{
  background:#333;color:#fff;text-align:center;
  padding:20px;margin-top:40px;
}

/* ========== 6. レスポンシブ（800px以下で固定解除） ========== */
@media (max-width:800px){
  .sidebar{
    position:static;
    width:100%;
    height:auto;
    box-shadow:none;
  }
  .content{
    margin-left:0;
    padding-top:70px;     /* ヘッダー分だけ残す */
  }
}

