:root {
  --color-black: #000;
  --color-gray: #8e8e8e;
  --color-white: #fff;
  --color-01: #25a4c3;
  --credit-color: #8e8e8e;
  --bk-color-01: #e5fbff;
}

body {
  margin: 0;
}

.sp_only {
  display: none;
}

.pc_only {
  display: block;
}

.l-container {
  margin-inline: auto;
  width: 100%;
}

#feature .c-txt-md {
  font-size: min(16px, calc(16 * 100vw / 1400));
  line-height: 1.7;
}
#feature .c-txt-lg {
  font-size: min(18px, calc(18 * 100vw / 1400));
  line-height: 1.8;
  padding: 0;
}

/* ===================================
   PC 基本レイアウト & 2カラム構造
=================================== */
#feature .main-content {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-inline: auto;
  background-color: #F4E9EF;
}

/* 左側：動画固定エリア */
#feature .main-content .left-content.pc_only {
  position: -webkit-sticky;
  position: sticky;
  top: 80px;
  left: 0;
  width: min(560px, calc(560 * 100vw / 1400));
  height: calc(100vh - 80px);
  margin-left: auto;
  overflow: hidden;
}

#feature .left-inner-content {
  width: 100%;
  height: 100%;
}

#feature .left-content .wrap_movie,
#feature .left-content .movie {
  width: 100%;
  height: 100%;
  position: relative;
}

#feature .left-content .movie-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 右側：コンテンツスクロールエリア */
#feature .main-content .right-content {
  width: min(560px, calc(560 * 100vw / 1400));
  margin-right: auto;
  background-color: #fff;
}

#feature .right-inner-content {
  width: 100%;
}

/* アンカートップ */
#feature .main-content .right-content .right-inner-content .sticky-content {
  position: -webkit-sticky;
  position: sticky;
  top: 80px;
  z-index: 100;
}

#feature .main-content .right-content .right-inner-content .sticky-content .sticky-inner-content {
  position: absolute;
  top: min(97px, calc(97 * 100vw / 1400));
  right: min(14px, calc(14 * 100vw / 1400));
  overflow: hidden;
}

#feature .main-content .right-content .right-inner-content .sticky-content .sticky-inner-content .sticky__anchor-top {
  width: min(20px, calc(20 * 100vw / 1400));
}

#feature .movie-btn img {
  position: absolute;
  width: min(110px, calc(110 * 100vw / 1400));
  bottom: 4%;
  left: 3%;
}

/* 共通コンテナ・テキスト */
#feature .fv {
  position: relative;
}

#feature .fv__img {
  width: 100%;
}

#feature .c-wrap_txtarea {
  text-align: center;
  width: 100%;
}

#feature .wrap_sec01 .sec01 .wrap_box-01,
#feature .wrap_sec01 .sec01 .wrap_box-02,
#feature .wrap_sec01 .sec01 .wrap_box-03,
#feature .wrap_foot .foot {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#feature .box-relative {
  position: relative;
  width: 100%;
}

#feature .wrap_sec01_layer,
#feature .wrap_sec02_layer,
#feature .wrap_sec03_layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.l-container .wrap_credit,
#feature .wrap_credit {
  padding: min(25px, calc(25 * 100vw / 1400));
}

#feature .wrap_credit.credit_05 {
  padding: min(15px, calc(15 * 100vw / 1400));
}

/* ===================================
   sec01 (PC / Base)
=================================== */
#feature .layer__head_01-1 {
  position: absolute;
  width: min(160px, calc(160 * 100vw / 1400));
  bottom: min(135px, calc(135 * 100vw / 1400));
  right: min(80px, calc(80 * 100vw / 1400));
}

#feature .layer__head_01-2 {
  position: absolute;
  bottom: min(53px, calc(53 * 100vw / 1400));
  right: min(12px, calc(12 * 100vw / 1400));
  width: min(294px, calc(294 * 100vw / 1400));
}

#feature .layer__head_01-3 {
  position: absolute;
  bottom: min(25px, calc(25 * 100vw / 1400));
  right: min(75px, calc(75 * 100vw / 1400));
  width: min(170px, calc(170 * 100vw / 1400));
}

#feature .main-content .right-content .right-inner-content .wrap_sec01 .sec01 .wrap_catch {
  padding-top: min(59px, calc(59 * 100vw / 1400));
}

