/* トップの査定の章と査定ページの表紙の査定書(本物のレポートの見本)と、各ページで分かることの説明。
   動きは report-flip.js(左綴じで1枚ずつめくる)。ここは紙の重なりと説明の見た目を決める。
   紙の束に見えるよう、下に2枚分の縁だけを重ねる */
.report-flip {
  display: grid;
  justify-items: center;
  gap: 14px;
}
.report-flip-paper {
  position: relative;
  /* 縦のなぞりは画面のスクロールに使い、横のなぞりで説明を切り替える */
  touch-action: pan-y;
  width: min(100%, 372px);
}
.report-flip-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 900 / 1272;
  box-shadow:
    2px 2px 0 #fff,
    3px 3px 0 var(--color-line),
    5px 5px 0 #fff,
    6px 6px 0 var(--color-line),
    0 18px 36px rgba(20, 20, 20, 0.22);
}
.report-leaf {
  position: absolute;
  inset: 0;
  background: #fff;
  backface-visibility: visible;
  transform-origin: left center;
}
.report-flip-stage .report-leaf img {
  display: block;
  width: 100%;
  height: 100%;
  transform: none;
  transition: none;
}
/* ::before は紙に落ちる影、::after は紙の裏。どちらも report-flip.js が濃さを動かす */
.report-leaf::before,
.report-leaf::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}
.report-leaf::before {
  z-index: 1;
  background: linear-gradient(90deg, rgba(20, 20, 20, 0.85), rgba(20, 20, 20, 0.45));
}
.report-leaf::after {
  z-index: 2;
  background: #f1f4f9;
}

/* 説明している場所だけを明るく残す。紙の外へ影を出さないよう、紙と同じ大きさの枠で切る */
.report-spot-clip {
  position: absolute;
  z-index: 3;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.report-spot {
  position: absolute;
  opacity: 0;
  border-radius: 4px;
  box-shadow: 0 0 0 800px rgba(20, 20, 20, 0.5);
  transition: opacity 0.2s ease;
}
.report-spot.is-shown {
  opacity: 1;
}
.report-spot.is-sliding {
  transition:
    opacity 0.2s ease,
    left 0.35s ease,
    top 0.35s ease,
    width 0.35s ease,
    height 0.35s ease;
}

/* 説明の文。動きを減らす設定と JavaScript が無い時は、紙の下に全部を並べる */
.report-guide {
  margin-top: 16px;
  padding: 16px 18px;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 10px 30px rgba(20, 20, 20, 0.14);
}
.report-guide ol {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.report-guide b {
  display: block;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}
.report-guide li > span {
  display: block;
  margin-top: 2px;
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--color-text-sub);
}
.report-flip:not(.is-animated) .report-guide li.is-current > span {
  color: var(--color-text);
}

/* 動く時は紙の上に重ね、明るくした場所を指す吹き出しにする(2026-11-07 たいち)。
   位置は紙に対する %。明るくした場所と重ならない所に置く */
.report-flip.is-animated .report-guide {
  position: absolute;
  z-index: 4;
  inset: 0;
  margin: 0;
  padding: 0;
  background: none;
  border-radius: 0;
  box-shadow: none;
  pointer-events: none;
}
.report-flip.is-animated .report-guide ol {
  display: block;
}
.report-flip.is-animated .report-guide li {
  position: absolute;
  left: 14%;
  width: 72%;
  padding: 11px 14px 12px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(20, 20, 20, 0.32);
  opacity: 0;
  transition: opacity 0.18s ease;
}
.report-flip.is-animated .report-guide li.is-current {
  opacity: 1;
}
.report-flip.is-animated .report-guide li::after {
  content: "";
  position: absolute;
  left: var(--tail-left, 50%);
  width: 14px;
  height: 14px;
  margin-left: -7px;
  background: #fff;
  transform: rotate(45deg);
}
/* 表紙: 題の下から題を指す */
.report-flip.is-animated .report-guide li:nth-child(1) {
  top: 31%;
  --tail-left: 26%;
}
.report-flip.is-animated .report-guide li:nth-child(1)::after {
  top: -7px;
}
/* 賃料のグラフ: グラフの下から指す */
.report-flip.is-animated .report-guide li:nth-child(2) {
  top: 50%;
}
.report-flip.is-animated .report-guide li:nth-child(2)::after {
  top: -7px;
}
/* 地図と表: その上から指す */
.report-flip.is-animated .report-guide li:nth-child(3) {
  bottom: 55%;
}
.report-flip.is-animated .report-guide li:nth-child(3)::after {
  bottom: -7px;
}
/* 入居者像: 左の列を右から指す */
.report-flip.is-animated .report-guide li:nth-child(4) {
  top: 34%;
  left: 42.5%;
  width: 54%;
}
.report-flip.is-animated .report-guide li:nth-child(4)::after {
  top: 28px;
  left: 0;
}
/* 設備と条件: 上の段を下から指す */
.report-flip.is-animated .report-guide li:nth-child(5) {
  top: 47%;
  left: 27%;
  --tail-left: 56%;
}
.report-flip.is-animated .report-guide li:nth-child(5)::after {
  top: -7px;
}
@media (max-width: 360px) {
  .report-flip.is-animated .report-guide li {
    padding: 9px 11px 10px;
  }
  .report-flip.is-animated .report-guide b {
    font-size: 14px;
  }
  .report-flip.is-animated .report-guide li > span {
    font-size: 12.5px;
  }
}

/* 丸のボタン: 押せる広さは 28px 取り、見た目は小さな丸 */
.report-guide-nav {
  display: flex;
  justify-content: center;
  padding: 0 8px;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 999px;
}
.report-guide-nav button {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  background: none;
  border: 0;
  cursor: pointer;
}
.report-guide-nav button::before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--color-line-strong);
  border-radius: 50%;
}
.report-guide-nav button[aria-current]::before {
  background: var(--color-text);
}
