/* 喜びの声だけに適用。章見出し・共通導線は既存のまま。 */
.results-page .results-sections {
  --voice-paper: var(--pc-paper);
  --result-red: var(--pc-green);
  --voice-rule: #b8b8b8;
}
.results-page .transcribed-voices,
.results-page .student-voices .evidence-list {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.results-page .transcribed-voices li,
.results-page .student-voices .evidence-list li {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  border: 0;
  border-radius: 0;
  background: var(--voice-paper);
  color: var(--pc-ink);
  font-size: 1rem;
  line-height: 1.9;
}
.results-page .student-voices .evidence-list li::before { content: none; }
.results-page .voice-clip {
  display: block;
  width: 100%;
  height: auto;
  margin-top: auto;
  padding-top: 1rem;
}
.results-page .voice-copy { margin-bottom: 1rem; font-weight: 500; }
.results-page .scan-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: start;
}
.results-page .results-sections .scan-gallery figure {
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--voice-rule);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.results-page .results-sections .scan-gallery img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.results-page .survey-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  max-width: 66.666%;
  margin: 2rem auto 0;
}
.results-page .survey-gallery figure { margin: 0; }
.results-page .survey-gallery img { display: block; width: 100%; height: auto; }
.results-page .survey-gallery figcaption { color: var(--pc-ink); font-size: 1rem; line-height: 1.9; }
.results-page .results-sections .high-story { background: var(--pc-paper); }
.results-page .results-sections .high-story,
.results-page .results-sections .high-story p,
.results-page .results-sections .high-story blockquote { color: var(--pc-ink); }
.results-page .results-sections .high-story .story-result,
.results-page .results-sections .result-label {
  display: table;
  padding: .5rem 0;
  background: transparent;
  color: var(--pc-ink);
  font-weight: 700;
  line-height: 1.8;
}
.results-page .results-sections .high-story blockquote {
  box-sizing: border-box;
  max-width: 40em;
  padding: 2rem;
  background: var(--voice-paper);
  font-size: 1.125rem;
  line-height: 1.9;
}
.results-page .high-story .story-body {
  display: flex;
  align-items: flex-end;
  gap: 2rem;
}
.results-page .high-story .story-body blockquote { flex: 0 1 40em; min-width: 0; }
.results-page .high-story .story-signature {
  max-width: 45rem;
  text-align: right;
}
.results-page .pc-section--middle > .pc-section__label { color: var(--pc-green); }
.results-page .high-story .story-illust { display: block; width: 160px; height: auto; flex: none; }
.results-page .score-list,
.results-page .admission-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}
.results-page .score-list li,
.results-page .admission-list li {
  position: relative;
  min-width: 0;
  padding: 1.5rem;
  border: 0;
  background: var(--voice-paper);
  color: var(--pc-ink);
  border-radius: 0;
}
.results-page .result-icon {
  display: block;
  width: 2rem;
  height: 2rem;
  margin-bottom: .5rem;
  background: var(--pc-orange);
  mask: var(--result-icon) center / contain no-repeat;
  -webkit-mask: var(--result-icon) center / contain no-repeat;
}
.results-page .result-icon--trophy { --result-icon: url('images/icons/trophy.svg'); }
.results-page .result-icon--cap { --result-icon: url('images/icons/graduation-cap.svg'); }
.results-page .score-person,
.results-page .admission-person { font-size: 1rem; font-weight: 500; line-height: 1.9; }
.results-page .score-person { display: block; }
.results-page .score-line { display: block; white-space: nowrap; line-height: 1.3; }
.results-page .score-subject { font-size: 1rem; }
.results-page .score-number { font-size: clamp(3rem, 5vw, 4.5rem); font-weight: 800; color: var(--result-red); letter-spacing: -.04em; }
.results-page .score-unit { font-size: 1.5rem; font-weight: 800; color: var(--result-red); }
.results-page .admission-list strong { font-size: 1.5rem; font-weight: 800; }
.results-page .admission-list strong,
.results-page .admission-person { display: inline-block; }
.results-page .admission-list strong,
.results-page .admission-person { white-space: nowrap; }
.results-page .admission-list li:has(> .admission-person:only-of-type) { display: flex; flex-direction: column; align-items: flex-start; }
.results-page .admission-list li:has(> .admission-person:only-of-type) .result-icon { order: 0; }
.results-page .admission-list li:has(> .admission-person:only-of-type) .admission-person { order: 1; display: block; line-height: 1.6; }
.results-page .admission-list li:has(> .admission-person:only-of-type) strong { order: 2; display: block; }
.results-page .results-sections .result-note { font-size: 1rem; color: var(--pc-green); }
@media (min-width: 1200px) {
  .results-page .score-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  .results-page .student-voices .evidence-list,
  .results-page .scan-gallery,
  .results-page .score-list,
  .results-page .admission-list { grid-template-columns: minmax(0, 1fr); }
  .results-page .survey-gallery { max-width: 100%; gap: 1rem; }
  .results-page .results-sections .high-story blockquote { padding: 1.5rem; font-size: 1rem; }
}