#feature .main-content .right-content .right-inner-content .wrap_sec01 .sec01 .wrap_catch .catch .catch__head {
  padding-bottom: min(16px, calc(16 * 100vw / 1400));
}

#feature .main-content .right-content .right-inner-content .wrap_sec01 .sec01 .wrap_catch .catch .catch__txt {
  padding-bottom: min(52px, calc(52 * 100vw / 1400));
}

#feature .wrap_sec01 .sec01 .wrap_box-01 {
  margin-top: min(166px, calc(166 * 100vw / 1400));
}

#feature .sec01_head_01 {
  position: absolute;
  top: min(-97px, calc(-97 * 100vw / 1400));
  left: min(45px, calc(45 * 100vw / 1400));
  width: min(65px, calc(65 * 100vw / 1400));
}

#feature .sec01_head_02 {
  position: absolute;
  top: min(-72px, calc(-72 * 100vw / 1400));
  right: min(70px, calc(70 * 100vw / 1400));
  width: min(275px, calc(275 * 100vw / 1400));
}

#feature .sec01_head_03-1 {
  position: absolute;
  top: min(-10px, calc(-10 * 100vw / 1400));
  right: min(90px, calc(90 * 100vw / 1400));
  width: min(45px, calc(45 * 100vw / 1400));
}

#feature .sec01_head_03-2 {
  position: absolute;
  top: min(-2px, calc(-2 * 100vw / 1400));
  right: min(62px, calc(62 * 100vw / 1400));
  width: min(25px, calc(25 * 100vw / 1400));
}

#feature .sec01_head_03-3 {
  position: absolute;
  top: min(-12px, calc(-12 * 100vw / 1400));
  right: min(35px, calc(35 * 100vw / 1400));
  width: min(25px, calc(25 * 100vw / 1400));
}

#feature .sec01_head_03-4 {
  position: absolute;
  top: min(-45px, calc(-45 * 100vw / 1400));
  right: min(25px, calc(25 * 100vw / 1400));
  width: min(28px, calc(28 * 100vw / 1400));
}

#feature .wrap_sec01 .wrap_box-02 {
  width: 80%;
  margin-top: min(40px, calc(40 * 100vw / 1400));
  margin-bottom: min(10px, calc(10 * 100vw / 1400));
  margin-left: auto;
}

#feature .wrap_sec01 .sec01_head_04 {
  position: absolute;
  top: min(200px, calc(200 * 100vw / 1400));
  left: min(25px, calc(25 * 100vw / 1400));
  width: min(180px, calc(180 * 100vw / 1400));
  z-index: 10;
}

#feature .swiper_02 .swiper-slide {
  margin-top: min(30px, calc(30 * 100vw / 1400));
  width: min(320px, calc(320 * 100vw / 1400));
  flex-shrink: 0;
}

#feature .wrap_sec01 .wrap_box-03 {
  margin-bottom: min(38px, calc(38 * 100vw / 1400));
}

#feature .wrap_sec01 .parent_credit {
  width: 100%;
}

#feature .wrap_sec01 .img_06 {
  margin-top: min(185px, calc(185 * 100vw / 1400));
  margin-bottom: min(15px, calc(15 * 100vw / 1400));
}

#feature .wrap_sec01 .wrap_box-05 {
  width: 80%;
}

#feature .wrap_sec01 .img_07 {
  margin-top: min(25px, calc(25 * 100vw / 1400));
  margin-bottom: min(40px, calc(40 * 100vw / 1400));
}

#feature .wrap_sec01 .c-txt-lg {
  margin-bottom: min(-10px, calc(-10 * 100vw / 1400));
}

/* ===================================
   sec02 (PC / Base)
=================================== */
#feature .wrap_sec02 .sec02 .wrap_box-01 {
  margin-top: min(335px, calc(335 * 100vw / 1400));
}

#feature .sec02_head_01 {
  position: absolute;
  top: min(-90px, calc(-90 * 100vw / 1400));
  left: min(35px, calc(35 * 100vw / 1400));
  width: min(80px, calc(80 * 100vw / 1400));
}

#feature .sec02_head_02 {
  position: absolute;
  top: min(-72px, calc(-72 * 100vw / 1400));
  right: min(62px, calc(62 * 100vw / 1400));
  width: min(250px, calc(250 * 100vw / 1400));
}

