@charset "UTF-8";
/* 継続改修用CSS：既存CSSの後に、利用するページだけで読み込む。
   共通要素を上書きせず、追加コンテンツの専用クラス内に限定する。 */

/* 撮影＋アルバムセット：単品商品とは独立した料金比較。 */
#second .epo-album-set .epo-album-set__intro {
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 12px;
}
#second .epo-album-set .epo-album-set__tax {
  text-align: right;
  margin-bottom: 12px;
}
#second .epo-album-set .epo-album-set__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
#second .epo-album-set .epo-album-set__card {
  min-width: 0;
}
#second .epo-album-set .epo-album-set__prices {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
#second .epo-album-set .epo-album-set__prices caption {
  padding: 16px 12px;
  background: #aaaaaa;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
}
#second .epo-album-set .epo-album-set__prices th,
#second .epo-album-set .epo-album-set__prices td {
  padding: 14px 8px;
  border: 1px solid #dddddd;
  text-align: center;
  vertical-align: middle;
  line-height: 1.7;
}
#second .epo-album-set .epo-album-set__prices th {
  background: #f5f5f5;
  font-size: 1.2rem;
  font-weight: normal;
  overflow-wrap: anywhere;
}
#second .epo-album-set .epo-album-set__prices td {
  font-size: 1.6rem;
  font-weight: bold;
  white-space: nowrap;
}
#second .epo-album-set .epo-album-set__notes {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #dddddd;
}
#second .epo-album-set .epo-album-set__notes li {
  margin-bottom: 6px;
  overflow-wrap: anywhere;
}

/* タブレット以下：商品ごとの表を縦に配置し、比較列は維持する。 */
@media screen and (max-width: 1020px) {
  #second .epo-album-set .epo-album-set__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* スマートフォン：価格列の幅を確保し、横スクロールを避ける。 */
@media screen and (max-width: 767px) {
  #second .epo-album-set .epo-album-set__prices th,
  #second .epo-album-set .epo-album-set__prices td {
    padding: 12px 4px;
  }
  #second .epo-album-set .epo-album-set__prices td {
    font-size: 1.4rem;
  }
}
