@charset "UTF-8";
.l-inner {
  width: 100%;
  max-width: 1148px;
  margin: 0 auto;
  margin-bottom: 72px;
}
.case_wrap{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items:stretch;
  margin: 106px auto 64px;
  gap: 0px;
}

.case_wrap img {
  width: 100%;
  border-radius: 8px 8px 0 0;
}
.case_wrap .slide-content {
  padding: 20px;
}
.case_wrap .tag li {
  font-size: 1.4rem;
  line-height: 1;
  padding: 5px 8px;
  display: inline-block;
  margin-right: 5px;
  border-radius: 3px;
}
.case_wrap .youtube {
  font-size: 1.4rem;
  line-height: 1;
  display: inline-block;
  color: #fff;
  padding: 5px 15px;
  font-weight: bold;
  background: #DA1725;
}
.case_wrap .tag li.case {
  color: #fff;
  font-weight: bold;
  background: #00ADD2;
}
.case_wrap h3 {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  margin-top: 8px;
  font-feature-settings: "palt";
  letter-spacing: 0.5px;
}
.case_wrap .hosoku {
  font-size: 1.4rem;
  margin-top: 16px;
  line-height: 1.3;
}


#CASE .inner .case_link  {
  width: 340px;
  height: auto
}
.case_link dt img {
  width: 100%;
}

#CASE .Linkmore .cv_btn {
  margin-inline: auto;
  background: linear-gradient(92.79deg, #25C4B1 36.3%, #C4D30F 102.19%);
  color: #fff;
  width: 400px;
}

:root {
  --easing: cubic-bezier(.2, 1, .2, 1);
  --transition: .8s var(--easing);
  --color-base: #ffffff;
  --color-gray: #a4b3b3;
  --color-theme: #25C4B1;
  --color-theme-darken: #CE3A32;
  --box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem rgba(95, 97, 71, .05);
  --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
  --box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem rgba(95, 97, 71, .05);
  --box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem rgba(#fff, .2);
}

::-moz-selection {
  color: #fff;
  background: var(--color-theme);
}

::selection {
  color: #fff;
  background: var(--color-theme);
}

    /* 一行スクロールを強制 */
    .case_sp_card .case_wrap {
      display: flex;
      flex-wrap: nowrap !important;
      justify-content: flex-start;
    }
    .case_sp_card .case_wrap a {
      display: block;
      background-color: #fff;
      box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem rgb(120 130 23 / 5%);
      border-radius: 8px;
      width: calc((100% - 64px) / 3) !important;
      height: auto !important;
    }
    .case_sp_card .case_wrap a {
      &:not(.swiper-slide-visible) {
        pointer-events: none;
        opacity: .3;
        transition: 0.2s;
      }
    }

    .case_sp_card .swiper {
      width: 100%;
      overflow: inherit !important;
    }

  /* ── ページネーションバー ── */
/* ── コントローラー全体を横並びの flex に ── */
  .case_sp_card .swiper-controller {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    margin: 24px 0 32px;
  }

  /* ── ページネーションは左寄せ ── */
  .case_sp_card .swiper-pagination {
    order: 1;
    flex: 0 0 auto;
    display: flex !important;
    flex-wrap: nowrap;
    gap: 2rem;
    justify-content: flex-start;
    margin: 0;
  }
  .case_sp_card .swiper-pagination-bullet {
    width: 10rem;
    height: 3px;
    background-color: var(--color-gray);
    cursor: pointer;
    transition: var(--transition);
  }
  .case_sp_card .swiper-pagination-bullet-active {
    width: 40rem;
    background-color: var(--color-theme);
  }
  .swiper-wrapper {
    position: relative;
  }
  /* ── 「前へ」ボタンは中央→右寄せ ── */
  .case_sp_card .swiper-button-prev {
    right: calc(100% - 1.6rem);
    z-index: 1;
  }
  /* ── 「次へ」ボタンは「前へ」の隣 ── */
  .case_sp_card .swiper-button-next {
    left: calc(100% - 1.6rem);
    z-index: 1;
  }
.case_sp_card .swiper-button-prev, .case_sp_card .swiper-button-next {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    margin: auto;
}
  /* ── ボタンの見た目 ── */
  .case_sp_card .swiper-button-prev,
  .case_sp_card .swiper-button-next {
    display: grid;
    place-content: center;
    width: 7.4rem;
    height: 7.4rem;
    flex-shrink: 0;
    cursor: pointer;
    transition: var(--transition);
  }
  /* 丸い背景 */
  .case_sp_card .swiper-button-prev::before,
  .case_sp_card .swiper-button-next::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    box-shadow: var(--box-shadow);
    background-color: rgb(41 111 91 / 30%);
  }
  /* 矢印線 */
  .case_sp_card .swiper-button-prev::after,
  .case_sp_card .swiper-button-next::after {
    content: "";
    width: 1.2rem;
    height: 1.2rem;
    border: solid #ffffff;
    border-width: 3px 3px 0 0;
  }
  .case_sp_card .swiper-button-prev::after {
    transform: rotate(-135deg);
    margin-left: 0.4rem;
  }
  .case_sp_card .swiper-button-next::after {
    transform: rotate(45deg);
    margin-right: 0.4rem;
  }
  /* 無効時の見た目 */
  .case_sp_card .swiper-button-disabled {
    pointer-events: none;
    opacity: 0;
  }
  .case_sp_card .swiper-button-disabled::before {
    box-shadow: var(--box-shadow-inset);
  }