#feature .sec02_head_03-1,
#feature .sec02_head_03-2,
#feature .sec02_head_03-3,
#feature .sec02_head_03-4 {
  position: absolute;
  z-index: 10;
}

#feature .sec02_head_03-1 {
  top: min(-13px, calc(-13 * 100vw / 1400));
  right: min(88px, calc(88 * 100vw / 1400));
  width: min(45px, calc(45 * 100vw / 1400));
}

#feature .sec02_head_03-2 {
  top: min(-7px, calc(-7 * 100vw / 1400));
  right: min(62px, calc(62 * 100vw / 1400));
  width: min(25px, calc(25 * 100vw / 1400));
}

#feature .sec02_head_03-3 {
  top: min(-16px, calc(-16 * 100vw / 1400));
  right: min(35px, calc(35 * 100vw / 1400));
  width: min(25px, calc(25 * 100vw / 1400));
}

#feature .sec02_head_03-4 {
  top: min(-50px, calc(-50 * 100vw / 1400));
  right: min(25px, calc(25 * 100vw / 1400));
  width: min(28px, calc(28 * 100vw / 1400));
}

#feature .wrap_sec02 .wrap_box-02 {
  width: 80%;
  margin-top: min(40px, calc(40 * 100vw / 1400));
  margin-left: auto;
  margin-bottom: min(53px, calc(53 * 100vw / 1400));
}

#feature .wrap_sec02 .parent_credit {
  width: 100%;
}

#feature .wrap_sec02 .wrap_box-03 {
  margin-top: min(185px, calc(185 * 100vw / 1400));
}

#feature .wrap_sec02 .sec02_head_04 {
  position: absolute;
  top: min(232px, calc(232 * 100vw / 1400));
  right: min(20px, calc(20 * 100vw / 1400));
  width: min(160px, calc(160 * 100vw / 1400));
  z-index: 10;
}

#feature .wrap_sec02 .wrap_box-04 {
  margin-top: min(10px, calc(10 * 100vw / 1400));
  margin-bottom: min(50px, calc(50 * 100vw / 1400));
}

#feature .wrap_sec02 .c-txt-lg {
  margin-top: min(-10px, calc(-10 * 100vw / 1400));
}

#feature .wrap_sec02 .c-txt-md {
  margin-top: min(-10px, calc(-10 * 100vw / 1400));
}

/* ===================================
   sec03 (PC / Base)
=================================== */
#feature .wrap_sec03 .sec03 .wrap_box-01 {
  margin-top: min(315px, calc(315 * 100vw / 1400));
}

#feature .sec03_head_01 {
  position: absolute;
  top: min(-100px, calc(-100 * 100vw / 1400));
  left: min(35px, calc(35 * 100vw / 1400));
  width: min(80px, calc(80 * 100vw / 1400));
}

#feature .sec03_head_02 {
  position: absolute;
  top: min(-78px, calc(-78 * 100vw / 1400));
  right: min(65px, calc(65 * 100vw / 1400));
  width: min(295px, calc(295 * 100vw / 1400));
}

#feature .sec03_head_03-1,
#feature .sec03_head_03-2,
#feature .sec03_head_03-3,
#feature .sec03_head_03-4 {
  position: absolute;
  z-index: 10;
}

#feature .sec03_head_03-1 {
  top: min(-20px, calc(-20 * 100vw / 1400));
  right: min(85px, calc(85 * 100vw / 1400));
  width: min(45px, calc(45 * 100vw / 1400));
}

#feature .sec03_head_03-2 {
  top: min(-10px, calc(-10 * 100vw / 1400));
  right: min(62px, calc(62 * 100vw / 1400));
  width: min(25px, calc(25 * 100vw / 1400));
}

#feature .sec03_head_03-3 {
  top: min(-21px, calc(-21 * 100vw / 1400));
  right: min(35px, calc(35 * 100vw / 1400));
  width: min(25px, calc(25 * 100vw / 1400));
}

#feature .sec03_head_03-4 {
  top: min(-55px, calc(-55 * 100vw / 1400));
  right: min(25px, calc(25 * 100vw / 1400));
  width: min(28px, calc(28 * 100vw / 1400));
}

