.score-result-box {
  display: grid;
  grid-template-columns: 1fr auto 1.35fr;
  gap: 24px;
  align-items: stretch;
  margin: 32px 0;
}

.score-card {
  position: relative;
  padding: 24px 26px 26px;
  border-radius: 18px;
  background: #fffaf0;
  border: 1px solid #eadfca;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
}

.score-before {
  background: #fff8e7;
}

.score-after {
  background: #fff4f9;
  border-color: #ead0dd;
}

.score-label {
  display: inline-block;
  margin-bottom: 8px;
  padding: 5px 14px;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 700;
  background: #f2e3ef;
  color: #5d3350;
}

.score-grade {
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1.3;
  color: #222;
}

.score-method {
  margin-top: 2px;
  margin-bottom: 18px;
  font-size: 0.95rem;
  color: #666;
}

.score-list {
  margin: 0;
}

.score-row {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 14px;
  align-items: baseline;
  padding: 11px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.score-row dt {
  font-weight: 800;
  color: #222;
}

.score-row dd {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 800;
  color: #222;
}

.score-row dd span {
  color: #d92323;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
}

.score-row dd small {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #ffe3e3;
  color: #c60000;
  font-size: 0.82rem;
  font-weight: 800;
  vertical-align: middle;
}

.score-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2f65ad;
  font-size: 3.4rem;
  font-weight: 900;
  line-height: 1;
}
.achievement-note {
  margin: 18px 0 32px;
  padding: 16px 18px;
  border-left: 5px solid #c89b3c;
  border-radius: 12px;
  background: #fff8e8;
}

.achievement-note-label {
  display: inline-block;
  margin-bottom: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  background: #f2dfb6;
  color: #6b4a12;
  font-size: 0.82rem;
  font-weight: 800;
}

.achievement-note p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.8;
  font-weight: 600;
}

.achievement-note strong {
  color: #b00000;
  font-weight: 900;
}

@media (max-width: 760px) {
  .achievement-note {
    margin: 14px 0 26px;
    padding: 14px 15px;
  }

  .achievement-note p {
    font-size: 0.98rem;
    line-height: 1.7;
  }
}

/* スマホ対応 */
@media (max-width: 760px) {
  .score-result-box {
    display: block;
    margin: 24px 0;
  }

  .score-card {
    padding: 16px 16px 18px;
    border-radius: 14px;
    box-shadow: none;
  }

  .score-before {
    margin-bottom: 8px;
  }

  .score-after {
    margin-top: 8px;
  }

  .score-label {
    margin-bottom: 4px;
    padding: 3px 10px;
    font-size: 0.78rem;
  }

  .score-grade {
    display: inline;
    margin-left: 6px;
    font-size: 1.05rem;
  }

  .score-method {
    margin: 4px 0 10px;
    font-size: 0.82rem;
  }

  .score-row {
    grid-template-columns: 72px 1fr;
    padding: 7px 0;
    gap: 8px;
  }

  .score-row dt {
    font-size: 0.95rem;
  }

  .score-row dd {
    font-size: 0.98rem;
  }

  .score-row dd span {
    font-size: 1.08rem;
  }

  .score-row dd small {
    display: inline-block;
    margin-left: 5px;
    margin-top: 0;
    padding: 2px 7px;
    font-size: 0.72rem;
  }

  .score-arrow {
    height: 22px;
    font-size: 1.8rem;
    transform: rotate(90deg);
    margin: 2px 0;
  }
}


