.swiper-container {
   overflow: hidden !important;
   max-width: 500px !important;
}

.swiper-wrapper {
   display: flex !important;
}

/* スライドの幅を明示的に設定 */
.swiper-slide {
   flex: 0 0 100% !important;
   /* 完全に100%の幅に */
   width: clamp(60%, 5vw + 70%, 90%) !important;
   /* スライド自体の幅を可変に */
}

.swiper-slide>img {
   width: 100% !important;
   /* 親（slide）に対して100% */
   height: auto;

   object-fit: cover;
}


@media (max-width: 1240px) {
   .swiper-slide>img {
      width: 80% !important;
   }
}

@media (max-width: 768px) {
   .swiper-slide>img {
      width: 100% !important;
   }
}

.swiper-pagination-bullet {
   width: 10px !important;
   height: 10px !important;
   opacity: 1 !important;
   border-radius: 50% !important;
   background: #bb9e71 !important;
}

.swiper-pagination-bullet-active {
   opacity: 1 !important;
   border: 1px solid #bb9e71;
   background: #fff !important;
}

.swiper-pagination {
   position: relative !important;
   display: block !important;
   height: 50px !important;
   margin-top: 20px !important;
}

@media screen and (max-width: 768px) {
   .swiper-pagination-bullet {
      width: 5px !important;
      height: 5px !important;
   }
}

header {
   position: fixed;
   z-index: 100;
   top: 0;
   left: 0;
   width: 20%;
   height: 100vh;
   text-align: center;
}

/* メインビジュアル */
.plan_wrapper_main {
   margin-left: 20%;
   width: 100%;
   background-image: url(../image/plan_vector.png);
   background-repeat: no-repeat;
}

.mv {
   position: relative;
   height: 90vh;
   border-bottom-left-radius: 50px;
   background-image: url(../image/baby1.png);
   background-size: cover;
}

.mv_title {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   text-align: center;
   color: #bb9e71;
}



.mv_text {
   font-size: 24px;
   margin-top: 75px;
   text-align: center;
}

.mv {
   left: 0 background-position: top;
}

.mv_title h2 {
   font-family: "Montserrat";
   font-size: 72px;
}

.mv_title p {
   font-size: 16px;
}

.mv_text {
   font-size: 16px;
   margin-top: 40px;
   text-align: center;
}

@media screen and (min-width: 768px) {
   .br-sp {
      display: none;
   }
}

@media screen and (max-width: 768px) {
   .plan_wrapper_main {
      margin-left: 0;
   }

   .mv {
      margin-left: 5%;
   }

   .mv_img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
   }

   .mv_title {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      color: #bb9e71;
      text-align: center;
      z-index: 2;
   }



   /* .mv_title p {
      font-size: 16px;
      letter-spacing: 2px;
   } */
}

@media screen and (max-width:570px) {
   .mv {
      background-position: top;
      height: 60vh;
   }

   .mv_title h2 {
      font-size: 30px;
   }

   .mv_title p {
      font-size: 10px;
   }
}



/* プラン内容 */
.plan_container {
   width: 90%;
   max-width: 1050px;
   margin: auto;
   margin-top: 77px;
}

.plan1 {
   display: flex;
   justify-content: space-between;
}

.plan2 {
   display: flex;
   flex-direction: row-reverse;
   justify-content: space-between;
   margin-top: 120px;
}

.plan3 {
   display: flex;
   justify-content: space-between;
   margin-top: 120px;
}

.plan_img-container {
   width: 50%;
}

@media (max-width: 768px) {
   .plan_img-container {
      width: 100%;
   }
}

.plan_img {
   border-radius: 30px;
}

.plan_text-container {
   width: 41%;
}

.plan_subtitle {
   font-size: 16px;
   font-weight: medium;
}

.plan_title {
   font-size: 32px;
   font-weight: medium;
}

.plan_tag-container {
   display: flex;
   margin-top: 25px;

   gap: 20px;
}

.plan_tag {
   font-size: 18px;
   font-weight: medium;
   padding: 10px 24px;
   border-radius: 20px;
   background-color: #f7f1e7;
}

.price_comment {
   font-size: 16px;
   margin-top: 25px;
   color: #bb9e71;
}

.plan_price {
   font-family: "Montserrat";
   font-size: 32px;
   font-weight: 500;
   display: flex;
   justify-content: space-between;
   margin-top: 25px;
   color: #bb9e71;
}