#feature .wrap_sec03 .wrap_box-02 {
  width: 80%;
  margin-top: min(38px, calc(38 * 100vw / 1400));
  margin-right: auto;
  margin-bottom: min(50px, calc(50 * 100vw / 1400));
}

#feature .wrap_sec03 .parent_credit {
  width: 100%;
}

#feature .wrap_sec03 .wrap_box-03 {
  margin-top: min(180px, calc(180 * 100vw / 1400));
  margin-bottom: min(15px, calc(15 * 100vw / 1400));
}

#feature .wrap_sec03 .sec03_head_04 {
  position: absolute;
  top: min(-13px, calc(-13 * 100vw / 1400));
  left: min(35px, calc(35 * 100vw / 1400));
  width: min(188px, calc(188 * 100vw / 1400));
  z-index: 10;
}

#feature .wrap_sec03 .wrap_box-04 {
  width: 80%;
  margin-top: min(40px, calc(40 * 100vw / 1400));
  margin-left: auto;
  margin-bottom: min(45px, calc(45 * 100vw / 1400));
}

#feature .wrap_sec03 .c-txt-lg {
  margin-top: min(-5px, calc(-5 * 100vw / 1400));
}

#feature .wrap_sec03 .c-txt-md {
  margin-top: min(-10px, calc(-10 * 100vw / 1400));
}

/* ===================================
   sec04 (PC / Base)
=================================== */
#feature .wrap_sec04 {
  background-color: #F4E9EF;
  margin-top: min(229px, calc(230 * 100vw / 1400));
  margin-bottom: min(-15px, calc(-15 * 100vw / 1400));
  padding-top: min(60px, calc(60 * 100vw / 1400));
  padding-bottom: min(14px, calc(14 * 100vw / 1400));
}

#feature .sec04_head_box {
  position: relative;
  height: min(120px, calc(120 * 100vw / 1400));
}

#feature .sec04_head_01 {
  position: absolute;
  z-index: 10;
  top: min(-55px, calc(-55 * 100vw / 1400));
  left: 40%;
  width: min(25px, calc(25 * 100vw / 1400));
}

#feature .sec04_head_02 {
  position: absolute;
  z-index: 10;
  top: min(-50px, calc(-50 * 100vw / 1400));
  left: 45.5%;
  width: min(13px, calc(13 * 100vw / 1400));
}

#feature .sec04_head_03 {
  position: absolute;
  z-index: 10;
  top: min(-32px, calc(-32 * 100vw / 1400));
  left: 49%;
  width: min(30px, calc(30 * 100vw / 1400));
}

#feature .sec04_head_04 {
  position: absolute;
  z-index: 10;
  top: min(-30px, calc(-30 * 100vw / 1400));
  right: 40%;
  width: min(25px, calc(25 * 100vw / 1400));
}

#feature .sec04_head_05 {
  position: absolute;
  z-index: 10;
  right: 25.5%;
  width: min(276px, calc(276 * 100vw / 1400));
}

#feature .wrap_sec04 .swiper_02 .swiper-slide {
  width: min(200px, calc(200 * 100vw / 1400));
  display: flex;
  flex-direction: column;
  align-items: center;
}

#feature .wrap_sec04 .swiper_02 .swiper-slide .parent_credit {
  position: relative;
  width: 100%;
  margin-top: min(7px, calc(7 * 100vw / 1400));
}

#feature .wrap_sec04 .wrap_box-01 {
  margin-top: min(-54px, calc(-54 * 100vw / 1400));
}

#feature .wrap_sec04 .wrap_box-02 {
  margin-top: 0;
  margin-bottom: min(30px, calc(30 * 100vw / 1400));
}

#feature .wrap_sec04 .parent_credit {
  width: 100%;
}

/* フッター */
#feature .foot__btn {
  margin-top: min(100px, calc(100 * 100vw / 1400));
  padding-bottom: min(18px, calc(18 * 100vw / 1400));
}

#feature .foot__btn .btn_01 {
  width: min(262px, calc(262 * 100vw / 1400));
}

#feature .foot__s-credit {
  padding-bottom: min(80px, calc(80 * 100vw / 1400));
}

#feature .foot__s-credit .s-credit {
  width: min(220px, calc(220 * 100vw / 1400));
}

