/*-----------------------------------------------
* story
-------------------------------------------------*/
.intro {
  /* margin-top: min(10vw, 150px); */
  /* margin-bottom: min(13.3333333333vw, 200px);
  overflow: hidden; */
  padding: 0 100px;
}

@media screen and (max-width: 768px) {
  .intro {
    /* margin-top: max(12.8vw, 64px); */
    padding: 0 2em;
  }
}

.intro__tab{
  /* margin-bottom: 80px; */
}

.intro__contents {
  position: relative;
  text-align: center;
}

@media screen and (min-width: 769px) {
  .intro__contents {
    margin-top: min(6.6666666667vw, 100px);
    margin-bottom: min(10vw, 150px);
  }
}

@media screen and (max-width: 768px) {
  .intro__contents {
    width: 100%;
    margin-top: min(16vw, 80px);
    margin-bottom: min(16vw, 80px);
    /* padding: max(12.8vw, 64px) max(4vw, 20px) 0; */
  }
}

.intro__text>p {
  font-size: min(1.3333333333vw, 20px);
  line-height: 2;
  letter-spacing: 0.05em;
  text-shadow: 5px 5px 10px #FFF, -5px -5px 10px #FFF, 5px -5px 10px #FFF, -5px 5px 10px #FFF, 5px 5px 10px #FFF, -5px -5px 10px #FFF, 5px -5px 10px #FFF, -5px 5px 10px #FFF;
}

.intro__text>p::before,
.intro__text>p::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}

.intro__text>p::before {
  margin-top: calc((1 - 3) * 0.5em);
}

.intro__text>p::after {
  margin-bottom: calc((1 - 3) * 0.5em);
}

@media screen and (max-width: 768px) {
  .intro__text>p {
    font-size: max(2.4vw, 12px);
  }
}

.intro__text>p .-text-bg {
  color: #fff;
  line-height: 0.95;
  display: inline-table;
  background-color: #009dbd;
}

@media screen and (max-width: 768px) {
  .intro__text>p .-text-bg {
    line-height: 1;
  }
}

@media screen and (min-width: 769px) {
  .intro__text p+p {
    margin-top: min(3.3333333333vw, 50px);
  }
}

@media screen and (max-width: 768px) {
  .intro__text p+p {
    margin-top: max(5.3333333333vw, 26.6666666667px);
  }
}
