/* 画像＋テキストの枠（report） */
.report {
  --report-padding: 20px;
}
.report ~ .report {
  margin-top: 40px;
}
.report figure {
  margin: initial;
  padding: 10px 0;
}
.report figcaption {
  margin: initial;
  text-align: center;
}
.report figure img {
  max-height: 240px;
}
.report .report-body {
  padding: 10px 0;
}
.report .report-title {
  font-weight: var(--fw-bold);
  font-size: 16px;
}
@media (min-width: 960px) {
  .report .report-title {
    font-size: 18px;
  }
}
.report {
  align-items: start;
  grid-template-areas: "image text";
}
.report figure {
  grid-area: image;
}
.report .report-body {
  grid-area: text;
}
.report--border {
  border: 1px solid #d9d9d9;
  box-sizing: border-box;
}
.report--link {
  position: relative;
}
.report-stretched-link {
  color: inherit;
  text-decoration: none;
}
a.report-stretched-link[target="_blank"]::after,
a.report-stretched-link[target="_blank"][rel~="noopener"]::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
  width: auto;
  height: auto;
  margin: 0;
  background-image: none;
}
.report-stretched-link:hover {
  text-decoration: underline;
}
.report--link .summary ul {
  margin: 0;
  padding-left: 1.5em;
  list-style-position: outside;
}
/* パターン集：関連記事枠（139–144 / 160–165行目） */
.report--link .summary .textbox.tx-border {
  margin-top: 0;
  padding: 10px 15px 15px;
  border: none;
  transition: background-color 0.3s ease;
}
.report--link .summary .textbox.tx-border:hover {
  background-color: #F5F5F5;
}
.report--link .summary .textbox.tx-border a:hover {
  background-color: transparent;
}
.report--link .summary li {
  list-style-position: outside;
}
.report--link .summary a {
  position: relative;
  z-index: 2;
  display: inline;
  padding: 4px 8px;
  border-radius: 4px;
  text-decoration: none;
  transition: background-color 0.3s ease;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.report--link .summary a:hover {
  color: #367C39;
  background-color: #F1F1F1;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 480px) {
  .report {
    display: block;
    padding-inline: var(--report-padding);
  }
}
@media (min-width: 481px) {
  .report {
    display: grid;
    grid-template-columns: 1fr 4fr;
  }
  .report figure,
  .report .report-body {
    padding: var(--report-padding);
  }
  /* 画像1/3、テキスト2/3 */
  .rep-col-3 {
    grid-template-columns: 1fr 2fr;
  }
}

/* ホバー時に背景が変化（#F1F1F1）＋画像がわずかに透過して反応が分かる */
.figure-col-2--border figure:has(a) {
  transition: background-color 0.3s ease;
}
.figure-col-2--border figure:has(a):hover {
  background-color: #F1F1F1;
}
.figure-col-2--border figure a img {
  transition: opacity 0.3s ease;
}
.figure-col-2--border figure a:hover img {
  opacity: 0.8;
}
.report--border.report--link {
  transition: background-color 0.3s ease;
}
.report--border.report--link:has(.report-stretched-link:hover) {
  background-color: #F1F1F1;
}
.report--border.report--link figure img {
  transition: opacity 0.3s ease;
}
.report--border.report--link:has(.report-stretched-link:hover) figure img {
  opacity: 0.8;
}