/* ===================================
   PC表示時のスライダー制御 (752px以上)
=================================== */
@media screen and (min-width: 752px) {
  /* PC用親要素制御 */
  #feature .wrap_sec01 .wrap_box-03,
  #feature .wrap_sec02 .wrap_box-04,
  #feature .wrap_sec04 .wrap_box-01,
  #feature .wrap_sec04 .wrap_box-02 {
    align-items: flex-start !important;
    overflow: hidden !important;
    width: 100% !important;
  }

  #feature .wrap_box-03 .js_anime,
  #feature .wrap_box-03 .animearea,
  #feature .wrap_box-04 .js_anime,
  #feature .wrap_box-04 .animearea,
  #feature .wrap_sec04 .js_anime,
  #feature .wrap_sec04 .animearea {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #feature .swiper_02 {
    overflow: hidden !important;
    width: 100% !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
  }

  #feature .swiper_02 .swiper-wrapper {
    margin-left: 0 !important;
  }

  #feature .swiper.swiper_02 .swiper-wrapper .swiper-slide {
  margin-left: 0 !important;
  margin-right: 18px !important;
}

  /* PC sec04専用 */
  #feature .wrap_sec04 .swiper_02 {
    overflow: hidden !important;
    clip-path: none !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
  }
}

/* ===================================
   credits (PC)
=================================== */
#feature .wrap_credit.credit_01 {
  width: 16vw;
  padding-top: min(41px, calc(41 * 100vw / 1400));
}
#feature .wrap_credit.credit_02 {
  width: 16vw;
  padding-top: min(36px, calc(36 * 100vw / 1400));
}
#feature .wrap_credit.credit_03 {
  width: 16vw;
  padding-top: min(41px, calc(41 * 100vw / 1400));
}
#feature .credit_03 .credit_item:nth-child(1) {
  margin-left: 0 !important;
}
#feature .credit_03 .credit_item:nth-child(2) {
  margin-right: 0 !important;
}
#feature .wrap_credit.credit_04 {
  width: 16vw;
  padding-top: min(41px, calc(41 * 100vw / 1400));
}
#feature .wrap_credit.credit_05 {
  width: 17vw;
  padding-top: min(36px, calc(36 * 100vw / 1400));
}
#feature .wrap_credit.credit_06 {
  width: 16vw;
  padding-top: min(36px, calc(36 * 100vw / 1400));
}

/* sec04用クレジット(PC)：スライダー内画像下に通常配置 */
#feature .wrap_sec04 .wrap_credit.credit_07,
#feature .wrap_sec04 .wrap_credit.credit_08,
#feature .wrap_sec04 .wrap_credit.credit_09,
#feature .wrap_sec04 .wrap_credit.credit_10,
#feature .wrap_sec04 .wrap_credit.credit_11,
#feature .wrap_sec04 .wrap_credit.credit_12 {
  position: relative;
  left: auto;
  bottom: auto;
  transform: none;
  width: 100%;
  padding: min(10px, calc(10 * 100vw / 1400)) 0 0;
}

