/*
Theme Name: Twenty Twenty-one Child
Version: 1.6
Template: twentytwentyone
*/
:root {
  --viewport-width: min(100vw, 2000px);
  --b: calc(var(--viewport-width) / 160);
}

#flow #step {
  background: #fff;
}
#flow #step .step__wrapper {
  padding-top: max(12.5rem, 70px);
  padding-bottom: max(10rem, 50px);
}
#flow #step .step__wrapper .flow {
  display: grid;
  grid-template-columns: max(10rem, 30px) 1fr;
  gap: max(5.5rem, 10px);
  margin-top: max(9rem, 40px);
}
@media screen and (max-width: 550px) {
  #flow #step .step__wrapper .flow {
    gap: 5px;
  }
}
#flow #step .step__wrapper .flow__free {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 11;
  gap: 0;
}
#flow #step .step__wrapper .flow__free > span {
  position: relative;
  grid-row: 1/5;
  background: rgba(59, 49, 40, 0.1);
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
          text-orientation: mixed;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: max(1.6rem, 14px);
  font-weight: 500;
  letter-spacing: 1em;
  line-height: 1;
}
#flow #step .step__wrapper .flow__list {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 11;
  gap: 0;
}
#flow #step .step__wrapper .flow__list dl {
  display: flex;
  align-items: first baseline;
  gap: max(3.95rem, 10px);
}
#flow #step .step__wrapper .flow__list dl > * {
  font-size: max(1.4rem, 12px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
}
#flow #step .step__wrapper .flow__list dl dt {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  align-items: center;
  text-align: center;
  gap: max(2rem, 15px);
  width: max(12rem, 95px);
}
@media screen and (max-width: 550px) {
  #flow #step .step__wrapper .flow__list dl dt {
    width: 80px;
  }
}
#flow #step .step__wrapper .flow__list dl dt > * {
  font-weight: 500;
}
#flow #step .step__wrapper .flow__list dl dt span.circle {
  text-align: center;
  width: max(2.8rem, 20px);
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: rgba(59, 49, 40, 0.5);
}
#flow #step .step__wrapper .flow__list dl dt h3 {
  line-height: 1.5;
}
#flow #step .step__wrapper .flow__list dl dt h3 > span {
  opacity: 1 !important;
  display: block;
  padding: max(0.7rem, 7px) max(2rem, 20px);
  line-height: 1;
  border: 1px solid #3b3128;
  border-radius: max(1.9rem, 19px);
}
@media screen and (max-width: 550px) {
  #flow #step .step__wrapper .flow__list dl dt h3 > span {
    padding: 5px 10px;
  }
}
#flow #step .step__wrapper .flow__list dl dt h3 small {
  font-size: max(1.2rem, 10px);
  line-height: 1;
}
#flow #step .step__wrapper .flow__list dl dt span.line {
  flex: 1;
  width: 1px;
  background: #c2c0bd;
}
#flow #step .step__wrapper .flow__list dl dd {
  flex: 1;
  padding-bottom: max(5.5rem, 35px);
}
#flow #step .step__wrapper .flow__list dl dd h4 {
  font-weight: 500;
  line-height: 2;
}
#flow #step .step__wrapper .flow__list dl dd h4:not(:first-of-type) {
  margin-top: max(4rem, 30px);
}
#flow #step .step__wrapper .flow__list dl dd p a {
  color: #e48a40;
  text-decoration: underline;
}
#flow #step .step__wrapper .flow__list dl dd p b {
  color: #ff0000;
  font-weight: inherit;
}
#flow #step .step__wrapper .flow__list dl dd.focus {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: max(3rem, 30px);
}
#flow #step .step__wrapper .flow__list dl dd.focus .btn {
  margin-left: auto;
}/*# sourceMappingURL=flow.css.map */