.req-intro__row {
  display: grid;
  justify-content: space-between;
  gap: 15rem;
  grid-template-columns: 1fr 47rem;
}
@media (max-width: 767px) {
  .req-intro__row {
    display: flex;
    flex-direction: column-reverse;
    gap: 6rem;
  }
}
.req-intro__row p {
  line-height: 4.2rem;
}
.req-intro__title {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: 5.6rem;
  margin-bottom: 4rem;
  color: var(--color-blue);
}
@media (max-width: 767px) {
  .req-intro__title {
    font-size: 2.4rem;
    line-height: 3.5rem;
    margin-bottom: 2rem;
  }
}
@media (max-width: 767px) {
  .req-intro__body p {
    font-size: 1.4rem;
    line-height: 3.2rem;
  }
}
.req-intro__images {
  position: relative;
}
.req-intro__image {
  width: 47rem;
  overflow: hidden;
  border-radius: 8rem 0 8rem 0;
}
@media (max-width: 767px) {
  .req-intro__image {
    width: 25.1rem;
    margin: auto;
  }
}
.req-intro__image--front {
  z-index: 2;
  position: relative;
}
.req-intro__image--back {
  rotate: -12deg;
  position: absolute;
  inset: 0;
}
.req-intro__sign {
  position: absolute;
  width: 48rem;
  bottom: 6rem;
  left: -11.2rem;
  z-index: 4;
}
@media (max-width: 767px) {
  .req-intro__sign {
    width: 25.7rem;
    left: 0;
    bottom: 3.2rem;
  }
}

.req-portrait__row {
  display: grid;
  grid-template-columns: 5.6rem auto 49.7rem;
}
@media (max-width: 767px) {
  .req-portrait__row {
    display: block;
  }
}
@media print, screen and (min-width: 768px) {
  .req-portrait__figure {
    margin-left: 8rem;
    margin-right: 6rem;
  }
}
@media (max-width: 767px) {
  .req-portrait__figure {
    margin-bottom: 4rem;
  }
}
.req-portrait__item {
  margin-bottom: 3rem;
}
.req-portrait__item-title {
  font-size: 2.8rem;
  font-weight: 900;
  color: var(--color-blue);
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  .req-portrait__item-title {
    font-size: 2rem;
  }
}
.req-portrait__item-desc {
  line-height: 2;
}

@media (max-width: 767px) {
  .req-flow__items-g {
    padding-left: 0.8rem;
  }
}
.req-flow__items {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .req-flow__items {
    display: grid;
    grid-template-columns: repeat(4, 25rem);
    border-top: 2px solid var(--color-blue);
    gap: 5rem;
  }
}
@media (max-width: 767px) {
  .req-flow__items {
    border-left: 1px solid var(--color-blue);
    padding-top: 3rem;
  }
  .req-flow__items:first-child {
    padding-top: 4rem;
  }
}
.req-flow__items--arrow::before {
  content: "";
  width: 1rem;
  height: 1.8rem;
  position: absolute;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2218%22%20viewBox%3D%220%200%2010%2018%22%3E%20%3Cg%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_11%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%2011%22%20transform%3D%22translate(10)%20rotate(90)%22%20fill%3D%22%23fff%22%3E%20%3Cpath%20d%3D%22M%2016.87731742858887%209.5%20L%201.122681975364685%209.5%20L%209%200.7474244236946106%20L%2016.87731742858887%209.5%20Z%22%20stroke%3D%22none%22%2F%3E%20%3Cpath%20d%3D%22M%209%201.494837760925293%20L%202.245353698730469%209%20L%2015.75464630126953%209%20L%209%201.494837760925293%20M%209%200%20L%2018%2010%20L%200%2010%20L%209%200%20Z%22%20stroke%3D%22none%22%20fill%3D%22%23020b83%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
}
@media print, screen and (min-width: 768px) {
  .req-flow__items--arrow::before {
    right: 0;
    top: -1rem;
  }
}
@media (max-width: 767px) {
  .req-flow__items--arrow::before {
    bottom: -0.5rem;
    left: -0.5rem;
    rotate: 90deg;
  }
}
.req-flow__item {
  min-height: 10rem;
  padding: 3.7rem 0 0 1rem;
}
@media (max-width: 767px) {
  .req-flow__item {
    margin-bottom: 3rem;
    padding: 0 0 0 4.5rem;
  }
  .req-flow__item:last-child {
    margin-bottom: 0;
  }
}
.req-flow__item p {
  font-size: 1.4rem;
  line-height: 2.4rem;
}
.req-flow__item-no {
  width: 14.5rem;
  height: 4.3rem;
  border-radius: 0.4rem;
  background-color: #d8d9e5;
  color: var(--color-blue);
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  position: relative;
}
@media (max-width: 767px) {
  .req-flow__item-no {
    width: 8.1rem;
    height: 2.38rem;
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }
}
.req-flow__item-no::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2245%22%20viewBox%3D%220%200%2012%2045%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_31123%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2031123%22%20transform%3D%22translate(-156%20-2566)%22%3E%20%3Cline%20id%3D%22%E7%B7%9A_375%22%20data-name%3D%22%E7%B7%9A%20375%22%20y2%3D%2238%22%20transform%3D%22translate(161.5%202573)%22%20fill%3D%22none%22%20stroke%3D%22%23020b83%22%20stroke-width%3D%222%22%20stroke-dasharray%3D%224%204%22%2F%3E%20%3Ccircle%20id%3D%22%E6%A5%95%E5%86%86%E5%BD%A2_523%22%20data-name%3D%22%E6%A5%95%E5%86%86%E5%BD%A2%20523%22%20cx%3D%226%22%20cy%3D%226%22%20r%3D%226%22%20transform%3D%22translate(156%202566)%22%20fill%3D%22%23020b83%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.2rem;
  height: 4.5rem;
  margin: auto;
}
@media print, screen and (min-width: 768px) {
  .req-flow__item-no::before {
    transform: translate(0, -100%);
  }
}
@media (max-width: 767px) {
  .req-flow__item-no::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2244.017%22%20height%3D%227%22%20viewBox%3D%220%200%2044.017%207%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_47458%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2047458%22%20transform%3D%22translate(-18%20-2611.662)%22%3E%20%3Ccircle%20id%3D%22%E6%A5%95%E5%86%86%E5%BD%A2_559%22%20data-name%3D%22%E6%A5%95%E5%86%86%E5%BD%A2%20559%22%20cx%3D%223.5%22%20cy%3D%223.5%22%20r%3D%223.5%22%20transform%3D%22translate(18%202611.662)%22%20fill%3D%22%23020b83%22%2F%3E%20%3Cline%20id%3D%22%E7%B7%9A_827%22%20data-name%3D%22%E7%B7%9A%20827%22%20x1%3D%2238%22%20y2%3D%220.662%22%20transform%3D%22translate(24%202614.5)%22%20fill%3D%22none%22%20stroke%3D%22%23020b83%22%20stroke-width%3D%222%22%20stroke-dasharray%3D%224%204%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
    width: 4.4rem;
    height: 0.7rem;
    transform: translate(-112%, 0);
    inset: 0 auto 0 0;
  }
}
.req-flow__item-no span {
  font-size: 2.8rem;
  margin-left: 0.7rem;
}
@media (max-width: 767px) {
  .req-flow__item-no span {
    font-size: 2rem;
    margin-left: 0.5rem;
  }
}
.req-flow__item-title {
  font-size: 2.4rem;
  font-weight: 900;
  color: var(--color-blue);
  width: 14.5rem;
  text-align: center;
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  .req-flow__item-title {
    width: auto;
    font-size: 2rem;
    text-align: left;
    margin-bottom: 0.5rem;
  }
}

