html {
  font-size: 62.5%;
}

html,
body {
  width: 100%;
  height: 100dvh;
  background-color: #343434;
  color: #ffffff;
  margin: 0;
}

main {
  width: 100%;
  height: 100dvh;
}

.front_mv {
  width: 100%;
  height: 100%;
}

.front_mv__inner {
  display: flex;
  flex-direction: row;
  height: 100%;
}

.front_mv__img,
.front_mv__txt {
  width: 50%;
  height: 100%;
}

.front_mv__img {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.front_mv__img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  display: block;
}

/* テキスト側：縦全体を使い、ttlは中央、copyrightは下に配置 */
.front_mv__txt {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* 上下を分ける */
  align-items: center;
  text-align: center;
  padding: 2rem;
  box-sizing: border-box;
}

/* 見出し部分を中央寄せ */
.front_mv__ttl {
  margin: auto 0;
  /* 中央に寄せる */
}

.front_mv__ttl h1 {
  font-size: 3.4rem;
  margin-bottom: 2rem;
  font-family: "Castoro Titling";
  font-weight: 400;
  letter-spacing: 8px;
}

.front_mv__ttl a img {
  width: 28px;
  height: auto;
}

/* コピーライトを最下部に固定的配置 */
.copyright {
  font-size: 1.2rem;
  letter-spacing: 2px;
  opacity: 0.7;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 200;
}

@media screen and (max-width: 768px) {
  .front_mv__inner {
    flex-direction: column;
    /* 縦並び */
  }

  .front_mv__img {
    width: 100%;
    height: 75%;
  }

  .front_mv__txt {
    width: 100%;
    height: 25%;
  }

  /* 画像を横幅優先でフィット */
  .front_mv__img img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .front_mv__ttl h1 {
    font-size: 2rem;
    margin-bottom: 1rem;
  }

  .front_mv__ttl a img {
    width: 24px;
  }

  .copyright {
    font-size: 1rem;
  }
}