/* ===================================
   SP表示時のレイアウト & スライダー制御 (751px以下)
=================================== */
@media screen and (max-width: 751px) {
  .sp_only {
    display: block;
  }

  .pc_only {
    display: none;
  }

  #feature .c-txt-md {
    font-size: 2.84vw;
    line-height: 1.76;
  }

  #feature .c-txt-lg {
    font-size: 3.2vw;
    line-height: 1.6;
    padding: 0;
  }

  #feature .main-content .right-content {
    width: 100%;
  }

  #feature .main-content .right-content .right-inner-content .sticky-content .sticky-inner-content {
    top: 17.32143vw;
    right: 2.5vw;
  }

  #feature .main-content .right-content .right-inner-content .sticky-content .sticky-inner-content .sticky__anchor-top {
    width: 3.57143vw;
  }

  .l-container .wrap_credit, #feature .wrap_credit {
    padding: 5.5vw;
  }

  #feature .wrap_credit.credit_07,
  #feature .wrap_credit.credit_08,
  #feature .wrap_credit.credit_09 {
    padding: 0;
  }

  #feature .wrap_credit.credit_10,
  #feature .wrap_credit.credit_11,
  #feature .wrap_credit.credit_12 {
    padding-top: 5vw;
    padding-bottom: 0;
  }

  /* SP スライダー制御 */
  #feature .wrap_sec01 .wrap_box-03,
  #feature .wrap_sec02 .wrap_box-04,
  #feature .wrap_sec04 .wrap_box-01,
  #feature .wrap_sec04 .wrap_box-02 {
    align-items: flex-start !important;
    overflow: hidden !important;
    width: 100% !important;
  }

  #feature .wrap_box-03 .js_anime,
  #feature .wrap_box-03 .animearea,
  #feature .wrap_box-04 .js_anime,
  #feature .wrap_box-04 .animearea,
  #feature .wrap_sec04 .js_anime,
  #feature .wrap_sec04 .animearea {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #feature .swiper_02 {
    width: 100% !important;
    padding-left: 0 !important; /* SP用に合わせたパディング */
    margin-left: 0 !important;
    box-sizing: border-box !important;
    overflow: visible;
  }

  #feature .wrap_sec04 .swiper_02 {
    overflow: hidden !important;
    clip-path: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
  }

  #feature .swiper_02 .swiper-slide:first-child {
    margin-left: 0 !important;
  }

  /* ===================================
     FV (SP)
  =================================== */
  #feature .layer__head_01-1 {
    width: 28vw;
    top: 83.67vw;
    left: 57.33vw;
  }

  #feature .layer__head_01-2 {
    top: 87.14vw;
    left: 45.71vw;
    width: 51.43vw;
  }

  #feature .layer__head_01-3 {
    top: 106.43vw;
    left: 56.43vw;
    width: 30vw;
  }
  
  #feature .main-content .right-content .right-inner-content .wrap_sec01 .sec01 .wrap_catch {
    padding-top: 10vw;
  }

  #feature .main-content .right-content .right-inner-content .wrap_sec01 .sec01 .wrap_catch .catch .catch__head {
    padding-bottom: 2.8vw;
  }

  #feature .main-content .right-content .right-inner-content .wrap_sec01 .sec01 .wrap_catch .catch .catch__txt {
    padding-bottom: 8vw;
  }

  #feature .right-content .wrap_movie {
    width: 71.4vw;
    margin: 0 auto;
  }

  #feature .movie-btn img {
    width: 20vw;
    bottom: 2%;
    left: 5.5%;
  }

