/* =========================================================
  common
========================================================= */
main {
  padding-bottom: 147px;
}
/* フォント
--------------------------------------------------------- */
.h2-unique {
  font-size: 3rem;
  color: var(--FS_primary);
}
.t-white {
  color: var(--White);
}
@media screen and (max-width: 979px) {
  .h2-unique {
    font-size: 2rem;
  }
}

/* セカンダリーボタン 調整
--------------------------------------------------------- */
.button-link.secondary {
  max-width: 345px;
}

/* バナー画像リンク - ホバー
--------------------------------------------------------- */
.banner-link {
  transition: all 0.3 ease;
  &:hover {
    opacity: 0.5;
  }
}

/* =========================================================
  スライダーエリア
========================================================= */
.slider-content {
  position: relative;
}

.slider-content img {
  width: 100%;
}

.slider-content-link {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

@media screen and (max-width: 979px) {
  .slider-content-link {
    bottom: 24px;
  }

  .slider-content .button-link.secondary {
    max-width: fit-content;
  }
}

/* まとめたコントロールの位置（今の見た目と同じ場所） */
.splide {
  position: relative;
}

.splide__controls {
  position: absolute;
  bottom: -24px;
  left: 50%;
  transform: translate(-50%, 100%);
  display: grid;
  grid-template-columns: auto max-content auto;
  align-items: center;
  column-gap: 16px;

}

.splide__controls-center {
  display: flex;
}

.splide__arrow {
  background: url(/e/common/img/icon/icon_splide.svg) no-repeat center center;
  background-size: contain;
  width: 32px;
  height: 20px;
  border-radius: 0;
  opacity: 1;
  transition: all 0.3s ease;
  transform: translate(0);
}

.splide__arrow:hover {
  background: url(/e/common/img/icon/icon_splide_ho.svg) no-repeat center center;
  background-size: contain;
}

.splide__arrow--prev {
  transform: rotate(180deg);
}

.splide__arrow svg { display: none; }

.splide__pagination {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  bottom: auto;
  transform: none;
  flex-wrap: nowrap;
  padding: 0;
}

.splide__pagination__page {
  display: block;
  background: var(--FS_Bg_gray_2);
  opacity: 1;
  width: 8px;
  height: 8px;
  border-radius: 4px;
  margin: 0;
  transition: 0.3s ease;
}

.splide__pagination__page.is-active {
  background: var(--FS_primary);
  width: 32px;
  height: 8px;
  transform: none;
}

.splide__pagination,
.splide__arrow {
  position: static;      /* ← これが重要 */
}

.splide__toggle{
  width: 32px;
  height: 20px;
}

.splide__toggle img {
  width: 100%;
  border-radius: 10px;
  border: 1px solid transparent;
  transition: .3s ease;
}

.splide__toggle:hover img {
  border: 1px solid var(--FS_primary);
}

.splide__toggle.is-paused{ opacity:.8; }

.splide__controls-right {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 8px;
}


/* =========================================================
  背景
========================================================= */
.circle-wrap {
  display: block;
}

.circle-wrap::before,
.circle-wrap::after {
  max-width: 620px;
  max-height: 620px;
}
.circle-wrap::after {
  bottom: -48px;  /* circle-wrapのmargin-bottom分 */
  transform: translate(-50%, 50%);
  background: url(/e/common/img/element/circle_left_04.png);
  background-size: contain;
}

.circle-wrap.type-2::before {
  background: url(/e/common/img/element/circle_left_05.png) no-repeat;
  background-size: contain;
  top: 0;
  transform: translate(0);
  z-index: 1;
  bottom: auto;
  max-width: 270px;
  max-height: 270px;
  mix-blend-mode: lighten;
  opacity: 0.7;
}

.circle-wrap.type-2::after {
  display: block;
  top: auto;
  bottom: 0;  /* circle-wrapのmargin-top分 */
  transform: translate(-100%, 0%);
  background: url(/e/common/img/element/circle_right_04.png);
  background-size: contain;
  max-width: 270px;
  max-height: 270px;
}

.circle-wrap.type-3::before {
  top: 0;
  left: 100%;
  transform: translate(-50%, 0);
  background: url(/e/common/img/element/circle_right_01.png);
  background-size: contain;
}

.circle-wrap.type-3::after {
  display: none;
  /* left: auto;
  background: url(/e/common/img/element/circle_left_02.png);
  background-size: contain;
  bottom: 0; */
}

.circle-wrap.type-4::before {
  background: url(/e/common/img/element/circle_left_02.png);
  background-size: contain;
  transform: translate(-50%, 85%);
}

.circle-wrap.type-4::after {
  display: none;
}

@media screen and (max-width: 979px) {
  .circle-wrap::before,
  .circle-wrap::after {
    width: 316px;
    height: 316px;
  }

  .circle-wrap.type-2::before,
  .circle-wrap.type-2::after {
    max-width: 158px;
    max-height: 158px;
  }

  .circle-wrap.type-3::before {
    top: auto;
    bottom: 0;
    transform: translate(-50%, 10%);
  }
}


/* =========================================================
  TOP-LINK
========================================================= */
.top-link .image-link .text-link {
  font-size: 1.8rem;
  font-weight: 600;
}


