@charset "UTF-8";
.hidden-sp {
  display: none;
}
@media screen and (min-width: 851px) {
  .hidden-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 851px) {
  .hidden-pc {
    display: none;
  }
}

body {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  color: #000000;
  font-size: 14px;
}

body.is-drawer-open {
  overflow: hidden;
}

.js-soft {
  opacity: 0;
  -webkit-transform: scale(0.98);
          transform: scale(0.98);
  -webkit-filter: blur(10px) brightness(1.15);
          filter: blur(10px) brightness(1.15);
}

.js-soft.is-show {
  -webkit-animation: soft-in 1.5s ease-out forwards;
          animation: soft-in 1.5s ease-out forwards;
}

@-webkit-keyframes soft-in {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
    -webkit-filter: blur(10px) brightness(1.15);
            filter: blur(10px) brightness(1.15);
  }
  50% {
    opacity: 0.6;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(4px) brightness(1.05);
            filter: blur(4px) brightness(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(0) brightness(1);
            filter: blur(0) brightness(1);
  }
}

@keyframes soft-in {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
    -webkit-filter: blur(10px) brightness(1.15);
            filter: blur(10px) brightness(1.15);
  }
  50% {
    opacity: 0.6;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(4px) brightness(1.05);
            filter: blur(4px) brightness(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: blur(0) brightness(1);
            filter: blur(0) brightness(1);
  }
}
/* トップページだけ遅くする */
.js-soft--top.is-show {
  -webkit-animation: soft-in 4s ease-out forwards;
          animation: soft-in 4s ease-out forwards;
}

.header {
  position: absolute;
  width: 100%;
}

.header__inner {
  padding: 22px 20px 22px 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header__logo {
  z-index: 1;
}
.header__logo a img {
  width: 150px;
  display: block;
}
@media screen and (min-width: 851px) {
  .header__logo a img {
    width: 219px;
  }
}

.header__open {
  margin-top: 10px;
}

.drawer-icon {
  width: 50px;
  height: 50px;
  position: relative;
  z-index: 55;
  color: #ffffff;
}
@media screen and (min-width: 851px) {
  .drawer-icon {
    display: none;
  }
}
.drawer-icon.is-checked .drawer-icon__bar:nth-of-type(1) {
  top: 15px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.drawer-icon.is-checked .drawer-icon__bar:nth-of-type(2) {
  display: none;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-of-type(3) {
  top: 15px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.drawer-icon__bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 2px;
  border-radius: 6px;
  background: #ffffff;
  -webkit-transition: top 0.3s linear, -webkit-transform 0.3s linear;
  transition: top 0.3s linear, -webkit-transform 0.3s linear;
  transition: transform 0.3s linear, top 0.3s linear;
  transition: transform 0.3s linear, top 0.3s linear, -webkit-transform 0.3s linear;
}
.drawer-icon__bar:nth-of-type(2) {
  top: 15px;
}
.drawer-icon__bar:nth-of-type(3) {
  top: 30px;
}

.drawer-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  background: #333333;
  z-index: 50;
  padding: 86px 40px 40px;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.3s linear;
  transition: -webkit-transform 0.3s linear;
  transition: transform 0.3s linear;
  transition: transform 0.3s linear, -webkit-transform 0.3s linear;
}
.drawer-content.is-checked {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  padding-left: 0;
  padding-right: 0;
}

.drawer-content__menu {
  padding-top: 40px;
  width: 100%;
}

.drawer-content__link {
  padding-top: 20px;
  padding-bottom: 20px;
  display: block;
  color: #fff;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.drawer-content__link:hover {
  color: #fbbb2d;
}
.drawer-content__link:first-of-type {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}
.drawer-content__link:last-of-type {
  border-bottom: none;
}
.drawer-content__link img {
  width: 180px;
  display: block;
}
.drawer-content__link--type2 {
  padding-top: 70px;
}

.mv {
  background-image: url(../img/shortdrama-image/mv-bg-sp.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
  isolation: isolate;
  height: 179.4871794872vw;
}
@media screen and (min-width: 851px) {
  .mv {
    background-image: url(../img/shortdrama-image/mv-bg.png);
    height: 46.875vw;
  }
}
.mv::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.55);
}

.mv__inner {
  padding-top: 25.641025641vw;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 851px) {
  .mv__inner {
    padding-top: 2.34375vw;
  }
}

.mv__content {
  text-align: center;
}

.mv__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5.1282051282vw;
}
@media screen and (min-width: 851px) {
  .mv__top {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    width: 49.609375vw;
    gap: 1.953125vw;
    margin: 0 auto;
    position: relative;
  }
}

.mv__top-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10.2564102564vw;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 851px) {
  .mv__top-img {
    gap: 3.125vw;
    font-size: 1.09375vw;
  }
}
.mv__top-img img {
  width: 61.2820512821vw;
  height: 56.6666666667vw;
}
@media screen and (min-width: 851px) {
  .mv__top-img img {
    width: 22.109375vw;
    height: 20.46875vw;
  }
}
.mv__top-img p {
  display: none;
}
@media screen and (min-width: 851px) {
  .mv__top-img p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -moz-text-align-last: left;
         text-align-last: left;
    width: 26.25vw;
    color: #fff;
    letter-spacing: 0.04em;
    top: 1%;
    left: 1%;
  }
}

.mv__top-phone {
  position: relative;
  width: 48.7179487179vw;
  margin: 0 auto;
}
@media screen and (min-width: 851px) {
  .mv__top-phone {
    width: 20.703125vw;
  }
}
.mv__top-phone img {
  width: 48.7179487179vw;
  height: 98.9743589744vw;
}
@media screen and (min-width: 851px) {
  .mv__top-phone img {
    width: 20.703125vw;
    height: 42.03125vw;
  }
}

