.top-view {
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100vh;
}

.top-view .container {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  word-break: keep-all;
}

.top-view h2 {
  color: var(--font-color-1);
  font-size: clamp(1.3rem, 15vw, 4rem);
  margin: 5rem 0;
  font-family: "Caveat", cursive;
}

.top-view h2 small {
  font-size: clamp(1rem, 10vw, 2rem);
  padding-left: 3rem;
  font-family: "Caveat", cursive;
}

.top-view h3 {
  color: var(--font-color-1);
  font-size: 1.7vw;
  margin-bottom: 10rem;
  word-break: keep-all;
}

.top-view p {
  color: var(--font-color-1);
  font-size: clamp(1rem, 5vw, 1.5rem);
  word-break: keep-all;
}

/* メインコンテンツ */
.content {
  padding: 2rem 0;
  text-align: center;
}

.content h2 {
  width: 45%;
  margin: 0 auto 3rem;
  padding: 0.5rem 0;
  font-size: 5rem;
  border-bottom: 5px double var(--main-color);
  font-family: "Caveat", cursive;
}

.each-img {
  width: 80%;
  height: 40rem;
  object-fit: cover;
}

/* 事業紹介 */
.business {
  background-color: var(--base-color);
  padding: 10rem 0;
}

.business .container {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.business p {
  width: 50vw;
  font-size: 1vw;
  word-break: keep-all;
  line-height: 1.5;
}

.business small {
  font-size: 1vw;
  word-break: keep-all;
}

/* Business画像 */
.business img {
  position: relative;
  width: 15vw;
  height: 15vw;
  border-radius: 5rem;
  object-fit: cover;
  object-position: center;
}

.business .left-img {
  top: 40%;
}

.business .right-img {
  bottom: 20%;
}
/* ビデオ */
#sample h2 {
  margin-bottom: 3rem;
}

#sample video {
  width: 50vw;
  border-radius: 5rem;
}

/* 料金 */
/* .price {
  background-color: var(--sub-color);
} */

.price .back-img {
  position: fixed;
  z-index: -1;
  top: 0;
  display: block;
  margin: 0 auto 0 0;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  opacity: 0.5;
}

.price .each-img {
  display: block;
  margin: 0 auto 0 0;
  border-radius: 0 5rem 0 0;
  object-fit: cover;
}

.price .container {
  position: relative;
  z-index: 20;
  top: -10rem;
  margin: 0 auto -10rem 0;
  background-color: var(--main-color-light);
  padding: 2rem 0;
  border-radius: 0 5rem 5rem 0;
}

.price .item {
  width: 50%;
  padding: 3rem 2rem;
  border: 2px solid var(--main-color);
  text-align: left;
  background-color: rgba(255, 255, 255, 1);
  border-radius: 1.5rem;
  margin: 0 auto;
  margin-bottom: 2rem;
}

.price .content:nth-of-type(2) {
  border: 3px dashed var(--main-color);
}

.price .square {
  color: var(--main-color);
}

.price h3 {
  font-size: 2.5rem;
  margin-bottom: 3rem;
  font-family: "Caveat", cursive;
}

.price h4 {
  font-size: 2rem;
  margin: 1rem 0 2rem;
}

.price p {
  font-size: 1.5rem;
  line-height: 1.5;
}

.price .money {
  font-size: 1.7rem;
  text-align: right;
  font-weight: bold;
}

.price .actual-cost {
  font-size: 1.5rem;
  margin-top: 2rem;
  margin-bottom: 3rem;
}

.fa-caret-down {
  color: var(--main-color);
  margin-right: 8px;
}

.plan-option-item {
  margin-top: 1.5rem;
  font-weight: bold;
}

/* Q&A */
/* .question {
  background-color: var(--sub-color);
} */

.question .each-img {
  display: block;
  margin: 0 0 0 auto;
  border-radius: 5rem 0 0 0;
  object-fit: cover;
}

.question .container {
  position: relative;
  z-index: 20;
  top: -10rem;
  margin: 0 0 -10rem auto;
  background-color: var(--main-color-light);
  padding: 2rem 0;
  border-radius: 5rem 0 0 5rem;
}

.q-a {
  margin: 2rem auto;
  width: 50%;
}

.q-a td {
  border: 3px solid var(--main-color);
}

.q-a .q-ttl,
.a-ttl {
  color: var(--base-color);
  background-color: var(--main-color);
  padding: 10px;
  font-size: 2rem;
  vertical-align: middle;
  font-family: "Caveat", cursive;
}

.q,
.a {
  font-size: 1.5rem;
  vertical-align: middle;
  width: 100%;
  padding: 1.5rem 0 1.5rem 1.5rem;
  line-height: 1.3;
  text-align: left;
}

/* ライター紹介 */

#introduction .each-img {
  object-position: 10% -12rem;
}

.introduction .each-img {
  display: block;
  margin: 0 auto;
  border-radius: 5rem 5rem 0;
  object-fit: cover;
  height: 70rem;
}

.introduction .container {
  position: relative;
  z-index: 20;
  top: -30rem;
  margin: 0 auto;
  background-color: var(--main-color-light);
  text-align: left;
  padding: 5rem 7.5%;
  border-radius: 5rem;
}

.introduction h3 {
  font-size: 3rem;
  padding: 0 0 2rem;
}

.introduction h3:nth-of-type(n + 2) {
  padding: 2rem 0;
}

.introduction p {
  font-size: 1.5rem;
  line-height: 1.3;
}

.introduction p .etc {
  display: block;
  text-align: center;
}

.introduction .supplementary-text {
  margin-top: 5rem;
  font-size: 1.6rem;
}

@media screen and (max-width: 960px) {
  .business p {
    width: 70vw;
  }
  .business img {
    display: none;
  }

  .content h2 {
    width: 60%;
  }
  .each-img {
    width: 90%;
  }

  #sample video {
    width: 75vw;
  }

  .price .item {
    width: 75%;
  }

  .q-a {
    width: 75%;
  }
  #introduction .each-img {
    object-position: 10% -12rem;
  }
  .introduction .container {
    /* top: -70rem; */
  }
}
@media screen and (max-width: 520px) {
  .business p {
    width: 80vw;
  }
  .business img {
    display: none;
  }

  .content h2 {
    width: 75%;
  }
  .each-img {
    width: 95%;
  }

  #sample video {
    width: 90vw;
  }

  .price .item {
    width: 90%;
  }

  .q-a {
    width: 90%;
  }
  .introduction .container {
    /* top: -60rem; */
  }
}
