/* 基本のリセットと全体のスタイル */
body {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    background-color: #fff; /* 薄い背景(白） */
    color: #333; /* 文字色 */
    max-width: 800px; /* PCでの最大幅（中央寄せ） */
    margin-left: auto;
    margin-right: auto;
}

/* リンク */
a {
    color: #1a531a;
    text-decoration: none;
    transition: color 0.3s;
}

a:hover {
    text-decoration: underline;
}

/* ヘッダー（背景画像） */
header {
    background-image: url('gzo/134679.jpg'); /* 背景画像ファイル名を指定 */
    background-size: cover; 
    background-position: center;
    background-color: #15944d; /* 代替色（緑） */
    color: white;
    padding: 3rem 5%; 
    text-align: center;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
}

/* ナビゲーション（目次・横並び） */
nav#navigation {
    background-color: #4a7c59;
    padding: 1rem 5%;
}

nav#navigation h2 {
    color: white;
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-size: 1rem;
}

.nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap; /* スマホで折り返す */
}

.nav-list li a { 
    color: white; 
    padding: 0.5rem 1rem;
    display: block;
}

/* メインコンテンツ */
main { padding: 2rem 5%; }

section {
    margin-bottom: 3rem;
    border-bottom: 1px solid #ccc;
    padding-bottom: 2rem;
}

/* 動画（2つ横並び、50%表示、中央寄せ、キャプション付き） */
.video-container {
    display: flex; 
    justify-content: space-between; /* 2つの動画の間にスペースを空ける */
    flex-wrap: wrap; /* 画面が狭いときに縦に折り返す（スマホ対応） */
    margin: 1.5rem 0;
}

.video-container figure {
    margin: 0; 
    width: 48%; /* 2つ並べて表示するための幅 */
    margin-bottom: 1rem; /* 折り返したときのための下余白 */
}

.video-container video {
    width: 100%;      /* figureの幅 (48%) に合わせる */
    height: auto;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    display: block;
}

.video-container figcaption {
    text-align: center; 
    font-size: 0.9rem;  
    color: #555;        
    margin-top: 0.5rem; 
}

/* 見出し */
 h2, h3, h4, h5, h6 { 
    color: #2c6e49;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

/* フッター */
footer {
    background-color: #2c6e49;
    color: white;
    text-align: center;
    padding: 2rem 5%;
    margin-top: 2rem;
}

.image-container {
  display: flex;       /* 子要素（画像）をフレックスアイテムとして配置する */
  justify-content: center; /* 画像をコンテナ内で中央揃えにする（任意） */
  gap: 20px;           /* 画像と画像の間に20pxの隙間を開ける */
}

/* 画像並列 */
/* 親コンテナの設定 */
.gallery-container {
  display: flex;       /* 子要素（figure）を横並びにする */
  justify-content: center; /* 中央揃え（任意） */
  gap: 20px;           /* 要素間の隙間 */
}

/* figure要素（画像とキャプションのセット）の設定 */
.gallery-container figure {
  margin: 0;           /* figureタグのデフォルト余白をリセット */
  width: 50%;          /* 幅を50%に設定 */
  text-align: center;  /* 画像もキャプションも中央揃えにする */
}

/* 画像自体の設定 */
.gallery-container img {
  max-width: 100%;     /* レスポンシブ対応 */
  height: auto;        /* 縦横比維持 */
  display: block;      /* 画像の下にできる余白を削除 */
  margin: 0 auto 10px; /* 画像の下に少し余白を開ける */
}

/* キャプション（figcaption）の設定 */
.gallery-container figcaption {
  font-size: 0.9em;      /* 少し小さめの文字サイズ */
  color: #555;           /* グレー系の文字色 */
  padding: 5px;          /* キャプション内の余白 */
  border-top: 1px solid #ccc; /* 上部に境界線を追加（任意） */
}

/* クラスを指定して大きくする場合 */
.super-large {
  font-size: 4rem; /* h1は通常2rem前後なので、それより大きな値を指定 */
}

/* 特定のh1だけをさらに大きくする場合 */
h1.hero-title {
  font-size: 80px;
}