@charset "UTF-8";
/* 印刷用設定 */
@media print {
  header, footer, nav { display: none; }
  table { page-break-inside: avoid; }
  a::after { content: none !important; }
}

/* アコーディオン（全体） */
details.accordion {
  background: #f9f9f9;
  border: 1px solid #e3e3e3;
  border-radius: 10px;
  padding: 1.2rem;
  margin: 2rem 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
details.accordion > summary {
  position: relative;
  display: block;
	cursor:pointer;
	/**padding-right: 110px;**/
}
/**details.accordion > summary {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;   /* 上揃え */
/**  cursor: pointer;
}**/

.summary-main {
  flex: 1;
}
details.accordion > summary::after {
  position: absolute;
  bottom: 0;
/**  right: 0;**/
	right: 0;
/**details.accordion > summary::after {**/
  content:"▼ 詳しく見る";
  margin-left: 16px;
  flex-shrink: 0;
  background: #c40000;
  color: #fff;
  padding: .35rem .8rem;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 700;
  white-space: nowrap;
}

details.accordion[open] > summary::after {
  content:"▲ たたむ";
}
/* メインコンテンツ（2カラムレイアウト） */
.inner_flex {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
}
.inner_flex .box1,
.inner_flex .box2 {
  flex: 1 1 300px;
  min-width: 0;
}
.inner_flex img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* 目次（4列グリッド） */
ul.flex_ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3%;
  width: 100%;
  margin: 10px auto 3rem;
  list-style: none;
  padding: 0;
}
ul.flex_ul li a img {
  width: 100%;
  height: auto;
}

/* 商品テーブル */
.goods-table {
  width: 80%;
  border-collapse: collapse;
  margin: 20px auto 0;
}
.goods-table th,
.goods-table td {
  padding: 6px 0;
  border-bottom: 1px solid #ccc;
  text-align: center;
}
.goods-table th {
  width: 40%;
  font-weight: bold;
}
.goods-table td a {
  display: block;
  margin: 12px 0;
}

/* 問題のリンク2つ横並びブロック */
.gridbox {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;             /* 画像同士の間隔を少し広げてスッキリ */
  max-width: 85%;        /* 全体の横幅を85%に絞って画像を小さく */
  margin: 1.5rem auto;   /* 左右にautoをいれて中央寄せ */
}
details.accordion .gridbox a {
  margin: 0;             /* 上位の「margin: 1.5rem auto」を相殺 */
}
.gridbox img {
  width: 100%;
  height: auto;
  display: block;
}

/* レスポンシブ対応（タブレット・スマホ） */
@media (max-width: 768px) {
  summary h3 { font-size: 18px; }
  .goods-table { width: 100%; }
}

@media (max-width: 600px) {
  summary h3 { font-size: 16px; }
  ul.flex_ul { grid-template-columns: repeat(2, 1fr);
	margin: 10px auto 7rem;}  
}