@charset "UTF-8";

.page .mv {
  display: flex;
  gap: 50px;
  margin-bottom: 120px;
}

.page .mv .text {
  flex: 1;
  padding-left: calc((100% - 1000px) / 2);
  padding-top: 80px;
}

.page .mv .text h1 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3.6rem;
  color: #232D2F;
}

.page .mv .text h1 span {
  display: block;
  font-size: 1.8rem;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  color: #BFAE9C;
  border-top: 1px solid #C1B9AD;
}

.page .mv .image {
  width: 50%;
}

@media screen and (max-width: 1040px) {
  .page .mv .text {
    padding-left: 10px;
  }
}

@media screen and (max-width: 800px) {
  .page .mv {
    flex-direction: column;
  }

  .page .mv .text {
    order: 1;
    padding: 0 10px;
  }

  .page .mv .image {
    width: 100%;
    text-align: right;
  }

  .page .mv .image img {
    width: 95%;
  }
}

.index .mv {
  position: relative;
}

.index .mv .text {
  position: absolute;
  top: 50%;
  width: 100%;
  padding: 10px 0 10px 50%;
  font-size: 3.8rem;
  font-weight: bold;
  color: #232D2F;
  text-shadow: 4px 4px 8px #00000029;
  background: #FFFFFFE0;
}

.index .mv .mask {
  width: 85%;
  height: 600px;
  overflow: hidden;
  border-top-right-radius: 300px;
  border-bottom-right-radius: 300px;
}

.index .mv .mask > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 1400px) {
  .index .mv .text {
    padding: 10px 0 10px 40%;
    font-size: 3.6rem;
  }
}

@media screen and (max-width: 1040px) {
  .index .mv .text {
    padding: 10px 0 10px 35%;
    font-size: 3.4rem;
  }
}

@media screen and (max-width: 900px) {
  .index .mv .text {
    padding: 10px 10px;
    text-align: right;
    font-size: 3rem;
  }
}

@media screen and (max-width: 800px) {
  .index .mv .mask {
    width: 90%;
    height: 400px;
    overflow: hidden;
    border-top-right-radius: 200px;
    border-bottom-right-radius: 200px;
  }

  .index .mv .text {
    font-size: 2.6rem;
  }
}

@media screen and (max-width: 520px) {
  .index .mv .mask {
    width: 80%;
    height: 200px;
    overflow: hidden;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
  }

  .index .mv .text {
    top: auto;
    bottom: -20px;
    padding: 2px 10px;
    font-size: 1.4rem;
  }
}

.index .truebeam-introduction {
  position: relative;
}

.index .truebeam-introduction .truebeam-badge {
  position: absolute;
  top: 130px;
  left: calc(((100% - 1000px) / 2) + 50px);
}

.index .truebeam-introduction .truebeam-list {
  position: relative;
  top: -50px;
  left: calc((100% - 1000px) / 2);
  background: #FFFFFF90;
}

@media screen and (max-width: 1040px) {
  .index .truebeam-introduction .truebeam-badge {
    top: 80px;
    left: 50px;
  }

  .index .truebeam-introduction .truebeam-list {
    left: 50px;
  }
}

@media screen and (max-width: 800px) {
  .index .truebeam-introduction .truebeam-badge {
    top: -50px;
    left: 10px;
  }

  .index .truebeam-introduction .truebeam-list {
    top: 0;
    left: auto;
  }
}

.page h2 {
  font-size: 2.2rem;
  font-weight: bold;
}

.page h3 {
  font-size: 2rem;
  font-weight: bold;
}

.page h4 {
  font-size: 1.8rem;
}

.page h5 {
  font-size: 1.8rem;
}

.page .header-left-line {
  padding-left: 10px;
  border-left: 12px solid #8E7A65;
}

.page .header-with-num span {
  margin-right: 3px;
  color: #8E7A65;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: 2.4rem;
  font-weight: normal;
}
