
.hero-image-wrapper {
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Source Code Pro', monospace;
  color: #F8F8F8;
  text-align: center;
  margin-top: -160px;
}

.hero-image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Adjust the alpha value to make the background darker or lighter */
  background: rgba(0, 0, 0, 0.4);
  z-index: 2;
}

.hero-image-content {
  position: relative;
  z-index: 3;
  max-width: 800px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero-image-logo {
  max-width: 60px;
  margin-bottom: 20px;
}

.hero-image-title {
  font-family: var(--astra-roboto), sans-serif;
  font-weight: var(--astra-font-weight-thin);
  font-size: 102px;
  margin: 0 0 28px;
  letter-spacing: 2px;
  color: #F8F8F8;

  @media screen and (max-width: 1240px) {
    font-size: 60px;
  }
}

@media screen and (max-width: 749px) {
  .hero-image-title {
    /*
     * 25px 固定だと画面幅の半分ほどしか使わず、モックより明らかに小さかった。
     * 画面幅に対する比率で決めて、モックと同じ「幅の6割ほど」に合わせる。
     *
     * 749px のとき 8vw ＝ 約60px で、ひとつ上のブレークポイント（60px）と
     * つながる。固定値で書くと、この境目で文字が飛ぶ。
     */
    font-size: min(8vw, 60px);
    margin-bottom: 13px;
  }
}

.hero-image-subtitle {
  font-family: var(--astra-roboto), sans-serif;
  font-weight: var(--astra-font-weight-thin);
  font-size: 28px;
  margin: 0;
  letter-spacing: 2px;
  color: #F8F8F8;
  white-space: nowrap;

  @media screen and (max-width: 1240px) {
    font-size: 18px;
  }
}

@media screen and (max-width: 749px) {
  .hero-image-subtitle {
    font-size: min(4vw, 18px);
  }
}