/* チラシと同じ、声ごとの抜き出し見出しと出典の札。 */
.results-page .results-sections .voice-heading {
  margin: 0 0 1rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--voice-rule);
  color: var(--result-red);
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.65;
  word-break: auto-phrase;
  text-wrap: balance;
}
.results-page .results-sections .high-story blockquote strong {
  color: var(--pc-green);
  font-weight: 800;
}
@media (max-width: 899px) {
  .results-page .results-sections .voice-heading { font-size: 1.2rem; }
}

/* 画像から文字に起こした声も、既存の生徒の札に揃える。 */
.results-page .transcribed-voices li { min-width: 0; }
.results-page .transcribed-voices li::before { content: none; }
.results-page .results-sections .voice-signature {
  margin: auto 0 0;
  text-align: right;
  font-size: 1rem;
  font-weight: 700;
}
.results-page .results-sections .voice-person { margin: 0 0 1rem; }
.results-page .voice-score { display: block; line-height: 1.8; font-weight: 700; }
.results-page .results-sections .voice-badge { margin: 0 0 1rem; }
.results-page .voice-badge .score-number { display: inline-block; }
.results-page .voice-score-table {
  width: 100%;
  margin-bottom: 1rem;
  border-collapse: collapse;
  font-size: 1rem;
  font-weight: 700;
}
.results-page .voice-score-table th,
.results-page .voice-score-table td {
  padding: .5rem;
  border-bottom: 1px solid var(--voice-rule);
  text-align: center;
}
.results-page .voice-score-table { border-color: var(--voice-rule); }
.results-page .voice-score-table td { border-color: var(--voice-rule); }
.results-page .voice-score-table td:last-child { color: var(--result-red); }
.results-page .transcribed-voices .voice-photo {
  justify-content: center;
  align-items: flex-start;
  padding: 0;
  background: none;
}
.results-page .voice-photo img { display: block; width: auto; max-width: 100%; height: auto; }
@media (max-width: 899px) {
  .results-page .transcribed-voices { grid-template-columns: minmax(0, 1fr); }
  .results-page .high-story .story-body { flex-direction: column; align-items: flex-end; gap: .75rem; }
  .results-page .high-story .story-body blockquote { flex: none; width: 100%; }
  .results-page .high-story .story-illust { width: 100px; max-width: 100%; }
}

/* 冒頭:題名の右に写真を置く。比を保ち、枠からはみ出さない。 */
.results-page .pc-page .pc-masthead { grid-template-columns: minmax(0, 1fr) minmax(0, 30rem); }
.results-page .pc-page .pc-masthead__visual img { width: 100%; max-width: 30rem; max-height: none; height: auto; object-fit: contain; }
@media (min-width: 900px) {
  .results-page .pc-page .pc-masthead .page-masthead__lead { white-space: nowrap; }
}
/* 冒頭の下の線を残し、最初の欄の上の線と余白は消して1本にする。 */
.results-page .pc-sections > .student-voices:first-child { border-top: 0; padding-top: 0; }
@media (max-width: 899px) {
  .results-page .pc-page .pc-masthead { grid-template-columns: minmax(0, 1fr); }
  .results-page .pc-page .pc-masthead__visual { padding: 0; }
  .results-page .pc-page .pc-masthead__visual img { max-width: 100%; }
}

/* 署名は大学名の行の右(入らなければ下)に小さく。本文の赤い強調は太字にしない。 */
.results-page .results-sections .high-story .story-result .story-signature { display: inline-block; max-width: none; margin-left: 1rem; font-size: .875rem; font-weight: 500; text-align: left; }
.results-page .results-sections .high-story .story-result { display: block; max-width: none; font-size: clamp(1.25rem, 2.4vw, 1.6rem); }
.results-page .results-sections .high-story .story-result .story-signature { white-space: nowrap; }
.results-page .results-sections .high-story blockquote strong { font-weight: inherit; }

/* 05・06:代表挨拶と同じ、見出しは真ん中・文は線の枠の中。 */
.results-page .results-sections .hr-panel:has(> .fit-box) h2 {
  max-width: none;
  margin: 0 0 35px;
  text-align: center;
  letter-spacing: 1px;
  color: #333;
}
.results-page .results-sections .fit-box {
  box-sizing: border-box;
  max-width: 850px;
  margin: 0 auto;
  padding: 1rem;
  border: 1px solid #555;
  background: #fff;
  color: var(--pc-ink);
  font-size: 1.125rem;
  line-height: 1.9;
}
.results-page .results-sections .fit-box p { max-width: none; margin: 0 0 1.3rem; }
.results-page .results-sections .fit-box ul { margin: 0 0 1.3rem; padding-left: 1.5rem; list-style: disc; }
.results-page .results-sections .fit-box li { margin: 0; padding: 0; border: 0; background: none; font-size: inherit; font-weight: inherit; }
.results-page .results-sections .fit-box > :last-child { margin-bottom: 0; }
@media (max-width: 767px) {
  .results-page .results-sections .fit-box { max-width: none; }
}