@media (max-width: 767px) {
    /* ---------

スワイパー SP

------------*/
.case_wrap{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items:stretch;
  margin: 106px auto 80px;
  gap: 24px;
}

.case_sp_card .case_wrap a {
  display: block;
  width: auto !important;
  height: auto;
  background: #fff;
  border-radius: 4px;
  box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem rgb(120 130 23 / 5%);
  flex-shrink: 0 !important;  /* 幅が勝手に縮まないように */
}

.case_sp_card .case_wrap a {
      &:not(.swiper-slide-visible) {
        opacity: 1;
      }
    }
.case_wrap img {
  border-radius: 4px 4px 0 0;
}


.l-inner {
  position: relative;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  margin: 0 auto;
  margin-top: 32px;
  margin-bottom: 5rem;
  width: 100%;
  padding: 0;
  max-width: 28rem;
}

[class*=swiper]:focus {
  outline: none;
}

.slide-media,
.thumb-media {
  position: relative;
  overflow: hidden;
}

.slide-media img,
.thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}


.swiper-button-prev,
.swiper-button-next {
  display: grid;
  place-content: center;
  width: 6.4rem;
  height: 6.4rem;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}

.swiper-button-prev::before,
.swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
  -webkit-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
}

.swiper-button-prev::after,
.swiper-button-next::after {
  width: 1.2rem;
  height: 1.2rem;
  content: "";
  border: solid var(--color-gray);
  border-width: 3px 3px 0 0;
}

.swiper-button-prev::after {
  margin-left: 0.4rem;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.swiper-button-next::after {
  margin-right: 0.4rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}

.case_sp_card {
  overflow: hidden;
}

.case_sp_card .swiper {
  width: 100%;
  overflow: inherit !important;
  margin: 0 auto;
}

.case_sp_card .swiper-controller {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 3.2rem;
  align-items: stretch;
  margin-bottom: 0;
}

.case_sp_card .swiper-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.2rem 0.8rem;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin: 0 auto 0 0;
  text-align: center;
  align-items: stretch;
}

.case_sp_card .swiper-pagination-bullet {
  width: 1.6rem;
  height: 3px;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  vertical-align: top;
  background-color: var(--color-gray);
}

.case_sp_card .swiper-pagination-bullet-active {
  width: 4rem;
  background-color: var(--color-theme);
}

.case_sp_card .swiper-button-prev,
.case_sp_card .swiper-button-next {
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin: 0;
  width: 6.4rem;
  height: 6.4rem;
  display: none
}

.case_sp_card .swiper-button-disabled::before {
  -webkit-box-shadow: var(--box-shadow-inset);
  box-shadow: var(--box-shadow-inset);
}



.case_sp_card .slide {
  overflow: hidden;
  width: 28rem;
  height: 100%;
  border-radius: 4px;
  -webkit-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
}

.case_sp_card .slide-media {
  padding-top: 56%;
}

.case_sp_card .slide-media img {
  height: 100%;
}
.case_sp_card .slide-content {
  padding: 1.5rem;
}
.case_sp_card .tag li {
  font-size: 1.4rem;
  line-height: 1;
  padding: 5px 8px;
  display: inline-block;
  margin-right: 5px;
  border-radius: 3px;
}
.case_sp_card .tag .youtube {
  font-size: 1.4rem;
  line-height: 1;
  display: inline-block;
  color: #fff;
  padding: 5px 15px;
  font-weight: bold;
  background: #DA1725;
}
.case_sp_card .slide-title {
  line-height: 1.6;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  height: 3.2em;
  margin-top: 1.6rem;
  font-weight: bold;
}
.hosoku {
  font-size: 1.4rem;
  margin-top: 16px;
}

.case_sp_card .case_wrap{

  gap:0px;                    /* モバイル時のカード間余白    */
  margin-top: 0;
  margin-bottom: 0;
}
    .case_sp_card .case_wrap a:last-child {
        margin-right: 0 !important;
    }


  #CASE .Linkmore .cv_btn {
    width: auto;
  }

}