.plan_price span {
   font-size: 24px;
   justify-content: space-between;
   color: #666;
}

.plan_price1 {
   font-family: "Montserrat";
   font-size: 32px;
   font-weight: 500;
   display: flex;
   justify-content: space-between;
   margin-top: 5px;
   color: #bb9e71;
}

.plan_price1 span {
   font-family: "Zen Maru Gothic";
   font-size: 24px;
   font-weight: normal;
   justify-content: space-between;
   color: #666;
}

.plan_price2 {
   font-family: "Montserrat";
   font-size: 32px;
   font-weight: 500;
   display: flex;
   justify-content: space-between;
   margin-top: 5px;
   color: #bb9e71;
}

.plan_price2 span {
   font-family: "Zen Maru Gothic";
   font-size: 24px;
   font-weight: normal;
   justify-content: space-between;
   color: #666;
}

.plan_text {
   font-size: 16px;
   font-weight: normal;
   margin-top: 20px;
}

.plan_details {
   display: inline-block;
   margin-top: 15px;
   padding: 16px 25px;
   border-radius: 20px;
   background-color: #f7f1e7;
}

.plan_details-title {
   font-size: 16px;
   font-weight: 500;
   display: inline-block;
   border-bottom: dotted 2px #bb9e71;
}

.plan_details-text {
   font-size: 16px;
   font-weight: 400;
   margin-top: 5px;
}

.plan_details-text span {
   font-size: 14px;
}

/* ボタン */
.reservation_btn {
   line-height: 130%;
   z-index: 10;
   display: flex;
   flex-direction: column;
   justify-content: center;
   width: 128px;
   height: 128px;
   margin-top: 10px;
   margin-left: auto;
   text-align: center;
   color: #fff;
   border: none;
   border-radius: 50%;
   background-color: #bb9e71;
}

@media screen and (max-width: 768px) {
   .plan_container {
      width: 76%;
      margin-top: 40px;
   }

   .plan1 {
      flex-direction: column;
   }

   .plan2 {
      flex-direction: column;
      margin-top: 50px;
   }

   .plan3 {
      flex-direction: column;
      margin-top: 50px;
   }

   .plan_text-container {
      display: contents;
   }

   .plan_text-uppper {
      order: 1;
   }

   .plan_img-container {
      order: 2;
      margin-top: 20px;
   }

   .plan_img {
      width: 255px;
      height: 332px;
   }

   .plan_text-lower {
      order: 3;
   }

   .plan_subtitle {
      font-size: 12px;
   }

   .plan_title {
      font-size: 24px;
   }

   .plan_tag {
      font-size: 13.5px;
      padding: 8px 18px;
      border-radius: 15px;
   }

   .price_comment {
      font-size: 12px;
   }

   .plan_price {
      font-size: 24px;
   }

   .plan_price span {
      font-size: 18px;
   }

   .plan_price1 {
      font-size: 24px;
   }

   .plan_price1 span {
      font-size: 18px;
   }

   .plan_price2 {
      font-size: 24px;
   }

   .plan_price2 span {
      font-size: 18px;
   }

   .plan_text {
      font-size: 12px;
      margin-top: 10px;
   }

   .plan_details {
      padding: 15px 30px;
      border-radius: 15px;
   }

   .plan_details-title {
      font-size: 12px;
   }

   .plan_details-text {
      font-size: 12px;
   }

   .plan_details-text span {
      font-size: 10.5px;
   }

   /* ボタン */
   .reservation_btn {
      margin-top: 5px;
      font-size: 10px;
      width: 90px;
      height: 90px;
   }
}

/* 注意書き */
.plan_wrapper {
   width: 88%;
   max-width: 945px;
   margin: auto;
}

.attention {
   margin-top: 95px;
   margin-bottom: 80px;
   padding: 55px;
   border-radius: 20px;
   background-color: #f2f0ef;
}

.attention_text {
   font-size: 16px;
}

@media screen and (max-width: 768px) {
   .attention {
      margin-top: 45px;
      margin-bottom: 45px;
   }

   .attention_text {
      font-size: 14px;
   }
}

@media screen and (max-width: 570px) {
   .attention_text {
      font-size: 12px;
   }
}

/* CTA */
.action {
   position: relative;
   z-index: 90;
}

.wrapper_inner {
   width: 81%;
   margin: auto;
}