/*
 * セラトリ共通手順デザイン / v0.3.6
 * Both legacy article steps (.sra-step-list) and reusable blocks
 * (.stp-steps) share exactly the same visual language.
 * Numbers restart per list and alternate black / blue regardless of length.
 */
:is(.sra-step-list, .stp-kit.stp-steps) {
  --sr-step-ink: #121212;
  --sr-step-blue: #176fc4;
  --sr-step-rule: #d8d8d8;
  counter-reset: sr-unified-step;
  list-style: none !important;
  padding: 0 !important;
  margin: 24px 0 34px !important;
  border-top: 2px solid var(--sr-step-ink);
  border-bottom: 0;
}
:is(.sra-step-list, .stp-kit.stp-steps) > li {
  counter-increment: sr-unified-step;
  list-style: none !important;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  column-gap: 22px;
  row-gap: 0;
  align-items: start;
  min-width: 0;
  padding: 23px 8px 23px;
  margin: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--sr-step-rule);
}
:is(.sra-step-list, .stp-kit.stp-steps) > li::before {
  content: counter(sr-unified-step, decimal-leading-zero);
  display: block;
  grid-column: 1;
  grid-row: 1 / span 2;
  position: static;
  width: auto;
  height: auto;
  font: 900 45px / 1.1 Arial, sans-serif;
  letter-spacing: -.075em;
  color: var(--sr-step-ink);
  background: none;
  border: 0;
  box-shadow: none;
}
:is(.sra-step-list, .stp-kit.stp-steps) > li:nth-child(even)::before {
  color: var(--sr-step-blue);
}
/* Support two markup styles:
 * <li><h3>..</h3><p>..</p></li>
 * <li><div><h3>..</h3><p>..</p></div></li>
 */
:is(.sra-step-list, .stp-kit.stp-steps) > li > h3 {
  grid-column: 2;
  grid-row: 1;
}
:is(.sra-step-list, .stp-kit.stp-steps) > li > p {
  grid-column: 2;
  grid-row: 2;
}
:is(.sra-step-list, .stp-kit.stp-steps) > li > div {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-width: 0;
}
:is(.sra-step-list, .stp-kit.stp-steps) h3 {
  font-size: clamp(19px, 2vw, 22px);
  font-weight: 900;
  line-height: 1.45;
  margin: 0 0 7px;
  color: var(--sr-step-ink);
  overflow-wrap: anywhere;
}
:is(.sra-step-list, .stp-kit.stp-steps) p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  color: #303030;
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 600px) {
  :is(.sra-step-list, .stp-kit.stp-steps) { margin: 20px 0 30px !important; }
  :is(.sra-step-list, .stp-kit.stp-steps) > li {
    grid-template-columns: 55px minmax(0, 1fr);
    column-gap: 13px;
    padding: 19px 3px;
  }
  :is(.sra-step-list, .stp-kit.stp-steps) > li::before { font-size: 36px; }
  :is(.sra-step-list, .stp-kit.stp-steps) h3 { font-size: 19px; }
  :is(.sra-step-list, .stp-kit.stp-steps) p { font-size: 15px; }
}
@media (max-width: 360px) {
  :is(.sra-step-list, .stp-kit.stp-steps) > li {
    grid-template-columns: 47px minmax(0, 1fr);
    column-gap: 10px;
  }
  :is(.sra-step-list, .stp-kit.stp-steps) > li::before { font-size: 32px; }
}
