
.movie-block {
  margin-block: 40px;

}

.movie-block .inner-block {
  max-width: 830px;
}

.movie-area {
  width: 100%;
}

.movie-area iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 1067/600;
  object-fit: cover;
}

/* --------------------------------
* ipo-flow（IPO投資の流れ）
----------------------------------- */
.ipo-flow {
  --flow-green: #00aa8a;
  --flow-deep-green: #097362;
  --flow-red: #e53333;
  --flow-text: #2e2e2e;
  --flow-bg: #ecf1f0;
  --flow-line: #8cd8cc;
  background-color: var(--flow-bg);
  padding: 45px 30px 40px;
}

.ipo-flow__heading {
  margin: 0;
  /* Figma 40px / コンテンツ幅1200px基準 */
  font-size: min(3.33vw, 40px);
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.45;
  text-align: center;
  color: var(--flow-green);
}

.ipo-flow__subheading {
  margin-top: 10px;
  /* Figma 32px / コンテンツ幅1200px基準 */
  font-size: min(2.67vw, 32px);
  font-weight: bold;
  line-height: 1.45;
  text-align: center;
  color: #4b4b4b;
}

.ipo-flow__accent {
  color: var(--flow-green);
}

.ipo-flow__accent--red {
  font-weight: bold;
  color: var(--flow-red);
}

.ipo-flow__list {
  display: grid;
  grid-template-columns: 313fr 383fr 383fr;
  gap: 30px;
  margin-top: 80px;
}

.ipo-flow__item {
  position: relative;
  background-color: #fff;
  border-radius: 8px;
  padding: 55px 20px 40px;
}

.ipo-flow__num {
  position: absolute;
  top: -46px;
  left: 50%;
  transform: translateX(-50%);
  /* Figma 67.4px / コンテンツ幅1200px基準 */
  font-size: min(5.62vw, 68px);
  font-weight: bold;
  line-height: 1.35;
  color: var(--flow-deep-green);
}

.ipo-flow__title {
  margin: 0 0 30px;
  border-bottom: 2px solid var(--flow-deep-green);
  padding-bottom: 10px;
  /* Figma 32px / コンテンツ幅1200px基準 */
  font-size: min(2.67vw, 32px);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  color: var(--flow-deep-green);
}

.ipo-flow__text {
  /* Figma 24px / コンテンツ幅1200px基準 */
  font-size: min(2vw, 24px);
  font-weight: bold;
  line-height: 1.25;
  text-align: center;
  color: var(--flow-text);
}

.ipo-flow__note {
  /* Figma 18px / コンテンツ幅1200px基準 */
  font-size: min(1.5vw, 18px);
  line-height: 1.4;
  text-align: center;
  color: var(--flow-text);
}

.ipo-flow__desc {
  /* Figma 18px / コンテンツ幅1200px基準 */
  font-size: min(1.5vw, 18px);
  line-height: 1.25;
  text-align: left;
  color: var(--flow-text);
}

.ipo-flow__media {
  display: grid;
  grid-template-columns: auto 1fr;
  justify-content: center;
  align-items: center;
  padding-inline: 20px;
  column-gap: 24px;
}

.ipo-flow__media.ipo-flow__media--profit {
  padding-inline: 0;
}

.ipo-flow__media .ipo-flow__illust {
  grid-column: 1;
  grid-row: 1;
}

.ipo-flow__media .ipo-flow__text {
  grid-column: 2;
  grid-row: 1;
}

.ipo-flow__media .ipo-flow__note,
.ipo-flow__media .ipo-flow__desc {
  grid-column: 1 / -1;
  grid-row: 2;
  margin-top: 16px;
}

.ipo-flow__illust img {
  width: 100%;
  height: auto;
}

.ipo-flow__illust--man {
  width: 109px;
  margin: 0 auto 30px;
}

.ipo-flow__item--step02 .ipo-flow__media .ipo-flow__illust {
  width: 121px;
}

.ipo-flow__item--step03 .ipo-flow__media .ipo-flow__illust {
  width: 129px;
}

.ipo-flow__item--step03 .ipo-flow__media--profit .ipo-flow__illust {
  width: 85px;
}

.ipo-flow__divider {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 22px 0;
}

.ipo-flow__divider::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  border-top: 2px dashed var(--flow-line);
}

.ipo-flow__pill {
  position: relative;
  background-color: var(--flow-deep-green);
  border-radius: 100px;
  padding: 5px 20px;
  /* Figma 12.97px / コンテンツ幅1200px基準 */
  font-size: min(1.08vw, 13px);
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
}

@media only screen and (max-width: 750px) {
  .ipo-flow {
    padding: 6vw 4.5vw 7vw;
  }

  .ipo-flow__br {
    display: none;
  }

  .ipo-flow__heading {
    font-size: 6.3vw;
  }

  .ipo-flow__subheading {
    margin-top: 1.3vw;
    font-size: 3.5vw;
  }

  .ipo-flow__subheading .ipo-flow__accent {
    font-size: 4.65vw;
  }

  .ipo-flow__list {
    display: block;
    margin-top: 13vw;
  }

  .ipo-flow__item {
    border-radius: 6px;
    padding: 6vw 6% 7vw;
  }

  .ipo-flow__item + .ipo-flow__item {
    margin-top: 12vw;
  }

  .ipo-flow__num {
    top: -6.4vw;
    left: 3%;
    transform: none;
    font-size: 12.4vw;
    line-height: 1.3;
  }

  .ipo-flow__title {
    margin-bottom: 4.5vw;
    padding-bottom: 1.2vw;
    font-size: 5.3vw;
  }

  .ipo-flow__text {
    font-size: 4vw;
  }

  .ipo-flow__note {
    font-size: 3.3vw;
    text-align: left;
  }

  .ipo-flow__desc {
    font-size: 3.3vw;
  }

  .ipo-flow__media {
    grid-template-columns: auto 1fr;
    justify-content: start;
    column-gap: 5vw;
    padding-inline: 0;
  }

  .ipo-flow__media .ipo-flow__illust {
    grid-row: 1 / 3;
  }

  .ipo-flow__media .ipo-flow__text {
    text-align: left;
    align-self: end;
  }

  .ipo-flow__media .ipo-flow__note,
  .ipo-flow__media .ipo-flow__desc {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin-top: 1.5vw;
  }

  .ipo-flow__item--step01 {
    padding-top: 8vw;
  }

  .ipo-flow__item--step01 .ipo-flow__title {
    width: 84%;
  }

  .ipo-flow__item--step01 .ipo-flow__text {
    width: 84%;
  }

  .ipo-flow__illust--man {
    position: absolute;
    top: 4vw;
    right: 3%;
    width: 14.2vw;
    margin: 0;
  }

  .ipo-flow__item--step02 .ipo-flow__media .ipo-flow__illust {
    width: 20.2vw;
  }

  .ipo-flow__item--step03 .ipo-flow__media .ipo-flow__illust {
    width: 21.3vw;
  }

  .ipo-flow__item--step03 .ipo-flow__media--profit .ipo-flow__illust {
    width: 22.6vw;
  }

  .ipo-flow__divider {
    margin: 4vw 0;
  }

  .ipo-flow__divider::before {
    border-top-width: 1px;
  }

  .ipo-flow__pill {
    padding: 1.4vw 5vw;
    font-size: 2.9vw;
  }
}
