/* PC: make the step number a quiet, attached label instead of a floating gold tile. */
@media (min-width: 721px) {
  main[data-page-id="S13"] .cs-production-flow__step {
    padding-top: 24px;
  }

  main[data-page-id="S13"] .cs-production-flow__number {
    position: absolute;
    top: 22px;
    left: 18px;
    display: inline-flex;
    width: auto;
    min-width: 0;
    padding: 2px 0 8px 12px;
    align-items: baseline;
    gap: 7px;
    border-left: 3px solid var(--school-mustard, #d9a62e);
    border-bottom: 1px solid rgba(36, 72, 61, .24);
    border-radius: 0;
    background: transparent;
    color: var(--school-green-deep, #18362e);
    font-family: "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
    font-size: clamp(1.38rem, 1.72vw, 1.72rem);
    font-weight: 800;
    letter-spacing: .015em;
    line-height: 1;
  }

  main[data-page-id="S13"] .cs-production-flow__number::before {
    color: #557168;
    content: "STEP";
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1;
  }

  main[data-page-id="S13"] .cs-production-flow__step > p {
    margin-top: 64px;
  }

  main[data-page-id="S13"] .cs-production-flow__step:not(:last-child)::after {
    top: 30px;
  }
}

@media (min-width: 721px) and (max-width: 1040px) {
  main[data-page-id="S13"] .cs-production-flow__number {
    left: 20px;
  }
}

/* Tablet: five narrow columns make the concern copy break into fragments. */
@media (min-width: 721px) and (max-width: 900px) {
  body main[data-page-id="S13"] .cram-school-parent-template .problem-section.cs-pain-section {
    padding: 48px 0;
  }

  body main[data-page-id="S13"] .cram-school-parent-template .problem-section.cs-pain-section > .container {
    width: min(calc(100% - 48px), 760px);
  }

  body main[data-page-id="S13"] .cram-school-parent-template .problem-section.cs-pain-section .center-head {
    margin-bottom: 34px;
  }

  body main[data-page-id="S13"] .cram-school-parent-template .problem-section.cs-pain-section h2 {
    font-size: 1.9rem;
    line-height: 1.45;
  }

  body main[data-page-id="S13"] .cram-school-parent-template .problem-section.cs-pain-section h2::after {
    width: 72px;
    margin-top: 22px;
  }

  body main[data-page-id="S13"] .cs-pain-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  body main[data-page-id="S13"] .cs-pain-list > li,
  body main[data-page-id="S13"] .cs-pain-list > li:nth-child(n + 4) {
    display: grid;
    min-height: 150px;
    padding: 20px;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    border: 1px solid rgba(36, 72, 61, .18);
    border-radius: 16px;
    background: rgba(255, 253, 247, .92);
    box-shadow: 0 10px 24px rgba(24, 54, 46, .09);
    text-align: left;
  }

  body main[data-page-id="S13"] .cs-pain-list > li:last-child {
    width: calc(50% - 9px);
    grid-column: 1 / -1;
    justify-self: center;
  }

  body main[data-page-id="S13"] .cs-pain-list > li::after {
    display: none;
  }

  body main[data-page-id="S13"] .cs-pain-visual {
    width: 96px;
    height: 96px;
  }

  body main[data-page-id="S13"] .cs-pain-visual img {
    transform: none;
  }

  body main[data-page-id="S13"] .cs-pain-list p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
  }

  body main[data-page-id="S13"] .cs-pain-list p .doc-word {
    display: inline;
  }

  body main[data-page-id="S13"] .cs-pain-conclusion {
    margin-top: 28px;
    font-size: .95rem;
    line-height: 1.7;
  }
}
