#contents_index {
  clear: both;
  overflow: hidden;
  padding-top: 40px;
}

#contents_index .inner {
  width: 1000px;
  /*幅*/
  margin: 0 auto;
}

#top #contents_index .inner #main h2 {
  text-align: center;
  margin-bottom: 40px;
}

.image-flame {
  display: flex;
  height: 250px;
  gap: 10px;
}

.image-box {
  position: relative;
  width: 495px;
  height: 250px;
}

/* 画像本体 */
.image-box__img {
  object-fit: cover;
  object-position: center;
  display: block;
  width: 495px;
  height: 250px;
}

/* 透けた黒背景＋白文字のキャプション */
.image-box__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.45);
  /* 半透明の黒 */
  color: #fff;
  padding: 5px 15px;
}

/* テキスト調整 */
.image-box__caption h5 {
  text-align: center;
  font-size: 15px;
  line-height: 1.7;
  font-weight: bold;
}

#main .image-box__caption p {
  text-align: center;
  padding: 0;
  line-height: 1.3;
  font-size: 14px;
}

#new ul#newinfo {
  height: auto;
  padding-left: 5px;
  font-size: 14px;
}

#new ul#newinfo a {
  margin-right: 1em;
}

.newicon {
  background: #f00;
  color: #fff;
  font-size: 10px;
  padding: 0px 5px;
  border-radius: 2px;
  margin: 0px 5px;
}

.workshop_title {
  display: block;
  font-weight: bold;
  margin: 10px 0;
}

.button004 a {
    background: #e97537;
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 12%;
    max-width: 160px;
    padding: 5px 25px;
    color: #fff;
    transition: 0.3s ease-in-out;
    font-weight: bold;
    text-decoration: none;
}
.button004 a:after {
    position: absolute;
    top: 50%;
    left: 10px;
    border-radius: 1px;
    transition: 0.2s ease-in-out;
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transform: translateY(-50%);
}
.button004 a:hover {
    background: #ff5101;
    color: #FFF;
}

/* ===== スマホ対応：幅の見切れ解消＋image-flame の縦並び ===== */
@media (max-width: 480px) {
  /* 右側が見切れる主因：1000px 固定幅を可変化 */
  #contents_index .inner {
    width: auto;          /* 1000px → 画面幅に追従 */
    margin: 0 16px;       /* 余白は少しだけ */
  }

  /* image-flame を縦並びに（= 縦方向Flex） */
  .image-flame {
    display: flex;
    flex-direction: column; /* ← 横並び → 縦並びに */
    height: auto;           /* 250px 固定を解除 */
    gap: 12px;
  }

  /* 2つの image-box を全幅に（固定 495px を解除） */
  .image-box {
    width: 100%;       /* 495px → 100% */
    height: auto;      /* 250px → コンテンツに応じる */
  }

  /* 画像もボックス幅に合わせて可変化（固定 495×250 を解除） */
  .image-box__img {
    width: 100%;       /* 495px → 100% */
    height: 150px;      /* 250px → 自然な比率で表示 */
    object-fit: cover; /* 既定を維持（トリミングが必要な場合） */
  }

  /* キャプションはそのまま下部に。パディングだけ少し広げると読みやすい */
  .image-box__caption {
    position: static;         /* 必要なら static にして画像直下に */
    background: rgba(0,0,0,0.45);
    color: #fff;
    padding: 8px 12px;
  }

  #new ul#newinfo a {
  margin-right: 0;
  }
}