.req-flow-box {
  border-radius: 4rem 0px;
  background: #d8d9e5;
  padding: 3.7rem 7.2rem;
  margin-top: 6rem;
}
@media (max-width: 767px) {
  .req-flow-box {
    padding: 2rem;
    margin-top: 4rem;
  }
  .req-flow-box p {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}
.req-flow-box__title {
  font-size: 2.4rem;
  margin-bottom: 1.6rem;
  font-weight: 900;
  color: var(--color-blue);
}
@media (max-width: 767px) {
  .req-flow-box__title {
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
}

.req-outline__tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-bottom: 8rem;
}
@media (max-width: 767px) {
  .req-outline__tabs {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.4rem 0.5rem;
    margin-bottom: 3rem;
  }
}
.req-outline__tab {
  height: 5rem;
  color: var(--color-blue);
  border: solid 1px var(--color-blue);
  text-align: center;
  align-content: center;
  border-radius: 6rem;
  font-weight: bold;
  font-size: 1.4rem;
  transition: 0.5s;
  cursor: pointer;
  position: relative;
}
@media (max-width: 767px) {
  .req-outline__tab {
    font-size: 1.2rem;
    height: 4rem;
  }
}
.req-outline__tab::after {
  margin: 0 auto;
  content: "";
  position: absolute;
  inset: auto 0 0;
  transform: translateY(100%);
  width: 1.3rem;
  height: 2.8rem;
  border: solid 0.7rem transparent;
  border-top: 2.8rem solid var(--color-blue);
  opacity: 0;
  transition: 0.8s;
}
@media (max-width: 767px) {
  .req-outline__tab::after {
    scale: 0.65;
  }
}
.req-outline__tab:hover {
  background-color: var(--color-blue);
  color: #fff;
}
.req-outline__tab.is-active {
  background-color: var(--color-blue);
  color: #fff;
}
.req-outline__tab.is-active::after {
  opacity: 1;
}
.req-outline__row {
  display: grid;
  grid-template-columns: 5.6rem 1fr;
  gap: 10rem;
}
@media (max-width: 767px) {
  .req-outline__row {
    display: block;
  }
}
.req-outline__table dl {
  display: grid;
  grid-template-columns: 14.5rem 1fr;
  padding-bottom: 3rem;
  margin-bottom: 4rem;
  border-bottom: #d8d9e5 1px solid;
  line-height: 2.4rem;
}
@media (max-width: 767px) {
  .req-outline__table dl {
    display: block;
    padding: 2rem 1rem;
    margin-bottom: 0;
  }
}
.req-outline__table dl dd {
  margin-bottom: 0.5rem;
}
.req-outline__table dl dt {
  font-weight: bold;
}

/*# sourceMappingURL=requirements.css.map */
