section {
  position: relative; }

@media (max-width: 480px) {
  .sec-in {
    padding: 0 5.1282051282vw; } }

.abs {
  position: absolute;
  z-index: 1; }

.sec-ttl01 {
  -webkit-filter: drop-shadow(0 0 10px rgba(51, 51, 51, 0.2));
          filter: drop-shadow(0 0 10px rgba(51, 51, 51, 0.2));
  position: relative;
  z-index: 11;
  margin-bottom: 36px; }
  @media (max-width: 480px) {
    .sec-ttl01 {
      margin-bottom: 8.9743589744vw; } }

.sec-ttl02 {
  position: absolute;
  top: 70px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 0; }
  @media (max-width: 480px) {
    .sec-ttl02 {
      margin-bottom: 8.9743589744vw; } }
  .sec-ttl02 + * {
    position: relative;
    z-index: 1; }

.sec-head01 {
  width: 100%;
  height: 60px;
  background: url(../img/sec-head-img-benefit.jpg) no-repeat center/contain;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 100px;
  font-weight: 500;
  margin-bottom: 60px; }
  @media (max-width: 480px) {
    .sec-head01 {
      height: 8.9743589744vw;
      padding-left: 17.3076923077vw;
      margin-bottom: 4.358974359vw;
      font-size: 3.5897435897vw; } }
  .sec-head01.benefit {
    background-image: url(../img/sec-head-img-benefit.jpg); }
    @media (max-width: 480px) {
      .sec-head01.benefit {
        background-image: url(../img/sec-head-img-benefit-sp.jpg); } }
  .sec-head01.movie {
    background-image: url(../img/sec-head-img-movie.jpg); }
    @media (max-width: 480px) {
      .sec-head01.movie {
        background-image: url(../img/sec-head-img-movie-sp.jpg); } }
  .sec-head01.schedule {
    background-image: url(../img/sec-head-img-schedule.jpg); }
    @media (max-width: 480px) {
      .sec-head01.schedule {
        background-image: url(../img/sec-head-img-schedule-sp.jpg); } }
  .sec-head01.faq {
    background-image: url(../img/sec-head-img-faq.jpg); }
    @media (max-width: 480px) {
      .sec-head01.faq {
        background-image: url(../img/sec-head-img-faq-sp.jpg); } }

.visual {
  position: relative;
  padding-bottom: 30px; }
  @media (max-width: 480px) {
    .visual {
      padding-bottom: 0; } }
  @media (max-width: 480px) {
    .visual .visual__img {
      height: 77svh; }
      .visual .visual__img img {
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center; } }
  .visual .visual__ttl {
    width: 586px;
    height: 305px;
    position: absolute;
    left: 0;
    bottom: 0px; }
    @media (max-width: 480px) {
      .visual .visual__ttl {
        aspect-ratio: 634/472;
        width: 64.1025641026vw;
        bottom: 12.8205128205vw;
        height: auto; } }
  .visual .visual__item01 {
    left: 0;
    bottom: 320px; }
    @media (max-width: 480px) {
      .visual .visual__item01 {
        display: none; } }
  .visual .visual__item02 {
    bottom: 70px;
    right: 0; }
    @media (max-width: 480px) {
      .visual .visual__item02 {
        display: none; } }
  .visual .visual__item03 {
    display: none; }
    @media (max-width: 480px) {
      .visual .visual__item03 {
        display: block;
        width: 79.4871794872vw;
        aspect-ratio: 682/ 1277;
        top: 0;
        left: 16.6666666667vw; } }
  .visual .visual__movielink {
    display: none; }
    @media (max-width: 480px) {
      .visual .visual__movielink {
        display: block;
        position: absolute;
        top: -15.8974358974vw;
        left: 0;
        width: 42.0512820513vw;
        aspect-ratio: 1/1; }
        .visual .visual__movielink .txtmovielink {
          width: 22.8205128205vw;
          aspect-ratio: 178/193;
          position: absolute;
          top: 58%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%); } }

