
main h2 {
    
    font-size: 2vw;
    text-align: center;
    margin-top: 100px;
}
main h3 {
    font-size: 1vw;
    text-align: center;
    margin-top: 10vw;
}

main p {
    text-align: center;
    padding: 20px 10vw;
}
.content-block {
  display: flex;
  gap: 30px;
  align-items: center;      /* テキストを写真の中央に揃える */
  margin-bottom: 60px;      /* セクション間に余白 */
}

.content-block .text {
  flex: 1;                  /* 説明文エリアは可変 */
}

.content-block .photos {
  flex: 0 0 40%;            /* 写真エリアを40%に縮小（お好みで調整） */
  display: grid;
  grid-template-columns: 1fr 1fr;  /* 2列 */
  grid-template-rows: auto auto;   /* 2行 */
  gap: 10px;
  padding: 0 20px;          /* ← ここで左右に20pxの余白を追加 */
  box-sizing: border-box;   /* padding込みで幅を計算 */
}

.content-block .photos img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  object-fit: cover;
}
.content-block-alt {
  display: flex;
  gap: 30px;
  align-items: center;      /* テキストを写真の中央に揃える */
  margin-bottom: 60px;      /* セクション間に余白 */
}

.content-block-alt .text {
  flex: 1;                  /* 説明文エリアは可変 */
}

.content-block-alt .photos {
  flex: 0 0 40%;            /* 写真エリアを40%に固定（好みで調整可） */
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列 */
  grid-auto-rows: 1fr;      /* 行の高さを自動 */
  gap: 10px;
  padding: 0 20px;          /* ← 左右に20pxの余白 */
  box-sizing: border-box;   /* padding込みで幅計算 */
}

/* 画像まわりのリセット＆トリミング */
.content-block-alt .photos figure { margin: 0; }
.content-block-alt .photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;        /* 4枚を均一にトリミング */
  border-radius: 6px;
  display: block;
}

/* グリッドの縦横比を揃えたい場合（正方形）*/
.content-block-alt .photos figure { aspect-ratio: 1 / 1; }

/* モバイルで縦積みにする */
@media (max-width: 768px) {
  .content-block-alt {
    flex-direction: column;
    align-items: stretch;
  }
  .content-block-alt .photos {
    flex: none;
    width: 100%;
    padding: 0;
  }
}


