.header, .menu {
	width: 100%;
	max-width: 100%;
	text-align: center; /* 画像を中央揃えにする場合 */
}

img{
	max-width: 100%;
	height: auto;
}

.menu a {
	display: block;
	margin-bottom: 5px; /* 必要なら間隔を調整 */
}

hr{
	max-width: 500px;
    height: 1px;
    width: 100%;
}

p{
	font-size: 16px;
	text-align: center;
}

  .container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    max-width: 800px; /* 全体の幅を800pxに */
    margin: 50px auto; /* 上下に余白を追加 */
    gap: 10px; /* 左右ブロック間の隙間 */
  }
  .left-block, .right-block {
    box-sizing: border-box;
    padding: 20px;
  }
  .left-block {
    flex: 0 0 35%; /* 全体の35%を使用 */
    text-align: center;
  }
  .left-block img {
    max-width: 100%;
    height: auto;
    border-radius: 10px; /* 画像を丸める */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 軽い影を追加 */
  }
  .right-block {
    flex: 0 0 65%; /* 全体の65%を使用 */
    background-color: #ffffff;
    padding: 20px;
  }
  .right-block h2 {
    margin-top: 0;
    color: #333333;
    font-size: 24px;
    border-bottom: 2px solid #333333; /* 下に黒い線 */
    padding-bottom: 10px;
    margin-bottom: 20px; /* 各セクション間の余白を広げる */
  }
  .right-block .timeline {
    display: grid;
    grid-template-columns: 120px auto; /* 年月日と事柄を2列で揃える */
    gap: 10px; /* 列間の余白 */
    margin-bottom: 40px; /* セクション間の余白をさらに追加 */
  }
  .right-block .timeline p {
    margin: 5px 0; /* 各行の余白を最小限に */
    text-align: left; /* 左揃え */
  }
  .right-block .additional-info {
    margin-bottom: 40px; /* セクション間の余白をさらに追加 */
  }
  .right-block .additional-info p {
    margin: 5px 0; /* セクション内の内容の余白を追加 */
    text-align: left; /* 左揃え */
  }
  @media (max-width: 768px) {
    .container {
      flex-direction: column; /* スマホでは縦並びに */
      gap: 20px; /* 縦並び時の隙間 */
    }
    .left-block, .right-block {
      flex: none;
      width: 100%; /* 幅を100%に */
    }
  }