.sec-message .message-box01 {
  width: 675px;
  height: 570px;
  margin: 0 auto;
  background: url(../img/message-img01.jpg) no-repeat center/contain;
  -webkit-box-shadow: 0 0 10px #ccc;
          box-shadow: 0 0 10px #ccc; }
  @media (max-width: 480px) {
    .sec-message .message-box01 {
      width: 78.8461538462vw;
      height: 167.0512820513vw;
      background-image: url(../img/message-img01-sp.jpg); } }
  .sec-message .message-box01 .message-box01__txt {
    font-size: 1.5rem;
    line-height: 1.8;
    text-align: center;
    padding-top: 240px; }
    @media (max-width: 480px) {
      .sec-message .message-box01 .message-box01__txt {
        font-size: 3.5897435897vw;
        padding-top: 64.1025641026vw; } }
    .sec-message .message-box01 .message-box01__txt p:not(:last-child) {
      margin-bottom: 1.2em; }
      @media (max-width: 480px) {
        .sec-message .message-box01 .message-box01__txt p:not(:last-child) {
          margin-bottom: 2.2em; } }

.sec-benefit .sec-ttl02 {
  z-index: -1; }
.sec-benefit .sec-ttl01 {
  width: 506px; }
  @media (max-width: 480px) {
    .sec-benefit .sec-ttl01 {
      width: 83.3333333333vw; } }
.sec-benefit .benefit-box01 .benefit-box01-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 47px; }
  @media (max-width: 480px) {
    .sec-benefit .benefit-box01 .benefit-box01-item {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: 8.9743589744vw; } }
  .sec-benefit .benefit-box01 .benefit-box01-item:not(:last-child) {
    margin-bottom: 80px; }
    @media (max-width: 480px) {
      .sec-benefit .benefit-box01 .benefit-box01-item:not(:last-child) {
        margin-bottom: 13.4615384615vw; } }
  .sec-benefit .benefit-box01 .benefit-box01-item .benefit-box01-item__img {
    width: 400px;
    -webkit-box-shadow: 0 0 10px #ccc;
            box-shadow: 0 0 10px #ccc; }
    @media (max-width: 480px) {
      .sec-benefit .benefit-box01 .benefit-box01-item .benefit-box01-item__img {
        width: 100%; } }
  .sec-benefit .benefit-box01 .benefit-box01-item .benefit-box01-item__txt {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    .sec-benefit .benefit-box01 .benefit-box01-item .benefit-box01-item__txt .ttl {
      font-weight: bold;
      font-size: 2.8rem;
      line-height: 1.2;
      margin-bottom: 0.8em; }
      @media (max-width: 480px) {
        .sec-benefit .benefit-box01 .benefit-box01-item .benefit-box01-item__txt .ttl {
          font-size: 5.641025641vw; } }

.sec-movie .sec-ttl01 {
  width: 726px; }
  @media (max-width: 480px) {
    .sec-movie .sec-ttl01 {
      width: 66.1538461538vw; } }
.sec-movie .movie-box01 .movie-box01-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px; }
  @media (max-width: 480px) {
    .sec-movie .movie-box01 .movie-box01-list {
      gap: 6.4102564103vw 0; } }
  .sec-movie .movie-box01 .movie-box01-list .movie-box01-item {
    width: calc(50% - 30px/2);
    aspect-ratio: 46/26; }
    @media (max-width: 480px) {
      .sec-movie .movie-box01 .movie-box01-list .movie-box01-item {
        width: 100%; } }
    .sec-movie .movie-box01 .movie-box01-list .movie-box01-item img {
      -webkit-box-shadow: 0 0 10px #ccc;
              box-shadow: 0 0 10px #ccc;
      height: 100%;
      display: block;
      -webkit-transition: opacity 0.3s;
      transition: opacity 0.3s; }
      @media (min-width: 480px) {
        .sec-movie .movie-box01 .movie-box01-list .movie-box01-item img:hover {
          opacity: 0.7; } }
    .sec-movie .movie-box01 .movie-box01-list .movie-box01-item video {
      width: 100%;
      height: 100%;
      display: block; }

.modal-video {
  background-color: #000000cb !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px); }

@media (max-width: 480px) {
  .sec-schedule {
    padding-bottom: 0; } }
.sec-schedule .sec-ttl01 {
  width: 423px; }
  @media (max-width: 480px) {
    .sec-schedule .sec-ttl01 {
      width: 71.1538461538vw; } }
.sec-schedule .schedule-box01 {
  background: url(../img/schedule-bg01.png) no-repeat top 35px right/714px; }
  @media (max-width: 480px) {
    .sec-schedule .schedule-box01 {
      background: url(../img/schedule-bg01-sp.png) no-repeat top 53.8461538462vw right/100%;
      margin: 0 -3.0769230769vw;
      padding-bottom: 16.6666666667vw; } }
  .sec-schedule .schedule-box01 .schedule-box01-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 102px 94px;
    width: 865px;
    max-width: 100%;
    margin: 0 auto; }
    @media (max-width: 480px) {
      .sec-schedule .schedule-box01 .schedule-box01-list {
        gap: 13.8461538462vw;
        width: 100%;
        padding: 0 3.5897435897vw; } }
    .sec-schedule .schedule-box01 .schedule-box01-list .schedule-box01-item {
      width: calc(50% - 94px/2); }
      @media (max-width: 480px) {
        .sec-schedule .schedule-box01 .schedule-box01-list .schedule-box01-item {
          width: 100%; } }
      .sec-schedule .schedule-box01 .schedule-box01-list .schedule-box01-item:nth-child(2n) {
        -webkit-transform: translateY(212px);
                transform: translateY(212px); }
        @media (max-width: 480px) {
          .sec-schedule .schedule-box01 .schedule-box01-list .schedule-box01-item:nth-child(2n) {
            -webkit-transform: none;
                    transform: none; } }
      .sec-schedule .schedule-box01 .schedule-box01-list .schedule-box01-item:last-child {
        justify-self: flex-start; }
      .sec-schedule .schedule-box01 .schedule-box01-list .schedule-box01-item .schedule-box01-item__img {
        margin-bottom: 23px; }
        @media (max-width: 480px) {
          .sec-schedule .schedule-box01 .schedule-box01-list .schedule-box01-item .schedule-box01-item__img {
            margin-bottom: 4.4871794872vw; } }

.sec-requirement .sec-ttl01 {
  width: 442px; }
  @media (max-width: 480px) {
    .sec-requirement .sec-ttl01 {
      width: 66.1538461538vw; } }
.sec-requirement .requirement-box01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px 11px; }
  @media (max-width: 480px) {
    .sec-requirement .requirement-box01 {
      gap: 6.4102564103vw; } }
  .sec-requirement .requirement-box01 .requirement-box01-item {
    width: calc(33.333% - 11px*2/3);
    border: 1px solid #000;
    -webkit-box-shadow: 0 0 10px #ccc;
            box-shadow: 0 0 10px #ccc; }
    @media (max-width: 480px) {
      .sec-requirement .requirement-box01 .requirement-box01-item {
        width: 100%; } }
    .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__head .requirement-box01-item__laber {
      padding: 15px;
      line-height: 1.1;
      font-weight: bold; }
      @media (max-width: 480px) {
        .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__head .requirement-box01-item__laber {
          padding: 2.8205128205vw 3.8461538462vw; } }
      .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__head .requirement-box01-item__laber .fs-min {
        font-size: 0.833em; }
    .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__body {
      padding: 11px;
      background-color: #fff; }
      @media (max-width: 480px) {
        .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__body {
          padding: 2.8205128205vw; } }
      .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__body .requirement-box01-item__price {
        padding: 27px 0;
        line-height: 1;
        font-size: 3rem;
        font-weight: bold;
        text-align: center;
        cursor: pointer;
        position: relative; }
        @media (max-width: 480px) {
          .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__body .requirement-box01-item__price {
            padding: 5.1282051282vw;
            font-size: 7.6923076923vw; } }
        .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__body .requirement-box01-item__price .fs18 {
          font-size: 1.8rem; }
          @media (max-width: 480px) {
            .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__body .requirement-box01-item__price .fs18 {
              font-size: 4.6153846154vw; } }
        .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__body .requirement-box01-item__price .fs20 {
          font-size: 2rem; }
          @media (max-width: 480px) {
            .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__body .requirement-box01-item__price .fs20 {
              font-size: 5.1282051282vw; } }
        .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__body .requirement-box01-item__price::after {
          content: "";
          width: 25px;
          aspect-ratio: 1/1;
          background: url(../img/icon-open01.png) no-repeat center/contain;
          position: absolute;
          bottom: 11px;
          right: 11px; }
          @media (max-width: 480px) {
            .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__body .requirement-box01-item__price::after {
              width: 6.4102564103vw;
              bottom: 2.8205128205vw;
              right: 2.8205128205vw; } }
      .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__body .requirement-box01-item__detail {
        font-size: 1.4rem;
        padding: 8px 16px;
        display: none; }
        @media (max-width: 480px) {
          .sec-requirement .requirement-box01 .requirement-box01-item .requirement-box01-item__body .requirement-box01-item__detail {
            font-size: 3.5897435897vw;
            padding: 3.5897435897vw 3.2051282051vw; } }
    .sec-requirement .requirement-box01 .requirement-box01-item.red .requirement-box01-item__laber {
      background-color: #f5918d; }
    .sec-requirement .requirement-box01 .requirement-box01-item.red .requirement-box01-item__detail {
      background-color: #f5918d34; }
    .sec-requirement .requirement-box01 .requirement-box01-item.yel .requirement-box01-item__laber {
      background-color: #ffed69; }
    .sec-requirement .requirement-box01 .requirement-box01-item.yel .requirement-box01-item__detail {
      background-color: #ffed6934; }
    .sec-requirement .requirement-box01 .requirement-box01-item.blu .requirement-box01-item__laber {
      background-color: #afddf9; }
    .sec-requirement .requirement-box01 .requirement-box01-item.blu .requirement-box01-item__detail {
      background-color: #afddf934; }
    .sec-requirement .requirement-box01 .requirement-box01-item.grn .requirement-box01-item__laber {
      background-color: #daea9b; }
    .sec-requirement .requirement-box01 .requirement-box01-item.grn .requirement-box01-item__detail {
      background-color: #daea9b34; }

.sec-faq .sec-ttl01 {
  width: 234px; }
  @media (max-width: 480px) {
    .sec-faq .sec-ttl01 {
      width: 38.5897435897vw; } }
.sec-faq .faq-box01 {
  width: 800px;
  max-width: 100%;
  margin: 0 auto; }
  .sec-faq .faq-box01 .faq-box01-item {
    border: 3px solid #f37570;
    border-radius: 12px;
    background: #fff; }
    @media (max-width: 480px) {
      .sec-faq .faq-box01 .faq-box01-item {
        border-width: 0.3846153846vw;
        border-radius: 1.5384615385vw; } }
    .sec-faq .faq-box01 .faq-box01-item:not(:last-child) {
      margin-bottom: 25px; }
      @media (max-width: 480px) {
        .sec-faq .faq-box01 .faq-box01-item:not(:last-child) {
          margin-bottom: 5.1282051282vw; } }
    .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__head,
    .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__body {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 25px;
      line-height: 1.4;
      font-size: 1.5rem;
      padding: 14px 25px; }
      @media (max-width: 480px) {
        .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__head,
        .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__body {
          gap: 3.4615384615vw;
          font-size: 3.8461538462vw;
          padding: 4.4871794872vw 3.4615384615vw; } }
    .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__head {
      position: relative; }
      @media (max-width: 480px) {
        .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__head {
          padding-right: 9.7435897436vw; } }
      .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__head.active::before {
        -webkit-transform: translateY(-50%) rotate(0deg);
                transform: translateY(-50%) rotate(0deg); }
      .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__head::after, .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__head::before {
        content: "";
        width: 17px;
        height: 3px;
        position: absolute;
        right: 24px;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        background-color: #f37570; }
        @media (max-width: 480px) {
          .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__head::after, .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__head::before {
            width: 3.8461538462vw;
            height: 0.641025641vw;
            right: 3.2051282051vw; } }
      .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__head::before {
        -webkit-transform: translateY(-50%) rotate(90deg);
                transform: translateY(-50%) rotate(90deg);
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s; }
    .sec-faq .faq-box01 .faq-box01-item .q,
    .sec-faq .faq-box01 .faq-box01-item .a {
      font-size: 2.5rem;
      font-weight: 900;
      text-shadow: 1px 1px 0 #333, -1px -1px 0 #333, -1px 1px 0 #333, 1px -1px 0 #333, 0px 1px 0 #333, -1px 0 #333, -1px 0 0 #333, 1px 0 0 #333; }
      @media (max-width: 480px) {
        .sec-faq .faq-box01 .faq-box01-item .q,
        .sec-faq .faq-box01 .faq-box01-item .a {
          font-size: 5.3846153846vw; } }
    .sec-faq .faq-box01 .faq-box01-item .q {
      color: #f37570; }
    .sec-faq .faq-box01 .faq-box01-item .a {
      color: #afddf9; }
    @media (max-width: 480px) {
      .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__body {
        padding: 20px; } }
    .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__body p {
      margin-bottom: 0; }
      .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__body p:not(:last-child) {
        margin-bottom: 1.2em; }
    .sec-faq .faq-box01 .faq-box01-item .faq-box01-item__body .detail .fs-min {
      font-size: 0.8em; }

#referrer-via .sec-appointment {
  width: 100%; }
.sec-appointment .appointment-ttl {
  width: 942px;
  margin: 0 auto 100px; }
  @media (max-width: 480px) {
    .sec-appointment .appointment-ttl {
      width: 100%;
      margin-bottom: 12.8205128205vw; } }
.sec-appointment .appointment-box01 {
  border: 3px solid #daea9b;
  border-radius: 12px;
  background-color: #fff;
  padding: 55px 50px; }
  @media (max-width: 480px) {
    .sec-appointment .appointment-box01 {
      border-width: 0.3846153846vw;
      border-radius: 1.5384615385vw;
      padding: 8.3333333333vw 4.6153846154vw; } }