#feature .swiper.swiper_02 .swiper-wrapper .swiper-slide {
  margin-left: 0 !important;
  margin-right: 14px !important;
}

  /* ===================================
     sec01 (SP)
  =================================== */
  #feature .wrap_sec01 .sec01 .wrap_box-01 {
    margin-top: 36vw;  
  }

  #feature .sec01_head_01 {
    position: absolute;
    top: -23vw;
    left: 8vw;
    width: 11vw;
  }

  #feature .sec01_head_02 {
    position: absolute;
    top: -17.5vw;
    right: 13vw;
    width: 49vw;
  }

  #feature .sec01_head_03-1 {
    position: absolute;
    top: -2vw;
    right: 15vw;
    width: 9vw;
  }

  #feature .sec01_head_03-2 {
    position: absolute;
    top: -0.4vw;
    right: 11vw;
    width: 5vw;
  }

  #feature .sec01_head_03-3 {
    position: absolute;
    top: -3vw;
    right: 6vw;
    width: 5vw;
  }

  #feature .sec01_head_03-4 {
    position: absolute;
    top: -10.5vw;
    right: 4.5vw;
    width: 5vw;
  }

  #feature .wrap_sec01 .wrap_box-02 {
    width: 80vw;
    margin-top: 8vw;
    margin-left: 20vw;
    margin-bottom: -0.5vw;
  }

  #feature .wrap_sec01 .sec01_head_04 {
    position: absolute;
    top: 34.5vw;
    left: 4.7vw;
    width: 32vw;
    z-index: 10;
  }

  #feature .swiper_02 .swiper-slide {
    margin-top: 7.6vw;
    width: 57.4vw;
  }

  #feature .wrap_sec01 .wrap_box-03 {
    margin-bottom: 7vw;
  }

  #feature .wrap_sec01 .c-txt-lg {
    margin-bottom: -2vw;
  }

  #feature .wrap_sec01 .parent_credit {
    width: 100%;
  }

  #feature .wrap_sec01 .img_06 {
    margin-top: 32vw;
    margin-bottom: 3.6vw;
  }

  #feature .wrap_sec01 .wrap_box-05 {
    width: 80%;
  }

  #feature .wrap_sec01 .img_07 {
    margin-top: 4vw;
    margin-bottom: 7.5vw;
  }

  /* ===================================
     sec02 (SP)
  =================================== */
  #feature .wrap_sec02 .sec02 .wrap_box-01 {
    margin-top: 60vw;
  }

  #feature .sec02_head_01 {
    position: absolute;
    top: -24vw;
    left: 6vw;
    width: 15vw;
  }

  #feature .sec02_head_02 {
    position: absolute;
    top: -18.5vw;
    right: 11.5vw;
    width: 44vw;
  }

  #feature .sec02_head_03-1 {
    position: absolute;
    z-index: 10;
    top: -5vw;
    right: 15vw;
    width: 9vw;
  }

  #feature .sec02_head_03-2 {
    position: absolute;
    z-index: 10;
    top: -2.5vw;
    right: 11vw;
    width: 5vw;
  }

  #feature .sec02_head_03-3 {
    position: absolute;
    z-index: 10;
    top: -5vw;
    right: 6vw;
    width: 5vw;
  }

  #feature .sec02_head_03-4 {
    position: absolute;
    z-index: 10;
    top: -13vw;
    right: 4vw;
    width: 5.5vw;
  }

  #feature .wrap_sec02 .wrap_box-02 {
    width: 80vw;
    margin-top: 7vw;
    margin-left: 20vw;
    margin-bottom: 10vw;
  }

  #feature .wrap_sec02 .c-txt-md {
    margin-top: 1vw;
  }

  #feature .wrap_sec02 .c-txt-lg {
    margin-bottom: -2vw;
  }

  #feature .wrap_sec02 .parent_credit {
    width: 100%;
  }

  #feature .wrap_sec02 .wrap_box-03 {
    margin-top: 32vw;
    margin-bottom: -0.4vw;
  }

  #feature .wrap_sec02 .sec02_head_04 {
    position: absolute;
    top: 42vw;
    right: 4vw;
    width: 28vw;
    z-index: 10;
  }

  #feature .wrap_sec02 .wrap_box-04 {
    margin-top: -1vw;
    margin-bottom: 9vw;
  }

  /* ===================================
     sec03 (SP)
  =================================== */
  #feature .wrap_sec03 .sec03 .wrap_box-01 {
    margin-top: 55vw;
  }

  #feature .sec03_head_01 {
    position: absolute;
    top: -24vw;
    left: 7vw;
    width: 14vw;
  }

  #feature .sec03_head_02 {
    position: absolute;
    top: -19.5vw;
    right: 11.5vw;
    width: 53vw;
  }

  #feature .sec03_head_03-1 {
    position: absolute;
    z-index: 10;
    top: -5vw;
    right: 15vw;
    width: 9vw;
  }

  #feature .sec03_head_03-2 {
    position: absolute;
    z-index: 10;
    top: -2.5vw;
    right: 11vw;
    width: 5vw;
  }

  #feature .sec03_head_03-3 {
    position: absolute;
    z-index: 10;
    top: -5vw;
    right: 6vw;
    width: 5vw;
  }

  #feature .sec03_head_03-4 {
    position: absolute;
    z-index: 10;
    top: -14vw;
    right: 4vw;
    width: 5.5vw;
  }

  #feature .wrap_sec03 .wrap_box-02 {
    width: 80vw;
    margin-top: 8vw;
    margin-right: 20vw;
    margin-bottom: 7.5vw;
  }

  #feature .wrap_sec03 .c-txt-lg {
    margin-bottom: -2vw;
  }

  #feature .wrap_sec03 .parent_credit {
    width: 100%;
  }

  #feature .wrap_sec03 .wrap_box-03 {
    margin-top: 32vw;
    margin-bottom: 3.6vw;
  }

  #feature .wrap_sec03 .sec03_head_04 {
    position: absolute;
    top: -3.5vw;
    left: 6vw;
    width: 34vw;
    z-index: 10;
  }

  #feature .wrap_sec03 .wrap_box-04 {
    width: 80%;
    margin-top: 7.5vw;
    margin-left: 20vw;
    margin-bottom: 7.5vw;
  }

  #feature .wrap_sec03 .c-txt-md {
    margin-top: 1vw;
  }

  /* ===================================
     sec04 (SP)
  =================================== */
  #feature .wrap_sec04 {
    background-color: #F4E9EF;
    margin-top: 40vw;
  }

  #feature .sec04_head_box {
    height: 32vw;
  }

  #feature .sec04_head_01 {
    position: absolute;
    z-index: 10;
    top: -8vw;
    left: 40vw;
    width: 5.5vw;
  }

  #feature .sec04_head_02 {
    position: absolute;
    z-index: 10;
    top: -5.5vw;
    left: 45.5vw;
    width: 2.5vw;
  }

  #feature .sec04_head_03 {
    position: absolute;
    z-index: 10;
    top: -1vw;
    left: 48.5vw;
    width: 5.5vw;
  }

  #feature .sec04_head_04 {
    position: absolute;
    z-index: 10;
    top: -1.5vw;
    right: 40vw;
    width: 5vw;
  }

  #feature .sec04_head_05 {
    position: absolute;
    z-index: 10;
    top: 6.5vw;
    right: 24.5vw;
    width: 51vw;
  }

  #feature .wrap_sec04 .swiper_02 .swiper-slide {
    width: 35.5vw;
  }

  #feature .wrap_sec04 .swiper_02 .swiper-slide .parent_credit {
    margin-top: 2vw;
  }

  #feature .wrap_sec04 .wrap_box-01 {
    margin-top: -19vw;
    margin-bottom: -2vw;
  }

  #feature .wrap_sec04 .wrap_box-02 {
    margin-top: 0;
    margin-bottom: 8.5vw;
  }

  #feature .wrap_sec04 .parent_credit {
    width: 100%;
  }

  /* ===================================
   credits (SP)
=================================== */
#feature .wrap_credit.credit_01 {
  width: 56vw;
  padding-top: 6vw; /* ★ 70vw から 5vw や 0 に変更 */
}
#feature .wrap_credit.credit_02 {
  width: 56vw;
  padding-top: 6vw;
}
#feature .wrap_credit.credit_03 {
  width: 56vw;
  padding-top: 6vw;
}
#feature .credit_03 .credit_item:nth-child(1) {
  margin-left: 0 !important;
}
#feature .credit_03 .credit_item:nth-child(2) {
  margin-right: 0 !important;
}
#feature .wrap_credit.credit_04 {
  width: 56vw;
  padding-top: 6vw;
}
#feature .wrap_credit.credit_05 {
  width: 56vw;
  padding-top: 6vw;
}
#feature .wrap_credit.credit_06 {
  width: 56vw;
  padding-top: 6vw; /* ★ 70vw から 5vw や 0 に変更 */
}
#feature .wrap_credit.credit_07 {
  width: 30vw;
}
#feature .wrap_credit.credit_08 {
  width: 30vw;
}
#feature .wrap_credit.credit_09 {
  width: 30vw;
}
#feature .wrap_credit.credit_10 {
  width: 30vw;
}
#feature .wrap_credit.credit_11 {
  width: 30vw;
}
#feature .wrap_credit.credit_12 {
  width: 30vw;
}

  /* ===================================
     footer (SP)
  =================================== */
  #feature .wrap_foot {
    margin-top: -14vw;
  }

  #feature .foot__btn {
    margin-top: 27vw;
    padding-bottom: 4.1vw;
  }

  #feature .foot__btn .btn_01 {
    width: 46.78571vw;
  }

  #feature .foot__s-credit {
    padding-bottom: 20vw;
  }

  #feature .foot__s-credit .s-credit {
    width: 39vw;
  }
}

/* sec01：クレジットとwrap_box-04の重なり対策 */
#feature .wrap_sec01 .wrap_txtarea-01 {
  position: relative;
  z-index: 2;
}

#feature .wrap_sec01 .wrap_box-04 {
  position: relative;
  z-index: 1;
  pointer-events: none;
}

/* 表示中の画像リンクだけクリック可能 */
#feature .wrap_sec01 .wrap_box-04 .swiper-slide-active a {
  pointer-events: auto;
}

/* クレジットリンクをクリック可能にする */
#feature .wrap_sec01 .wrap_txtarea-01 .credit_link {
  pointer-events: auto;
}