.mv__top-movie {
  position: absolute;
  left: 11%;
  top: 11%;
  overflow: hidden;
}
.mv__top-movie iframe {
  width: 38.4615384615vw;
  height: 78.7179487179vw;
  display: block;
  opacity: 0;
  -webkit-transform: scale(0.99);
          transform: scale(0.99);
  -webkit-filter: blur(10px) brightness(1.12);
          filter: blur(10px) brightness(1.12);
  -webkit-animation: soft-in 3.2s ease-out forwards;
          animation: soft-in 3.2s ease-out forwards;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
@media screen and (min-width: 851px) {
  .mv__top-movie iframe {
    width: 16.40625vw;
    height: 32.8125vw;
  }
}

/* 動きを減らす設定の人向け */
@media (prefers-reduced-motion: reduce) {
  .mv__top-phoneImg,
  .mv__top-movie video {
    -webkit-animation: none !important;
            animation: none !important;
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
  }
}
.mv__bottom {
  padding: 40px 20px;
  background-color: #333333;
}
@media screen and (min-width: 851px) {
  .mv__bottom {
    display: none;
  }
}

.mv__bottom-text {
  color: #fff;
  letter-spacing: 0.06em;
  opacity: 0;
  -webkit-animation: fade-in-text 2.8s ease forwards;
          animation: fade-in-text 2.8s ease forwards;
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}
@media screen and (min-width: 851px) {
  .mv__bottom-text {
    display: none;
  }
}

@-webkit-keyframes fade-in-text {
  to {
    opacity: 1;
  }
}

@keyframes fade-in-text {
  to {
    opacity: 1;
  }
}
.pc-nav {
  display: none;
}
@media screen and (min-width: 851px) {
  .pc-nav {
    background: #3f3f3f;
    display: block;
  }
}

.pc-nav__content {
  width: clamp(0px, 100vw, 1280px);
  margin: 0 auto;
}

.pc-nav__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pc-nav__item {
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.pc-nav__item:last-child {
  border-right: none;
}

.pc-nav__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: clamp(0px, 6.25vw, 80px);
  text-decoration: none;
  color: #fff;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.pc-nav__item a:hover {
  background: rgba(255, 255, 255, 0.08);
}

.pc-nav__en {
  font-size: clamp(0px, 1.25vw, 16px);
  font-weight: 600;
  letter-spacing: 0.05em;
}

.pc-nav__jp {
  font-size: clamp(0px, 0.9375vw, 12px);
  margin-top: clamp(0px, 0.3125vw, 4px);
  opacity: 0.85;
}

.movie {
  background-image: url(../img/shortdrama-image/movie-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.movie__inner {
  position: relative;
  text-align: center;
  padding-top: clamp(0px, 10.2564102564vw, 61.54px);
  padding-bottom: clamp(0px, 15.3846153846vw, 92.31px);
  padding-left: clamp(0px, 3.8461538462vw, 23.08px);
  padding-right: clamp(0px, 3.8461538462vw, 23.08px);
  width: clamp(0px, 91.7948717949vw, 550.77px);
  margin: 0 auto;
}
@media screen and (min-width: 851px) {
  .movie__inner {
    width: clamp(0px, 82.96875vw, 1062px);
    padding-top: clamp(0px, 3.125vw, 40px);
    padding-bottom: clamp(0px, 7.8125vw, 100px);
    padding-left: clamp(0px, 1.171875vw, 15px);
    padding-right: clamp(0px, 1.171875vw, 15px);
  }
}
.movie__inner::before {
  position: absolute;
  content: "";
  background-image: url(../img/shortdrama-image/drama.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(46px, 11.7948717949vw, 70.8px);
  height: clamp(151px, 38.7179487179vw, 232.3px);
  top: 1%;
  left: 1%;
}
@media screen and (min-width: 851px) {
  .movie__inner::before {
    width: 80px;
    height: 262px;
  }
}
.movie__inner::after {
  position: absolute;
  content: "";
  background-image: url(../img/shortdrama-image/drama.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(46px, 11.7948717949vw, 70.8px);
  height: clamp(151px, 38.7179487179vw, 232.3px);
  top: 1%;
  right: 1%;
}
@media screen and (min-width: 851px) {
  .movie__inner::after {
    width: 80px;
    height: 262px;
  }
}

.movie__title img {
  width: clamp(0px, 37.1794871795vw, 223.08px);
  height: clamp(0px, 30.5128205128vw, 183.08px);
}
@media screen and (min-width: 851px) {
  .movie__title img {
    width: clamp(0px, 14.0625vw, 180px);
    height: clamp(0px, 11.71875vw, 150px);
  }
}

@media screen and (min-width: 851px) {
  .movie__content {
    padding-top: clamp(0px, 3.125vw, 40px);
  }
}

.movie__swiper {
  width: clamp(0px, 84.6153846154vw, 507.69px);
  height: clamp(0px, 148.7179487179vw, 892.31px);
  margin-top: clamp(0px, 5.1282051282vw, 30.77px);
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 851px) {
  .movie__swiper {
    width: clamp(0px, 69.84375vw, 894px);
    height: clamp(0px, 50.859375vw, 651px);
  }
}

.swiper-phone {
  position: relative;
  text-align: center;
  width: clamp(0px, 57.1794871795vw, 343.08px);
  margin: 0 auto;
}
@media screen and (min-width: 851px) {
  .swiper-phone {
    width: clamp(0px, 20.703125vw, 265px);
  }
}
.swiper-phone img {
  width: clamp(0px, 57.1794871795vw, 343.08px);
  height: clamp(0px, 116.4102564103vw, 698.46px);
}
@media screen and (min-width: 851px) {
  .swiper-phone img {
    width: clamp(0px, 20.703125vw, 265px);
    height: clamp(0px, 42.03125vw, 538px);
  }
}

.swiper-movie {
  position: absolute;
  left: 10%;
  top: 11%;
  overflow: hidden;
}
@media screen and (min-width: 851px) {
  .swiper-movie {
    left: 10%;
    top: 11%;
  }
}
.swiper-movie iframe {
  width: clamp(0px, 46.1538461538vw, 276.92px);
  height: clamp(0px, 92.5641025641vw, 555.38px);
}
@media screen and (min-width: 851px) {
  .swiper-movie iframe {
    width: clamp(0px, 16.796875vw, 215px);
    height: clamp(0px, 32.8125vw, 420px);
  }
}

.movie__swiper-number {
  padding-bottom: clamp(0px, 2.5641025641vw, 15.38px);
  font-size: clamp(0px, 4.1025641026vw, 24.62px);
  color: #fbbb2d;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 851px) {
  .movie__swiper-number {
    font-size: clamp(0px, 1.5625vw, 20px);
    padding-bottom: clamp(0px, 0.78125vw, 10px);
    line-height: 1.2;
  }
}
.movie__swiper-number span {
  font-size: clamp(0px, 9.4871794872vw, 56.92px);
  letter-spacing: 0.1em;
}
@media screen and (min-width: 851px) {
  .movie__swiper-number span {
    font-size: clamp(0px, 3.515625vw, 45px);
  }
}

.movie__swiper-title {
  padding-top: clamp(0px, 3.8461538462vw, 23.08px);
  padding-bottom: clamp(0px, 3.8461538462vw, 23.08px);
  padding-left: clamp(0px, 5.1282051282vw, 30.77px);
  padding-right: clamp(0px, 5.1282051282vw, 30.77px);
  width: clamp(0px, 55.3846153846vw, 332.31px);
  margin: 0 auto;
  background-color: #f8f0df;
}
@media screen and (min-width: 851px) {
  .movie__swiper-title {
    width: clamp(0px, 20vw, 256px);
    padding-top: clamp(0px, 0.9375vw, 12px);
    padding-bottom: clamp(0px, 0.9375vw, 12px);
    padding-left: clamp(0px, 1.171875vw, 15px);
    padding-right: clamp(0px, 1.171875vw, 15px);
    font-size: clamp(0px, 1.25vw, 16px);
    line-height: 1.5;
  }
}

.movie {
  --swiper-navigation-color: transparent;
}

.movie-prev,
.movie-next {
  top: 50% !important;
  margin-top: 0 !important;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(0px, 12.3076923077vw, 73.85px);
  height: clamp(0px, 12.3076923077vw, 73.85px);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: transform 0.2s ease, opacity 0.2s ease;
  transition: transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;
}
@media screen and (min-width: 851px) {
  .movie-prev,
  .movie-next {
    top: 50% !important;
    width: clamp(0px, 4.84375vw, 62px);
    height: clamp(0px, 4.84375vw, 62px);
  }
}
.movie-prev:hover,
.movie-next:hover {
  opacity: 0.7;
  -webkit-transform: translateY(-80%) scale(1.05);
          transform: translateY(-80%) scale(1.05);
}

.movie-prev {
  background-image: url("../img/shortdrama-image/movie-prev.png");
}

.movie-next {
  background-image: url("../img/shortdrama-image/movie-next.png");
}

.introduction {
  background-image: url(../img/shortdrama-image/introduction-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 851px) {
  .introduction {
    background-image: url(../img/shortdrama-image/introduction-bg-pc.png);
  }
}

.introduction__inner {
  padding-top: clamp(0px, 2.5641025641vw, 15.38px);
  padding-right: clamp(0px, 3.8461538462vw, 23.08px);
  padding-bottom: clamp(0px, 20.5128205128vw, 123.08px);
  padding-left: clamp(0px, 3.8461538462vw, 23.08px);
  position: relative;
}
@media screen and (min-width: 851px) {
  .introduction__inner {
    padding-top: clamp(0px, 3.90625vw, 50px);
    width: clamp(0px, 78.125vw, 1000px);
    margin: 0 auto;
  }
}

.introduction-deco-2 {
  position: absolute;
  bottom: 0%;
  left: 7%;
}
@media screen and (min-width: 851px) {
  .introduction-deco-2 {
    display: none;
  }
}
.introduction-deco-2 img {
  width: clamp(0px, 26.6666666667vw, 160px);
  height: clamp(0px, 34.6153846154vw, 207.69px);
}

.introduction__title {
  text-align: center;
  padding-bottom: clamp(0px, 7.6923076923vw, 46.15px);
}
@media screen and (min-width: 851px) {
  .introduction__title {
    position: relative;
  }
}
.introduction__title img {
  width: clamp(0px, 61.2820512821vw, 367.69px);
  height: clamp(0px, 30.5128205128vw, 183.08px);
}
@media screen and (min-width: 851px) {
  .introduction__title img {
    width: clamp(0px, 23.4375vw, 300px);
    height: clamp(0px, 12.5vw, 160px);
  }
}
@media screen and (min-width: 851px) {
  .introduction__title::before {
    content: "";
    position: absolute;
    background-image: url(../img/shortdrama-image/introduction__deco.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: clamp(72.1px, 19.21875vw, 246px);
    height: clamp(53.9px, 14.375vw, 184px);
    top: 1%;
    right: 1%;
  }
}

.introduction__content {
  width: clamp(0px, 91.7948717949vw, 550.77px);
  padding-top: clamp(0px, 7.6923076923vw, 46.15px);
  padding-bottom: clamp(0px, 7.6923076923vw, 46.15px);
  padding-left: clamp(0px, 3.8461538462vw, 23.08px);
  padding-right: clamp(0px, 3.8461538462vw, 23.08px);
  background-color: #f8f0df;
  margin: 0 auto;
  border: 1px solid #000;
}
@media screen and (min-width: 851px) {
  .introduction__content {
    width: clamp(0px, 62.8125vw, 804px);
    padding-left: 50px;
    padding-right: 50px;
  }
}
.introduction__content .content-title {
  font-size: clamp(0px, 4.6153846154vw, 20.69px);
  font-weight: 600;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 851px) {
  .introduction__content .content-title {
    font-size: clamp(0px, 1.875vw, 24px);
  }
}
.introduction__content .content-text {
  font-weight: 200;
  padding-top: clamp(0px, 5.1282051282vw, 30.77px);
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media screen and (min-width: 851px) {
  .introduction__content .content-text {
    padding-top: clamp(0px, 1.5625vw, 20px);
    font-size: 16px;
  }
}

.introduction__content-deco {
  display: none;
}
@media screen and (min-width: 851px) {
  .introduction__content-deco {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    width: clamp(0px, 14.453125vw, 185px);
    height: clamp(0px, 15.78125vw, 202px);
    top: 4%;
    left: 12%;
  }
}

.introduction-deco {
  position: absolute;
  width: clamp(0px, 31.0256410256vw, 186.15px);
  height: clamp(0px, 47.6923076923vw, 286.15px);
  bottom: clamp(-250px, -38.4615384615vw, -150px);
  right: 0%;
}
@media screen and (min-width: 851px) {
  .introduction-deco {
    width: clamp(0px, 14.6875vw, 188px);
    height: clamp(0px, 23.671875vw, 303px);
    bottom: -26%;
    right: -13%;
  }
}

.introduction__boxes {
  padding-top: clamp(0px, 17.9487179487vw, 107.69px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, auto);
  gap: clamp(0px, 5.1282051282vw, 30.77px);
  width: clamp(0px, 91.7948717949vw, 550.77px);
  margin: 0 auto;
}
@media screen and (min-width: 851px) {
  .introduction__boxes {
    padding-top: clamp(0px, 3.90625vw, 50px);
    width: clamp(0px, 62.5vw, 800px);
    gap: clamp(0px, 1.5625vw, 20px);
  }
}

.introduction__box {
  position: relative;
}
@media screen and (min-width: 851px) {
  .introduction__box {
    justify-self: center; /* 基本は中央起点 */
  }
}
@media screen and (min-width: 851px) {
  .introduction__box:nth-child(1) {
    -webkit-transform: translateX(clamp(0px, 10.15625vw, 130px));
            transform: translateX(clamp(0px, 10.15625vw, 130px));
    margin-top: clamp(0px, 3.125vw, 40px);
  }
}
.introduction__box:nth-child(2) {
  margin-top: clamp(0px, 33.3333333333vw, 200px);
}
@media screen and (min-width: 851px) {
  .introduction__box:nth-child(2) {
    -webkit-transform: translateX(clamp(0px, 10.15625vw, 130px));
            transform: translateX(clamp(0px, 10.15625vw, 130px));
  }
}
.introduction__box:nth-child(3) {
  margin-top: clamp(-123.08px, -20.5128205128vw, -80px);
}
@media screen and (min-width: 851px) {
  .introduction__box:nth-child(3) {
    -webkit-transform: translateX(clamp(-130px, -10.15625vw, 0px));
            transform: translateX(clamp(-130px, -10.15625vw, 0px));
  }
}
.introduction__box:nth-child(4) {
  margin-top: clamp(0px, 10.2564102564vw, 61.54px);
}
@media screen and (min-width: 851px) {
  .introduction__box:nth-child(4) {
    -webkit-transform: translateX(clamp(-80px, -6.25vw, 0px));
            transform: translateX(clamp(-80px, -6.25vw, 0px));
    margin: 0;
  }
}

.introduction-img {
  text-align: center;
}
.introduction-img img {
  width: clamp(0px, 40vw, 240px);
  height: clamp(0px, 40vw, 240px);
}
@media screen and (min-width: 851px) {
  .introduction-img img {
    width: clamp(0px, 26.875vw, 344px);
    height: clamp(0px, 26.953125vw, 345px);
  }
}

.introduction-text {
  position: absolute;
  top: 4%;
  right: -17%;
  opacity: 0;
  -webkit-transform: translateY(8px) scale(0.2);
          transform: translateY(8px) scale(0.2);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  pointer-events: none;
  width: clamp(0px, 49.2307692308vw, 295.38px);
}
@media screen and (min-width: 851px) {
  .introduction-text {
    width: clamp(0px, 21.875vw, 280px);
    top: 7%;
    right: 40%;
  }
}
.introduction-text img {
  -o-object-fit: cover;
     object-fit: cover;
}
.introduction-text.is-show {
  -webkit-animation: bubble-pop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
          animation: bubble-pop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.introduction-text--type2 {
  width: clamp(0px, 39.7435897436vw, 238.46px);
  top: -18%;
  right: 10%;
}
@media screen and (min-width: 851px) {
  .introduction-text--type2 {
    width: clamp(0px, 18.203125vw, 233px);
    height: clamp(0px, 6.5625vw, 84px);
    top: auto;
    bottom: -13%;
    right: -12%;
  }
}
.introduction-text--type3 {
  width: clamp(0px, 42.0512820513vw, 252.31px);
  top: -10%;
  right: 4%;
}
@media screen and (min-width: 851px) {
  .introduction-text--type3 {
    width: 265px;
    top: 7%;
    right: -23%;
  }
}
.introduction-text--type4 {
  width: clamp(0px, 44.8717948718vw, 269.23px);
  top: -14%;
  right: 5%;
}
@media screen and (min-width: 851px) {
  .introduction-text--type4 {
    width: clamp(0px, 20.703125vw, 265px);
    top: 5%;
    right: 35%;
  }
}

@-webkit-keyframes bubble-pop {
  0% {
    opacity: 0;
    -webkit-transform: translateY(8px) scale(0.2);
            transform: translateY(8px) scale(0.2);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1.08);
            transform: translateY(0) scale(1.08);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}

@keyframes bubble-pop {
  0% {
    opacity: 0;
    -webkit-transform: translateY(8px) scale(0.2);
            transform: translateY(8px) scale(0.2);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1.08);
            transform: translateY(0) scale(1.08);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}
.js-shake.is-shake {
  -webkit-animation: point-shake 0.45s steps(4, end) both;
          animation: point-shake 0.45s steps(4, end) both;
}

@-webkit-keyframes point-shake {
  0% {
    -webkit-transform: translateX(0) rotate(0);
            transform: translateX(0) rotate(0);
  }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
            transform: translateX(-3px) rotate(-2deg);
  }
  40% {
    -webkit-transform: translateX(3px) rotate(2deg);
            transform: translateX(3px) rotate(2deg);
  }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
            transform: translateX(-2px) rotate(-1deg);
  }
  80% {
    -webkit-transform: translateX(2px) rotate(1deg);
            transform: translateX(2px) rotate(1deg);
  }
  100% {
    -webkit-transform: translateX(0) rotate(0);
            transform: translateX(0) rotate(0);
  }
}

@keyframes point-shake {
  0% {
    -webkit-transform: translateX(0) rotate(0);
            transform: translateX(0) rotate(0);
  }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
            transform: translateX(-3px) rotate(-2deg);
  }
  40% {
    -webkit-transform: translateX(3px) rotate(2deg);
            transform: translateX(3px) rotate(2deg);
  }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
            transform: translateX(-2px) rotate(-1deg);
  }
  80% {
    -webkit-transform: translateX(2px) rotate(1deg);
            transform: translateX(2px) rotate(1deg);
  }
  100% {
    -webkit-transform: translateX(0) rotate(0);
            transform: translateX(0) rotate(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .js-shake.is-shake {
    -webkit-animation: none;
            animation: none;
  }
}
.cast {
  position: relative;
  background-image: url(../img/shortdrama-image/cast-bg-sp.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.cast::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  pointer-events: none;
  z-index: 0;
}

.cast__inner {
  position: relative;
  z-index: 1;
  padding-bottom: clamp(0px, 12.8205128205vw, 50px);
}
@media screen and (min-width: 851px) {
  .cast__inner {
    padding-top: clamp(0px, 3.90625vw, 50px);
    padding-bottom: clamp(0px, 7.8125vw, 100px);
  }
}

.cast__title {
  text-align: center;
}
.cast__title img {
  width: clamp(0px, 24.358974359vw, 146.15px);
  height: clamp(0px, 27.9487179487vw, 167.69px);
}
@media screen and (min-width: 851px) {
  .cast__title img {
    width: clamp(0px, 9.296875vw, 119px);
    height: clamp(0px, 11.71875vw, 150px);
  }
}

.cast__content {
  padding-top: clamp(0px, 15.3846153846vw, 92.31px);
  gap: clamp(0px, 15.3846153846vw, 92.31px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.cast__season {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: 2px dotted #fff;
  width: clamp(0px, 91.7948717949vw, 550.77px);
  margin: 0 auto;
  padding-bottom: clamp(0px, 5.1282051282vw, 30.77px);
  position: relative;
}
@media screen and (min-width: 851px) {
  .cast__season {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(0px, 0.78125vw, 10px);
    width: clamp(0px, 78.125vw, 1000px);
    padding-left: clamp(0px, 6.25vw, 80px);
    padding-right: clamp(0px, 6.25vw, 80px);
  }
}
.cast__season::before {
  position: absolute;
  content: "";
  background-image: url(../img/shortdrama-image/season-1.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(0px, 47.9487179487vw, 287.69px);
  height: clamp(0px, 12.3076923077vw, 73.85px);
  top: -3%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 851px) {
  .cast__season::before {
    width: clamp(0px, 14.609375vw, 187px);
    height: clamp(0px, 3.75vw, 48px);
    top: -4%;
  }
}
.cast__season:nth-of-type(2)::before {
  background-image: url(../img/shortdrama-image/season-2.png);
}
.cast__season:nth-of-type(3)::before {
  background-image: url(../img/shortdrama-image/season-3.png);
}

.cast__box {
  text-align: center;
  padding-top: clamp(0px, 10.2564102564vw, 61.54px);
  margin: 0 auto;
}
.cast-img img {
  width: clamp(0px, 66.6666666667vw, 400px);
  height: clamp(0px, 66.6666666667vw, 400px);
}
@media screen and (min-width: 851px) {
  .cast-img img {
    width: clamp(0px, 27.8125vw, 356px);
    height: clamp(0px, 27.8125vw, 356px);
  }
}

.cast__box-text {
  width: clamp(0px, 68.4615384615vw, 410.77px);
  margin: 0 auto;
}
@media screen and (min-width: 851px) {
  .cast__box-text {
    width: clamp(0px, 23.4375vw, 300px);
  }
}

.cast-name {
  color: #ffffff;
  margin-top: clamp(0px, 2.5641025641vw, 15.38px);
  padding-top: clamp(0px, 2.5641025641vw, 15.38px);
  padding-bottom: clamp(0px, 2.5641025641vw, 15.38px);
  padding-left: clamp(0px, 5.1282051282vw, 30.77px);
  padding-right: clamp(0px, 5.1282051282vw, 30.77px);
  background-color: #346063;
  font-size: clamp(0px, 5.1282051282vw, 30.77px);
}
@media screen and (min-width: 851px) {
  .cast-name {
    font-size: clamp(0px, 1.875vw, 24px);
  }
}
.cast-name--type2 {
  color: #000000;
  background-color: #fbbb2d;
}

.cast-text {
  color: #ffffff;
  padding-top: 20px;
  text-align: left;
  letter-spacing: 0.05em;
  line-height: 1.8;
  font-size: 14px;
}

.instagramm {
  color: #ffffff;
  position: relative;
  padding-left: clamp(0px, 7.1794871795vw, 43.08px);
}
@media screen and (min-width: 851px) {
  .instagramm {
    padding-left: clamp(0px, 1.953125vw, 25px);
  }
}
.instagramm::before {
  position: absolute;
  content: "";
  background-image: url(../img/shortdrama-image/instagramm.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(0px, 5.3846153846vw, 32.31px);
  height: clamp(0px, 5.3846153846vw, 32.31px);
  bottom: 1%;
  left: 1%;
}
@media screen and (min-width: 851px) {
  .instagramm::before {
    width: clamp(0px, 1.875vw, 24px);
    height: clamp(0px, 1.875vw, 24px);
  }
}

.tiktok {
  color: #ffffff;
  position: relative;
  padding-left: clamp(0px, 5.641025641vw, 33.85px);
}
@media screen and (min-width: 851px) {
  .tiktok {
    padding-left: clamp(0px, 1.953125vw, 25px);
  }
}
.tiktok::before {
  position: absolute;
  content: "";
  background-image: url(../img/shortdrama-image/tiktok.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(0px, 4.8717948718vw, 29.23px);
  height: clamp(0px, 5.3846153846vw, 32.31px);
  bottom: 1%;
  left: 1%;
}
@media screen and (min-width: 851px) {
  .tiktok::before {
    width: clamp(0px, 1.5625vw, 20px);
    height: clamp(0px, 1.875vw, 24px);
  }
}

.Point__inner {
  padding-top: clamp(0px, 7.6923076923vw, 46.15px);
  padding-bottom: clamp(0px, 7.6923076923vw, 46.15px);
  padding-left: clamp(0px, 3.8461538462vw, 23.08px);
  padding-right: clamp(0px, 3.8461538462vw, 23.08px);
}
@media screen and (min-width: 851px) {
  .Point__inner {
    padding: clamp(0px, 3.90625vw, 50px) 0;
    width: clamp(0px, 78.125vw, 1000px);
    margin: 0 auto;
  }
}

.Point-top {
  position: relative;
}

.Point__deco-1 {
  display: none;
}
@media screen and (min-width: 851px) {
  .Point__deco-1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 1%;
    left: 1%;
  }
  .Point__deco-1 img {
    width: clamp(0px, 18.90625vw, 242px);
    height: clamp(0px, 15.625vw, 200px);
  }
}

.Point__title {
  text-align: center;
}
.Point__title img {
  width: clamp(0px, 32.3076923077vw, 193.85px);
  height: clamp(0px, 31.7948717949vw, 190.77px);
}
@media screen and (min-width: 851px) {
  .Point__title img {
    width: clamp(0px, 11.328125vw, 145px);
    height: clamp(0px, 11.40625vw, 146px);
  }
}

.Point__deco-2 {
  display: none;
}
@media screen and (min-width: 851px) {
  .Point__deco-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 1%;
    right: 1%;
  }
  .Point__deco-2 img {
    width: clamp(0px, 23.59375vw, 302px);
    height: clamp(0px, 13.28125vw, 170px);
  }
}

.Point-top__text {
  text-align: center;
  padding-top: clamp(0px, 7.6923076923vw, 46.15px);
}
.Point-top__text span {
  background-color: #fbbb2d;
  padding-left: clamp(0px, 0.5128205128vw, 3.08px);
  padding-right: clamp(0px, 1.0256410256vw, 6.15px);
}

.Point__content {
  width: clamp(0px, 91.7948717949vw, 550.77px);
  padding-top: clamp(0px, 7.6923076923vw, 46.15px);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0px, 5.1282051282vw, 30.77px);
}
@media screen and (min-width: 851px) {
  .Point__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    width: clamp(0px, 78.125vw, 1000px);
    max-width: 1000px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: clamp(0px, 2.34375vw, 30px);
    padding-top: clamp(0px, 3.90625vw, 50px);
  }
}

.Point__box-img img {
  width: clamp(0px, 91.7948717949vw, 550.77px);
  height: clamp(0px, 51.2820512821vw, 307.69px);
}
@media screen and (min-width: 851px) {
  .Point__box-img img {
    width: clamp(0px, 37.578125vw, 481px);
    height: clamp(0px, 20.3125vw, 260px);
  }
}

.Point__box-wrapper {
  background-image: url(../img/shortdrama-image/Point__box-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: clamp(0px, 3.8461538462vw, 23.08px);
  text-align: center;
}
@media screen and (min-width: 851px) {
  .Point__box-wrapper {
    text-align: left;
    padding: clamp(0px, 1.5625vw, 20px);
  }
}

.Point__box-title {
  padding-top: clamp(0px, 3.8461538462vw, 23.08px);
  padding-bottom: clamp(0px, 5.1282051282vw, 30.77px);
  font-size: clamp(0px, 4.6153846154vw, 23.69px);
  border-bottom: 1px solid #000;
  text-align: left;
}
@media screen and (min-width: 851px) {
  .Point__box-title {
    font-size: clamp(0px, 1.40625vw, 18px);
    padding-top: clamp(0px, 0.625vw, 8px);
    padding-bottom: clamp(0px, 1.5625vw, 20px);
  }
}

.Point__box-text {
  padding-top: clamp(0px, 2.5641025641vw, 15.38px);
  text-align: left;
}

.Point__box-button {
  position: relative;
  overflow: hidden;
  width: 194px;
  height: 50px;
  margin-top: 20px;
  background-color: #fff; /* ← 最初は白 */
  border: 1px solid #000;
  border-radius: 30px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #000;
  text-decoration: none;
  z-index: 0;
}

/* 中から広がる色 */
.Point__box-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #f3ebdd;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
  z-index: -1;
}

/* hover時 */
.Point__box-button:hover::before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

.Point__box-button:hover {
  color: #000; /* 白背景→色背景でも読めるならそのまま */
}

.cta__inner {
  padding-top: clamp(0px, 38.4615384615vw, 230.77px);
  width: clamp(0px, 91.7948717949vw, 550.77px);
  margin: 0 auto;
}
@media screen and (min-width: 851px) {
  .cta__inner {
    width: clamp(0px, 78.125vw, 1000px);
    padding-top: clamp(0px, 11.71875vw, 150px);
  }
}

.cta__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
@media screen and (min-width: 851px) {
  .cta__top {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    width: clamp(0px, 78.125vw, 1000px);
    margin: 0 auto;
  }
}
.cta__top::before {
  position: absolute;
  content: "";
  background-image: url(../img/shortdrama-image/cta-deco.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(0px, 50.5128205128vw, 303.08px);
  height: clamp(0px, 40.2564102564vw, 241.54px);
  top: -18%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 851px) {
  .cta__top::before {
    top: -19%;
    left: 25%;
    width: clamp(57.7px, 15.390625vw, 197px);
    height: clamp(46px, 12.265625vw, 157px);
  }
}

.cta__top-img-1 img {
  width: clamp(0px, 91.7948717949vw, 550.77px);
  height: clamp(0px, 61.5384615385vw, 369.23px);
}
@media screen and (min-width: 851px) {
  .cta__top-img-1 img {
    width: clamp(0px, 39.0625vw, 500px);
    height: clamp(0px, 39.0625vw, 500px);
  }
}

.cta__top-img-2 img {
  width: clamp(0px, 91.7948717949vw, 550.77px);
  height: clamp(0px, 91.7948717949vw, 550.77px);
}
@media screen and (min-width: 851px) {
  .cta__top-img-2 img {
    width: clamp(0px, 39.0625vw, 500px);
    height: clamp(0px, 39.0625vw, 500px);
  }
}

.cta__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0px, 5.1282051282vw, 30.77px);
  width: clamp(0px, 83.5897435897vw, 501.54px);
  margin: 0 auto;
}
@media screen and (min-width: 851px) {
  .cta__box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: clamp(0px, 52.421875vw, 671px);
    padding-top: clamp(0px, 11.71875vw, 150px);
  }
}

.cta__box-button-1 {
  color: #ffffff;
  background-color: #333333;
  height: clamp(0px, 17.9487179487vw, 107.69px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: clamp(0px, 8.9743589744vw, 53.85px);
  margin-top: clamp(0px, 30.7692307692vw, 184.62px);
  font-size: clamp(0px, 6.1538461538vw, 36.92px);
  position: relative;
}
@media screen and (min-width: 851px) {
  .cta__box-button-1 {
    width: clamp(0px, 21.25vw, 272px);
    height: clamp(0px, 4.765625vw, 61px);
    margin-top: 0;
    font-size: clamp(0px, 1.5625vw, 20px);
  }
}
.cta__box-button-1::before {
  position: absolute;
  content: "";
  background-image: url(../img/shortdrama-image/cta__box-1.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(0px, 48.4615384615vw, 290.77px);
  height: clamp(0px, 28.4615384615vw, 170.77px);
  top: -128%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 851px) {
  .cta__box-button-1::before {
    width: clamp(0px, 12.34375vw, 158px);
    height: clamp(0px, 7.265625vw, 93px);
  }
}
.cta__box-button-1::after {
  position: absolute;
  content: "";
  background-image: url(../img/shortdrama-image/cta__box.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(0px, 2.3076923077vw, 13.85px);
  height: clamp(0px, 5.641025641vw, 33.85px);
  top: 38%;
  right: 8%;
}
@media screen and (min-width: 851px) {
  .cta__box-button-1::after {
    width: clamp(0px, 0.546875vw, 7px);
    height: clamp(0px, 1.171875vw, 15px);
  }
}

.cta__box-button-2 {
  color: #ffffff;
  background-color: #333333;
  height: clamp(0px, 17.9487179487vw, 107.69px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: clamp(0px, 8.9743589744vw, 53.85px);
  margin-top: clamp(0px, 25.641025641vw, 153.85px);
  font-size: clamp(0px, 6.1538461538vw, 36.92px);
  text-align: center;
  line-height: 1;
  position: relative;
}
@media screen and (min-width: 851px) {
  .cta__box-button-2 {
    width: clamp(0px, 21.25vw, 272px);
    height: clamp(0px, 4.765625vw, 61px);
    margin-top: 0;
    font-size: clamp(0px, 1.5625vw, 20px);
  }
}
.cta__box-button-2::before {
  position: absolute;
  content: "";
  background-image: url(../img/shortdrama-image/Point-3.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(0px, 42.0512820513vw, 252.31px);
  height: clamp(0px, 23.5897435897vw, 141.54px);
  top: -118%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 851px) {
  .cta__box-button-2::before {
    width: clamp(0px, 12.8125vw, 164px);
    height: clamp(0px, 7.1875vw, 92px);
    top: -137%;
  }
}
.cta__box-button-2::after {
  position: absolute;
  content: "";
  background-image: url(../img/shortdrama-image/cta__box.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(0px, 2.3076923077vw, 13.85px);
  height: clamp(0px, 5.641025641vw, 33.85px);
  top: 38%;
  right: 8%;
}
@media screen and (min-width: 851px) {
  .cta__box-button-2::after {
    width: clamp(0px, 0.546875vw, 7px);
    height: clamp(0px, 1.171875vw, 15px);
  }
}

/* ===== CTAボタン hover演出：before拡大 / after右へ ===== */
.cta__box-button-1::before,
.cta__box-button-2::before {
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
  -webkit-transform: translateX(-50%) scale(1);
          transform: translateX(-50%) scale(1);
  -webkit-transform-origin: center;
          transform-origin: center;
}

.cta__box-button-1::after,
.cta__box-button-2::after {
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

/* hover時 */
.cta__box-button-1:hover::before,
.cta__box-button-2:hover::before {
  -webkit-transform: translateX(-50%) scale(1.08);
          transform: translateX(-50%) scale(1.08);
}

.cta__box-button-1:hover::after,
.cta__box-button-2:hover::after {
  -webkit-transform: translateX(6px);
          transform: translateX(6px); /* ← 右へ */
}

.sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 2.5641025641vw, 15.38px);
  padding-top: clamp(0px, 20.5128205128vw, 123.08px);
  padding-bottom: clamp(0px, 20.5128205128vw, 123.08px);
}
@media screen and (min-width: 851px) {
  .sns {
    width: clamp(0px, 28.125vw, 360px);
    gap: 10px;
    margin: 0 auto;
  }
}

.sns__title img {
  width: clamp(0px, 33.3333333333vw, 200px);
  height: clamp(0px, 16.6666666667vw, 100px);
}
@media screen and (min-width: 851px) {
  .sns__title img {
    width: clamp(0px, 12.734375vw, 163px);
    height: clamp(0px, 6.328125vw, 81px);
  }
}

.sns-X img {
  width: clamp(0px, 15.3846153846vw, 92.31px);
  height: clamp(0px, 15.3846153846vw, 92.31px);
}
@media screen and (min-width: 851px) {
  .sns-X img {
    width: clamp(0px, 4.6875vw, 60px);
    height: clamp(0px, 4.6875vw, 60px);
  }
}

.sns-line img {
  width: clamp(0px, 15.3846153846vw, 92.31px);
  height: clamp(0px, 15.3846153846vw, 92.31px);
}
@media screen and (min-width: 851px) {
  .sns-line img {
    width: clamp(0px, 4.6875vw, 60px);
    height: clamp(0px, 4.6875vw, 60px);
  }
}

.footer {
  background-color: #333333;
}

.footer__inner {
  padding-top: clamp(0px, 10.2564102564vw, 61.54px);
  padding-bottom: clamp(0px, 10.2564102564vw, 61.54px);
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 851px) {
  .footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: clamp(0px, 78.125vw, 1000px);
    padding-top: clamp(0px, 3.125vw, 40px);
    padding-bottom: clamp(0px, 3.125vw, 40px);
    margin: 0 auto;
  }
}

.footer__content {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0px, 6.4102564103vw, 38.46px);
}
@media screen and (min-width: 851px) {
  .footer__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: clamp(0px, 1.953125vw, 25px);
  }
}

.footer-icon img {
  width: clamp(0px, 40vw, 240px);
  height: clamp(0px, 14.6153846154vw, 87.69px);
}
@media screen and (min-width: 851px) {
  .footer-icon img {
    width: clamp(0px, 10.9375vw, 140px);
    height: auto;
  }
}

.footer-text {
  color: #ffffff;
}

.footer-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0px, 2.5641025641vw, 15.38px);
}
@media screen and (min-width: 851px) {
  .footer-sns {
    padding-left: clamp(0px, 7.8125vw, 100px);
    gap: 10px;
  }
}
.footer-sns a img {
  width: clamp(0px, 10vw, 60px);
}
@media screen and (min-width: 851px) {
  .footer-sns a img {
    width: clamp(0px, 3.046875vw, 39px);
  }
}

.footer__copyright {
  font-size: clamp(0px, 3.0769230769vw, 18.46px);
  color: #ffffff;
  padding-top: clamp(0px, 10.2564102564vw, 61.54px);
  text-align: center;
}
@media screen and (min-width: 851px) {
  .footer__copyright {
    padding-top: 0;
    font-size: 12px;
  }
}

.filmLoading {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  background: #000;
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.filmLoading {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 99999;
  background: #000;
  display: grid;
  place-items: center;
}

.filmLoading.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.filmLoading__inner {
  display: grid;
  place-items: center;
  gap: 10px; /* ロゴと丸の距離 */
}

.filmReel {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.2);
  border-top-color: rgba(255, 255, 255, 0.85);
  -webkit-animation: filmReelSpin 1s linear infinite;
          animation: filmReelSpin 1s linear infinite;
}

@-webkit-keyframes filmReelSpin {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes filmReelSpin {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.filmLoading__logo {
  width: 150px;
  height: auto;
  display: block;
  margin-top: 50px;
}